How to Configure SLA to Work for Clients with Different Services and Service Levels in Contracts

Basic SLA Configuration

Let's configure SLA for Incident requests.

We have an output data that contains services and service levels. And we have SLA time data for requests with different levels of service.

The task is to configure Service Level Agreement for Incident Requests with different SLA limits for each service and service level according to the provided data.


  • Phone
  • Internet
  • Wi-Fi

Service Levels:

  • Platinum
  • Gold
  • Silver
  • Bronze

Each service may be used with different service level for different customers. For example, one client uses the Phone service with Platinum level of service, the other - with Gold; Internet: Gold and Silver clients; Wi-Fi: Gold, Silver, Bronze; etc.

SLA data:

SLA type Platinum Gold Silver Bronze
Reaction time 5 min. 15 min. 30 min. 1 h
Resolve time 1 h 2 h 4 h 8 h
Working hours 24 hours 24 hours 24 hours 24 hours

In this guide we will do the most basic configurations of request type and services, and will focus more on the SLA settings.

First let's create provided services and service levels

Open the Services page, and click Create to create a new service.

The Name is the only required field for now.

The same way, we create Internet and Wi-Fi services.

Now click on Service Levels to open the Service Levels page.

Let's create service levels. Here we also fill in only the Name field.

We also create Gold, Silver and Bronze levels of service.

More detailed about creation of services and service levels you can read in the Documentation.

Now we configure request type for incidents

  1. Open the Requests app. Under the Configuration menu, select Types. Click Create to create a new type.

  2. On the request type form, enter the Name of a new type.

  3. In the Services field, select all the previously created services. Thus, they will be available for requests of this type.

  4. Now look at the SLA tab. Here you can set up working hours of your company. In the output data, working hours - 24h. So, we can use Absolute time to calculate SLA time (on the SLA Rule form), and we do not need to set Working time on this field.

    But if we need to calculate SLA time as Working time, this field is required. We can select one of the presets or create a new one.

    In Odoo v.12, be sure to specify the appropriate timezone for your company on the Working Time form.

  5. Click Save to save the form.

More detailed info about creation of request type you can read in the Documentation.

Configure SLA Rules

We need to create 2 SLA Rules: 1) Reaction time - time to review and assign request; 2) Resolve time - total time to resolve this incident. We will start with the configuration of SLA Rule Types - these are global types of rules (used to group SLA Rules, for example, in reporting). SLA Rule Types are required when you create SLA Rules.

Click SLA Rule Type, and then Create to create a new rule type.

Click Create and create a new SLA Rule. Enter the name of a new SLA Rule Type.

Create 2 rule types: Unassigned and Assigned.

Now we can configure Service Level Agreement rules for incident requests.

To configure SLA, click SLA Rules on the form of request type. Then click Create to create a new rule.

On the form:

  1. Enter the Name of the rule.

  2. In the SLA Rule type field, select Unassigned.

  3. In the Stages field, we need to specify all stages on which this rule will act. We can skip Stages for now (this means this SLA Rule will be used throughout all the processing period).

  4. In the Assigned field, select No. That means this rule will be used when request is not assigned.

  5. In the Compute time field, we use Absolute time. It is fine, as our working hours are 24/7.

  6. Limit time we set to 1 hour, it corresponds to our longest reaction time (Bronze level of service).

  7. Warn Time we skip for now, it can be set later for the users need.

Now we set up SLA Rule lines according to output data. Lines allows to specify conditions, if all conditions in the line are met, this rule will work with time limits from the matched line.

Click Add an item and add services and service levels according to our data.

Note: If at least one of the conditions in the SLA Rule lines is not met (for example, Service is Phone, but Service Level - Bronze), this line will not pass the verification, and time limits of the main SLA rule will be used (1 hour).

We do not select categories and priority, so these lines will work for requests of all categories and priorities.

The Reaction Time SLA Rule is completed. We need to create another one, Resolve Time.

This rule will have mostly similar configurations, but with the following differences:

  • In the SLA rule Type field, we select Assigned.
  • In the Assigned field, select Yes. Thus, this SLA Rule will be used when request is assigned.
  • We also need to change time limits according to the data.

Completed SLA Rule form should looks like the following:

Create Basic Contracts for Clients with Different Services and Service Levels

Now we will create 2 basic customer contracts without subcontracts for different partners. These contracts will include the same services, but with a different level of service.

Open the Contracts app, select Customer Contracts and click Create to create a new customer contract.

On the contract form do the following:

  1. Enter the Name of the contract.

  2. Select the partner. We created 2 demo partners - Premium Partner and Regular Partner. The current contract will be for Premium Partner.

    Each partner has default level of service. You can select it on the Service Info tab of the Partner form. Default service level will be automatically used for this partner in other service-related apps, unless you manually specify another service level.

  3. Select the type of contract - Contract.

  4. Partner type - Customer.

  5. Specify the required Start and End dates for the contract. The looks similar to this:

  6. Now we will add services with service levels to the contract. Open the Service tab, and then click Add a line.

  7. We add all the necessary services. For each service we indicate level of service.

  8. We also should confirm the current contract to activate it. Click Confirm above the form.

  9. The status of the contract will change to Active.

The same way, we need to create another contract for Regular Partner. The default level of service for Regular Partner is Silver. But we will specify different levels of service for each service in the contract lines.

The form of a new contract looks like the following: