Contract examples
/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples
section
2026-02-19T17:09:06+01:00
# Contract examples
Contract examples - overview
/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/contract-examples-overview
page
Visma Net provides you with different scenarios of invoicing a customer for the usage of services you offer with the contracts functionality, as the following topics describe.
2026-02-19T17:09:06+01:00
# Contract examples - overview
Visma Net provides you with different scenarios of invoicing a customer for the usage of services you offer with the contracts functionality, as the following topics describe.
Visma Net include the following, each of which is described in its own topic:
+ [About fixed-price contracts](/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/about-fixed-price-contracts/)
+ [About usage-based contracts](/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/usage-based-contracts/about-usage-based-contracts/)
+ [About retainer contracts](/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/retainer-contracts/about-retainer-contracts/)
## Contracts with invoicing on demand
You may want to have the ability to provide a customer with any service or solution you have at any time and invoice the customer as needed. To implement such a scenario, do the following:
1. Create an active contract template with the invoicing period set to the **On demand** option, and do not add any contract items. Prepare a contract with the **Draft** status based on this template. For details, see [About contract preparation](/visma-net-erp/help/customer-ledger/manage-contracts/contract-preparation/about-contract-preparation/).
1. Set up and activate the contract. The contract status is changed to **Active** and you can proceed with the contract usage recording. For details, see [About contract setup and activation](/visma-net-erp/help/customer-ledger/manage-contracts/contract-setup-and-activation/about-contract-setup-and-activation/).
1. For the contract, enter the usage of the non-stock items that correspond to the services or solutions provided to this customer. For details, see [Enter contract usage](/visma-net-erp/help/customer-ledger/manage-contracts/contract-usage-recording/enter-contract-usage/).
1. Invoice the contract any time you need to. For details, see [Run contract invoicing](/visma-net-erp/help/customer-ledger/manage-contracts/contract-invoicing/run-contract-invoicing/).
Related pages
Concepts
Tasks
Windows
About fixed-price contracts
/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/about-fixed-price-contracts
page
You may offer services at a price that is not based on the service's usage, as with a fee for internet connection or domain name registration.
2026-02-19T17:09:06+01:00
# About fixed-price contracts
You may offer services at a price that is not based on the service's usage, as with a fee for internet connection or domain name registration.
You generally collect such a fee on a schedule, for example, once a year or on a monthly basis.
Consider an example: You offer domain name registration and maintenance for a year with
renewal.
To implement such a scenario, do the following:
1. By using the [Non-stock items (IN202000)](/visma-net-erp/help/inventory/inventory-windows/non-stock-items-in202000/) window, create **Domain name registration** and **Maintenance** non-stock items that represent services you offer.
1. In the [Contract items (CT201000)](/visma-net-erp/help/customer-ledger/customer-ledger-windows/contract-items-ct201000/) window, configure a contract item as follows:
+ In the **Setup item** field, select the **Domain name registration** non-stock item, and specify the pricing policy for the setup item. You provide a domain name and invoice for it during the contract setup stage.
+ In the **Renewal item** field, select the **Maintenance** non-stock item, and specify the pricing policy for the renewal item. You provide a maintenance item only after renewal and invoice for it when the contract is renewed.
+ To invoice the customer for maintenance during the first year, select the **Collect renewal fee on activation** check box. The fee for the renewal item will be included in the first invoice.
+ Fill in other required parameters (and any optional ones) at your discretion.
For details on configuring contract items, see: [Configure a contract item](/visma-net-erp/help/customer-ledger/manage-contracts/prior-configuration/configure-a-contract-item/).
1. By using the [Contract templates (CT202000)](/visma-net-erp/help/customer-ledger/customer-ledger-windows/contract-templates-ct202000/) window, create a contract template as follows:
+ Set the **Contract type** to **Renewable** and the **Duration** to **1 Year**.
+ Specify **Year** as the **invoicing period**.
+ In the **Invoicing schedule starts on** field, select **setup date**.
+ Fill in other required parameters (and any optional ones) at your discretion.
+ Add the contract item you have configured to the contract template.
For details on configuring a contract template, see: [Configure a contract template](/visma-net-erp/help/customer-ledger/manage-contracts/prior-configuration/configure-a-contract-template/).
1. Set up and activate the contract. An invoice for domain name registration and maintenance is issued automatically as the result of the setup procedure. For more information, see: [About contract setup and activation](/visma-net-erp/help/customer-ledger/manage-contracts/contract-setup-and-activation/about-contract-setup-and-activation/).
1. Renew the contract in a year. An invoice for maintenance only is issued automatically as the result of the renewal procedure. For details, see: [About contract renewal](/visma-net-erp/help/customer-ledger/manage-contracts/contract-renewal/about-contract-renewal/).
You can combine fixed-price contract items with ones that are invoiced based on usage.
For
example: Suppose that you provide bandwidth or disk space along with a domain name. In this
case, you could include in one contract item a domain name as the setup item and some quantity
of disk space as the recurring item, or you could create separate contract items.
Related pages
Concepts
Tasks
Windows
Usage-based contracts
/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/usage-based-contracts
section
2026-02-19T17:09:06+01:00
# Usage-based contracts
About usage-based contracts
/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/usage-based-contracts/about-usage-based-contracts
page
You may offer services at a price that depends on the usage of the service, such as support hours, disk space, or support cases.
2026-02-19T17:09:06+01:00
# About usage-based contracts
You may offer services at a price that depends on the usage of the service, such as support hours, disk space, or support cases.
The contracts functionality of Visma Net can help you to track and invoice the usage of a particular service. You can invoice customers for services at the regular price and at an extra usage price, and you can provide some quantity for free. You can track the usage of the services that are provided recurrently within a invoicing period as well as for the whole contract duration.
## Annual support with free options
If you offer annual support with free options, you can use Visma Net to implement the following scenarios. Each scenario is described briefly below; see the **Settings for the examples** table for the settings you would use to implement the scenario. You can also refer to procedures that walk you through implementation of each scenario.
+ **Annual support with hours for free**: To implement this scenario, use the settings listed in the appropriate column of the table below. To implement scenarios in which the contract covers annual support with free hours, do the following:
Annual support that includes free hours might be structured as in the following examples:
+ **The first 10 hours for free**: You could offer a contract for annual support with the first 10 hours free and additional hours invoiced at €100 per hour. The contract is invoiced monthly.
+ **10 hours for free each month**: You might offer a contract for annual support with 10 hours free each month and other hours invoiced at €100 per hour. The contract is invoiced monthly.
+ For a case class that is invoiced by case, follow the [Set up per-case invoicing](/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/usage-based-contracts/set-up-per-case-invoicing/) procedure.
+ For a case class that is invoiced by activity, follow the [Set up per-activity invoicing](/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/usage-based-contracts/set-up-per-activity-invoicing/) procedure.
+ **Annual support with cases for free**: To implement this scenario, too, you use the settings listed in the appropriate column of the table below.
Annual support that includes free cases might be structured as in the following examples:
+ **The first 10 cases for free**: You might offer a contract for annual support with the first 10 cases free and additional cases invoiced at €100 per case. The contract is invoiced monthly.
+ **10 cases for free each month**: You could offer a contract for annual support with 10 free cases each month and additional cases invoiced at €100 per case. The contract is invoiced monthly.
To implement a scenario in which the contract covers annual support with free cases, follow the [Set up invoicing by the number of cases](/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/usage-based-contracts/set-up-invoicing-by-the-number-of-cases/) procedure.
## Settings for the examples
This table shows the settings you would use to implement each of the scenarios described above.
|Entity|Annual support with hours for free|Annual support with cases for free|
|---|---|---|
|**Non-stock item** (Use the Non-stock items window.)|+ **Item ID** = **SUPPORTHOURS** + **Item status** = **Active** + **Type** = **Labor** + **UOMs** = **Hours**|+ **Item ID** = **CASENUMBER** + **Item status** = **Active** + **Type** = **Non-stock item** + **UOMs** = **ITEM**|
|**Contract item** (Use the Contract items window.)|+ **Default quantity** = **10** + **Recurring item** = **SUPPORTHOURS** + **Reset usage on invoicing**: + Cleared for the **The first 10 hours for free** scenario + Selected for the **10 hours for free each month** scenario + **Recurring pricing** = **Enter manually** + **Item price/percent** = **0** + **Extra usage pricing** = **Enter manually** + **Item price/percent** = **100**|+ **Default quantity** = **10** + **Recurring item** = **CASENUMBER** + **Reset usage on invoicing**: + Cleared for the **The first 10 cases for free** scenario + Selected for the **10 cases for free each month** scenario + **Recurring pricing** = **Enter manually** + **Item price/percent** = **0** + **Extra usage pricing** = **Enter manually** + **Item price/percent** = **100**|
|**Contract template** (Use the Contract templates window.)|+ **Duration** = **1 Year invoicing** + **Period** = **Month**|+ **Duration** = **1 Year invoicing** + **Period** = **Month** + **Case count item** = **CASENUMBER**|
> [!NOTE]
> Fill in settings that are not mentioned in the table at your discretion.
Related pages
Concepts
Tasks
Windows
Set up per-case invoicing
/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/usage-based-contracts/set-up-per-case-invoicing
page
To invoice a customer recurrently and on a per-case basis for time and overtime, perform the following steps:
2026-02-19T17:09:06+01:00
# Set up per-case invoicing
To invoice a customer recurrently and on a per-case basis for time and overtime, perform the following steps:
1. By using the [Non-stock items (IN202000)](/visma-net-erp/help/inventory/inventory-windows/non-stock-items-in202000/) window, create a non-stock item of the **Labour** type to represent hours. For details, see: [About non-stock item support](/visma-net-erp/help/inventory/manage-stock-and-non-stock-items/about-non-stock-item-support/).
1. In the [Contract items (CT201000)](/visma-net-erp/help/customer-ledger/customer-ledger-windows/contract-items-ct201000/) window, create a contract item. In the **Recurring item** window, specify the non-stock item created in Step 1 as the one provisioned recurrently. Also, specify the recurring and extra usage prices of this item. Fill in other required parameters (and any optional ones) at your discretion. For details, see [Configure a contract item](/visma-net-erp/help/customer-ledger/manage-contracts/prior-configuration/configure-a-contract-item/).
1. By using the [Contract templates (CT202000)](/visma-net-erp/help/customer-ledger/customer-ledger-windows/contract-templates-ct202000/) window, create an active contract template with scheduled invoicing. Add the contract item created in Step 3 to the contract template. For more information, see [Configure a contract item](/visma-net-erp/help/customer-ledger/manage-contracts/prior-configuration/configure-a-contract-item/).
1. Initiate the contract in the way that suits your needs; now you can proceed with the contract fulfillment. See: [About contract setup and activation](/visma-net-erp/help/customer-ledger/manage-contracts/contract-setup-and-activation/about-contract-setup-and-activation/) for details.
1. Invoice the contract according to its schedule, as described in: [About contract invoicing](/visma-net-erp/help/customer-ledger/manage-contracts/contract-invoicing/about-contract-invoicing/).
Related pages
Concepts
Tasks
Windows
Set up per-activity invoicing
/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/usage-based-contracts/set-up-per-activity-invoicing
page
To invoice a customer recurrently and on a per-activity basis for time and overtime, perform the following steps:
2026-02-19T17:09:06+01:00
# Set up per-activity invoicing
To invoice a customer recurrently and on a per-activity basis for time and overtime, perform the following steps:
1. By using the [Non-stock items (IN202000)](/visma-net-erp/help/inventory/inventory-windows/non-stock-items-in202000/) window, create a non-stock item of the **Labour** type to represent hours. For details, see: [About non-stock item support](/visma-net-erp/help/inventory/manage-stock-and-non-stock-items/about-non-stock-item-support/).
1. In the [Contract items (CT201000)](/visma-net-erp/help/customer-ledger/customer-ledger-windows/contract-items-ct201000/) window, create a contract item. In the **Recurring item** field, specify the non-stock item created in Step 1 as the one provisioned recurrently. Also, specify the recurring and extra usage prices of this item. Fill in other required parameters (and any optional ones) at your discretion. For details, see: [Configure a contract item](/visma-net-erp/help/customer-ledger/manage-contracts/prior-configuration/configure-a-contract-item/).
1. By using the [Contract templates (CT202000)](/visma-net-erp/help/customer-ledger/customer-ledger-windows/contract-templates-ct202000/) window, create an active contract template with scheduled invoicing. Add the contract item created in Step 3 to the contract template; see: [Configure a contract template](/visma-net-erp/help/customer-ledger/manage-contracts/prior-configuration/configure-a-contract-template/) for more information.
1. Initiate the contract in the way that suits your needs; now you can proceed with the contract fulfilment. For details, see: [About contract setup and activation](/visma-net-erp/help/customer-ledger/manage-contracts/contract-setup-and-activation/about-contract-setup-and-activation/).
1. Invoice the contract according to its schedule. [About contract invoicing](/visma-net-erp/help/customer-ledger/manage-contracts/contract-invoicing/about-contract-invoicing/).
For more information, see:
Related pages
Concepts
Tasks
Windows
Set up invoicing by the number of cases
/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/usage-based-contracts/set-up-invoicing-by-the-number-of-cases
page
To invoice a customer recurrently for a number of cases, perform the following steps:
2026-02-19T17:09:06+01:00
# Set up invoicing by the number of cases
To invoice a customer recurrently for a number of cases, perform the following steps:
1. By using the [Non-stock items (IN202000)](/visma-net-erp/help/inventory/inventory-windows/non-stock-items-in202000/) window, create a non-stock item. Specify the item's unit of measure and price, and fill in other details at your discretion. For details, see: [About non-stock item support](/visma-net-erp/help/inventory/manage-stock-and-non-stock-items/about-non-stock-item-support/).
1. In the [Contract items (CT201000)](/visma-net-erp/help/customer-ledger/customer-ledger-windows/contract-items-ct201000/) window, create a contract item. In the **Recurring item** field, specify the non-stock item created in Step 1 as the one provisioned recurrently. Also, specify the recurring and extra usage price of this item. Fill in other required parameters (and any optional ones) at your discretion. For details, see: [Configure a contract item](/visma-net-erp/help/customer-ledger/manage-contracts/prior-configuration/configure-a-contract-item/).
1. By using the [Contract templates (CT202000)](/visma-net-erp/help/customer-ledger/customer-ledger-windows/contract-templates-ct202000/) window, create an active contract template with scheduled invoicing. Add the contract item created in Step 2 to the contract template, and in the **Case count item** field, specify the non-stock item you created in Step 1. For details, see: [Configure a contract template](/visma-net-erp/help/customer-ledger/manage-contracts/prior-configuration/configure-a-contract-template/).
1. Initiate the contract in the way that suits your needs; now you can proceed with the contract fulfilment. For more information, see: [About contract setup and activation](/visma-net-erp/help/customer-ledger/manage-contracts/contract-setup-and-activation/about-contract-setup-and-activation/).
1. As needed, enter contract usage in the following way:
+ Directly for the non-stock item you have configured, by using the [Contract usage (CT303000)](/visma-net-erp/help/customer-ledger/customer-ledger-windows/contract-usage-ct303000/) window. For details, see: [Enter contract usage](/visma-net-erp/help/customer-ledger/manage-contracts/contract-usage-recording/enter-contract-usage/).
1. Invoice the contract according to its schedule. For more information, see: [About contract invoicing](/visma-net-erp/help/customer-ledger/manage-contracts/contract-invoicing/about-contract-invoicing/).
Related pages
Concepts
Tasks
Windows
Retainer contracts
/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/retainer-contracts
section
2026-02-19T17:09:06+01:00
# Retainer contracts
About retainer contracts
/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/retainer-contracts/about-retainer-contracts
page
In some cases, a contract includes a retainer along with the services to be provided.
2026-02-19T17:09:06+01:00
# About retainer contracts
In some cases, a contract includes a retainer along with the services to be provided.
In some cases, a contract includes a retainer along with the services to be provided.
The
customer pays the retainer at contract setup.
The customer is then charged for the actual
usage of services according to its invoicing schedule, and the cost of provided services is
deducted from the retainer.
In Visma Net, a retainer is referred to as a **deposit contract item**.
You configure a contract
item marked as a deposit (by selecting the **Deposit** check box).
This
contract item represents a retainer that the customer should pay at contract setup.
Then you
assign this deposit contract item to contract items that represent services.
That is, you
specify a deposit contract item in the **Deposit item** field for each
contract item whose cost of usage is to be deducted from the retainer. After required
contract items are configured, you add them, except for the deposit contract item, to a
contract template designed for retainer contracts. When you add a contract item to a
contract template, the system checks whether it has a deposit contract item attached; if
there is one, it checks whether it has been added already. If a contract item has a deposit
item attached that is not yet present in the contract template, this deposit contract item
is added automatically.
You create a retainer contract based on the contract template configured for this purpose
and activate it.
When you provide services to a customer, the usage of the services is
recorded in the contract.
The customer is invoiced according to its invoicing schedule, and
invoices are issued as a result of the invoicing process.
Each provided service and the
retainer are displayed as separate lines in the invoice. The customer is invoiced for each
service usage according to the pricing policy defined in the **Recurring pricing** field of the respective contract item.
When the retainer has been spent,
the customer is invoiced for each service usage according to the pricing policy defined in the
**Extra usage pricing** field of the respective contract item.
If a customer wants to replenish a retainer, this can be done with the contract upgrade
procedure.
You can change the deposit contract item quantity if the contract template allows
overriding of contract items.
For details, see: [Make changes to contract services](/visma-net-erp/help/customer-ledger/manage-contracts/make-changes-to-contract-services/).
## Retainer contract restrictions
1. The contract template must contain only one deposit contract item. The system does not allow a contract template to be saved if there are multiple deposit contract items.
1. The contract must be of either the **Expiring** type or the **Unlimited** type. The contract type is defined by the **Contract type** setting of the contract template that the contract is based on.
Related pages
Concepts
Tasks
Windows
Configure a retainer contract
/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/retainer-contracts/configure-a-retainer-contract
page
To configure a retainer contract, perform the following steps:
2026-02-19T17:09:06+01:00
# Configure a retainer contract
To configure a retainer contract, perform the following steps:
1. By using the [Non-stock items (IN202000)](/visma-net-erp/help/inventory/inventory-windows/non-stock-items-in202000/) window, configure a non-stock item. In the **Sales account** field on the **General ledger accounts** tab, we recommend that you specify a designated liability account to post related transactions instead of an income one.
1. In the [Contract items (CT201000)](/visma-net-erp/help/customer-ledger/customer-ledger-windows/contract-items-ct201000/) window, create a deposit contract item. For details, see: [Create a deposit contract item](/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/retainer-contracts/create-a-deposit-contract-item/).
1. Also in the [Contract items (CT201000)](/visma-net-erp/help/customer-ledger/customer-ledger-windows/contract-items-ct201000/) window, create a service contract item that is provided recurrently and assign the deposit contract item to it.
1. By using the [Contract templates (CT202000)](/visma-net-erp/help/customer-ledger/customer-ledger-windows/contract-templates-ct202000/) window, create a contract template at your discretion. You do not add the deposit contract item to a contract template directly; you instead add the service contract item to the contract template, and the deposit contract item assigned to it is added automatically. For details, see: [Configure a contract template](/visma-net-erp/help/customer-ledger/manage-contracts/prior-configuration/configure-a-contract-template/).
1. Initiate the contract in the way that suits your needs. The invoice that includes the prepayment sum is issued and you can proceed with contract fulfilment. For details, see: [About contract setup and activation](/visma-net-erp/help/customer-ledger/manage-contracts/contract-setup-and-activation/about-contract-setup-and-activation/).
1. Enter contract usage. For details, see: [About contract usage recording](/visma-net-erp/help/customer-ledger/manage-contracts/contract-usage-recording/about-contract-usage-recording/).
1. Invoice the contract according to its schedule. For details, see: [About contract invoicing](/visma-net-erp/help/customer-ledger/manage-contracts/contract-invoicing/about-contract-invoicing/).
Related pages
Concepts
Tasks
Windows
Create a deposit contract item
/visma-net-erp/help/customer-ledger/manage-contracts/contract-examples/retainer-contracts/create-a-deposit-contract-item
section
2026-02-19T17:09:06+01:00
# Create a deposit contract item
## Before you proceed
By using the [Non-stock items (IN202000)](/visma-net-erp/help/inventory/inventory-windows/non-stock-items-in202000/) window, you must create a
non-stock item to be used for the creation of deposit contract items.
No special
settings are required for this item; we recommend only that in the **Sales account** field on the **General ledger accounts** tab of the window, you specify a
designated liability account to post deposit-related transactions to.
For details on
configuring non-stock items, see: [About non-stock item support](/visma-net-erp/help/inventory/manage-stock-and-non-stock-items/about-non-stock-item-support/).
1. Go to the [Contract items (CT201000)](/visma-net-erp/help/customer-ledger/customer-ledger-windows/contract-items-ct201000/) window.
1. Click .
1. Optional: In the **Contract item** field, specify the unique ID of the deposit contract item.
IDs of contract items are
formed in accordance with the **CONTRACTITEM** segmented key.
If the
**Contract item** field contains the
`` place holder, it means that auto-numbering is
enabled for a key segment and the system will assign the ID
automatically. Otherwise, you should specify the ID
manually.
1. In the **Description** field, type a brief description of the deposit contract item.
1. In the top part of the **Price options** tab, do the following:
1. In the **Maximum allowed quantity** and the **Minimum allowed quantity** fields, type the limits of the retainer quantity.
1. In the **Default quantity** field, type the quantity of retainers that is included in the contract by default. This value can be modified in a contract template or a contract, as long as it is within the allowed limits.
1. In the **Currency ID** field, select the currency of the contract item. Within each contract item, you should use non-stock items priced in the same currency.
1. In the **Setup and renewal** section, do the following:
1. In the **Setup item** field, select the non-stock item you have configured.
1. In the **Setup pricing** field, select the pricing policy. The following options are available:
+ **Use item price**: The base price of the non-stock item is used. If a price is configured for a customer price class and a customer that purchases this service belongs to this price class, then the price from the customer price class is used.
+ **Percent of item price**: The price is a percentage calculated by applying the percent specified in the **Item price/percentage** field to the base price of the non-stock item.
+ **Enter manually**: The price is specified manually and can not be changed later in a contract.
1. In the **Retain rate** field, specify the percent of the deposit amount at which the user viewing contract details will receive a system warning.
1. Select the **Deposit** check box to mark this contract item as the one to be used as the retainer.
1. Select the **Refundable** check box if you want to allow the retainer to be refunded if the contract is terminated. The retainer is refunded if both the contract template and the deposit contract item are marked as refundable. The balance of the retainer at the date of termination is refunded.
1. Click .
Now you can proceed to creating a contract item that represents a service provided
recurrently.
When you create the service contract item in the [Contract items (CT201000)](/visma-net-erp/help/customer-ledger/customer-ledger-windows/contract-items-ct201000/) window, you specify the deposit contract
item you have configured in the **Deposit item** field on the
**Price options** tab of this window.
Related pages
Concepts
Tasks
Windows