Contract billing is based on billing rows and the invoice creation schedule. Check both before enabling automatic creation. A contract invoice is generated from the settings, so its amount is not determined by completed maintenance visits or tasks.

Open the billing settings

Configure billing settings and change prices in the browser. Your organization must have the contracts feature enabled, and you need permission to edit contracts. Editing the contract form also requires access to the contract maintenance targets, the responsible parties in the task settings, and the Spots in the billing rows. If the warehouse feature is enabled and the contract uses products, you also need permission to read products. An archived or deleted contract cannot be edited.

Open Customers from the navigation and select Go to contracts at the top of the page. You can also open the Contracts page directly from the navigation. Select the contract name in the table and open the Billing settings tab. It contains the Basic info and Billing rows sections.

Enable Create invoices related to the contract to complete the billing setup. Saving requires at least one billing row and a completed creation schedule. The basic information for a new contract is described in creating a customer contract. On Android and iOS, a Spot's contract summary shows the name, status, and contract period; the billing settings in this guide are configured in the browser.

Add billing rows

In the Billing rows section, select Add new billing row and the appropriate row type:

  • A Device-specific row is linked to a Spot. The Spot's folder must belong to the same customer as the contract. The same Spot can appear only once in a contract's billing rows.
  • A Product-specific row is linked to the selected product. Adding a product retrieves its price from the customer's currently valid active price list, if that list contains a price for the product. Otherwise, the product's sales price is used; a missing price is entered as zero on the row. Check the retrieved price before saving. If the same product appears in several customer price lists that are valid at the same time, the priority for choosing between their prices is undefined.
  • A Free text row is not linked to a product or Spot. Enter the service to be billed or another clear description in its Item label field.

Edit the row details in the table cells. A new row's Quantity and Interval are initially 1. Enter the Unit price and check the discount and VAT percentage. A product row defaults to the product's default VAT rate; other rows use the service's default VAT rate, or 25.5% if none is set. Check that the default is appropriate for what you are billing.

You can also complete the Unit, Additional info, and Sales account details. The unit indicates what the quantity represents; it does not change the calculation formula. The sales account is a classification detail for the row itself and is separate from the sales account selected for the product. If needed, see the guide to sales accounts and billing information.

You cannot change the type, product, or Spot of a saved row. If necessary, delete the old row using its trash icon and add a new row with the correct selection. This changes future billing; previously created invoices retain their own rows. An active price guarantee restricts adding and deleting rows and changing the details that determine the price.

How are totals and VAT calculated?

Quantity is the row's quantity. Interval is a separate additional multiplier, such as the number of months being billed. It does not determine how often invoices are created and does not change automatically according to the length of the period saved on the invoice. The creation interval is configured separately in the billing recurrence settings.

The row's total excluding VAT is Quantity × Interval × Unit price. The discounted total excluding VAT also accounts for the row's percentage discount: the total is multiplied by 1 − discount percentage / 100. A blank discount means zero. Quantity, Interval, and unit price may be zero but cannot be negative; the allowed range for the discount and VAT is 0–100%.

Both the discounted and undiscounted row totals excluding VAT are rounded to the nearest five cents before the rows are added together. Ties are rounded up. For example, 2 × 3 × €10 = €60; with a 10% discount, the total is €54. A row total of €10.03 is rounded to €10.05.

Total per invoice is the total before discounts, and Discounted total per invoice includes discounts. The difference between them is the discount amount. Contract value/invoice and Contract value/year are also shown excluding VAT; these contract values include row discounts. The label VAT 0% indicates that the total excludes VAT, even if the rows have VAT applied.

In the saved contract's billing settings, open Show VAT breakdown in the Basic info section. VAT is calculated from each row's discounted total excluding VAT, rounded to five cents, and the row's VAT percentage. The row's VAT amount is rounded to cents. The breakdown groups rows by VAT percentage and shows Total excl. VAT, VAT amount, and Total incl. VAT. The total including VAT is the total excluding VAT plus the VAT amount. For the €54 row in the example, VAT at 25.5% is €13.77 and the total including VAT is €67.77.

Set the standard creation schedule

In the Basic info section, complete First invoice will be created, Billing recurrence cycle, Billing recurrence interval, and Billing lead time, including the time units. The recurrence cycle is a numeric value and the recurrence interval is its unit: for example, 6 and months mean recurrence every six months.

When billing is enabled for the first time and no first date has been set, the form suggests recurrence every six months, zero lead time in months, and a specific day of the month based on the first date. The suggested first date is the contract start date, or tomorrow if the start date is already in the past. Check the defaults before saving.

The first date must fall within the contract period. When setting the date or re-enabling invoice creation, it cannot be in the past. In the standard schedule, the first invoice is created on the selected date as entered; the lead time and specific day-of-month rule apply only to subsequent creations.

