Skip to main content


Contract Creation

Contracts can be created by two methods:-

  1. Manually from Contract Card.
  2. Using the "Import from Excel" feature.

Let's Create a Contract Manually. Search Contracts and open the Contracts page. To create a Contract click the "New" button.

Search Contract

This is the Contract Card, fill in the required fields.

Contract Card


Customer No.Specifies the Customer No.
NameSpecifies the Customer Name
Amount per Period (Active)Specifies the total Amount per Period for active contract lines.
Annual Sales Amount (Active)Specifies the total Annual Amount for active contract lines.
StatusSpecifies whether the contract is locked, unlocked, or pending approval. You can only make changes to a contract that is unlocked. You can optionally configure a workflow to approve changes to contracts before they are locked. Only contracts that are locked are included in the billing.
Contract StatusSpecifies the contract status to control whether the contract is active, on hold or cancelled. Only active contracts are included in the billing.
Effective DateThis date is used by the system to determine whether an automatic credit needs to be raised when a contract is changed. An automatic credit note is created if the effective date occurs within a period that has been billed and there are changes that affect the invoice values such as a different bill-to customer.
Next Billing Date - ActiveThis is the next billing date from the contract lines.
Last Billing Date - ActiveThis is the last billing date from the contract lines.
Default Invoice PeriodSpecifies the default invoice period that will be used on the lines.
Billing Period ValidationSpecifies if the lines should have the same invoice periods and billing dates. Specify 'Invoice Period' to force all lines to have the same invoice period. Specify 'Invoice Period' and Dates to force all lines to have the same invoice period and billing date. Specify 'None' if you wish to have different invoice periods and/or billing dates.
Show Cancelled LinesSpecifies that cancelled contract lines should be displayed in addition to the active lines.


To Create a Contract line, Click on the "Contract Line Card" or "New Line" action button on Lines.

Contract Lines

Item No.Specifies the value of Item No. field.
DescriptionSpecifies the Description field.
Billing Start DateSpecifies the Billing Start Date field.
Billing End DateSpecifies the Billing End Date field.
Expected Contract DurationSpecifies the Expected Contract Duration field.
Expected Billing End DateSpecifies the Expected Billing End Date field.
No. of Remaining PeriodsShows the number of invoicing periods that are still remaining on this contract.
Last Billing DateSpecifies the Last Billing Date field.
CancelledSpecifies if the line is Cancelled or not.
Date CancelledSpecifies the date when the line Cancelled.
On HoldSpecifies if the line is on Hold or not.


Customer No.Specifies the Customer No. field.
Invoice PeriodSpecifies what should be the Invoice Period week, fortnightly, month, two months, quarter, half year or year.
Next Billing DateSpecifies the Next Billing Date field.
Contract Period Start Calc.Specifies on what basis Contract Period Start Calc. will be calculated.
Deferral Start DateEnter a value here if the related service commences in a future period.
QuantitySpecifies the Quantity field.
Unit Price Excl. VATSpecifies the Unit Price field.
Line Discount %Specifies the Line Discount % field.
Line Discount Amount Excl. VATSpecifies the Line Discount Amount field.
Amount per PeriodSpecifies the Amount per Period field.
Amount Per Period Incl. VATSpecifies the Amount per Period Incl. VAT field.

Price Increase

Price Increase CodeSpecifies the Price Increase Code field.
Price Increase %Specifies the Price Increase % field.
Incr. Amount per PeriodSpecifies the Incr. Amount per Period field.
Price Increase FrequencySpecifies the Price Increase Frequency field.
Price Increase DateSpecifies the Price Increase Date field.

Previous changes on the line can be checked by clicking on the Versions action button.

Contract Line Versions

Follow the below steps to create a Contract using the "Import from Excel" feature.

Search for "Excel Import Mapping List" and click new to create the mapping.

Excel Import Mapping List

Select Contracts in Template type and then do mapping of the fields in the Field Mapping pane.

Excel Import Mapping Card


Template TypeSpecifies the type of import.
CodeSpecifies a code for the import template.
DescriptionSpecifies a description for the import template.
First Data RowSpecifies the first row of data in the file. The default is row 2 assuming that the first row contains headings.
Row FilterSpecifies a row filter that the app uses to include or skip rows when importing. Click the assist edit action to update this value.

Field Mapping

Processing OrderSpecifies the order in which fields get updated during the import. The processing order should typically be in the same sequence as what you would enter the values directly on the page in Business Central.
Excel Column IDSpecifies the Excel column from which the data will be imported. The same Excel column can be mapped to more than one field by adding multiple lines referencing the same column. Leave this field empty if you wish to map a constant value to this field.
TypeHere you specify the type of the column/field mapping. Choose "Field" to map to a field on the table, "Dimension" to map to a dimension value, "Related Field" to map to a field on a related table, and "Custom Value" for values not related to fields on the table. Note: "Custom Values" will only work if you extend Excel Importer using AL.
No.Specify the field number, dimension, related field, or custom value to which the Excel column gets mapped.
DescriptionSpecifies the description of the field or value.
Constant ValueThis field specifies values that you want to assign to fields that cannot be mapped to an Excel Column but need to have a value. In some cases, this field gets used in conjunction with other fields on the mapping line.
Starting PositionDefault is 1. Specify a different value if you do not wish to copy the first part of the Excel data. This is useful when copying a long description from Excel into two or more fields.
LengthSpecify a value here if the value in Excel may exceed the maximum number of characters that the field can hold or if you do not wish to copy the entire value over.
Transformation RuleOptionally specify a transformation rule to transform the date being imported. The transformation rule is applied before mapping (if applicable).
Mapping Template CodeSpecifies the mapping template to use when the data in Excel has a different coding structure to Business Central. The mapping functionality can use a single text value from the Excel file to default a type, account and dimensions.
Mapping TypeSpecifies if this is a parent line or a child line. A parent line must be mapped to a column in Excel. Child lines need to be specified to map additional values from the mapping to fields on the table.

Now click on the "Export Template" action button and export the Template.

Export Template

This is the Template Excel file. Now fill in the value for the fields.

Template Excel File

Now click on the "Import from Excel" action button under Home.

Import from Excel

Select the Template Code, Excel File Name and Worksheet Name.

Select Excel File

New Contract is created as per the details in the Excel file.

Contract Created

Contract Created form Excel

Create Contract Invoice

Lock the Contract by clicking the "Lock Contract" action button under Home.

Lock Contract

Now create a Contract Invoice using the "Create Contract Invoice" action button under Invoicing.

Create Contract Invoice

From the Contract List page click on "Contract Invoices" under the Invoicing.

Contract Invoices

You will find the Invoice that is created.

Sales Invoices

Sales Invoice