Even geduld a.u.b...

Exact Online REST API - SalesInvoices

Endpoint

SalesInvoices

Good to know

Use this endpoint to create, read, update and delete sales invoices or direct sales invoices.
Note: You must include a parameter for 'SalesInvoiceLines' to add sales invoice lines when you POST to the SalesInvoices endpoint. This parameter is not necessary when you PUT to this endpoint. Currently, assigning serial or batch numbers is not supported when you create or update direct sales invoices.

Sales invoice describe the items that you sell to your customers.
For more information about the sales invoice functionality in Exact Online, see About sales invoices

Direct sales invoices are entries that combine a normal sales invoice with a stock movement, whether it is in or out. For more information about the direct sales invoice functionality in Exact Online, see Create direct sales invoices or direct credit notes


To view an example of the business use of this endpoint, see Rest API - Business example API sales invoice.


This endpoint is available for the following packages:


This entity supports webhooks.
Subscribe to the topic SalesInvoices to get updates on the SalesInvoices resource. You will also receive events on the SalesInvoices resource.

This API is used to send out an invoice to a customer, if you do not wish to do this, you should use the SalesEntries API, otherwise you have to use the PrintedSalesInvoices API to process the invoice where 2 things will happen: 1. an invoice will be made (and can be send to a customer), 2. the financial transaction will be created.


This API allows to filter only on specific fields. Below you can see per field if it can be filtered on or not.
When you filter on a key field, there are two syntaxes possible which are both supported. In the example usage section you can see the two syntaxes which are supported.

Scope

Sales invoices

URI

/api/v1/{division}/salesinvoice/SalesInvoices


GET POST PUT DELETE

Example usage

/api/v1/{division}/salesinvoice/SalesInvoices

/api/v1/{division}/salesinvoice/SalesInvoices

/api/v1/{division}/salesinvoice/SalesInvoices

/api/v1/{division}/salesinvoice/SalesInvoices

/api/v1/{division}/salesinvoice/SalesInvoices


Properties

