Purchase contracts

Updated at September 3rd, 2025

Module Description

This module allows you to report purchase contracts with suppliers to the system and automatically generate the related purchase invoices. These are usually maintenance or assistance contracts, which have a fixed billing frequency, for a certain period of time.

Setup

Setup Origins

In the Origins Setup you need to activate the “Activate purchase contract module” flag.

It is also necessary to set, in the “Purchase Contract” tab, a numerator that will be used when creating the contract itself.

Functionality

Purchase contracts

From the “Purchase Contracts” list you can create new contracts or view existing contracts, using the standard functions.

“GENERAL” TAB

The Contract No. is present, inherited from the numerator previously set on the Origins Setup, and all the supplier information, which is automatically reported when the supplier code is entered. There are also some contract-specific fields:

  • Contract date
  • Valid from: start date of validity of the contract. It is a mandatory field for the creation of rows and can be modified as long as no rows of the contract are modified.
  • Valid until: end date of validity of the contract. It is a mandatory field for the creation of rows and can be modified as long as no row of the contract has been modified
  • Billing Periodicity : indicates the periodicity of the contract. It can contain a value such as 1M/2M/1A/etc., it is a mandatory field for creating lines and can be modified as long as no line of the contract is modified
  • Installment Billing: Indicates whether the contract billing should be in arrears or in advance. It can be modified as long as no contract line is modified
  • Description: if you want to add a description to the contract
  • Status: can be open or released. If an MDW is active, it is driven through the approval flow
  • Created by: when the contract is created, the Business Central user who created the contract master data is entered
  • Contract : field that adds the amounts contained in the “Contract Movements” table. It is filled in at the time of release.

“DETAILS” TAB

In this tab the data is automatically inherited from the supplier master data, following the insertion of the supplier code in the General tab, however they can be modified by the user if necessary.

LINES

In this tab you must enter all the lines that make up the various installments of the contract.

NB : in the lines, in the field “Direct unit cost of instalment excluding VAT”, you must enter the amount of the single instalment.

Contract movements

From the “Contract movements” action you can view all the contract movements, which are created when the purchase contract is released.

The most relevant fields are:

  • Registration date : date calculated based on what is defined on the contract header. If the contract is anticipated, the first day of the period set as the contract periodicity will be reported, if it is postponed, the last day will be reported.
  • Type: reported based on what is entered on the contract lines
  • Nr .: reported according to what is entered on the contract lines
  • Description: reported according to what is entered on the contract lines
  • Currency : inherited from the contract header
  • Installment amount : inherited from the contract line installment amount
  • Installment amount (VL) : inherited from the installment amount of the contract line
  • To invoice: to mark the lines you want to invoice.
  • Amount to invoice: when the previous field is flagged, the remaining amount of the installment is proposed by default in this field, which can however be modified manually.
  • Amount to be recorded : sum of all provisional invoices generated by the contract line
  • Recorded amount : sum of all invoices recorded by the contract line
  • Last invoice number : the number of the provisional or definitive invoice is shown when it is accounted for.
  • Closed line : to mark a closed line even if it is not fully invoiced

All fields in the “Contract Movements” table are not editable, with the exception of the “To invoice” and “Amount to invoice” and “Closed line” fields.

There are two functions on contract movements to enable invoicing:

  • Create purchase invoice
  • Connect to purchase invoice

Create purchase invoice

Using this function you can generate a new provisional purchase invoice.

To do this, you need to activate the “To be invoiced” flag, the system fills the “Amount to invoice” field with the remaining amount to be invoiced for the installment. This field can be modified by the user to allow partial invoicing of the installments. Obviously, the system checks that the amount to be invoiced entered by the user does not exceed the amount of the installment added to the recorded amount and the recorded amount to be invoiced. In this case, the following error would appear:

At this point the user can proceed to create the invoice through the appropriate action.

The provisional invoice just created is then opened and the “Last invoice no.” field is filled in on the contract movements, on the lines for which the invoice was generated, with the provisional protocol of the document.

If you try to create an invoice on a transaction line without the “To invoice” flag, the following error appears:

If you try to create an invoice by selecting rows with different posting dates, the following error appears:

When the invoice is recorded, the “Recorded amount” and “Last invoice number” fields on the contract movements are updated with the definitive protocol.

Connect to purchase invoice

Using this function, it is possible to connect one or more lines of the contract movement to a provisional purchase invoice already present in the system, for example because it was imported as an electronic invoice, so as to make it appear as "fulfilled".

To use it, you need to activate the “To be invoiced” flag, the system fills the “Amount to invoice” field with the remaining amount of the installment. The amount can however be changed manually.

The user can then proceed with the invoice connection via the appropriate action.

The list of supplier's passive invoices opens and you need to select the invoice to be linked to the contract movement.

After choosing the invoice, it is opened.

Open last linked invoice

From the purchase contract movement using the action “Open last linked invoice” it is possible to open the invoice, provisional or definitive, present in the “Last invoice” field

Recorded amount to be invoiced

Using the “Amount recorded to invoice” field, you can view all the lines of purchase invoices still to be recorded that have been generated by the contract installment.

Recorded amount

Through the “Recorded Amount” field you can view all the lines of the recorded purchase invoices that were generated by the contract installment.