How a Contract Works


Understanding the Data Hierarchy

Before going through the contracts functionality, it is important to know how the system handles the overall information. Although the Contract is the key entity, there are other entities that surround it and which are important to obtain meaningful information related to services consumption and comparison between planned and executed. The diagram below exemplifies this structure: 


  • Organization: represents the customer that will have service contracts created for. A customer can have many different contracts to specify different service types or periods.


  • Contract: A Contract defines the service agreement with your customers. It helps in managing how customers are charged for services you execute. The contract is also responsible for tracking the status of the agreement. In summary, the contract is the main entity that concentrates the information related to the services contracted, such as the responsible for that contract, start and end dates, recurrence, amount of contracted hours, etc.


  • Accounts: responsible for classifying the services inside a contract. You can add up to 4 accounts per contract. They can be billable or non-billable and assigned to specific teams that will execute the service. The total for billable accounts should always match the contracted hours informed for that particular contract.


  • Account Slices: used whenever a service/account has to be executed by more than one team. The number of hours for each account can be distributed among up to 4 different teams and the sum of the slices should match the total defined for that particular account.


  • Issues: Jira entities created to describe the tasks executed by the users. When editing an issue, it is necessary to inform the contract and account to be considered for that issue, so the system will know to what account/contract the worklogs should be considered for. There is no restriction on the number of issues created for an account. 


  • Worklogs: time logged by the users in Jira whenever they work on that particular task/story. 


Processing the Contracts

When a contract is created for an Organization (customer) the system will use the issues or worklogs added against its accounts to track progress/consumption, depending on the Contract Type defined (for now, the only type available is hourly). 


Contract TypeBehavior
Hours
  • When this option is selected, the system will count every hour logged for issues under the respective contract/account and compare them with the contracted hours informed on the contract, since they are logged within the contract start/end date ranges.
  • If the user who has logged the time is also enrolled in a Team, the system will consider this information to show the team distribution (slices) time spent on the related reports. 
Issues (to be implemented in future versions)
  • When this option is selected, the system will count only the number of issues created for the respective contract/account and compare them with the contracted issues informed on the contract, since the issue creation date is within the contract start/end date ranges.
  • If the user who is the assignee of that issue is also enrolled in a Team, the system will consider this information to show the team distribution issues on the related reports.