To calculate the next creation, the recurrence interval is added to the previous creation date and the lead time is subtracted. For schedules recurring in days or weeks, the lead time is entered in days. For monthly and yearly recurrence, the lead time can be in days or months. The lead time must not move the next creation to or before the previous creation date.

The option The next creation date is always a specific day of the month requires monthly recurrence and a lead time entered in months. The lead time is subtracted first, then the selected day of the resulting month is used. If that day does not exist, the last day of the month is used. All weekdays and months are allowed for invoice creation.

Schedule limitation: The Upcoming creation dates preview continues recurrence from dates to which the lead time has not yet been applied. Automatic creation continues from the date of the previous actual creation. For example, a first date of 1 October, recurrence every seven days, and a lead time of two days produce automatic creation dates of 1 October, 6 October, and 11 October; the third date in the preview is 13 October. The contract's end boundary is also handled differently: the automatic calculation checks the date obtained by adding the recurrence interval before subtracting the lead time, while the preview checks the date adjusted by the lead time. The preview may therefore also show a final invoice that the automatic process will not create.

Check the saved Next invoice will be created date and the invoices created. Changing only the recurrence or lead time does not recalculate the next creation date already saved; the new schedule affects the calculation performed after the next invoice. The preview alone does not confirm the schedule that will actually be followed.

Use fixed annual dates if needed

In the Basic info section, select Use fixed invoice dates and complete Month and Day for each Invoice date. When selecting the invoice creation date, this mode bypasses the standard recurrence calculation, lead time, and specific day-of-month rule. The other required schedule fields must still be completed.

The recurrence setting determines the required number of fixed dates. The number is 365 / cycle in days, 52 / cycle in weeks, 12 / cycle in months, or 1 / cycle in years, rounded down to a whole number. Recurrence every six months requires two dates per year. Enter the dates in chronological order; saving requires this order and the correct number of dates.

The first creation occurs on the first of the specified dates that falls on or after the First invoice will be created date. Subsequent creations are selected from the dates in chronological order, moving to the next year if necessary, up to the contract end date. A day that does not exist in a month is replaced with the last day of that month in the relevant year. Choose different creation dates: entries that fall on the same date do not produce separate creations on that day.

Limitation: If the count calculation above returns zero, for example with recurrence every two years, the form still shows one date slot but saving requires zero dates. This kind of fixed schedule cannot be saved reliably. Use fixed annual dates only with a recurrence setting that produces at least one date.

What does the annual value mean?

Number of invoices sent per year is a calculated estimate. In standard mode, the calculation starts on 1 January of the current calendar year and continues through 31 December, using the recurrence, lead time, and specific day-of-month setting. It does not start from the contract's first billing date and is not limited to the contract period. In fixed mode, the count is the number of defined date entries.

The annual total is calculated by multiplying the total per invoice by this count; the discounted annual total uses the discounted total per invoice. For example, €54 per invoice and two calculated creations per year give an annual value of €108 excluding VAT. The annual value is not actual billing, the total for the remaining contract period, or a promise of how many invoices will be created. A short contract period and the schedule calculation limitations may reduce the actual number of creations.

Changes in value are calculated in the background after saving, and a new value record is retained for the changed value. However, changing only the fixed dates or fixed mode does not trigger recalculation of the saved annual value. The estimate on the form may therefore differ from the saved value in the list or history. Check the billing rows, schedule, and invoices separately; if the saved value remains outdated, investigate the issue with your administrator.

Billing information, saving, and checking the invoices created

In the Basic info section, complete Invoice reference, Invoice order number, and Invoice notes as needed. The customer's billing information is used by default. If you select Alternate billing info, enter the address, postcode, city, country, billing email, e-invoice address, and operator; all of these are required to save alternate information.

Save the contract using the Save button at the bottom of the form. If the next creation date is today, invoice creation starts in the background after saving. Other creations start at midnight on the creation date in the service's time zone. Creation processes contracts with billing enabled in the statuses Waiting for start date, Active, and Waiting for end date.

A new invoice receives the status Waiting to be processed. The billing rows, reference, order number, and free text at the time of creation are copied to it. Changing these on the contract later does not change an invoice already created. The address is handled differently: the invoice PDF uses the contract's alternate billing information or the customer's address as it stands when the PDF is generated.

The billing period saved on the invoice starts on its creation date and ends on the day before the next creation date. If there is no next creation, the period ends on the contract end date; if there is no end date, the period start date is used. The end is never earlier than the start. The period's length does not automatically prorate row prices or the Interval multiplier.

Open the contract's Contract invoices tab and check the invoice created, as well as the next creation date in the billing settings. Saving the contract or creating an invoice does not indicate that the invoice has been delivered to the customer. See the guide to checking and processing contract invoices.

