Customer Contracts - edmozley/freeitsm GitHub Wiki
Contracts with customers
Module: Contracts ยท also Domains ยท Raised in #153
Until now every contract in FreeITSM was one you buy โ a supplier, a renewal date, a notice period. If you also sell โ a support agreement you provide, a managed service, a hosting plan โ those contracts had nowhere to go. Now a contract can be with either side.
๐ Nothing that exists changes. Every contract you already have is a supplier contract, exactly as before. Customer contracts are a new choice, not a new meaning for an old field.
Adding a customer contract
- Contracts โ + New contract (or edit an existing one).
- Under Contract with, choose Customer.
- Pick the company, a person, or both:
- Company โ one of your companies. The list only offers companies you can see. (On a single-company install there is no company to pick โ just choose the person.)
- Person โ start typing a name or email; anyone in Users can be chosen. Pick a company first and the search only offers people in that company.
- Fill in the rest as usual โ dates, value, notice period, terms, documents. They all work the same way.
A contract is with a supplier or a customer, never both โ switching to Customer clears the supplier, and back again.
Finding them
- The contracts list has a With column showing the supplier or the customer, and customer contracts carry a small Customer badge.
- The drop-down above the list shows Suppliers and customers, Suppliers only or Customers only.
- Search finds a contract by its customer's company or person name as well as by supplier.
Everything else โ the contract page, tasks and calendar events raised from it, equipment linked to it, the equipment report, Watchtower's expiry counts, the contract.expiring workflow trigger โ works the same for both kinds.
Who can see a contract
Since 3.5.0 every contract โ supplier or customer โ belongs to a company, chosen in Company at the top of the contract form (the company you are working in, by default):
An analyst who cannot see a contract's company cannot see the contract.
Not in the list, the contract page, a preview, โK search, the Recent trail, Watchtower counts, documents attached to it, or the REST API. To them it simply is not there. The contracts list shows the company you have switched to, or every company you can see under All companies.
Who a contract is with is a separate choice. A contract can belong to your own (Default) company and be with customer X: then analysts of your company see it, and X's analysts do not.
Upgrading from 3.4.0 or earlier
Before 3.5.0 a customer contract was hidden by its customer's company, and Contracts โ Settings โ Customer contracts could open them to everyone. On upgrade, Database Verification files each existing customer contract under its customer's company (or, if the setting was Everyone, leaves it in Default), so everybody sees exactly what they saw before. The setting is gone โ the contract's company decides now.
Domains: the customer a domain is for
A domain already belongs to a company. It can now also name the person it is looked after for โ open the domain, Edit, and use the Customer field. The search only offers people in the domain's own company, because the domain's company is the customer's company.
The domain's owner (an analyst) is unchanged and still receives the renewal reminders. Leave Customer empty and nothing is different.
Since 3.1.0 (#162) a domain's customer can instead be a supplier, optionally with one of its contacts, for customers you keep in Contracts โ Suppliers rather than in Users; and its technical contact can be one of your analysts as well as a supplier contact. See Domains.
Everything about a customer, in one place
A contract's customer and a domain's customer link to their People page โ one page per person and per company, showing their tickets, equipment, contracts, domains, courses and form submissions together.
See also: Contracts ยท Domains ยท Multi-tenancy ยท Customer contracts โ Developer Guide