Set up a recurring billing.

A recurring billing indicates that customer should get a monthly (yearly) invoice for the indicated services, at the indicated price.

After the billing has been set up, recurring invoices need to be manually created and sent from back office Sales → Recurring billing, at the beginning or at the end of a month, as appropriate.

Alternatively, invoices can also be created over API with the saveSalesDocument call, and associated with the billing via the “billingStatementID” field.

Input parameters

Parameter nameDescriptionPossible valueRequired
billingStatementIDID of billing statement. If this parameter is present, then the specified statement is updated.Integer
customerIDCustomer ID.(Not required if updating an existing statement.)Integer yes
customerAddressIDCustomer address ID.Integer
payerIDPayer ID.Integer
payerAddressIDPayer address ID.Integer
employeeIDID of the employee, who is set as the creator of the billing statement.Integer
startDateStart date.ISO date (yyyy-mm-dd)
endDateEnd date.ISO date (yyyy-mm-dd)
serviceIDID of the service.Integer
productIDID of the product.Integer
customerSpecialPriceCustomer special price.Decimal
paymentDaysPayment period.Integer
vatrateIDID of VAT (tax) rate. To get the list of rates, use getVatRates.(Not required if updating an existing statement.)Integer yes
currencyCodeCurrency code: EUR, USD. Currency must be present in the system.
If omitted, default currency will be used.
billingStatementPeriodPeriod of billing statement. Possible values: "MONTH", "QUARTER", "HALFYEAR", "YEAR", "3MONTHS", "4MONTHS".(Not required if updating an existing statement.)String yes
billingStatementTimeTime of billing statement. Possible values: "WHEN_PERIOD_STARTS", "WHEN_PERIOD_ENDS", ""BASED_ON_METERED_READINGS".(Not required if updating an existing statement.)String:yes
active0 or 1, by default 1.Integer
sendByEmail0 or 1.Integer
makeSeparateInvoice0 or 1.Integer
serviceNameOnInvoicesService name as displayed on invoices.String
additionalInvoiceNotesAdditional text printed on invoices.String
*************Additional attributes associated with this item.
Attributes must be supplied as a flat list, each attribute defined by the following set of three parameters. Replace # with set number (1, 2, 3, ...). When updating an existing entry, API will only update the attributes specified in input data and leave all other existing attributes unchanged. To delete an attribute, set its value to 'null' or 'undefined'.
attributeName#Attribute name. Name can only contain the following symbols: A-Z, a-z, 0-9, dash and underscore.String
attributeType#Attribute type, possible types are 'text', 'int' and 'double'. By default 'text'.String
attributeValue#Value of the attribute. Set value to 'null' or 'undefined' to delete an attribute.
'text' attribute can be any string, maximum 255 characters.
'int' must be a signed 32-bit integer.
'double' must be a decimal number.


Field nameTypeDescription
billingStatementIDIntegerID of the created/updated item.