CommitCRM is a complete software solution for managing computer services businesses, targeted at small to mid-sized IT service providers. CommitCRM manages your service processes using Tickets management and Intelligent Dispatching
Find various tutorial videos about managing Contracts and Billing in CommitCRM on the Billing Videos Page.
- Accounts in CommitCRM can be customers, vendors, business partners, friends, leads, and so on. Each Account holds related data which is any other information related to the Account, such as scheduled Appointments, open Tasks, Tickets/incident history, Assets, Charges, linked Documents and so on.
- Tickets in CommitCRM are used to represent any incident, problem, or job you handle for a given Account (customer). While viewing Ticket information, you can see all data-related to the Ticket. This includes scheduled technician visits, open tasks, special service notes, the Account’s service Contract (see below), linked documents, Charges for labor (see below), expenses and parts, etc.
- Items in CommitCRM are where you define each individual service and product you offer. The Items list in CommitCRM acts as your price list. In CommitCRM there are three types of Items: Labor, Expenses and Parts.
- Contracts in CommitCRM are the service agreements you have with your customers, that determine how you will charge your customer for services, and track the status of the agreement.
- Charges in CommitCRM are work/parts replacement completed for the customer, and the cost of that service or product. A charge may be used to bill the customer later, but it can also be used for documentation purposes.
- Custom Pricing lets you set special prices for selected Accounts or Contracts. Once you set custom pricing for an Account or Contract, all Charges created for those Accounts or Contracts will be based on the custom price.
- Billing is how you can report to customers on activities performed for them, and the outstanding charges. A Charge in CommitCRM can be set as Billable or not-Billable. Billable Charges can be marked as Billed, upon which they become read-only.
As a computer services business, it is essential that you control customer debts, and keep track of services provided to each specific customer according to their service contract.
CommitCRM helps you do this by managing three types of entities (see Glossary):
Tracking Charges is a key factor for running your service business efficiently and improving its performance. Using the Contracts/Charges/Items in CommitCRM simplifies the important task of tracking Charges.
The following is a common work flow which may be used in your business when working with CommitCRM:
When a customer reports a problem, open a Ticket in CommitCRM
II: Solve the problem
Handle the Ticket remotely (e.g. by the phone or remote control) or by dispatching a technician for an onsite visit
III: Log the work done (Charging)
Log Charge records for the time spent, work performed or parts used in order to solve the problem (resolve the Ticket)
Bill the customer for the relevant Charges recorded (unless covered by a contract)
The work flow explained in this document focuses on the Charging phase (III) and the Billing phase (IV).
Alternative Work Flows
The flow above assumes you will be working with Tickets in order to report on a customer issue.
Alternatively, it is possible to add Charges for an Account (customer) directly in the Account or Contract (see Contracts). This can be helpful in certain cases, such as, when a customer visits your office/repair shop and purchases products or parts, or where you offer consulting services and need to track the time spent on consulting.
Items in CommitCRM are a catalog of all the services and products you offer and their prices. The Items list in CommitCRM acts as your price list. Note that setting the price for an Item is optional; they can be set ad-hoc when using the Item for adding a Charge. For further details see Using Charges.
There are three types of Items in CommitCRM:
- Product/Parts Items: hardware, software, or any other items you ship to your customer. These items have fixed-prices.
- Labor Items: services you provide to your customers, such as server installation, network installation, on-site technician visits, etc. These Items can be priced according to the employee hourly-rate, a fixed hourly-rate or by a fixed-price for the service.
- Expense Items: used to charge expenses, such as travel and special deliveries. Expense Items can have a fixed-price per unit or a fixed hourly rate.
Adding new Charges is the way to log the work performed for a Ticket/Account.
There are three types of Charges in CommitCRM:
- Labor Charges for services provided
- Expense Charges for expenses such as travel and delivery
- Product/Parts Charges for parts or products
An Item is selected for each Charge and it may set the price for this Charge.
Selecting Items for Charges speeds-up the process of adding new Charges. When an Item is selected for a charge, its description and price are automatically copied to the charge record fields bypassing the need for manual data entry.
In the following sections you can find more on the different charge fields and how charges can be used in CommitCRM effectively.
A Contract in CommitCRM defines the service agreement with your customer, which helps you manage the way you charge your customer for services and track the status of the agreement. Each Contract is always related to an Account.
CommitCRM Contracts are categorized according to their type:
- Block of Time
- Block of Tickets
- Block of Money
The contract type is set when you create a new Contract, and the system automatically tracks the status of a Contract according to the type selected. You can read more about contract types and their statuses in Tracking the Contract Status.
Each Account can have one or more Contracts at a time for different purposes. For example, you can have a Block of Time service agreement for on-site support at the customer site, and also a Global Contract for phone support.
Each Contract also has a Start date and End date which determines when the Contract is valid or expired (i.e. out of date). CommitCRM automatically selects the most valid Contract – see How does the system choose the Contract to be used. To view Contracts which are about to expire, go to the Reports window, select the Contracts category and generate the 'Contract List by Type and Expiration' report.
Note that using Contracts is optional, and should only be used if needed – see the next section, When to use Contracts.
If you don't have special contract terms with your customers and you bill according to ad-hoc charges per activity, you can simply use the Global System Contract which allows you to skip the Contract definition step and go straight to Charges. This System Contract is a global Contract which is automatically created for each Account so you can avoid having to create and manage contracts yourself.
SLA for Contracts
The SLA feature in CommitCRM helps you provide services to your customers within the time frame agreed with them. It provides an easy way to define the time-to-deliver of your Service-Level Agreements (SLA) with the customer and apply them to Tickets Due Date automatically.
A default SLA can be set to Accounts or Contracts, thus automatically applied to Tickets created under the Account or Contract.
Custom Pricing lets you set unique prices for different Accounts or Contracts. Once you define custom prices for an Account or Contract, these prices will be used automatically for every charge logged for Accounts or Contracts.
You can also manually adjust the prices while creating a Charge.
This sections explain how to define Custom Pricing.
When should I use Custom Pricing?
By default, the standard employee hourly rates and item prices will be used automatically.
You should use custom pricing only when you want to use a different set of prices or rates for a specific Account or Contract. For example, custom pricing may be used to set a global 10% discount for a customer, or to set unique hourly rates for employees for a specific Account. To do so, set a Custom Price for the Account or Contract and define the adjustments. Once set, the system will automatically use the custom prices or rates instead of the standard ones when Charges are logged under this Account or Contract. When defining Custom Pricing, you can choose between a global custom price level or a per-item price.
Account level vs. Contract level Custom Pricing
Custom Pricing can be defined at the Account level or Contract level.
When custom prices are defined for the Contract, the Account's custom pricing settings are ignored, and the Contract's price settings are used. You can read more about this under Contract Level vs. Account Level Custom Pricing.
Global Settings vs. Exception Rules
The global price/rate settings determine the price/rate adjustment for all employees, or for Items for a specific Account or Contract. For example, a specific Account may enjoy a 10% discount off all products, or a reduced hourly rate of $100/hour for all employee time, etc.
In addition to global settings, you can define rule exceptions for specific employees or Items to override the global settings and be used when the system needs to determine the price/rate for that specific item/employee. For example, Natalie's hourly rate may be set as $80, and this will override Natalie's standard hourly rate, and the global employee hourly rate.
The custom price settings replace the standard item/employee rate.
Standard employee rate - the employee's rate as defined in the employee tab.
Standard item price - the Item's price as defined in the Item record.
Read more about custom pricing in the Custom Pricing section.
Contract-Price Charges provide an easy-to-use and innovative way to ensure that clients get billed for the service contracts you have signed with them, whether they are recurring contracts or ad-hoc contracts/projects.
Contract-Price Charges are used to charge for an amount agreed upon in a contract. For example, let’s say you sign a 50-hour (block-of-time) contract with a customer for a price of $1,000. You can then create a Contract-Price Charge to represent this amount ($1,000) in the CommitCRM system. A Contract-Price Charge only represents an amount listed for a contract—it does not represent a fee for specific work performed under a contract.
Contract-Price Charges work much like other charges in CommitCRM: they are included in reports; they can be defined as Billable; and they are included in invoices. However, since Contract-Price Charges do not represent specific work, they do not affect the balance of a contract block.
Managing complex Projects, which include various activities, is easily done using CommitCRM Contracts.
You can create multiple Contracts (projects) for each Account, and they can all be Active at the same time. This enables you to manage multiple projects for the same Account at the same time.
For every Contract, you can create related Tickets, Tasks, Appointments and Charges which will all be tracked under that Contract, allowing you to view all open issues for the project, activity history, and more.
Read more about project management in Project Management section.
How to use Recurring Contracts
In many cases, you can have contracts that bring in recurring revenue, such as web hosting, managed services contracts, monthly blocks etc.
You can do do this by creating a monthly/periodic contract – i.e. end date at the end of the month etc. and then by copying it to the new period (the next month etc.).
Benefits of recurring Contracts:
- When copying contracts, the original contract information is copied to the new Contract – like service terms, the initial Block of Time value, Notes, etc. So if you create special notes regarding the Account (such as "Usually has problem with X" or "Make sure you speak with John"), these notes will also by copied to the new contract, keeping all the information intact.
- The contract sub-code will automatically be incremented, e.g. if the original Contract code is 1001 then the newly created contract code will be 1001.0001, 1001.0002 etc.
- you can handle many recurring Contracts with the Batch Copy Wizard which can create many new Contracts for the next period automatically (see below).
- The system will select the new copied contract as the default contract for the Account automatically, based on its start date. This means that you can copy a contract any time prior to its end; and the system will only start using it when the previous contract expires. Note: In order for the system to automatically select a contract by date; you should make sure the default contract selection for the Account is set to 'Automatic'.
- Contract-price charges will be automatically copied if requested. This means that you can copy the contract together with the contract-price charges to automatically bill the customer for the new contract.
- The contract's activity template will be automatically copied if requested. This means that you can copy the contract and automatically create the recurring activities for the new contract.
Read more about recurring contracts in the Recurring Contracts section.
Rates for Over Used Hours
In some cases, work for a customer may extend beyond the hours defined in a Block of Time Contract. In this case, the system will warn the user when trying to add a Charge for a Contract that has reached its limit, and then you may wish to set a special hourly-rate for the hours used OVER the amount allowed in the contract.
Read more about rates for over used hours in the Over-used Hours section.
Using taxes in CommitCRM is optional. By default, the tax option is not activated. To begin using taxes, you first need to set the taxable Accounts and taxable Items.
Read more about using Taxes in the Charging Using Taxes section.