How it works Estimated Reading Time: 15 Minutes Overview With the Contract Lifecyle Management(CLM) Add-On, Contracts are a new entity added to Ubersmith. Contracts are used to group services together so then can be managed all at once. For example, scheduling price changes and cancelling multiple services is now possible via their contract instead of doing the same operation multiple times for each service. The contract is flexible, allowing for the addition, removal, or modification of services as needed. Ubersmith already employs the notion of "contract". The term is mostly used in the quoting system where a signed quote becomes "a contract". The CLM will clearly differentiate these two notions of contract. Some existing terms and functionalities will either be merged within the CLM or stay as is for clients not using the CLM. With the CLM, use of the Contract entity is optional. This means users can start using them gradually, with new or existing services. If the Contract is not employed in a particular scenario, the service(s) will work just as before. Create a Contract Contract creation popup To add a contract, simply go to the Client ➝ Contracts page and click on the Add Contract button. A popup will appear where you can enter the necessary information: Contract creation popup Import From Template: if you have defined one or more templates under Settings ➝ Contract Schedules Templates, you can choose from the drop down to apply the template to the current contract. Term: this indicates the duration of the contract in months. This field is mandatory. Type: Fixed: the contract will end when the agreed term expires. Auto Renew: when set, the contract will automatically renew at the end of its term according to the chosen renewal options. Start Date: this is the date when the contract begins. This field is mandatory. Early Termination Penalty: this is the fee charged if the contract is ended before its scheduled completion date. No penalty: No penalty will be applied Fixed amount: a fixed amount will be applied at the cancellation date. Remaining %: apply a percentage of the remaining amount for the current period Total %: apply a percentage of the total amount of the contract For the percentage penalties, another input will be displayed allowing the user to set a minimum amount, which will be used as a fallback threshold when the calculated percentage value falls below this predefined minimum. Example: Percentage input value is set to 1% Minimum input vale is set to $100 Amount Percentage-based calculation Penalty amount $1000 $10 $100 $50000 $500 $500 Renewal Options When a Contract is set to Auto Renew, the renewal options define the information that the contract will renew with. The renewal options, also referred to as the renewal contract, will be effective when the current contract ends. In other words, the renewal contract start date is tied to the current contract end date. You can easily import a pre-existing contract template by selecting it from the Import From Template dropdown menu. This action will carry over the contract and the renewal options, as well as including the service update schedules that are part of the chosen template. Once the contract is created you have access to two actions: Save as template: you can save the current contract with its renewal options and the schedules for service updates. This way, you can easily reuse the defined contract template when creating a new contract. Cancel: cancel the contract either right away or on a specific date. If certain services within the contract already have an end date, Ubersmith will display a list of these services. This allows you to match the end dates of the selected services with the cancellation date. You can edit/remove the contract view. Note: a service can remain active even after the contract is cancelled. This occurs when the service end date is scheduled for after the contract cancellation date. Provide the template name in order to save the current contract as template. Cancel the contract at a specific date, the Service 1 end date will be override by the cancellation date. Edit or remove the cancellation date. Services Update Schedules Service update schedules allow to automatically schedule update for service prices and quantities. A schedule can contain many events that can be set on a specific date or at a relative date from the service itself or the contract. For example, if some services requires a quantity change every month for 3 months from the service start date, it would look like so: A contract can have many schedules, each of them targeting specific services or all of them. Schedules can be save as templates to be imported when needed. This is useful when a common schedule should be used across different contracts without having to re-create it every time. How to create schedules You can set up schedules by choosing EDIT on the Services Update Schedules section. You can import an existing Services Update Schedules or define a new one. You can add a new schedule group by clicking the Add Schedule button. In a schedule: You can apply the update events to all services or select only specific ones. Each scheduled update event contains: When After a certain number of days or months. On a specific date. At Contract Renewal. From: From service start date. From contract start date. Action Change price. Change quantity. Value $: set a new price. +/-: increase/decrease the current price. %: apply a percentage on the current price. You can save the current Services Update Schedules as a template by clicking the Save As Template button. Define the contract service update schedules. When scheduled update events are applied? When a schedule is defined on a contract, the updates will be applied at invoice time for each individual services. All applicable update events to a service occurring within the invoicing date range will be applied. For each services, Ubersmith will track the schedule application "up to date". This will correspond to the invoicing date range end. Once a schedule has been applied up to that date, it will no be possible to apply any other schedule update events occurring before that time. This prevent services to get schedule applied more than once for a giving period of time. The schedules can be updated at any time. When a service is being invoiced, it will go through the schedule and get the applicable updates that are applicable to it at this point in time. If a service is moved from a contract to another, it will keep its schedule application "up to date". On the next invoice, it will go through its applicable schedule from its current contract. How does a contract update schedule differs from using the service pricing timeline? In the end, a contract update schedule will update the service pricing timeline but the key difference is when and how. A contract schedule can support multiple services so the changes only needs to be scheduled once as opposed to for every services in their timeline. If the schedule update is needed to be created many times for different clients or services, this advantage is even bigger when using schedule templates. The contract schedule support relative event date and also relative update value. For example: A 10% price increase should occurred 6 months from the service start date. If the service start date change during its provisioning, or is delayed for some reason, the date of the event will always respect the rule of "6 months from the service start." This is not possible when using the service price timeline since you need to know the exact moment in advance when making a change in the future. This relative behaviour works also for the update value itself. If for another reason, the price was corrected or changed, the 10% will always be based of the current price. When using the timeline, one needs to do the calculation in advance and keep it updated since the service may change before that date. Invoice schedule application result When generating an invoice with scheduled updates, the detailed breakdown can only be seen on the final invoice web version. This has been included in the tooltip of each lines. Future Enhancements As of the current version of the CLM, scheduled update events are only shown on the schedule itself. This means that if you have a schedule with a 10% price increase on a service after 6 months, Ubersmith will not show you the final amount for that month. Since the changes to the services are scheduled but not yet applied, we plan to show a service price timeline with those scheduled changes as of "now" in a futur version. Add Services To include additional services in the contract, simply click on Add Service link and fill in the necessary details about the service. Add a new contract service: Attachments You can add/remove pdf attachments to the contract. Note that in the case of a quote, the quote attachments are not related to the quote contract attachments. Add contract attachments: Create a contract from a quote From the Client ➝ Sales ➝ List Quotes page, click the Add A Quote button. Set the quote details. Note: the quote term is not related to the contract term and it will not be used in the contract process. If you want to create a quote contract click the Save & Add Contract . A popup with the contract options will be displayed. * To create a service click Save & Add Service . Otherwise click the Save button. If you don't want to create a quote contract click the Save & Add Service . Add Quote popup: Add Quote Contract popup: Quote with a contract: Quote without contract: Note that you can create a contract after the quote creation by clicking the Add contract link Once the quote is approved and signed, an order will be created. Once the order is processed , the contract will be created. The contract creation is processed as part of the existing Add Services order action. Re-Quoting The re-quoting functionality allows users to generate a new quote for an existing contract, enabling the update of contract details such as term, renewal, services, services update schedules for price and quantity. This feature ensures that any changes in client requirements can be accurately reflected in the contract without the need to create an entirely new agreement. Note: re-quoting can be used when a customer signature is required in order to approve the contract modifications. If a customer signature is not required, you will be always able to update a contract details without re-quoting. When you create a new quote, and process the related order, the quote contract will be created and a new action button Edit & Quote is available. This option allows you to create a new quote with contract modifications that your customer can approve. View of a contract created from a quote: To create a new quote from an existing contract: Go to Client ➝ Contracts ➝ List Contracts ➝ View. Click the Edit & Quote button to open the quote creation popup. Fill in the details and save. The contract details from the previous quote will be included automatically. Update contract and renewal options, edit services, or add new ones as needed. After the quote is approved, signed, and the order is processed: Contract modifications will be applied by the Add services order action. Services will be created or updated as before, with the Add services and Edit Services order action. Note that the update of existing services require the Edit Services action in the order queue You cannot update the start date if one or more of the services of the contract has already been billed. Services When you create a new service, you can assign it to an existing contract. This action is optional. Once the service is created you can assign to another contract or remove the current contract assignation. Add Service popup - the service can be assigned to a contract: Service can be assigned to another contract after creation: Settings From the settings page you can configure the contract options and templates Contract Settings These settings allow you to define the contract number sequence: Set the contract sequence prefix Set the variable sections (2 options): Client ID - Sequence Client ID - Date [YYYYMMDD] - Sequence Set the sequence minimum length. Leading zeros will be added to the sequence number. You can also modify the next sequence number if you want the number to start at a higher value. This can be edited at anytime. The only limitation is when a contract number has been generated, the next sequence number cannot be set to a lower value. Contract Templates This functionality allows you to create a contract template to be used in the creation of new contracts. To save a current contract as a template, go to Client➝Contracts➝List Contracts➝View and click on the Save As Template button. To create a new template, go to Settings ➝ Clients ➝ Contract Templates and click the Add Template button. A popup will be displayed. Set the template name Provide the contract options Once the template is created you can add contract template schedules. See create contract section for more details. Add Contract Template Popup: Contract Template view. Contract Schedules Templates Contract Schedules can be created as templates. This is useful when a common one is used often for different contract creation. Once the template is created, you can import it directly in a contract with the import dropdown. See the Contract Schedule section for more details. Support Ticket Association A ticket can be associated to a contract. This association is used in some reporting and in the Advanced Search described in the sections bellow. All ticket associations are independent and static. This is also true for the contract, but Ubersmith will warn you if there is a miss match with other associations. For example, if you assign a contract and a service to the ticket that are not related together, a warning will be shown but Ubersmith will not forbid the action. The check against the contract is performed with the Order, the Quote and the Service association. Example where all three do not match: Advanced Search Contracts search entity has been added to the advanced search parameters. Select Contracts from the search dropdown. You can then search contracts using Contract, Client, Service, Tickets, Quote and Order parameters. Contract parameters are also added to other search entities such as: Clients, Support, Orders and Quotes. Available contract parameters are: ID, No., Status, Term, Start Date and End Date. Search contracts with term set to 12 months and client ids 1 or 2: Search clients with canceled contract status set to canceled: Reports Contract Support Time Report in the Support Time Report the top contract time spent will be shown. The number of contracts displayed will match the system settings list items. If you click the Details link, the associated contract support time spent page will be displayed. Contract Support Time Report: Contract Support Time Details: Tickets per Contract Report This report allows you to list all contracts associated to a ticket. The tickets statues will be displayed. You can filter the report by: From: return contracts that have a creation date greater or equal than the specified date To: return contracts that have a creation date less or equal than the specified date Brand: return clients for the current brand or all brands. Note that the all brands option will only include the brands that you have access to. To access a specific contract tickets you can click on a tickets number under a ticket status or under the total column. Tickets associated to a contract: Tickets list for a specific contract: Contracts per Client Report This report allows you to list all clients with contracts. You can filter the report by: Contract status: return clients for contracts with one or more status. Available status are: Pending, Active, Canceled and Completed. Client Status: return active, deactivated or all clients Brand: return clients for the current brand or all brands. Note that the all brands option will only include the brands that you have access to. From: return clients with contracts that have a start date greater or equal than the specified date To: return clients with contracts that have a start date less or equal than the specified date To view a specific client contracts that match the filters criteria, you can click the contracts number for this client. A new report will be shown. Contracts per Client Report: Client Contracts Report: Permissions Client: On the client side, The CLM add-on adds the contracts permission for the client portal. At this moment, a client can only view contracts. Admin: On the Admin side, those are the user permission added: API Once the CLM add-on is enabled, using the api method uber.documentation will include all the new CLM specifics changes. Existing API methods updated to support the CLM Client A contract can be added, removed or updated in a service: client.service_add client.service_update Responses will contain their associated contract ID and some will support support filtering on it: client.service_get client.service_list client.quote_get client.quote_list Order Contract definition is supported in: order.create order.update Contract filtering is supported in: order.get order.list Support Ticket contract association will be returned in the response of: support.ticket_get support.ticket_list New API methods Client client.contract_add client.contract_cancel client.contract_get client.contract_list client.contract_update client.quote_contract_add client.quote_contract_update Uber uber.contract_template_add uber.contract_template_delete uber.contract_template_get uber.contract_template_list uber.contract_template_update