Skip to main content


Contract Setup

The Contract Setup page specifies the setup information used for the contracts and contract billing.

Contract Setup


Contract Nos.Species the number series for contracts.
Default Invoice PeriodSpecifies the default period used when creating a new contract. You can change this after creating the contract.
Invoice ConsolidationSpecify the level of consolidation when creating contract invoices. Specify Contract to create a new invoice per contract, Contract Line to create a new invoice per contract line or Per Customer/Billing Date to create a single invoice for each bill-to customer. Note: this is a default, but you also specify this setting per customer.
Cancel Line StatusThis reason applies to cancelled lines to distinguish those from when the entire contract gets cancelled.
Completed StatusThis contract status updates on lines reaching the billing end date.
Default Contract StatusThis contract status is used as a default on a new contract.
Deferral TemplateSpecifies the deferral template that is used to handle deferrals relating to contracts that are billed in advance. The app only requires one deferral template because it automatically updates the deferral schedule while creating the invoice.
Remaining Periods TextSpecify a caption here to override the default text that prints when the remaining periods get printed as part of the contract’s extended text. This relates to the conditional text that prints if the end date has been specified. The text must contain %1 as a token to insert the remaining periods and can optionally include %2 as a token to insert the billing end date.
LCY SymbolsSpecify a value here to use as a symbol for local currency when creating extended text lines that reference contract amounts.
Allow Zero Amount LinesSpecifies that you can create contract lines with zero amounts to allow these lines to show on an invoice.
Allow Partial BillingSpecifies that you can change the Next Contract Period Start and influence the number of days the app will invoice.
Release/Send Approval RequestSpecifies that sales invoices/credit memos are either released or an approval request gets sent after invoices are created by recurring billing.
Contract Posting DescriptionSpecify a posting description for sales documents created through contract invoicing. You include %1, %2 and %3 in the text. These are replaced by document type, document number and contract description, respectively.
Record Contract Quantity ChangeSpecifies that the app records contract quantity changes when doing recurring billing. This allows you to track changes to the number of subscriptions per billing period.
Use Contract Price ItemsSpecifies that your contract lines refer to more than one item - one provides descriptions, and the other includes pricing. We added this feature to support some customers migrating from legacy systems with thousands of contracts in flight having this setup. Please avoid using this feature as it adds complexity that is usually not required. If you previously used this feature and you want to turn it off, you must first remove the configuration from the items and remove the references on your active contracts.

Advanced Automatic Billing

The fields on this tab are used to change the billing date when you schedule the recurring billing in the job queue. Organisations with contract billing using a direct debit payment method often want to perform checks on the billing before creating a batch to upload to the bank.

To use this feature, you must schedule the Contract Billing batch job in the job queue (Codeunit 58764 - ContractBillingMgt_CB_TSL). This job is usually scheduled to run every day as it will only ever bill contracts due to be billed up to and including the billing date.

Example: Billing raised one working day before the funds need to be directly debited:

In this example, we schedule the batch job to run at 4:00 am Monday to Friday.

Advanced Billing DateExpectationValue
MondayWe want the invoices that must be directly debited on Tuesday.1D
TuesdayWe want the invoices that must be directly debited on Wednesday.1D
WednesdayWe want the invoices that must be directly debited on Thursday.1D
ThursdayWe want the invoices that must be directly debited on Friday.1D
FridayWe want the invoices that must be directly debited on Saturday, Sunday and the following Monday.3D
SaturdayThe job is not scheduled.
SundayThe job is not scheduled.

If you want to post the invoices after they get generated, you can schedule Report 297 Batch Post Sales Invoices. If you only want to post recurring invoices, specify that as a filter when you schedule the report in the job queue.


If you invoice many contracts, you must ensure that the recurring billing that creates the invoices runs at a different time than you are batch posting. To ensure this:

  • Schedule the batch posting for at least 30 minutes after the recurring billing.
  • Specify the same Job Queue Category on the recurring billing and the batch posting to prevent them from running simultaneously.

Contract Statuses

You set up contract statuses to indicate the state of the contacts. The app requires statuses representing active, on hold, completed, and cancelled contracts. You can optionally configure additional statuses to represent other relevant states for your organisation.

Contract Item Groups

Contract Item Groups are used to classify the lines on a contract. Contract Group also holds settings controlling how the lines get posted, etc.

Contract Extended Text

The contract extended text is used to print additional information on contract invoices.

Contract Price Increases

You can configure Contract Price Increases to handle scenarios where you have recurring billing that increases by a percentage each year.

Billing Period/Unit of Measure Mapping

The app uses the Billing Period/Unit of Measure Mapping to associate the billing period with the unit of measure that relates to the item. This allows you to set up prices per billing period for contract items. You can access this page from Tell Me or the Contract Setup page.

Billing Period/Unit of Measure Mapping

Initialise with Defaults

You can use the Initialise with Defaults action to create the default mappings for the billing periods and units of measure. This action will also create Units of Measure if they do not exist. The app uses the text from the billing period to generate the code for the unit of measure.

Billing PeriodSpecifies the billing period used to determine the billing interval on the contract.
Unit of Measure CodeSpecifies the unit of measure you are mapping to the billing period.
Auto-Create for ItemsSpecifies that you want this unit of measure to be created by default against contract items. You should only specify this field for common billing periods for all items. For example, if you only bill Monthly or Yearly, you should only specify this field for Monthly and Yearly.

Once you have added records to this page, specifying the unit of measure on contract lines is mandatory. When you set the Billing Period on the Contract Line, the app will validate that the selected item has the mapped unit of measure defined against it. It also follows that you can only choose billing periods on contracts that have been mapped here.

Item Setup

The contract billing uses items to provide default values for contract lines and, if configured, pricing. The app adds the following fields to the Item tab of the item card:

Contract Group CodeSpecifies the contract group code, which is used to determine which items can appear on contracts and the associated contract settings for the item. Suppose you have configured Billing Period/Unit of Measure Mapping. In that case, the app will create Item Units of Measure for the Billing Periods that you flagged to auto-create.
Expected Contract DurationOptionally specify the expected duration of a contract when this item is used on a contract. This is used to determine the expected ending date of a contract. Some organisations specify this for open-ended contracts that usually finish within a certain period (for example, training).

If you use the same item for different billing periods, you should set up the Billing Period/Unit of Measure Mapping.

Item Card

Contract Price Items

Contract Price Items allow you to use two items on a contract line - one to handle the description and one to handle the pricing. This feature was added to support organisations moving from systems that had this type of structure and is not used by most customers. Therefore, this is disabled by default. You enable this on the Contract Setup.

The following fields become visible on the Item tab of the item card when you enable this feature:

|Field|Purpose| |Default Contract Price Item|Optionally specify a default contract pricing item that the app should use for this item. You only need to create Contract Price Items if the prices for the contract lines do not come from the items selected on the contract.| |Use for Contract Pricing|Specifies that this item is used for pricing on a contract. You only need to create Contract Price Items if the prices for the contract lines do not come from the items selected on the contract.|


Contract Billing Ships with additional permission sets that must be allocated to users before they can use the features.

Permission SetNamePurpose
CONTRACT-EDIT_CB_TSLContract Setup, Edit, PostAssign this permission set to users that are required to maintain the setup, edit and posting.
CONTRACT-READ_CB_TSLRead Contract and EntriesAssign this permission set to users that are required only read permissions.

Permission Set

Permission Edit

Permission Read