You can stop future creation by clearing Create invoices related to the contract and saving. The next creation date is cleared, but billing rows, settings, and previous invoices are retained. Ending, archiving, or deleting the contract also stops creation. When re-enabling creation, the first date cannot be in the past. To stop creation for several contracts, use the contract list's Update contracts batch action and select Disable the 'Create invoices related to the contract' setting. See also contract history and archiving.

Change unit prices or price list prices

Change an individual billing row's price in the contract's Billing settings → Billing rows section and save the change to the contract. Price guarantee valid until is set in the Basic info section of the same tab. Protection remains active through the last specified date, inclusive, in the service's time zone. It prevents adding or deleting billing rows on a saved contract and changing Quantity, Interval, unit price, or discount. When initially creating a contract, the price guarantee and rows can be saved together.

Price increase type and Price increase amount (%) store information about an increase on the contract. Completing them does not automatically change billing row prices. Price guarantee email notification is also a notification setting, not a trigger for a price change.

  1. Open Datatable on the Contracts page and select the contracts to change using the row checkboxes. Open the batch action menu in the table header and select Make a price change.
  2. To change only specific rows, open the page's Billing rows tab, select the billing rows, and select Make a price change for selected billing rows from the Actions menu in the header. You cannot select contracts and individual billing rows for the same action.
  3. When selecting contracts, limit the row types to change; all three are initially selected. Select Increase billing row unit prices or Decrease billing row unit prices and enter a positive percentage.
  4. When contracts are selected, you can also change price lists, either in addition to row prices or separately, by selecting Increase Contract Related Pricing Table prices or Decrease Contract Related Pricing Table prices. Enter a separate percentage for this.
  5. Check Contracts to be changed, the new unit prices, and the totals. Gray rows are excluded from the price change. Simply filtering the table or hiding rows does not limit the change. Start processing with the Make a price change button at the bottom of the window.

A billing row's new unit price is the old price multiplied by 1 + percentage / 100, or by 1 − percentage / 100 for a decrease. The new unit price is rounded to cents. For example, increasing €10 by 5% gives €10.50. This rounding to cents is separate from rounding a billing row's total to five cents. Quantity, Interval, row discount, and VAT percentage are retained.

The price list change applies only to product-specific prices in price lists linked directly to the contract, and only to price lists you have permission to edit. Price lists linked through the customer are excluded from this action. The percentages for billing rows and price lists are separate: changing a price list does not update a saved billing row's unit price, and vice versa. Changing a price list price may also affect other customers using that price list. Check the price list's customer links before making the change.

Archived and deleted contracts, and contracts protected by an active price guarantee, are not processed. Prices can be changed on an ended contract, but this does not cause it to start creating new invoices. Changes affect future invoices; copied prices on previously generated invoices are not changed.

Check the batch change results and revert prices if needed

The price change runs in the background. The notification that it has started does not confirm that all prices have changed. If processing fails for one contract, its billing row and price list changes are rolled back, but processing continues for the other contracts. Do not repeat a partially failed change for all rows without checking the rows that succeeded.

Open Billing settings → Basic info on a processed contract and open Price change import log. Check the successful and failed billing rows and their old and new prices. Check price lists separately on the contract's Customer price lists tab: the billing row log is not a log of price list changes, and a price list change alone does not create it. Checking a price list is described in updating price list prices and viewing their history.

The billing row price change log includes Revert previous prices. Check the list of contracts to be reverted that the button opens before confirming. Reverting applies only to contracts for which that log is still the latest batch price change for billing rows, which are not archived or deleted, and which do not have an active price guarantee.

Reverting takes prices from successful log rows and updates only the corresponding billing rows that still exist. It does not recreate deleted rows or revert price list changes. Reverting may also overwrite a price set manually after the batch change. It does not compare the current price with the price after the batch change. Reverting runs in the background for each contract and creates a new log. Check the results of reverting and any price list corrections separately.

Change the VAT percentage separately

Changing the VAT percentage is a separate batch action. Select contracts and choose Make a VAT percentage change from the batch action menu in the header, or select individual rows on the Billing rows tab and choose Actions → Make a VAT percentage change for selected billing rows. When contracts are selected, limit the row types. Enter New VAT % between 0 and 100 and start the change using the corresponding action button in the window.

The action changes the VAT percentage of the selected rows; it does not change the unit price, total excluding VAT, or rows on previous invoices. Archived and deleted contracts are skipped. A price guarantee does not prevent this VAT batch change, even though the rows on the contract form are locked during the price guarantee. Processing may succeed for only some contracts, and it does not create a price change import log. Open the contracts after processing and check the row VAT percentages and VAT breakdown. Revert previous prices does not revert VAT percentages.