Name Mandatory Value Value Type Webhook Filter Description
InvoiceID False Edm.Guid Mandatory filter Primary key
AmountDC False Edm.Double Supports webhook For the header lines (LineNumber = 0) of an entry this is the SUM(AmountDC) of all lines
AmountDiscount False Edm.Double Supports webhook Discount amount in the default currency of the company
AmountDiscountExclVat False Edm.Double Supports webhook Discount amount exclude VAT in the default currency of the company
AmountFC False Edm.Double Supports webhook For the header this is the sum of all lines, including VAT
AmountFCExclVat False Edm.Double Supports webhook For the header this is the sum of all lines, excluding VAT
Created False Edm.DateTime Mandatory filter Creation date
Creator False Edm.Guid User ID of creator
CreatorFullName False Edm.String Name of creator
Currency False Edm.String Supports webhook Currency for the invoice. Default this is the currency of the administration
DeliverTo False Edm.Guid Supports webhook Mandatory filter Delivery account for invoice
DeliverToAddress False Edm.Guid Supports webhook Mandatory filter Address of delivery as per invoice delivery account
DeliverToContactPerson False Edm.Guid Supports webhook Mandatory filter Delivery account person for invoice
DeliverToContactPersonFullName False Edm.String Name of delivery account's contact person as per invoice
DeliverToName False Edm.String Name of the delivery account's customer as per invoice
Description False Edm.String Supports webhook Mandatory filter Description. Can be different for header and lines
Discount False Edm.Double Supports webhook Discount percentage
DiscountType False Edm.Int16 Leading field of total discount. 1=Discount percentage, 2=Discount amount excl. VAT, 3=Discount amount incl. VAT, 4=Total amount excl. VAT, 5=Total amount incl. VAT
Division False Edm.Int32 Division code
Document False Edm.Guid Supports webhook Mandatory filter Document that is manually linked to the invoice
DocumentNumber False Edm.Int32 Number of the document
DocumentSubject False Edm.String Subject of the document
DueDate False Edm.DateTime Supports webhook The due date for payments. This date is calculated based on the EntryDate and the Paymentcondition
ExtraDutyAmountFC False Edm.Double Supports webhook Extra duty amount in the currency of the transaction. Both extra duty amount and VAT amount need to be specified in order to differ this property from automatically calculated.
GAccountAmountFC False Edm.Double A positive value of the amount indicates that the amount is to be paid by the customer to your G bank account.In case of a credit invoice the amount should have negative value when retrieved or posted to Exact.
IncotermAddress False Edm.String Address of Incoterm
IncotermCode False Edm.String Code of Incoterm
IncotermVersion False Edm.Int16 Version of Incoterm
Supported version for Incoterms : 2010, 2020
InvoiceDate False Edm.DateTime Supports webhook Mandatory filter Official date for the invoice. When the invoice is entered it's equal to the field 'EntryDate'. During the printing process the invoice date can be entered
InvoiceNumber False Edm.Int32 Supports webhook Mandatory filter Assigned at entry or at printing depending on setting. The number assigned is based on the freenumbers as defined for the Journal. When printing the field InvoiceNumber is copied to the fields EntryNumber and InvoiceNumber of the sales entry
InvoiceTo False Edm.Guid Supports webhook Mandatory filter Reference to the Customer who will receive the invoice
InvoiceToContactPerson False Edm.Guid Supports webhook Mandatory filter Reference to the Contact person of the customer who will receive the invoice
InvoiceToContactPersonFullName False Edm.String Name of the contact person of the customer who will receive the invoice
InvoiceToName False Edm.String Name of the customer who will receive the invoice
IsExtraDuty False Edm.Boolean Supports webhook Indicates whether the invoice has extra duty
Journal True Edm.String Mandatory filter The journal code. Every invoice should be linked to a sales journal
JournalDescription False Edm.String Description of Journal
Modified False Edm.DateTime Mandatory filter Last modified date
Modifier False Edm.Guid User ID of modifier
ModifierFullName False Edm.String Name of modifier
OrderDate False Edm.DateTime Supports webhook Order date
OrderedBy True Edm.Guid Supports webhook Mandatory filter Customer who ordered the invoice
OrderedByContactPerson False Edm.Guid Supports webhook Mandatory filter Contact person of customer who ordered the invoice
OrderedByContactPersonFullName False Edm.String Name of contact person of customer who ordered the invoice
OrderedByName False Edm.String Name of customer who ordered the invoice
OrderNumber False Edm.Int32 Supports webhook Mandatory filter Number to identify the order. By default the number is based on a setting for the first free number, but you can post your own number.
PaymentCondition False Edm.String Supports webhook The payment condition used for due date and discount calculation
PaymentConditionDescription False Edm.String Description of PaymentCondition
PaymentReference False Edm.String Supports webhook Mandatory filter Payment reference for sales invoice
Remarks False Edm.String Supports webhook Extra remarks
SalesChannel False Edm.Guid ID of Sales channel.
SalesChannelCode False Edm.String Code of Sales channel.
SalesChannelDescription False Edm.String Description of Sales channel.
SalesInvoiceLines True Collection of lines
SalesInvoiceOrderChargeLines False Collection of shipping cost and order charge lines. Only applicable in POST. Ignore the URL returns in GET.
Salesperson False Edm.Guid Supports webhook Mandatory filter Sales representative
SalespersonFullName False Edm.String Name of sales representative
SelectionCode False Edm.Guid Mandatory filter ID of selection code. Only supported by the Plus, Professional and Premium for Wholesale & Distribution and Manufacturing
SelectionCodeCode False Edm.String Code of selection code
SelectionCodeDescription False Edm.String Description of selection code
ShippingMethod False Edm.Guid Shipping method ID
ShippingMethodCode False Edm.String Shipping method code
ShippingMethodDescription False Edm.String Shipping method description
StarterSalesInvoiceStatus False Edm.Int16 Starter Sales invoice status (for starter functionality)
StarterSalesInvoiceStatusDescription False Edm.String Description of StarterSalesInvoiceStatus
Status False Edm.Int16 Supports webhook Mandatory filter The status of the entry. 10 = draft. During the creation of an invoice draft records occur in the draft modus if during an invoice a new page with lines is triggered. If the user leaves the invoice in an abnormal way the draft invoices can be recovered. Draft invoices are not included in financial reports, balances etc. 20 = open. Open invoices can be changed. New invoices get the status open by default. 50 = processed. Processed invoices can't be changed anymore. Processing is done via printing. Processed invoices can't be reopened
StatusDescription False Edm.String Description of Status
TaxSchedule False Edm.Guid Mandatory filter Obsolete
TaxScheduleCode False Edm.String Obsolete
TaxScheduleDescription False Edm.String Obsolete
Type False Edm.Int32 Mandatory filter Indicates the type of invoice Values: 8020 - Sales invoices, 8021 - Sales credit note, 8023 - Direct sales invoice, 8024 - Direct credit note. Type 8023 and 8024 are only supported by the Plus, Professional and Premium editions for Wholesale & Distribution and Manufacturing
TypeDescription False Edm.String Description of the type
VATAmountDC False Edm.Double Supports webhook Total VAT amount in the default currency of the company
VATAmountFC False Edm.Double Supports webhook Total VAT amount in the currency of the transaction
Warehouse False Edm.Guid Mandatory filter Mandatory for direct sales invoice/credit note, cannot be set for normal sales invoice/credit note.
WithholdingTaxAmountFC False Edm.Double Supports webhook Withholding tax amount applied to sales invoice. Not supported in The Netherlands.
WithholdingTaxBaseAmount False Edm.Double Supports webhook Withholding tax base amount to calculate withholding amount. Not supported in The Netherlands.
WithholdingTaxPercentage False Edm.Double Supports webhook Withholding tax percentage applied to sales invoice. Not supported in The Netherlands.
YourRef False Edm.String Supports webhook Mandatory filter The invoice number of the customer

Returns