comes with a built-in Contract Management module that lets you maintain a record of your contracts with third-party vendors. As it’s fully integrated with the asset management module, it lets you track the contracts along with the assets they cover. Besides managing contracts, it alerts you when a contract is about to expire so you can rest assured and never miss to renew one ever.

Apart from letting you track contracts for leasemaintenance, and software licenses, you can add and track custom contract types based on your business needs.

If you'd like to watch a video on how Contract Management works in Freshservice, here's one:

Adding a contract type

Here are the steps to add a new contract type:

1. Go to the Admin > Asset Management > Contract Types. 
If your account has more than one workspace: 

To modify global workflows, navigate to Admin > Global Settings > Asset Management > Contract Types.

To modify workspace-level workflows, navigate to Admin > Workspace Settings > {Workspace Name} > Asset Management > Contract Types.

2. Click on New Contract Type.

3.  In the 'New Contract Type' form, enter the contract type name.

4. Type a description for the contract type.

5. The vendor field is greyed out as it's a default option for all types of contracts other than the software license. 

6.  Drag and drop custom fields to create your own form for all contract types. 

7. In the properties form, you can enter a label name and choose either of the behavior options if needed – whether you want it to be a mandatory field or if you need the detail to be visible in the renewal form too.

8. Click on save once you're done. 

To edit or delete the contract types: 

  1. Click on edit next to the name of the contract type in Contract Types, make the changes, and then select Update.
  2. To delete a custom contract type, click on the delete icon next to the name of the contract type in Contract Types or click on the contract type you want to delete and then choose to delete.

Adding a contract

Here are the steps to add a new contract:

  1. Go to the Assets tab in the navigation bar and click on Contracts.
  2. Click on Add New.

  3. In the 'New Contract' form, enter the contract name. The contract number is filled in by default.
  4. Select the contract type from the drop-down list. By default, the following types will be displayed along with the custom contract types:
    1. Lease: Choose a vendor from the list (you can add vendors by going to Admin>Vendors), select the approver, and enter the cost of the lease.
    2. Maintenance: Select a vendor, and approver, and enter the cost.
    3. Software License: Choose the productvendorlicense type, and approver. Enter the license count and the combined cost of all licenses.

  5. The Status field is greyed out. The contract will remain saved as a ‘draft’ until you send it for approval.
  6. Type a description for the contract.
  7. Click on Attach CI/Attach Asset. In the list that pops up, select the appropriate category and select all the CIs/assets covered by the contract. Click on Attach when done.
  8. If you need to attach a file (like the terms and conditions for the contract), click on the Choose File button and double-click on the file.
  9. Under Tenure of Contract, select the contract start and end dates.
  10. If you’d like Freshservice to send you (or other stakeholders) a notification before the contract expires, select the checkbox next to Notify contract expiry. Then select the number of days and enter the email addresses. Note that you can add the email addresses of third-party vendors too.
  11. Once you’re done, you could either save the contract or submit it for approval.
    1. If you’d like to make changes to the contract or add information to it before sending it for approval, click Save to save the contract as a draft.
    2. To send the contract for approval to the agent selected as “approver”, click Submit for approval. Once you do, you cannot make changes to it. You (only you) can still add assets and delete the contract.


A contract can, at a given point, be in one of these 7 stages:

  • Draft- This is when the contract needs to be updated further before being submitted for approval. Only the agent who created the draft can edit/delete it (although other agents can view it).
           It's important to note that a contract can only be updated as long as it is in this stage.
  • Pending approval- Once the contract has been submitted for approval it is approved.

           Only the agent who created the contract can add CIs/assets or delete the contract.

           The option to approve/reject it will be available only to the agent selected as approver (although other agents can still view the contract).

  • Approved- It’s important to note that if the contract start date is later than the current date, it does not get active even if it is approved. The Contract Scheduler checks the ‘start day’ for all approved contracts on a daily basis and when it is the same as the current date, it sets the contract as active.
  • Rejected- If the designated “approver” chooses to reject a contract.
  • Active- A contract remains active between its start date and end date unless it is manually terminated or deleted.
  • Terminated- If an existing contract needs to be replaced by a new one, you can terminate it by clicking on the contract from the list and clicking Terminate.
  • Expired- A contract is expired once it is past its end date. The Contract Scheduler automatically sets an active contract as 'expired' when it reaches its end date.

Accessing expired contracts

When you go to the Contracts in the Assets tab, you see just the 'active' contracts by default. To access expired contracts, click on Active Contracts and select Expired Contracts from the drop-down menu. Then you can click on a contract to access its available information.

Renewing a contract

If you need to renew a contract, you can do so from its detailed view. The process then goes through an approval workflow.

Extending a contract

During renegotiation, you can even extend the contract for a short period of time. 

Tracking a contract's history and recent activities

Contract History captures key events in the lifecycle of a contract, allowing you to quickly understand a contract's status

If you've added custom fields to a contract type, you can find its details while accessing the contract history. (Here, Maintenance ID is custom.)

Activities capture all the changes to a contract, maintaining an audit trail for contract-related activities.


1. Will I be able to recover the deleted contract?

Unfortunately, Freshservice does not support the option to restore the permanently deleted data as of now. Our backend logs will only store the information of the users who actioned on the contract, created/updated/deleted details and not restore the deleted details. The workaround is to create another copy similar to the deleted one manually.

2. Is it possible to import contracts in bulk?

You will be able to bulk import contacts by running a script at your end by using the following API call

3. From which plan will I be able to access contract management?

Contract management is available from the Pro plan.