1. Introduction
The REST API to be used with FreeFinance and FinanzFenster. Please read the examples for an introduction to authentication and some use cases.
2. Examples
2.1. Authentication
To obtain a JWT for authenticating over the API, your application has to be authorized over OAuth2 first. Depending on the type of your app, one of these flows can be used:
-
Auth code flow: You redirect the user to our application for a log-in and get a code returned to a predetermined URL of your choice. This code can then be exchanged for a JWT and a refresh token. This method is recommended for web-based apps that can handle URL redirects.
-
Pairing flow: The user starts a pairing process in the web UI of our application and enters the displayed pairing code in your app. You can then exchange this pairing code directly for a JWT and refresh token. This method is available for locally installed and native apps.
-
Trusted servers can generate a signed JWT themselves and exchange it for a valid login JWT. This method does not use refresh tokens and is only available to trusted partners.
2.1.1. Authorization code flow
First, you redirect the user to the Oauth2 endpoint of our application and supply your app credentials as query parameters.
GET <host>/oauth2/auth?response_type=code&client_id=APP_ID&redirect_uri=REDIRECT_URI&state=STATE
Provide the following parameters:
-
APP_ID
: The key of your app that you received as part of the key/secret pair from us. -
REDIRECT_URI
: One of the exact redirect URIs (URL-encoded) that you registered with us for your app. Our application will return the authorization code to this URI. -
STATE
: A custom string of your choice. Our application will return this string together with the authorization code. You can use this for example to pass your session or user identifiers so you can map the return call to your internal user later.
Once the user has logged in and authorized your app, he will be redirected to the callback URI with the query parameters code
and state
.
The state is the string you supplied for the state
parameter (if any).
You can then exchange the code for tokens:
POST <host>/oauth2/token Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code& code=AUTH_CODE& client_id=APP_ID& client_secret=APP_SECRET
Provide the following parameters:
-
AUTH_CODE
: The code you received as parameter in the callback from our application to your redirect URI. -
APP_ID
: The key of your app that you received as part of the key/secret pair from us and used to obtain the auth code. -
APP_SECRET
: The secret you have been given from us as part of the key/secret pair. Note that only server-based web apps receive a secret - if you have a client-based app, you were not given a secret and must not provide this parameter.
HTTP/1.1 200 OK Content-Type: application/json
{
"access_token":"eyJhbGciOiJ...",
"refresh_token":"myq....",
"expires_in":3600
}
The access_token
is a JWT that can be used for API calls and is valid as the expires_in
field indicates (typically one hour).
The refresh token can be used to obtain a new access token when it expires - see the "Using a refresh token" example.
2.1.2. Pairing flow
One the user has started a pairing process in our application, a short pairing code will be shown. The user then enters the pairing code in your app, and you can exchange it for tokens with the API. The code is valid for five minutes.
The Oauth2 password flow is used, but the password parameter is a temporary, randomly generated code:
POST <host>/oauth2/token Content-Type: application/x-www-form-urlencoded
grant_type=password& username=USERNAME& password=PAIRING_CODE& client_id=APP_ID
Provide the following parameters:
-
USERNAME
: The name of the user account that was used in our application to obtain the pairing code. -
PAIRING_CODE
: The pairing code displayed to the user - not his actual password! Do not ask the user for his password or provide it as parameter - it will not be accepted. -
APP_ID
: The key of your app that you received from us and that your user selected when obtaining the pairing code.
HTTP/1.1 200 OK Content-Type: application/json
{
"access_token":"eyJhbGciOiJ...",
"refresh_token":"myq....",
"expires_in":3600
}
2.1.3. Using a refresh token
A returned refresh token is valid for one month and can be used to obtain a new access and refresh token.
POST <host>/oauth2/token Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token& refresh_token=REFRESH_TOKEN& client_id=APP_ID
The server will return an access token and a new refresh token.The old refresh token expires with a successful call.
HTTP/1.1 200 OK Content-Type: application/json
{
"access_token":"eyJhbGciOiJ...",
"refresh_token":"af3....",
"expires_in":3600
}
2.1.4. JWT authentication
Trusted issuers have their public keys registered with the application and can issue a JWT which can be used as an OAuth credential. The JWT must have the following structure:
{
"iss":"ISSUER_ID", // (1)
"sub":"USERNAME", // (2)
"iat":14...30,
"nbf":14...30,
"exp":14...30,
"cid":"APPLICATION_CLIENT_ID", // (3)
"scp":"a", // (4)
"req":"APPLICATION_REQUESTOR", // (5)
"jti":"9ed...6f89" // (6)
}
-
The issuing client id (referred to as
client_id
in other flows) registered with the application.The JWT must be signed with the key assigned to this issuer. -
The user name of the target user for which this JWT is issued.The user must have allowed access for this client.
-
The application client id for which the user has access rights.This is the 4-digit id visible in the web UI. The issued jwt will be authorized for this client id only.
-
The scope of the JWT. Currently only "a" for "authentication" is valid.
-
The requestor of the token. Should be an identifier of the app that is using the token.
-
An optional id field which can be used to identify the token.
The nbf
and exp
must be valid timestamps and the token not be expired.The application may reject tokens with unusually large validity timespans (weeks or months).
A signed, encoded JWT is then supplied in the JWT bearer authentication flow.
POST <host>/oauth2/token Content-Type: application/x-www-form-urlencoded
grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer& assertion=eyJhbGci...oGgnCiw
The assertion field contains the JWT. Note that unlike other flows no client_id is supplied since it is already part of the JWT.
The server will respond with an access token. Since the issuer can always generate new JWTs, no request token is returned.
HTTP/1.1 200 OK Content-Type: application/json
{
"access_token": "eyJhbGc....XmTEjg",
"expires_in": 3600
}
2.2. Incoming and outgoing invoices (accounting)
Incoming and outgoing invoices are the primary method of creating incomes and expenses. Two types exist: incoming invoices define expenses, and outgoing invoices define incomes.
An invoice may have none, one or several bookings, and each booking in turn has a journal. Journals are realized incomes and outgos and created implicitly by the backend when required.
Payment works differently depending on the type of your bookkeeping registered with the client:
-
For single-entry accounting, an unpaid invoice does not yet create a booking. The booking and its journal are created once the invoice receives the first payment and partial payments create proportional journals from the invoice (small rounding errors can occur in the lines). Invoices can be deleted as long as no payment was made, otherwise the invoice can only be cancelled.
-
In double-entry accounting, every invoice automatically creates a booking and journal of the entire invoice against an unpaid contra account (payables and receivables). The invoice can then have one or several payments, which create simple rebooks from the unpaid account to the payment account. Invoices can only be cancelled.
2.2.1. Single-entry accounting (Einnahmen Ausgaben Rechnung)
Create a new incoming invoice
This example creates an unpaid incoming invoice with the minimal set of required fields. No booking is created, and the invoice does not have a sequence number yet.
POST /api/1.1/incoming_invoices Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"invoiceDate": "2020-12-31",
"lines": [
{
"account": "7200", //(1)
"amount": 12,
"amountType": "N"
}
]
}
-
The
/accounts
API returns available account codes for use. Incoming invoices commonly use the A account type.
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"result": {
"id": "b40e3353-0da4-49f8-9c67-33e633316f26",
"invoiceSequence": "",
"invoiceDate": "2020-12-31",
"netTotal": 12.00,
"taxTotal": 2.40,
"total": 14.40,
"remainingTotal": 14.40,
"remainingTotalInMainCurrency": 14.40,
"currency": "EUR",
"currencyRate": 1,
"lines": [
{
"amount": 12,
"amountType": "N",
"account": "7200",
"taxEntry": "020",
"netAmount": 12.00,
"taxAmount": 2.40,
"totalAmount": 14.40
}
],
"bookings": []
},
"warnings": [],
"infos": []
}
This example creates a paid incoming invoice with a supplier from the /suppliers
resource.
POST /api/1.1/incoming_invoices Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"invoiceDate": "2020-10-31",
"supplier": "5c2289bb-402f-4eef-8ac2-9d1ac5601e83", //(1)
"invoiceReference": "API-TEST",
"dueDate": "2020-11-24",
"paidContraAccount": "2700",
"paidDate": "2020-10-31", //(2)
"description": "API-TEST",
"currency": "EUR",
"currencyRate": "1",
"lines": [
{
"account": "7200",
"amount": 12,
"amountType": "N"
}
]
}
-
Use the
/suppliers
API to find available suppliers. -
When the date of payment is present, the invoice will be marked as paid in full, a booking will be created, and a sequence number assigned.
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"result": {
"id": "f59602bf-de49-4b8e-81f7-394038016424",
"invoiceSequence": "ER2020 14",
"invoiceDate": "2020-10-31",
"dueDate": "2020-11-24",
"paidDate": "2020-10-31",
"supplier": "5c2289bb-402f-4eef-8ac2-9d1ac5601e83",
"supplierName": "MediaMarkt",
"invoiceReference": "API-TEST",
"description": "API-TEST",
"netTotal": 12.00,
"taxTotal": 2.40,
"total": 14.40,
"remainingTotal": 0,
"remainingTotalInMainCurrency": 0,
"currency": "EUR",
"currencyRate": 1,
"lines": [
{
"amount": 12,
"amountType": "N",
"account": "7200",
"taxEntry": "020",
"taxRate": 20,
"netAmount": 12.00,
"taxAmount": 2.40,
"totalAmount": 14.40
}
],
"bookings": [
{
"id": "bebf83c6-bdde-44ac-9567-fa6b36d1ffc5",
"type": "InvoicePaymentBooking",
"number": 1,
"cancelled": false,
"reconciled": false,
"journalNumber": "A2020 15",
"paymentType": "PAYMENT",
"paymentDate": "2020-10-31",
"paymentAmount": 14.40,
"paymentAmountInMainCurrency": 14.40,
"paymentContraAccount": "2700",
"paymentCurrencyRate": 1,
"paymentDescription": "API-TEST"
}
]
},
"warnings": [],
"infos": [
"Der Rechnung wurde die Nummer ER2020 14 vergeben.",
"Buchung A2020 15 wurde erstellt."
]
}
Search for an invoice
Get all incoming invoices between from-date and to-date (required) and with a keyword or state (optional).
Note that this bulk call only includes header information about the invoice, but no lines or bookings.
Fetch an invoice directly by id (incoming_invoices/<invoice_id>
) to receive the full data about an invoice.
GET /api/1.1/incoming_invoices?from=2020-01-01&to=2020-12-31&search_text=API Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
[
{
"id": "f59602bf-de49-4b8e-81f7-394038016424",
"invoiceSequence": "ER2020 14",
"invoiceDate": "2020-10-31",
"dueDate": "2020-11-24",
"paidDate": "2020-10-31",
"supplier": "5c2289bb-402f-4eef-8ac2-9d1ac5601e83",
"supplierName": "MediaMarkt",
"invoiceReference": "API-TEST",
"description": "API-TEST",
"netTotal": 12.00,
"taxTotal": 2.40,
"total": 14.40,
"remainingTotal": 0,
"remainingTotalInMainCurrency": 0,
"currency": "EUR",
"currencyRate": 1
}
]
Cancel an incoming invoice
POST /api/1.1/incoming_invoices/98a69029-4e88-4ced-ac54-addfa4cd75e3/cancel Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"cancelReason": "API-cancel",
"cancelDate": "2020-12-31"
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"error": "InvoiceCannotBeCancelledException",
"message": "Rechnung kann nicht storniert werden. Evtl. existieren offene Zahlungen - stornieren Sie diese zuerst.",
"identifier": "edVJdX",
"details": []
}
An invoice cannot be cancelled as long as active payments exist.
Cancel each active payment first using the incoming_invoices/<invoice_id>/bookings/<booking_id>/cancel
resource.
POST http://localhost:8081/api/1.1/incoming_invoices/f59602bf-de49-4b8e-81f7-394038016424/bookings/bebf83c6-bdde-44ac-9567-fa6b36d1ffc5/cancel Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"cancelReason": "API-cancel",
"cancelDate": "2020-12-31"
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"result": {
"id": "f59602bf-de49-4b8e-81f7-394038016424",
"invoiceSequence": "ER2020 14",
"invoiceDate": "2020-10-31",
"dueDate": "2020-11-24",
"supplier": "5c2289bb-402f-4eef-8ac2-9d1ac5601e83",
"supplierName": "MediaMarkt",
"invoiceReference": "API-TEST",
"description": "API-TEST",
"netTotal": 12.00,
"taxTotal": 2.40,
"total": 14.40,
"remainingTotal": 14.40,
"remainingTotalInMainCurrency": 14.40,
"currency": "EUR",
"currencyRate": 1,
"lines": [
{
"amount": 12,
"amountType": "N",
"account": "7200",
"taxEntry": "020",
"taxRate": 20,
"netAmount": 12.00,
"taxAmount": 2.40,
"totalAmount": 14.40
}
],
"bookings": [
{
"id": "bebf83c6-bdde-44ac-9567-fa6b36d1ffc5",
"type": "InvoicePaymentBooking",
"number": 1,
"cancelled": true,
"reconciled": false,
"journalNumber": "A2020 15",
"paymentType": "PAYMENT",
"paymentDate": "2020-10-31",
"paymentAmount": 14.40,
"paymentAmountInMainCurrency": 14.40,
"paymentContraAccount": "2700",
"paymentCurrencyRate": 1,
"paymentDescription": "API-TEST"
},
{
"id": "e62908e9-6259-4a42-8e8c-c8e2bd819ec4",
"type": "InvoiceCancellationBooking",
"number": 1,
"cancelled": false,
"reconciled": false,
"journalNumber": "A2020 16",
"cancelledDate": "2020-12-31",
"cancelledReason": "API-cancel",
"cancelledBooking": "bebf83c6-bdde-44ac-9567-fa6b36d1ffc5"
}
]
},
"warnings": [],
"infos": [
"Buchung A2020 15 wurde storniert."
]
}
Now the entire invoice can be cancelled.
POST /api/1.1/incoming_invoices/98a69029-4e88-4ced-ac54-addfa4cd75e3/cancel Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"cancelReason": "API-cancel",
"cancelDate": "2020-12-31"
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"result": {
"id": "f59602bf-de49-4b8e-81f7-394038016424",
"invoiceSequence": "ER2020 14",
"invoiceDate": "2020-10-31",
"dueDate": "2020-11-24",
"cancelledReason": "API-cancel",
"cancelledDate": "2020-12-31",
"supplier": "5c2289bb-402f-4eef-8ac2-9d1ac5601e83",
"supplierName": "MediaMarkt",
"invoiceReference": "API-TEST",
"description": "API-TEST",
"netTotal": 12.00,
"taxTotal": 2.40,
"total": 14.40,
"remainingTotal": 0,
"remainingTotalInMainCurrency": 0,
"currency": "EUR",
"currencyRate": 1,
"lines": [
{
"amount": 12,
"amountType": "N",
"account": "7200",
"taxEntry": "020",
"taxRate": 20,
"netAmount": 12.00,
"taxAmount": 2.40,
"totalAmount": 14.40
}
],
"bookings": [
{
"id": "bebf83c6-bdde-44ac-9567-fa6b36d1ffc5",
"type": "InvoicePaymentBooking",
"number": 1,
"cancelled": true,
"reconciled": false,
"journalNumber": "A2020 15",
"paymentType": "PAYMENT",
"paymentDate": "2020-10-31",
"paymentAmount": 14.40,
"paymentAmountInMainCurrency": 14.40,
"paymentContraAccount": "2700",
"paymentCurrencyRate": 1,
"paymentDescription": "API-TEST"
},
{
"id": "e62908e9-6259-4a42-8e8c-c8e2bd819ec4",
"type": "InvoiceCancellationBooking",
"number": 1,
"cancelled": false,
"reconciled": false,
"journalNumber": "A2020 16",
"cancelledDate": "2020-12-31",
"cancelledReason": "API-cancel",
"cancelledBooking": "bebf83c6-bdde-44ac-9567-fa6b36d1ffc5"
}
]
},
"warnings": [],
"infos": []
}
Pay an invoice
Both full and partial payments are supported.
POST /api/1.1/incoming_invoices/3f930320-b548-4c34-91f0-7f06c4798a17/pay Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"paymentAmount": 10, //(1)
"contraAccount" : "2700",
"paymentDate": "2020-12-31"
}
-
If the
paymentAmount
is omitted, the invoice will be paid in full.
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"result": {
"id": "2e2b93bf-7cf5-46f2-bb5b-15528907501a",
"invoiceSequence": "ER2020 16",
"invoiceDate": "2020-09-30",
"netTotal": 12.00,
"taxTotal": 2.40,
"total": 14.40,
"remainingTotal": 4.40,
"remainingTotalInMainCurrency": 4.40,
"currency": "EUR",
"currencyRate": 1,
"lines": [
{
"amount": 12,
"amountType": "N",
"account": "7200",
"taxEntry": "020",
"taxRate": 20,
"netAmount": 12.00,
"taxAmount": 2.40,
"totalAmount": 14.40,
"privatePart": 50,
"privatePartType": "P",
"privatePartAccount": "9613"
}
],
"bookings": [
{
"id": "fe259648-120b-45fb-9361-2bae1274e889",
"type": "InvoicePaymentBooking",
"number": 1,
"cancelled": false,
"reconciled": false,
"journalNumber": "A2020 18",
"paymentType": "PAYMENT",
"paymentDate": "2020-12-31",
"paymentAmount": 10,
"paymentAmountInMainCurrency": 10,
"paymentContraAccount": "2700",
"paymentCurrencyRate": 1
}
]
},
"warnings": [],
"infos": [
"Der Rechnung wurde die Nummer ER2020 16 vergeben.",
"Buchung A2020 18 wurde erstellt."
]
}
2.2.2. Double-entry accounting (Doppelte Buchhaltung)
In double-entry accounting, creating an unpaid invoice also immediately creates a payables/receivables booking.
Paid incoming invoices where the invoice and paid date are the same do not follow this rule - in this case, only a singular payment booking is generated.
Incoming invoices with different invoice and paid dates and outgoing invoices always create an unpaid initial booking, and may create additional payment bookings (either immediately or with a later payment).
Create a new incoming invoice
POST /api/1.1/incoming_invoices Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"invoiceDate": "2020-12-31",
"lines": [
{
"account": "7200",
"amount": 12,
"amountType": "N"
}
]
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"result": {
"id": "8264d43f-22bf-49ab-935a-8db7b2419224",
"invoiceSequence": "ER2020 1",
"invoiceDate": "2020-12-31",
"netTotal": 12.00,
"taxTotal": 2.40,
"total": 14.40,
"remainingTotal": 14.40,
"remainingTotalInMainCurrency": 14.40,
"currency": "EUR",
"currencyRate": 1,
"lines": [
{
"amount": 12,
"amountType": "N",
"account": "7200",
"taxEntry": "020",
"taxRate": 20,
"netAmount": 12.00,
"taxAmount": 2.40,
"totalAmount": 14.40
}
],
"bookings": [
{
"id": "dc7a2f14-254d-4ee7-9119-e4ab3fa532d2",
"type": "InvoiceInitialBooking",
"number": 1,
"cancelled": false,
"reconciled": false,
"journalNumber": "A2020 1",
"contraAccount": "3300"
}
]
},
"warnings": [],
"infos": [
"Der Rechnung wurde die Nummer ER2020 1 vergeben.",
"Buchung A2020 1 wurde erstellt."
]
}
The next example has a different invoice date and paid date, which results in a booking to the unpaid contra account and an additional payment booking.
POST /api/1.1/incoming_invoices Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"invoiceDate": "2020-09-15",
"paidContraAccount": "2700",
"paidDate": "2020-10-31",
"lines": [
{
"account": "7200",
"amount": 12,
"amountType": "N"
}
]
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"result": {
"id": "06a173ab-f2b3-4a36-9931-454b41c3d980",
"invoiceSequence": "ER2020 2",
"invoiceDate": "2020-09-15",
"paidDate": "2020-10-31",
"netTotal": 12.00,
"taxTotal": 2.40,
"total": 14.40,
"remainingTotal": 0,
"remainingTotalInMainCurrency": 0,
"currency": "EUR",
"currencyRate": 1,
"lines": [
{
"amount": 12,
"amountType": "N",
"account": "7200",
"taxEntry": "020",
"taxRate": 20,
"netAmount": 12.00,
"taxAmount": 2.40,
"totalAmount": 14.40
}
],
"bookings": [
{
"id": "b7579eef-b18e-4a53-9499-75f775a4e404",
"type": "InvoiceInitialBooking",
"number": 1,
"cancelled": false,
"reconciled": false,
"journalNumber": "A2020 2",
"contraAccount": "3300"
},
{
"id": "e74f47dc-9038-4b31-9d58-ec10bead50b6",
"type": "InvoicePaymentBooking",
"number": 2,
"cancelled": false,
"reconciled": false,
"journalNumber": "U2020 1 K12020 1",
"paymentType": "PAYMENT",
"paymentDate": "2020-10-31",
"paymentAmount": 14.40,
"paymentAmountInMainCurrency": 14.40,
"paymentContraAccount": "2700",
"paymentCurrencyRate": 1
}
]
},
"warnings": [],
"infos": [
"Der Rechnung wurde die Nummer ER2020 2 vergeben.",
"Buchung A2020 2 wurde erstellt.",
"Buchung U2020 1 K12020 1 wurde erstellt."
]
}
Cancel an incoming invoice
All open payment bookings (if any) must be cancelled first before the entire invoice can be cancelled.
The initial booking itself does not have to be cancelled separately - it will be cancelled with the invoice.
A booking can be cancelled from the incoming_invoices/<invoice_id>/bookings/<booking_id>/cancel
resource.
POST /api/1.1/incoming_invoices/0d148e77-a31e-4cab-9f9b-7f02b4509098/cancel Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"cancelReason": "API-cancel",
"cancelDate": "2020-12-31"
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"result": {
"id": "0d148e77-a31e-4cab-9f9b-7f02b4509098",
"invoiceSequence": "ER2020 1",
"invoiceDate": "2020-12-31",
"cancelledReason": "API-cancel",
"cancelledDate": "2020-12-31",
"netTotal": 12.00,
"taxTotal": 2.40,
"total": 14.40,
"remainingTotal": 0,
"remainingTotalInMainCurrency": 0,
"currency": "EUR",
"currencyRate": 1,
"lines": [
{
"amount": 12,
"amountType": "N",
"account": "7200",
"taxEntry": "020",
"netAmount": 12.00,
"taxAmount": 2.40,
"totalAmount": 14.40
}
],
"bookings": [
{
"id": "abb796ee-fe3b-4ade-974d-50bf71a93e55",
"type": "InvoiceInitialBooking",
"number": 1,
"cancelled": true,
"reconciled": false,
"journalNumber": "A2020 1",
"contraAccount": "3300"
},
{
"id": "5df32e27-e809-44cd-9eb4-a6e7b8867a0a",
"type": "InvoiceCancellationBooking",
"number": 1,
"cancelled": false,
"reconciled": false,
"journalNumber": "A2020 3",
"cancelledDate": "2020-12-31",
"cancelledReason": "API-cancel",
"cancelledBooking": "abb796ee-fe3b-4ade-974d-50bf71a93e55"
}
]
},
"warnings": [],
"infos": [
"Buchung A2020 1 wurde storniert."
]
}
Pay an incoming invoice
POST /api/1.1/incoming_invoices/4d55b15d-62f7-42ad-867a-a3706f52039c/pay Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"paymentAmount": 14.4,
"contraAccount" : "2700",
"paymentDate": "2020-12-31",
"paymentDescription": "",
"paymentAmountInMainCurrency": 14.4
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"result": {
"id": "4d55b15d-62f7-42ad-867a-a3706f52039c",
"invoiceSequence": "ER2020 3",
"invoiceDate": "2020-12-31",
"paidDate": "2020-12-31",
"netTotal": 12.00,
"taxTotal": 2.40,
"total": 14.40,
"remainingTotal": 0.00,
"remainingTotalInMainCurrency": 0.00,
"currency": "EUR",
"currencyRate": 1,
"lines": [
{
"amount": 12,
"amountType": "N",
"account": "7200",
"taxEntry": "020",
"netAmount": 12.00,
"taxAmount": 2.40,
"totalAmount": 14.40
}
],
"bookings": [
{
"id": "b9220963-133e-43c1-9b30-12696bbd376f",
"type": "InvoiceInitialBooking",
"number": 1,
"cancelled": false,
"reconciled": false,
"journalNumber": "A2020 4",
"contraAccount": "3300"
},
{
"id": "b36a5557-7098-489c-9ff2-b1d682db09f4",
"type": "InvoicePaymentBooking",
"number": 2,
"cancelled": false,
"reconciled": false,
"journalNumber": "U2020 2",
"paymentType": "PAYMENT",
"paymentDate": "2020-12-31",
"paymentAmount": 14.4,
"paymentAmountInMainCurrency": 14.4,
"paymentContraAccount": "2700",
"paymentCurrencyRate": 1,
"paymentDescription": ""
}
]
},
"warnings": [],
"infos": [
"Buchung U2020 2 wurde erstellt."
]
}
Pay the rest of an incoming invoice
If an invoice needs to be paid out without an actual payment, a rest payment can be created - either for discounts or irrecoverable receivables.
For invoices in a different currency, any currency difference will be paid out automatically with the last payment.
POST /api/1.1/incoming_invoices/c478ec4f-e438-4412-bb52-04177ca3252b/pay_rest Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"type": "DISCOUNT",
"paymentDate": "2020-12-31",
"paymentDescription": "Test Rest"
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"result": {
"id": "c478ec4f-e438-4412-bb52-04177ca3252b",
"invoiceSequence": "ER2020 5",
"invoiceDate": "2020-12-31",
"paidDate": "2020-12-31",
"netTotal": 12.00,
"taxTotal": 2.40,
"total": 14.40,
"remainingTotal": 0,
"remainingTotalInMainCurrency": 0.00,
"currency": "EUR",
"currencyRate": 1,
"lines": [
{
"amount": 12,
"amountType": "N",
"account": "7200",
"taxEntry": "020",
"netAmount": 12.00,
"taxAmount": 2.40,
"totalAmount": 14.40
}
],
"bookings": [
{
"id": "c37ca27c-2689-4096-a911-1505782b9646",
"type": "InvoiceInitialBooking",
"number": 1,
"cancelled": false,
"reconciled": false,
"journalNumber": "A2020 6",
"contraAccount": "3300"
},
{
"id": "2b6e91a5-b796-4100-b1b3-c2184b36dfa7",
"type": "InvoicePaymentBooking",
"number": 2,
"cancelled": false,
"reconciled": false,
"journalNumber": "U2020 4",
"paymentType": "PAYMENT",
"paymentDate": "2020-12-31",
"paymentAmount": 13.0,
"paymentAmountInMainCurrency": 13.0,
"paymentContraAccount": "2700",
"paymentCurrencyRate": 1,
"paymentDescription": ""
},
{
"id": "f9a3829f-972f-4fe5-b436-b4c8dac23c26",
"type": "InvoicePaymentBooking",
"number": 3,
"cancelled": false,
"reconciled": false,
"journalNumber": "A2020 7",
"paymentType": "DISCOUNT",
"paymentDate": "2020-12-31",
"paymentAmount": 1.40,
"paymentAmountInMainCurrency": 1.40,
"paymentContraAccount": "3300",
"paymentCurrencyRate": 1,
"paymentDescription": "Test Rest"
}
]
},
"warnings": [],
"infos": [
"Buchung A2020 7 wurde erstellt."
]
}
2.2.3. Outgoing invoice
The endpoints (/outgoing_invoices
) are the same as their counterpart for incoming invoices, with some minor differences in available fields and a different class of accounts for the invoice lines.
Operations like payment and cancellation also work the same way.
Unlike incoming invoices, outgoing invoices always have an unpaid initial booking.
Create an outgoing invoice
This example creates an unpaid outgoing invoice with the minimal set of required fields.
POST /api/1.1/outgoing_invoices Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"invoiceDate": "2020-10-31",
"lines": [
{
"account": "4000", //(1)
"amount": 12,
"amountType": "N"
}
]
}
-
The
/accounts
API returns available account codes for use. Outgoing invoices commonly use the E account type.
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"result": {
"id": "b3309f52-ddf8-4322-9398-66c469c302e6",
"invoiceSequence": "AR2020 1",
"invoiceDate": "2020-10-31",
"netTotal": 12.00,
"taxTotal": 2.40,
"total": 14.40,
"remainingTotal": 14.40,
"remainingTotalInMainCurrency": 14.40,
"currency": "EUR",
"currencyRate": 1,
"lines": [
{
"amount": 12,
"amountType": "N",
"account": "4000",
"taxEntry": "020",
"netAmount": 12.00,
"taxAmount": 2.40,
"totalAmount": 14.40
}
],
"bookings": [
{
"id": "aedd6040-d101-46a3-ab57-11e4b62e532f",
"type": "InvoiceInitialBooking",
"number": 1,
"cancelled": false,
"reconciled": false,
"journalNumber": "E2020 1",
"contraAccount": "2000"
}
]
},
"warnings": [],
"infos": [
"Der Rechnung wurde die Nummer AR2020 1 vergeben. ",
"Buchung E2020 1 wurde erstellt."
]
}
This example creates a paid outgoing invoice with a customer from the /customers
resource in USD.
POST /api/1.1/outgoing_invoices Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"invoiceDate": "2020-10-31",
"paidDate": "2020-11-30",
"customer": "d0287f29-6661-4004-afa8-2a9b7436333a",
"invoiceReference": "API-TEST",
"dueDate": "2020-11-22",
"paidContraAccount": "2700",
"description": "TestDescription",
"currency": "USD",
"currencyRate": "2",
"lines": [
{
"account": "4000",
"amount": 12,
"amountType": "N"
}
]
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"result": {
"id": "2c7d084a-99a7-483a-91cc-a90099d21723",
"customer": "d25a9e1b-fce6-4edf-9d14-dbdc8c3c21a8",
"customerName": "Testkunde, Herbert Demomann",
"partnerName": "Testkunde, Herbert Demomann",
"invoiceSequence": "AR2020 2",
"invoiceReference": "API-TEST",
"invoiceDate": "2020-10-31",
"dueDate": "2020-11-22",
"paidDate": "2020-11-30",
"description": "TestDescription",
"netTotal": 12.00,
"taxTotal": 2.40,
"total": 14.40,
"remainingTotal": 0,
"remainingTotalInMainCurrency": 0,
"currency": "USD",
"currencyRate": 2,
"lines": [
{
"amount": 12,
"amountType": "N",
"account": "4000",
"taxEntry": "020",
"netAmount": 12.00,
"taxAmount": 2.40,
"totalAmount": 14.40
}
],
"bookings": [
{
"id": "3c0bab67-d5bb-42b3-9c36-662d43ed6ea6",
"type": "InvoiceInitialBooking",
"number": 1,
"cancelled": false,
"reconciled": false,
"journalNumber": "E2020 2",
"contraAccount": "2000"
},
{
"id": "a69d006b-9bd1-4c5c-a284-83c1fba0bbb6",
"type": "InvoicePaymentBooking",
"number": 2,
"cancelled": false,
"reconciled": false,
"journalNumber": "U2020 5",
"paymentType": "PAYMENT",
"paymentDate": "2020-11-30",
"paymentAmount": 14.40,
"paymentAmountInMainCurrency": 28.80,
"paymentContraAccount": "2700",
"paymentCurrencyRate": 2,
"paymentDescription": "TestDescription"
}
]
},
"warnings": [],
"infos": [
"Der Rechnung wurde die Nummer AR2020 2 vergeben. ",
"Buchung E2020 2 wurde erstellt.",
"Buchung U2020 5 wurde erstellt."
]
}
2.3. Invoices and documents
With Invoices new invoices in the invoices and documents modul can be created, payments been applied and all information and status been selected.
2.3.1. Create invoices
Invoices in staging status
A minimal set of values to create a new invoice for staging. Note that default texts will be applied from the layout setup if they are not set explicitly.
POST /api/1.1/invoices Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"state": "STAGING",
"date": "2016-10-21",
"customerName": "manubu GmbH", // (1)
"lines": [
{
"name": "REST Item",
"itemPrice": 53.24, // (2)
"itemPriceType": "N", // (2)
"account": "4000", // (3)
"taxClassEntry": "020", // (3)
"amount": 1.00,
"netPrice": 53.24,
"taxPrice": 10.65,
"totalPrice": 63.89
}
]
}
-
Alternatively, set a
customer
with the id to reference an existing customer. -
Alternatively, reference an
item
. Note that the name, account and tax class entry still have to be set to prevent a mismatch between expected and calculated prices. -
Use the
/accounts
API to make sure that the account exists and that it allows the specified tax class.
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"uuid": "830ed1cc-d2c1-4fb8-8579-fa6fb8f1e399",
"description": "Nachfolgend finden Sie die Detailaufstellung zur Rechnung.",
"date": "2016-10-21",
"state": "STAGING",
"netAmount": 53.24,
"taxAmount": 10.65,
"totalAmount": 63.89,
"remainingAmount": 63.89,
"currency": "EUR",
"currencyRate": 1,
"customerName": "manubu GmbH",
"sequenceGroup": "e11693d5-15e6-42c3-b23c-1c01c0146d6b",
"updatedAt": "2020-09-22T12:59:26.720Z",
"lines": [
{
"id": 1,
"name": "REST Item",
"type": "LINE",
"itemPrice": 53.24,
"itemPriceType": "N",
"netPrice": 53.24,
"taxPrice": 10.65,
"totalPrice": 63.89,
"remainingAmount": 63.89,
"discount": 0,
"discountMode": "CONSTANT",
"amount": 1.00,
"account": "4000",
"taxClassEntry": "020"
}
],
"addressInfo": {},
"paymentTerm": "96c758c7-98ae-42b4-b742-5d30bd62e79c",
"paid": false,
"dueDate": "2016-11-04"
}
Alternatively, you can override the address for this document only. This address not will be stored in the customer. Either the company name or one name must be set, otherwise the address will be ignored.
POST /api/1.1/cash_registers/1/receipts Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"state": "STAGING",
"sequenceGroup": "5665af78-cc67-4910-b030-f649fde5d8a8",
"customer": "43487c42-8b82-47ba-97aa-85b38caefae4",
"additionalAddress": "0709e91e-1d3e-4d27-aaf3-bfee7dfedac8",
"date": "2018-12-31",
"lines": [
{
"name": "BDD",
"item": "c05adb71-7c14-43ad-a8e3-804b0b99ce13",
"taxClassEntry": "020",
"amount": 1.00,
"netPrice": 12,
"taxPrice": 2.4,
"totalPrice": 14.4
}
],
"addressInfo": {
"salutationCode": "Hr",
"title": "Hr",
"firstName": "Max", // (1)
"lastName": "Mustermann", // (1)
"compSalutationCode": "Hr",
"companyName": "Test GmbH", // (1)
"streetName": "Mustergasse",
"streetNumber": "707",
"zipCode": "1010",
"city": "Wien",
"country": "AT",
"region": "WIEN",
"copyEmailType": "CC",
"emailAddress": "maxMustermann@email.com",
"copyEmailAddress": "maxMustermann2@email.com"
}
}
-
Company name, last name or first name must be set or the address info will be ignored
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"uuid": "fbf0c95c-84ec-429b-936b-53cdd429711b",
"description": "<p>Nachfolgend finden Sie die Detailaufstellung zur Rechnung.</p>",
"date": "2018-12-31",
"state": "STAGING",
"netAmount": 12.00,
"taxAmount": 2.40,
"totalAmount": 14.40,
"remainingAmount": 14.40,
"currency": "EUR",
"currencyRate": 1,
"customer": "43487c42-8b82-47ba-97aa-85b38caefae4",
"customerName": "Test GmbH, Max Mustermann",
"sequenceGroup": "5665af78-cc67-4910-b030-f649fde5d8a8",
"updatedAt": "2022-05-30T10:26:36.937009Z",
"lines": [
{
"id": 1,
"name": "BDD",
"description": "<p>110min Intensivkurs</p>",
"type": "LINE",
"itemPrice": 23.65,
"itemPriceType": "T",
"unitOfMeasure": "PC",
"netPrice": 12,
"taxPrice": 2.4,
"totalPrice": 14.4,
"remainingAmount": 14.4,
"discount": 0,
"discountMode": "CONSTANT",
"amount": 1.00,
"itemNumber": "TRi110",
"item": "c05adb71-7c14-43ad-a8e3-804b0b99ce13",
"account": "4001",
"taxClassEntry": "020"
}
],
"additionalAddress": "0709e91e-1d3e-4d27-aaf3-bfee7dfedac8",
"addressInfo": {
"salutationCode": "Hr",
"title": "Hr",
"firstName": "Max",
"lastName": "Mustermann",
"compSalutationCode": "Hr",
"companyName": "Test GmbH",
"streetName": "Mustergasse",
"streetNumber": "707",
"zipCode": "1010",
"city": "Wien",
"emailAddress": "maxMustermann@email.com",
"copyEmailAddress": "maxMustermann2@email.com",
"copyEmailType": "CC",
"country": "AT",
"region": "WIEN"
},
"paymentTerm": "d0150ebf-ceb8-4ae9-a8e7-d0ff628e0967",
"paid": false,
"dueDate": "2019-01-05"
}
Finalized invoices
A finalized invoice requires the totals to be set to prevent a mismatch between displayed and server-calculated prices.
POST /api/1.1/invoices Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"state": "FINALIZED",
"date": "2016-10-21",
"customerName": "manubu GmbH",
"netAmount": 106.48,
"taxAmount": 21.30,
"totalAmount": 127.78,
"layoutSetup": "e7b189b1-f0ae-4c71-8dc7-3108c1e46b34", // (1)
"lines": [
{
"name": "REST Item",
"itemPrice": 53.24,
"itemPriceType": "N",
"account": "4000",
"taxClassEntry": "020",
"amount": 2.00,
"netPrice": 106.48,
"taxPrice": 21.30,
"totalPrice": 127.78,
"itemDefaulting": false
}
],
"addressInfo": {}
}
-
Can be omitted if a default layout setup is present and to be used.
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "R 2020 4",
"uuid": "801744c4-b612-4107-8e82-4bdd8cb42939",
"description": "Nachfolgend finden Sie die Detailaufstellung zur Rechnung.",
"date": "2020-10-21",
"state": "FINALIZED",
"netAmount": 106.48,
"taxAmount": 21.30,
"totalAmount": 127.78,
"remainingAmount": 127.78,
"currency": "EUR",
"currencyRate": 1,
"footer": "Diese Rechnung wurde sowohl im Format PDF als auch als ebInterface XML erstellt.",
"customerName": "manubu GmbH",
"layoutSetup": "e7b189b1-f0ae-4c71-8dc7-3108c1e46b34",
"sequenceGroup": "e11693d5-15e6-42c3-b23c-1c01c0146d6b",
"updatedAt": "2020-09-22T13:09:32.818Z",
"lines": [
{
"id": 1,
"name": "REST Item",
"type": "LINE",
"itemPrice": 53.24,
"itemPriceType": "N",
"netPrice": 106.48,
"taxPrice": 21.30,
"totalPrice": 127.78,
"remainingAmount": 127.78,
"discount": 0,
"discountMode": "CONSTANT",
"amount": 2.00,
"account": "4000",
"taxClassEntry": "020"
}
],
"addressInfo": {},
"paymentTerm": "96c758c7-98ae-42b4-b742-5d30bd62e79c",
"paid": false,
"dueDate": "2020-11-04"
}
External invoices
External documents require the id
-field to be set.
Layout information is not needed since no PDF will be generated.
POST /api/1.1/invoices Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"id": "ER 2016-0001",
"date": "2016-10-21",
"state": "EXTERNAL",
"netAmount": 95.83,
"taxAmount": 19.17,
"totalAmount": 115.00,
"currency": "EUR",
"currencyRate": 1,
"customerName": "manubu GmbH",
"lines": [
{
"id": 1,
"name": "REST Item",
"itemPrice": 53.24,
"itemPriceType": "N",
"netPrice": 95.83,
"taxPrice": 19.17,
"totalPrice": 115.00,
"discount": 10,
"discountMode": "RATE",
"amount": 2,
"account": "4000",
"taxClassEntry": "020"
}
],
"addressInfo": {},
"paymentTerm": "96c758c7-98ae-42b4-b742-5d30bd62e79c", // (1)
"deliveryFromDate": "2016-10-21",
"deliveryToDate": "2016-10-30"
}
-
Can be omitted if the default payment term is to be used. Note that the payment term sets the due date of the invoice.
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "ER 2016-0001",
"uuid": "bbf2cfa4-0555-40f4-bae6-df02b8ee8ffd",
"description": "",
"date": "2016-10-21",
"state": "EXTERNAL",
"netAmount": 95.83,
"taxAmount": 19.17,
"totalAmount": 115.00,
"remainingAmount": 115.00,
"currency": "EUR",
"currencyRate": 1,
"footer": "",
"customerName": "manubu GmbH",
"updatedAt": "2020-09-22T13:15:07.742Z",
"lines": [
{
"id": 1,
"name": "REST Item",
"type": "LINE",
"itemPrice": 53.24,
"itemPriceType": "N",
"netPrice": 95.83,
"taxPrice": 19.17,
"totalPrice": 115.00,
"remainingAmount": 115.00,
"discount": 10,
"discountMode": "RATE",
"amount": 2,
"account": "4000",
"taxClassEntry": "020"
}
],
"paymentTerm": "96c758c7-98ae-42b4-b742-5d30bd62e79c",
"deliveryFromDate": "2016-10-21",
"deliveryToDate": "2016-10-30",
"paid": false,
"dueDate": "2016-11-04"
}
2.3.2. Create payments for invoices
A simple payment subtracts the paid amount from the remaining amount.The invoice is marked as paid once the remaining amount reaches zero.
POST /api/1.1/invoices/R 2016-0001/payments Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"amount": 2000.00,
"date": "2016-10-21",
"payingAccount": "2800"
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
[
{
"date": "2016-10-21",
"type": "PAYED",
"amount": 10.00,
"cancelled": false
}
]
A payment can also define a restType
if the remaining amount after the payment is to be marked as completed.In this case two payment history entries are created.
POST /api/1.1/invoices/R 2016-0001/payments Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"amount": 10.00,
"currencyRate" : 1,
"note": "REST payment",
"date": "2016-10-21",
"payingAccount": "2800",
"restType": "UNCOLLECTABLE"
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
[
{
"date": "2016-10-21",
"type": "PAYED",
"note": "REST payment",
"amount": 10.00,
"cancelled": false
},
{
"date": "2016-10-21",
"type": "UNCOLLECTABLE",
"note": "REST payment",
"amount": 97.78,
"cancelled": false
}
]
2.4. Item management
Item management are in master data management and used for invoicing and documents or cash register.
2.4.1. Search for items
GET /api/1.1/items?search=Test Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
The search parameter filters results matching the name, description, number, or barcode of the item.
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "ea108755-2580-476b-a41b-a5ee32ce77d5",
"name": "Testprodukt 1",
"unitOfMeasure": "PC",
"description": "<p><b>Beschreibung</b> des <i>Produktes</i></p>",
"descriptionFormatted": "Beschreibung des Produktes\r\n\r\n",
"sellingPrice": 998.82,
"amountType": "N",
"currency": "EUR",
"marginMode": "CONSTANT",
"additionalChargeMode": "CONSTANT",
"itemCategory": "967c6658-8b1c-4268-a2ca-33c09d493c32",
"account": "4000",
"taxClassEntry": "020",
"color": "b51010"
}
2.4.2. Create items
POST /api/1.1/items Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"itemCategory": "967c6658-8b1c-4268-a2ca-33c09d493c32", //(1)
"itemCategoryDefaulting": true, //(2)
"sellingPrice": 12,
"name": "API",
"amountType": "N"
}
-
Use an item category id from the
item_category
API to add the item to this category. -
If set to true and when no account and taxClassEntry are supplied, they will be defaulted from the item category. You can omit itemCategoryDefaulting (or set to false) to disable this behavior. Tax rate and account then become mandatory fields.
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "401025ed-300e-45dc-8d2a-f3a3ad147ff3",
"name": "API",
"sellingPrice": 12,
"amountType": "N",
"currency": "EUR",
"marginMode": "CONSTANT",
"additionalChargeMode": "CONSTANT",
"itemCategory": "967c6658-8b1c-4268-a2ca-33c09d493c32",
"account": "4000",
"taxClassEntry": "020",
"color": "2bc25d"
}
2.5. Cash register
The cash register apis are used for the cash register according to austrian law.
2.5.1. Income receipts
Income receipts are the most common type and can be created with or without item references.
POST /api/1.1/cash_registers/1/receipts Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"type": "INCOME",
"totalAmount": 120.00, // (1)
"lines": [
{
"itemPrice": 100.00,
"itemPriceType": "N", // (2)
"totalPrice": 120.00,
"account": "4000", // (3)
"taxClassEntry": "020"
}
]
}
-
The total amount of the receipts must match the total sum of all lines, otherwise an error will be returned.
-
Indicates if the item unit price is net (N) or total (T)
-
Use the
/accounts
API to make sure that the account exists and that it allows the specified tax class.
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "2022.0075",
"type": "INCOME",
"dateTime": "2022-05-30T11:24:37.830793",
"creationDateTime": "2022-05-30T11:24:37.830793",
"totalAmount": 120.00,
"qrCode": "_R1-AT1_1_2017.0001_2017-03-24T08:57:23_120,00_0,00_0,00_0,00_0,00_0DT1DvvW5Co=_6A729B85_WZ5OYdVFEgU=_MARh3Qa7KjAJmzh9DCmljZmYs7uKkZ82OZglC9+c8q6W1xfUeP8fOFCBTqvUjih3+esFtH+FUbT3A4NK7cMiWA==",
"lines": [
{
"id": 1,
"itemPrice": 100.00,
"itemPriceType": "N",
"netPrice": 100.00,
"taxPrice": 20.00,
"totalPrice": 120.00,
"discount": 0,
"discountMode": "CONSTANT",
"amount": 1,
"account": "4000",
"taxClassEntry": "020"
}
],
"addressInfo": {}
}
Alternatively, an item from the /items API can be supplied to default most fields.
POST /api/1.1/cash_registers/1/receipts Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"type": "INCOME",
"totalAmount": 344.88, // (1)
"lines": [
{
"item": "1383b0e0-f3c8-761b-b103-e6adc5eeb24b",
"totalPrice": 114.96 // (1)
},
{
"item": "1383b0e0-f3c8-761b-b103-e6adc5eeb24b",
"amount": 2,
"totalPrice": 229.92
}
]
}
-
Even with item references the line and receipt totals must be supplied.
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "2017.0002",
"type": "INCOME",
"dateTime": "2017-01-12T14:55:31.361",
"creationDateTime": "2017-01-12T14:55:31.381",
"totalAmount": 344.88,
"qrCode": "_R1-AT1_3_2017.0006_2017-03-24T08:57:23_120,00_0,00_0,00_0,00_0,00_0DT1DvvW5Co=_6A729B85_WZ5OYdVFEgU=_MARh3Qa7KjAJmzh9DCmljZmYs7uKkZ82OZglC9+c8q6W1xfUeP8fOFCBTqvUjih3+esFtH+FUbT3A4NK7cMiWA==",
"lines": [
{
"id": 1,
"itemNumber": "KASHA001",
"item": "1383b0e0-f3c8-761b-b103-e6adc5eeb24b",
"itemName": "Kasse-System Sharp XE-A217B",
"itemPrice": 114.96,
"itemPriceType": "T",
"unitOfMeasure": "EUR",
"netPrice": 95.80,
"taxPrice": 19.16,
"totalPrice": 114.96,
"discount": 0,
"discountMode": "CONSTANT",
"amount": 1,
"account": "4000",
"taxClassEntry": "020"
},
{
"id": 2,
"itemNumber": "KASHA001",
"item": "1383b0e0-f3c8-761b-b103-e6adc5eeb24b",
"itemName": "Kasse-System Sharp XE-A217B",
"itemPrice": 114.96,
"itemPriceType": "T",
"unitOfMeasure": "EUR",
"netPrice": 191.60,
"taxPrice": 38.32,
"totalPrice": 229.92,
"discount": 0,
"discountMode": "CONSTANT",
"amount": 2,
"account": "4000",
"taxClassEntry": "020"
}
],
"addressInfo": {}
}
Alternatively, you can override the address for this document only. This address not will be stored. Either the company name or one name must be set, otherwise the address will be ignored.
POST /api/1.1/cash_registers/1/receipts Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"type": "INCOME",
"totalAmount": 120.00,
"customerMail": "test@test.at",
"customer": "43487c42-8b82-47ba-97aa-85b38caefae4",
"additionalAddress": "0709e91e-1d3e-4d27-aaf3-bfee7dfedac8",
"lines": [
{
"itemPrice": 100.00,
"itemPriceType": "N",
"totalPrice": 120.00,
"account": "4000",
"taxClassEntry": "020"
}
],
"addressInfo": {
"salutationCode": "Hr",
"title": "Hr",
"firstName": "Max", // (1)
"lastName": "Mustermann", // (1)
"compSalutationCode": "Hr",
"companyName": "Test GmbH", // (1)
"streetName": "Mustergasse",
"streetNumber": "707",
"zipCode": "1010",
"city": "Wien",
"country": "AT",
"region": "WIEN",
"copyEmailType": "CC",
"emailAddress": "maxMustermann@email.com",
"copyEmailAddress": "maxMustermann2@email.com"
}
}
-
Company name, last name or first name must be set or the address info will be ignored
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "2022.0077",
"type": "INCOME",
"dateTime": "2022-05-30T12:25:04.463898",
"creationDateTime": "2022-05-30T12:25:04.463898",
"customer": "43487c42-8b82-47ba-97aa-85b38caefae4",
"customerName": "Test GmbH, Max Mustermann",
"additionalAddress": "0709e91e-1d3e-4d27-aaf3-bfee7dfedac8",
"totalAmount": 120.00,
"lines": [
{
"id": 1,
"itemPrice": 100.00,
"itemPriceType": "N",
"netPrice": 100.00,
"taxPrice": 20.00,
"totalPrice": 120.00,
"discount": 0,
"discountMode": "CONSTANT",
"amount": 1,
"account": "4000",
"taxClassEntry": "020"
}
],
"addressInfo": {
"salutationCode": "Hr",
"title": "Hr",
"firstName": "Max",
"lastName": "Mustermann",
"compSalutationCode": "Hr",
"companyName": "Test GmbH",
"streetName": "Mustergasse",
"streetNumber": "707",
"zipCode": "1010",
"city": "Wien",
"emailAddress": "maxMustermann@email.com",
"copyEmailAddress": "maxMustermann2@email.com",
"copyEmailType": "CC",
"country": "AT",
"region": "WIEN"
}
}
2.5.2. Cash rebooks
A rebook is a special type of receipt that has a cash or bank account (U-type in the /accounts
API).
Instead of lines, a single total amount is provided.
POST /api/1.1/cash_registers/1/receipts Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"type": "REBOOK",
"totalAmount": 120.00,
"fromAccount": "2800" // (1)
}
-
For a negative rebook (reducing the register balance), supply the
toAccount
instead.
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "U2017.0001",
"type": "REBOOK",
"dateTime": "2017-01-12T14:58:43.188",
"creationDateTime": "2017-01-12T14:58:43.194",
"totalAmount": 120.00,
"lines": [
{
"id": 1,
"itemName": "Bargeld-Einlage",
"itemPrice": 120.00,
"itemPriceType": "T",
"netPrice": 120.00,
"taxPrice": 0,
"totalPrice": 120.00,
"amount": 1,
"account": "2800",
"taxClassEntry": "000"
}
]
}
2.5.3. Daily closings
The latest daily closing for a register can be obtained quickly with the last
-path instead of the date as id.
GET /api/1.1/cash_registers/1/daily_closings/last Authorization: Bearer eyJhbGci...Vm-yw
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "2017-01-12",
"creationDate": "2017-01-12T13:51:48.851Z",
"state": "OPEN",
"openingBalance": 415.99,
"closingBalance": 1000.87, // (1)
"incomeCount": 2,
"rebookCount": 1,
"otherCount": 0,
"totalCount": 3, // (1)
"monthlyClosing": false,
"yearlyClosing": false
}
-
Closing balance and total receipt count must be supplied to finalize a daily closing at the end of each day. This step verifies that the user has seen and confirmed the final balance.
POST /api/1.1/cash_registers/1/daily_closings/last/finalize Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"closingBalance": 1000.87,
"totalCount": 3
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "2017-01-12",
"creationDate": "2017-01-12T13:51:48.851Z",
"state": "FINALIZED",
"openingBalance": 415.99,
"closingBalance": 1000.87,
"incomeCount": 2,
"rebookCount": 1,
"otherCount": 0,
"totalCount": 3,
"monthlyClosing": false,
"yearlyClosing": false
}
Once a full month has passed, the last daily closing must also close the month, which is done automatically when creating a new receipt.
If required, the month can also be closed manually.
This is done with a simple POST
-call, and can be mirrored for the yearly closing.
POST /api/1.1/cash_registers/1/daily_closings/last/close_month Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "2017-01-12",
"creationDate": "2017-01-12T13:51:48.851Z",
"state": "FINALIZED",
"openingBalance": 415.99,
"closingBalance": 1000.87,
"incomeCount": 2,
"rebookCount": 1,
"otherCount": 1,
"totalCount": 4,
"monthlyClosing": true,
"yearlyClosing": false
}
2.6. Accounting
Core modul for all accounting purpose. Bookings and payments from invoice and documents or incoming and outgoing invoices are booked into the accounting module. In Addition direct booking functionality can be done.
2.6.1. Create a rebook
Create a new booking to an account
POST /api/1.1/rebooks Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"type": "REBOOK", // (1)
"amount": 1200.00,
"account": "2800",
"contraAccount": "2700",
"description": "",
"reference": "",
"date": "2020-01-01" // (2)
}
-
Possible types are REBOOK, CORRECTION and FINALIZATION. The type determines the available accounts - use the
/accounts
API to search for valid accounts for the type. -
If no date is set, the booking will be defaulted to the current date.
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "U2020 2",
"rebookType": "REBOOK",
"account": "2800",
"contraAccount": "2700",
"currencyRate": 1,
"payedDate": "2020-01-01",
"cancelled": false,
"description": "",
"currencyCode": "EUR",
"invoiceReference": "",
"journalTotPrice": 1200.00,
"invoiceDate": "2020-01-01"
}
2.7. Financial Setup
Getting and setting basic financial settings.
2.7.1. Get account balances
Returns a list of accounts and the current balance, determined by the sum of all bookings within the specified time period.
GET /api/1.1/accounts/balances?from=2020-01-01&to=2020-12-31&type=E Authorization: Bearer eyJhbGci...Vm-yw
-
from & to: Time period to use. Defaults to the current fiscal year.
-
type: To filter by a specific account type. Examples are E (revenue), A (expenses), U (cash, rebooks, etc.)
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
[
{
"accountCode": "4000",
"accountName": "Einnahmen (Erlöse)",
"sum": 92.55
}
]
2.7.2. Get bank accounts
Returns a list of bank accounts or with bank_accounts/{id} you will get the bank account with the id you send.
GET /api/1.1/bank_accounts Authorization: Bearer eyJhbGci...Vm-yw
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
[
{
"id": "d56d96c4-3v3d-29c6-ecb7-74ab91da6510",
"name": "Volksbank Wien",
"bankName": "Volksbank",
"accountOwnerName": "Max Mustermann",
"bic": "VBOEATWW",
"iban": "AT411120000237571999",
"accountCode": "2800",
"currencyCode": "EUR"
}
]
2.8. Master data management
2.8.1. Additional addresses
Get the main address for a selected customer (/customers
)
2.8.2. Get a customer
GET /api/1.1/customers/6bce13cf-e928-4af3-8075-e89c503e3bb0 Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "6bce13cf-e928-4af3-8075-e89c503e3bb0",
"title": "Ing",
"firstName": "Max",
"lastName": "Mustermann",
"compSalutationCode": "Herr",
"companyName": "free",
"streetName": "Mustermanngasse",
"streetNumber": "12",
"zipCode": "1230",
"city": "Wien",
"emailAddress": "max.mustermann@free.com",
"telNumber": "0165421564",
"skype": "",
"noVatNumber": false,
"country": "AT",
"region": "WIEN",
"supplierNumber": "12",
"myCustomerNumber": "6"
}
2.8.3. Create a customer
POST /api/1.1/customers Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"customerNumber": "12345",
"companyName": "TestCustomer 1",
"firstName": "Max",
"lastName": "Mustermann",
"taxNumber": "TAXNR1"
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "9cb7ab78-de86-43c3-b3ce-d477b629f30c",
"taxNumber": "TAXNR1",
"firstName": "Max",
"lastName": "Mustermann",
"companyName": "TestCustomer 1",
"noVatNumber": false,
"country": "AT",
"customerNumber": "12345"
}
2.8.4. Create a customer and a contra account (double-entry accounting)
This creates a customer and a contra account (receivables) in one step.
POST /api/1.1/customers Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"customerNumber": "12345",
"companyName": "TestCustomer 1",
"firstName": "Max",
"lastName": "Mustermann",
"contraAccount": "20012",
"createContraAccount": true,
"taxNumber": "TAXNR1"
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "82008731-4824-4012-8ee5-00bcdad38419",
"taxNumber": "TAXNR1",
"firstName": "Max",
"lastName": "Mustermann",
"companyName": "TestCustomer 1",
"noVatNumber": false,
"country": "AT",
"contraAccount": "20012",
"customerNumber": "12345"
}
2.8.5. Get additional addresses
GET /api/1.1/customers/6bce13cf-e928-4af3-8075-e89c503e3bb0/additional_addresses Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
[
{
"id": "79ca5835-133f-4668-8ea0-d4d4e9377ef8",
"identifier": "",
"addressType": "INVOICE_AND_DELIVERY_ADDRESS",
"streetName": "Wollstrasse",
"streetNumber": "120",
"zipCode": "2800",
"city": "Wien",
"country": "AT",
"region": "WIEN",
"addressBranchNo": "1",
"emailAddress": "",
"copyEmailType": "BCC",
"telNumber": "5646545",
"faxNumber": "546541",
"mobileNumber": "564651",
"skype": "",
"webAddress": "",
"description": ""
},
{
"id": "8a5f3725-e6a7-430a-b27c-be5d7f2fcd79",
"identifier": "Zweitadresse",
"addressType": "INVOICE_AND_DELIVERY_ADDRESS",
"streetName": "Andere Teststraße",
"streetNumber": "120",
"zipCode": "2800",
"city": "Wien",
"country": "AT",
"region": "WIEN",
"addressBranchNo": "56456465",
"emailAddress": "test@otherdomain.com",
"copyEmailType": "BCC",
"telNumber": "5646545",
"faxNumber": "546541",
"mobileNumber": "564651",
"skype": "",
"webAddress": "",
"description": ""
}
]
2.8.6. Create a new additional address
Create a new additional address for the selected supplier/customer.
POST /api/1.1/customers/6bce13cf-e928-4af3-8075-e89c503e3bb0/additional_addresses/ Content-Type: application/json Authorization: Bearer eyJhbGci...Vm-yw
{
"identifier": "Zweitadresse",
"streetName": "Teststrasse",
"streetNumber": 1,
"zipCode": "1040",
"city": "Wien",
"country": "AT",
"region": "WIEN",
"addressBranchNo": "",
"emailAddress": "test@testdomain.at",
"telNumber": "",
"faxNumber": "",
"mobileNumber": "",
"skype": "",
"webAddress": "",
"description": "",
"copyEmailType": "",
"addressType": ""
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "0f5c87a3-550c-4b5d-ae58-270ca5c3cc19",
"identifier": "Zweitadresse",
"addressType": "INVOICE_AND_DELIVERY_ADDRESS",
"streetName": "Teststraße",
"streetNumber": "1",
"zipCode": "1040",
"city": "Wien",
"country": "AT",
"region": "WIEN",
"addressBranchNo": "",
"emailAddress": "test@testdomain.at",
"copyEmailType": "BCC",
"telNumber": "",
"faxNumber": "",
"mobileNumber": "",
"skype": "",
"webAddress": "",
"description": ""
}
2.9. Bank Statements
Creating and adding bank statement transactions to the bank statement module.
2.9.1. Get a bank statement header
This returns only the head data of the statement.
To get all lines, see the /bank_statements/<id>/lines
resource.
GET /api/1.1/bank_statements Authorization: Bearer eyJhbGci...Vm-yw
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
[
{
"id": "1961d46e-d7e4-4b95-9e27-9053e43ef97b",
"bankAccount": "2850",
"fileName": "API",
"currencyCode": "EUR",
"statementDate": "2021-03-16",
"valueDateFrom": "1983-05-27",
"valueDateTo": "2099-12-31",
"status": "NEW",
"bankAccountName": "Test"
}
]
2.9.2. Create a bank statement header
A bank statement header is linked to a bank account, see the /bank_accounts
resource.
POST /api/1.1/bank_statements Authorization: Bearer eyJhbGci...Vm-yw
[
{
"bankAccount": "d56d96c4-3b3d-29c6-ecb7-74cb91da6510",
"fileName": "test_api"
}
]
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"id": "62e9dcdf-5640-4d53-8cfc-2f728aeabd94",
"bankAccount": "2800",
"fileName": "test_api",
"currencyCode": "EUR",
"statementDate": "2021-03-18",
"valueDateFrom": "2021-03-18",
"valueDateTo": "2021-03-18",
"status": "NEW",
"bankAccountName": "Volksbank Wien"
}
2.9.3. Create bank statement lines for an existing header
The returnLines
parameter determines if only counts are returned (false) or all created lines (true)
POST /api/1.1/bank_statements/1961d46e-d7e4-4b95-9e27-9053e43ef97b/lines Authorization: Bearer eyJhbGci...Vm-yw
{
"returnLines": false,
"bankStatementLines": [
{
"valueDate": "2020-10-31",
"amount": -2000,
"bookingDate": "2020-10-31"
},
{
"valueDate": "2020-10-31",
"amount": 4000,
"bookingDate": "2020-10-31"
}
]
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"addedCount": 2,
"duplicatesCount": 0
}
2.9.4. Create bank statement lines for a bank account
You can append new lines to a header related directly to a bank account. If no header exists, it will be created.
This is useful for a continuous stream of new lines to an account, for example with payment processors like PayPal.
Lines that were already added in previous calls (and have the same transaction_id
) will be ignored.
POST /api/1.1/bank_statements/by_bank_account/40e2f246-8998-3dec-b51c-4edf7f688d4a/lines Authorization: Bearer eyJhbGci...Vm-yw
{
"returnLines": true,
"bankStatementLines": [
{
"description": "Test-Api-test",
"valueDate": "2020-10-31",
"amount": -2000,
"bookingDate": "2020-10-31",
"transactionId": "9001"
},
{
"description": "Test-Api2",
"valueDate": "2020-10-31",
"amount": -9000,
"bookingDate": "2020-10-31",
"originatorBankReference": "testo",
"originatorBankCode": "mio",
"originatorAccountNumber": "jusaya",
"transactionId": "645216159451239"
},
{
"description": "Test-Api3",
"valueDate": "2020-10-31",
"amount": 4000,
"bookingDate": "2020-10-31",
"transactionId": "9001"
},
{
"description": "Test-Api4",
"valueDate": "2020-10-31",
"amount": 4000,
"bookingDate": "2020-10-31"
}
]
}
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{
"addedCount": 3,
"duplicatesCount": 1,
"addedLines": [
{
"id": 1,
"description": "Test-Api-test",
"valueDate": "2020-10-31",
"amount": -2000,
"currencyCode": "EUR",
"bookingDate": "2020-10-31",
"transactionId": "9001",
"status": "NEW",
"remainingAmount": -2000
},
{
"id": 2,
"description": "Test-Api2",
"valueDate": "2020-10-31",
"amount": -9000,
"currencyCode": "EUR",
"bookingDate": "2020-10-31",
"originatorBankReference": "testo",
"originatorBankCode": "mio",
"originatorAccountNumber": "jusaya",
"transactionId": "645216159451239",
"status": "NEW",
"remainingAmount": -9000
},
{
"id": 3,
"description": "Test-Api4",
"valueDate": "2020-10-31",
"amount": 4000,
"currencyCode": "EUR",
"bookingDate": "2020-10-31",
"status": "NEW",
"remainingAmount": 4000
}
],
"duplicateTransactionIds": [
"9001"
]
}
2.10. Document Management
Uploading documents and associated metadata.
2.10.1. Upload a document to the staging area
Unlike other resources in the API, this request is a multipart/form-data call. It consists of two parts: A JSON which contains (optional) metadata and a description, and one or multiple binary attachments. The file name is taken from the content-disposition of the first attachment.
Note that for one attachment, only PDF, image and text types are supported. For multiple attachments, only image formats are supported, and those images will be merged into one PDF.
Every fragment of metadata consists of the following:
-
a defined key describing the field type (like invoice date or description), see the OpenAPI specification for all supported types
-
an associated value based on the type (textValue dateValue, booleanValue, or numericValue)
-
an optional priority describing the confidence of the data, with 1 being highest and 255 being lowest. If multiple metadata keys for the same document exist, the one with the highest priority will be used. Defaulted with average priority of 100.
-
an optional qualifier, which determines if this fragment only belongs to a specific subgroup of the documents. For example, a qualifier of 1 expresses that this field (like amount or tax rate) doesn’t belong to the whole document, but only the first line of the invoice.
POST /api/1.1/documents/staging Content-Type: multipart/form-data; boundary=WebAppBoundary Authorization: Bearer eyJhbGci...Vm-yw
--WebAppBoundary Content-Disposition: form-data; name="metadata" Content-Type: application/json { "documentDescription": "my test", "metadata": [ { "key": "RECIPIENT", "textValue": "testRecipient" }, { "key": "PAID_DATE", "dateValue": "2021-05-01" }, { "key": "TOTAL_AMOUNT", "numericValue": 100.00, "qualifier": 1 }, { "key": "TAX_RATE", "numericValue": 20, "qualifier": 1 }, { "key": "TOTAL_AMOUNT", "numericValue": 200.00, "qualifier": 2 }, { "key": "TAX_RATE", "numericValue": 10, "qualifier": 2 } ] } --WebAppBoundary Content-Disposition: form-data; name="content"; filename="image3.jpg" Content-Type: image/jpeg <! raw content of image3.jpg !> --WebAppBoundary-- Content-Disposition: form-data; name="content"; filename="image4.jpg" Content-Type: image/jpeg <! raw content of image4.jpg !> --WebAppBoundary--
HTTP/1.1 201 Content-Type: application/json;charset=UTF-8
{
"fileName": "image1.pdf",
"contentType": "application/pdf",
"documentDescription": "my test",
"key": {
"provider": "DMS",
"providerId": "51917bc5-e576-427f-aedb-ccf15b4cd78a"
},
"metadata": [
{
"key": "RECIPIENT",
"priority": 0,
"textValue": "testRecipient"
},
{
"key": "PAID_DATE",
"priority": 0,
"dateValue": "2021-05-01"
},
{
"key": "TOTAL_AMOUNT",
"qualifier": 1,
"priority": 0,
"numericValue": 100.00
},
{
"key": "TAX_RATE",
"qualifier": 1,
"priority": 0,
"numericValue": 20
},
{
"key": "TOTAL_AMOUNT",
"qualifier": 2,
"priority": 0,
"numericValue": 200.00
},
{
"key": "TAX_RATE",
"qualifier": 2,
"priority": 0,
"numericValue": 10
}
]
}
3. Access
-
Bearer Authentication
4. Endpoints
4.1. BankStatementLines
4.1.1. GET /bank_statements
- Operation Id
-
getAllBankStatementHeaders
Description
Returns all bank statement headers created by the API or from PSD2.
Parameters
Return Type
array[BankStatementHeaderDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[BankStatementHeaderDto] |
4.1.2. GET /bank_statements/{header_id}
- Operation Id
-
getBankStatementHeaderById
Description
Returns a single bank statement header identified by its id.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
header_id |
bank statement id |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Bank statement with this id not found. |
4.1.3. GET /bank_statements/{header_id}/lines
- Operation Id
-
getBankStatementLines
Description
Returns the lines of a bank statement, limited by date or number.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
header_id |
bank statement id |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
from |
Only return lines with a booking date greater than or equal to this value. Must be set together with to. |
- |
null |
|
to |
Only return lines with a booking date less than or equal to this value. Must be set together with from. |
- |
null |
|
line_number_gt |
Only return lines with a line number greater than this value. |
- |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Bank statement with this id not found. |
4.1.4. POST /bank_statements
- Operation Id
-
postBankStatementHeader
Description
Creates a new bank statement header. Only the header is created, lines are added in a separate call.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
BankStatementHeaderDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.1.5. POST /bank_statements/{header}/lines
- Operation Id
-
postBankStatementHeaderLines
Description
Creates new lines for a bank statement header. The lines will be appended and numbered automatically.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
header |
bank statement header id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
BankStatementRequestDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.1.6. POST /bank_statements/by_bank_account/{bank_account}/lines
- Operation Id
-
postBankStatementHeaderLinesByBankAccount
Description
Creates new lines for a singular bank statement header tied to a bank account. If no header exists, it will be created. If more than one header exists, an error will be returned. This resource is used for append-only single statements like PSD2.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
bank_account |
bank account id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
BankStatementRequestDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.2. CashBasedAccounting
4.2.1. POST /rebooks
- Operation Id
-
postRebook
Description
Creates a new rebook according to the defined rebook type. See the /accounts/rebook_accounts resource for possible accounts to use with the type.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
RebookCreationDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Input invalid. Further information in the RestError response. |
4.3. CashBasedInvoicingIncoming
4.3.1. DELETE /incoming_invoices/{invoice}
- Operation Id
-
deleteIncomingInvoice
Description
Deletes an unpaid incoming invoice. Single-entry accounting (EA) only.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
Return Type
-
Content Type
-
application/json
4.3.2. GET /incoming_invoices
- Operation Id
-
getAllIncomingInvoices
Description
Returns a list of incoming invoices filtered by optional search parameters. A time span (from-to) must be set to limit results. Note that lines and bookings are not returned, use /incoming_invoices/{invoice_id} to fetch these for a single invoice.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
from |
X |
null |
||
to |
X |
null |
||
search_text |
- |
null |
||
state |
If the invoices should be PAID, UNPAID, or OVERDUE |
- |
null |
Return Type
array[IncomingInvoiceDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[IncomingInvoiceDto] |
4.3.3. GET /incoming_invoices/{invoice}/bookings/{booking}
- Operation Id
-
getIncomingInvoiceBookingById
Description
Returns a single booking for an incoming invoice.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
|
booking |
Booking id |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Invoice or booking not found. |
4.3.4. GET /incoming_invoices/{invoice}/bookings
- Operation Id
-
getIncomingInvoiceBookings
Description
Returns all bookings for an incoming invoice.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
Return Type
array[InvoiceBookingDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[InvoiceBookingDto] |
404 |
Invoice not found. |
4.3.5. GET /incoming_invoices/{invoice}
- Operation Id
-
getIncomingInvoiceById
Description
Returns an incoming invoice referenced by its id.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Invoice not found. |
4.3.6. GET /incoming_invoices/{invoice}/journals/{journal}
- Operation Id
-
getIncomingInvoiceJournalById
Description
Returns a specific journal booked from an incoming invoice. The booking need not be specified.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
|
journal |
Journal id |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Invoice or journal not found |
4.3.7. GET /incoming_invoices/{invoice}/journals
- Operation Id
-
getIncomingInvoiceJournals
Description
Returns all journals booked from an incoming invoice. The bookings need not be specified.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
Return Type
array[JournalDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[JournalDto] |
404 |
Invoice not found |
4.3.8. POST /incoming_invoices
- Operation Id
-
postIncomingInvoice
Description
Creates an incoming invoice. Accounts can be found in the /accounts resource. Note that depending on the financial settings, the invoice must be paid. Additionally, for double-entry accounting the invoice is always booked immediately.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
IncomingInvoiceCreationDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Account not found. |
4.3.9. POST /incoming_invoices/{invoice}/bookings/{booking}/cancel
- Operation Id
-
postIncomingInvoiceBookingCancel
Description
Cancels a specific booking for an incoming invoice. Only payment and rest payment bookings can be cancelled.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
|
booking |
Booking id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
CancellationDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
invoice or booking not found |
4.3.10. POST /incoming_invoices/{invoice}/cancel
- Operation Id
-
postIncomingInvoiceCancel
Description
Cancels an incoming invoice.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
CancellationDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Invoice not found. |
4.3.11. POST /incoming_invoices/{invoice}/pay
- Operation Id
-
postIncomingInvoicePayment
Description
Registers a payment for an incoming invoice. Partial payments are only supported in double-entry accounting.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
CbiPaymentDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Invoice not found. |
4.3.12. POST /incoming_invoices/{invoice}/pay_rest
- Operation Id
-
postIncomingInvoicePaymentRest
Description
Registers the rest payment for an incoming invoice (like discount), which marks the invoice as paid. Double-entry accounting only.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
RestPaymentDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Invoice not found. |
4.4. CashBasedInvoicingOutgoing
4.4.1. DELETE /outgoing_invoices/{invoice}
- Operation Id
-
deleteOutgoingInvoice
Description
Deletes an unpaid outgoing invoice. Single-entry accounting (EA) only.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
Return Type
-
Content Type
-
application/json
4.4.2. GET /outgoing_invoices
- Operation Id
-
getAllOutgoingInvoices
Description
Returns a list of outgoing invoices filtered by optional search parameters. A time span (from-to) must be set to limit results. Note that lines and bookings are not returned, use /outgoing_invoices/{invoice_id} to fetch these for a single invoice.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
from |
X |
null |
||
to |
X |
null |
||
search_text |
- |
null |
||
state |
If the invoices should be PAID, UNPAID, or OVERDUE |
- |
null |
Return Type
array[OutgoingInvoiceDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[OutgoingInvoiceDto] |
4.4.3. GET /outgoing_invoices/{invoice}/bookings/{booking}
- Operation Id
-
getOutgoingInvoiceBookingById
Description
Returns a single booking for an outgoing invoice.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
|
booking |
Booking id |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Invoice or booking not found. |
4.4.4. GET /outgoing_invoices/{invoice}/bookings
- Operation Id
-
getOutgoingInvoiceBookings
Description
Returns all bookings for an outgoing invoice.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Invoice not found. |
4.4.5. GET /outgoing_invoices/{invoice}
- Operation Id
-
getOutgoingInvoiceById
Description
Returns an outgoing invoice referenced by its id.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Invoice not found |
4.4.6. GET /outgoing_invoices/{invoice}/journals/{journal}
- Operation Id
-
getOutgoingInvoiceJournalById
Description
Returns a specific journal booked from an outgoing invoice. The booking need not be specified.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
|
journal |
Journal id |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Invoice or booking not found |
4.4.7. GET /outgoing_invoices/{invoice}/journals
- Operation Id
-
getOutgoingInvoiceJournals
Description
Returns all journals booked from an outgoing invoice. The bookings need not be specified.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
Return Type
array[JournalDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[JournalDto] |
404 |
Invoice not found |
4.4.8. POST /outgoing_invoices
- Operation Id
-
postOutgoingInvoice
Description
Creates an outgoing invoice. Accounts can be found in the /accounts resource. Note that depending on the financial settings, the invoice must be paid. Additionally, for double-entry accounting the invoice is always booked immediately.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
OutgoingInvoiceCreationDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Account not found. |
4.4.9. POST /outgoing_invoices/{invoice}/bookings/{booking}/cancel
- Operation Id
-
postOutgoingInvoiceBookingCancel
Description
Cancels a specific booking for an outgoing invoice. Only payment and rest payment bookings can be cancelled.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
|
booking |
Booking id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
CancellationDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
invoice or booking not found |
4.4.10. POST /outgoing_invoices/{invoice}/cancel
- Operation Id
-
postOutgoingInvoiceCancel
Description
Cancels an outgoing invoice.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
CancellationDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Invoice not found. |
4.4.11. POST /outgoing_invoices/{invoice}/pay
- Operation Id
-
postOutgoingInvoicePayment
Description
Registers a payment for an outgoing invoice. Partial payments are only supported in double-entry accounting.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
CbiPaymentDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Invoice not found. |
4.4.12. POST /outgoing_invoices/{invoice}/pay_rest
- Operation Id
-
postOutgoingInvoicePaymentRest
Description
Registers the rest payment for an outgoing invoice (like discount), which marks the invoice as paid. Double-entry accounting only.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
RestPaymentDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Invoice not found. |
4.5. CashBasedSetup
4.5.1. GET /accounts/{account}
- Operation Id
-
getAccountById
Description
Returns a specific account by its account number.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
account |
Account code |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Account not found. |
4.5.2. GET /accounts/balances
- Operation Id
-
getAccountSumBalances
Description
Returns the account balances over the specified time period, calculated as the sum of all bookings.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
method |
Calculation method to use, default is N (net). |
- |
null |
|
from |
Include bookings from this date onward. Defaults to beginning of this year. |
- |
null |
|
to |
Include bookings up to this date. Defaults to end of this year. |
- |
null |
|
type |
Account type code to filter (if available), examples are E (revenue), M (revenue gastronomy), A (expenses), L (assets), S (miscellaneous), U (cash, rebooks, etc.) |
- |
null |
|
opening_balances |
If opening balances should be included in the calculation |
- |
null |
|
closing_entries |
If closing entries should be included in the calculation |
- |
null |
|
filterNullValues |
Whether values that add up to 0 should be shown or not |
- |
null |
|
compactReceivables |
Group payables/receivables accounts together |
- |
null |
|
dbhCreditDebit |
Split results into credit and debit (ignored if no double-entry accounting) |
- |
null |
Return Type
array[AccountDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[AccountDto] |
400 |
Input invalid. Further information in the RestError response. |
4.5.3. GET /accounts/balances_per_month
- Operation Id
-
getAccountSumBalancesPerMonth
Description
Returns the account balances over the specified time period, calculated as the sum of all bookings per month.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
fiscal_year |
The fiscal year as basis for the balance calculation |
X |
null |
|
opening_balances |
If opening balances should be included in the calculation |
- |
null |
|
closing_entries |
If closing entries should be included in the calculation |
- |
null |
|
totals |
If totals should be calculated for each account |
- |
null |
|
method |
Calculation method to use (net or total), default is N (net) |
- |
null |
|
filterNullValues |
Whether values that add up to 0 should be shown or not |
- |
null |
|
compactReceivables |
Group payables/receivables accounts together |
- |
null |
Return Type
array[AccountLineDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[AccountLineDto] |
4.5.4. GET /accounts/{account}/tax_class_entries
- Operation Id
-
getAccountTaxClassEntryBulk
Description
Returns all tax class entries for an account. A tax class entry references a specific tax rate for a business document line or item.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
account |
Account code |
X |
null |
Return Type
array[TaxClassEntryDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[TaxClassEntryDto] |
404 |
Account not found. |
4.5.5. GET /accounts/{account}/tax_class_entries/{tax_class_entry}
- Operation Id
-
getAccountTaxClassEntryById
Description
Returns a specific tax class entry for an account.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
account |
Account code |
X |
null |
|
tax_class_entry |
Tax class entry code |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Account or tax class entry not found. |
4.5.6. GET /accounts
- Operation Id
-
getAllAccounts
Description
Returns all accounts. Accounts are required for cash based invoicing and business document lines and can be optionally added to items. Every account has one or multiple tax class entries, which define the tax rate for the line.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
type |
Account type code to filter (if available), examples are E (revenue), M (revenue gastronomy), A (expenses), L (assets), S (miscellaneous), U (cash, rebooks, etc.) |
- |
null |
Return Type
array[AccountDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[AccountDto] |
4.5.7. GET /accounts/item_accounts
- Operation Id
-
getAllAccountsItem
Description
Returns all accounts that can be used for items. This includes income, receivables and coupon accounts.
Parameters
Return Type
array[AccountDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[AccountDto] |
4.5.8. GET /accounts/rebook_accounts
- Operation Id
-
getAllAccountsRebook
Description
Returns all accounts that are available as the from-account in rebooks, depending on type.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
type |
Rebook type: REBOOK (default), CORRECTION, FINALIZATION (for special bookings) |
X |
null |
|
date |
Effective date of accounts, defaults to today |
- |
null |
|
search |
Additional filter string, optional |
- |
null |
Return Type
array[AccountDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[AccountDto] |
400 |
Input invalid. Further information in the RestError response. |
4.5.9. GET /accounts/{account}/rebook_contra_accounts
- Operation Id
-
getAllAccountsRebookContra
Description
Returns all accounts that are available as the to-account in rebooks, depending on the type and from-account.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
account |
Account code |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
type |
Rebook type: REBOOK (default), CORRECTION, FINALIZATION (for special bookings) |
X |
null |
|
date |
Effective date of accounts, defaults to today |
- |
null |
|
search |
Additional filter string, optional |
- |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Account not found. |
4.5.10. GET /accounts/receipt_accounts
- Operation Id
-
getAllAccountsReceipt
Description
Returns all accounts that can be used for item lines in cash register receipts. This includes income and receivables accounts.
Parameters
Return Type
array[AccountDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[AccountDto] |
4.5.11. GET /bank_accounts/{bank_account}
- Operation Id
-
getBankAccountById
Description
Get a specific bank account by id
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
bank_account |
Bank account id |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Bank account not found. |
4.5.12. GET /bank_accounts
- Operation Id
-
getBankAccounts
Description
Returns all bank accounts.
Parameters
Return Type
array[BankAccountDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[BankAccountDto] |
4.6. DocumentManagement
4.6.1. GET /documents/staging
- Operation Id
-
getAllStaging
Description
Returns all current documents in the designated staging folder.
Parameters
Return Type
array[DocumentWithMetadataDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[DocumentWithMetadataDto] |
4.6.2. GET /documents/{provider}/{providerId}/binary
- Operation Id
-
getDocument
Description
Returns a specific document and its metadata. The path parameter consists of the document provider (internal DMS, or external like Dropbox) and the provider id for the file.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
provider |
Provider (DMS or DROPBOX) |
X |
null |
|
providerId |
Provider designated id for the document |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Document not found. |
4.6.3. GET /documents/{provider}/{providerId}
- Operation Id
-
getDocumentBinary
Description
Returns the binary data for a document.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
provider |
Provider (DMS or DROPBOX) |
X |
null |
|
providerId |
Provider designated id for the document |
X |
null |
Return Type
Content Type
-
application/octet-stream
4.6.4. POST /documents/staging
- Operation Id
-
postStaging
Description
Creates a new document in the staging folder and uploads one or multiple files in a multipart request. The metadata body defines optional attributes to add to the document. The multipart attachment can be one file of a supported type (PDF, images) or multiple images, which are then merged into a single PDF in the backend. See the examples for a multipart request.
Parameters
Form Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentDescription |
An optional description of the document itself. Will be shown as additional information and used for search. [string] |
- |
null |
|
skipOcr |
If set to true, this document will not be processed automatically by OCR services. [boolean] |
- |
null |
|
metadata |
A list of metadata to include with the new document. DocumentMetadataDto |
- |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
201 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.6.5. POST /documents/staging/json
- Operation Id
-
postStagingJson
Description
Creates a new document in the staging folder and uploads a base64-encoded file. The metadata defines optional attributes to add to the document.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
DocumentJsonUploadDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
201 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.7. Foundation
4.7.1. GET /countries
- Operation Id
-
getAllCountries
Description
Returns all countries.
Parameters
Return Type
array[CountryDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[CountryDto] |
4.7.2. GET /currencies
- Operation Id
-
getAllCurrencies
Description
Returns all currencies.
Parameters
Return Type
array[CurrencyDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[CurrencyDto] |
4.7.3. GET /countries/{country}/regions
- Operation Id
-
getAllRegions
Description
Get all regions for a country
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
country |
Country code |
X |
null |
Return Type
array[RegionDto]
Content Type
-
application/json
4.7.4. GET /units_of_measure
- Operation Id
-
getAllUnitsOfMeasure
Description
Returns all units of measure.
Parameters
Return Type
array[UnitOfMeasureDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[UnitOfMeasureDto] |
4.7.5. GET /countries/{country}
- Operation Id
-
getCountry
Description
Returns a specific country by its country code.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
country |
Country code |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Country not found. |
4.7.6. GET /countries/{country}/regions/{region}
- Operation Id
-
getRegion
Description
Get a specific region for a country
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
country |
Country code |
X |
null |
|
region |
Region code |
X |
null |
Return Type
Content Type
-
application/json
4.7.7. POST /notifications
- Operation Id
-
getUnreadNotifications
Description
Returns all unread notifications and marks them as read.
Parameters
Return Type
array[NotificationDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[NotificationDto] |
4.7.8. DELETE /session
- Operation Id
-
revokeSession
Description
Revokes the active session and invalidates the refresh token.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
refresh_token |
Current refresh token of the session. |
X |
null |
Return Type
-
Responses
Code | Message | Datatype |
---|---|---|
0 |
Operation completed successfully. |
<<>> |
4.8. Invoicing
4.8.1. POST /invoices/{invoice}/payments/{payment}/cancel
- Operation Id
-
cancelInvoicePayment
Description
Cancels a payment for an invoice.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice number |
X |
null |
|
payment |
Payment id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
PaymentCancellationDto |
Payment cancellation info PaymentCancellationDto |
X |
Return Type
array[PaymentHistoryDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[PaymentHistoryDto] |
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Invoice or payment not found. |
4.8.2. GET /invoices
- Operation Id
-
getAllInvoices
Description
Returns all finalized and external invoices. Documents created for staging do not have a number and are therefore not returned over the API.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
updated_since |
Return only invoices updated after this timestamp in milliseconds (Instant.now().toEpochMilli()) |
- |
null |
|
paid |
Return only paid (true) or unpaid (false) invoices |
- |
null |
Return Type
array[InvoiceDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[InvoiceDto] |
4.8.3. GET /invoices/{invoice}
- Operation Id
-
getInvoice
Description
Returns a specific invoice by its number. Staging documents cannot be retrieved with this resource.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice number |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Invoice not found. |
4.8.4. GET /invoices/{invoice}/bookings
- Operation Id
-
getInvoiceBookings
Description
Returns all non-payment bookings for a specific invoice.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice number |
X |
null |
Return Type
array[PaymentHistoryDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[PaymentHistoryDto] |
404 |
Invoice not found. |
4.8.5. GET /invoices/{invoice}/document
- Operation Id
-
getInvoiceDocument
Description
Returns the current PDF document of a specific invoice as binary data.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice number |
X |
null |
Return Type
Content Type
-
application/octet-stream
4.8.6. GET /invoices/{invoice}/payments
- Operation Id
-
getInvoicePayments
Description
Returns all payments for a specific invoice.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice number |
X |
null |
Return Type
array[PaymentHistoryDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[PaymentHistoryDto] |
404 |
Invoice not found. |
4.8.7. POST /invoices
- Operation Id
-
postInvoice
Description
Creates a new invoice. Depending on the supplied state, invoices are either created for staging (and completed manually) or immediately finalized. Once finalized, a number is assigned and the PDF created. If a number is coming from an external system, the EXTERNAL state and an id must be set. External documents cannot be edited and no PDF is created.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
InvoiceDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.8.8. POST /invoices/{invoice}/cancel
- Operation Id
-
postInvoiceCancel
Description
Cancels a specific invoice. Only finalized or external documents can be cancelled.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice number |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
BusinessDocumentCancelDto |
- |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Invoice not found. |
4.8.9. POST /invoices/{invoice}/payments
- Operation Id
-
postInvoicePayment
Description
Creates a new payment for an invoice.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice number |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
InvoicePaymentDto |
Payment to create InvoicePaymentDto |
X |
Return Type
array[PaymentHistoryDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[PaymentHistoryDto] |
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Invoice not found. |
4.9. InvoicingCreditMemo
4.9.1. POST /credit_memos/{credit_memo}/payments/{payment}/cancel
- Operation Id
-
cancelCreditMemoPayment
Description
Cancels a payment for a credit memo.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
credit_memo |
Credit memo number |
X |
null |
|
payment |
Payment id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
PaymentCancellationDto |
Payment cancellation info PaymentCancellationDto |
X |
Return Type
array[PaymentHistoryDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[PaymentHistoryDto] |
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Invoice or payment not found. |
4.9.2. GET /credit_memos
- Operation Id
-
getAllCreditMemos
Description
Returns all finalized and external credit memos. Documents created for staging do not have a number and are therefore not returned over the API.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
updated_since |
Return only documents updated after this timestamp in milliseconds (Instant.now().toEpochMilli()) |
- |
null |
|
paid |
Return only paid (true) or unpaid (false) credit memos |
- |
null |
Return Type
array[CreditMemoDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[CreditMemoDto] |
4.9.3. GET /credit_memos/{credit_memo}
- Operation Id
-
getCreditMemo
Description
Returns a specific credit memo by its number. Staging documents cannot be retrieved with this resource.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
credit_memo |
Credit memo number |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Credit memo not found. |
4.9.4. GET /credit_memos/{credit_memo}/bookings
- Operation Id
-
getCreditMemoBookings
Description
Returns all non-payment bookings for a specific credit memo.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
credit_memo |
Credit memo number |
X |
null |
Return Type
array[PaymentHistoryDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[PaymentHistoryDto] |
404 |
Credit memo not found. |
4.9.5. GET /credit_memos/{credit_memo}/document
- Operation Id
-
getCreditMemoDocument
Description
Returns the current PDF document of a specific credit memo as binary data.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
credit_memo |
Credit memo number |
X |
null |
Return Type
Content Type
-
application/octet-stream
4.9.6. GET /credit_memos/{credit_memo}/payments
- Operation Id
-
getCreditMemoPayments
Description
Returns all payments for a specific credit memo.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
credit_memo |
Credit memo number |
X |
null |
Return Type
array[PaymentHistoryDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[PaymentHistoryDto] |
404 |
Credit memo not found. |
4.9.7. POST /credit_memos
- Operation Id
-
postCreditMemo
Description
Creates a new credit memo. Depending on the supplied state, credit memos are either created for staging (and completed manually) or immediately finalized. Once finalized, a number is assigned and the PDF is created. If a number is coming from an external system, the EXTERNAL state and an id must be set. External documents cannot be edited and no PDF is created.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
CreditMemoDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.9.8. POST /credit_memos/{credit_memo}/cancel
- Operation Id
-
postCreditMemoCancel
Description
Cancels a specific credit memo. Only finalized or external documents can be cancelled.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
credit_memo |
Credit memo number |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
BusinessDocumentCancelDto |
- |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Credit memo not found. |
4.9.9. POST /credit_memos/{credit_memo}/payments
- Operation Id
-
postCreditMemoPayment
Description
Creates a new payment for a credit memo.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
credit_memo |
Credit memo number |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
CreditMemoPaymentDto |
X |
Return Type
array[PaymentHistoryDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[PaymentHistoryDto] |
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Credit memo not found. |
4.10. InvoicingDeliveryNote
4.10.1. GET /delivery_notes
- Operation Id
-
getAllDeliveryNotes
Description
Returns all finalized and external delivery notes. Documents created for staging do not have a number and are therefore not returned over the API.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
updated_since |
Return only documents updated after this timestamp in milliseconds (Instant.now().toEpochMilli()) |
- |
null |
Return Type
array[PaymentHistoryDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[PaymentHistoryDto] |
4.10.2. GET /delivery_notes/{delivery_note}
- Operation Id
-
getDeliveryNote
Description
Returns a specific delivery note by its number. Staging documents cannot be retrieved with this resource.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
delivery_note |
Delivery note number |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Delivery note not found. |
4.10.3. GET /delivery_notes/{delivery_note}/document
- Operation Id
-
getDeliveryNoteDocument
Description
Returns the current PDF document of a specific delivery note as binary data.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
delivery_note |
Delivery note number |
X |
null |
Return Type
Content Type
-
application/octet-stream
-
application/json
4.10.4. POST /delivery_notes
- Operation Id
-
postDeliveryNote
Description
Creates a new delivery note. Depending on the supplied state, delivery notes are either created for staging (and completed manually) or immediately finalized. Once finalized, a number is assigned and the PDF created. If a number is coming from an external system, the EXTERNAL state and an id must be set. External documents cannot be edited and no PDF is created.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
DeliveryNoteDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.10.5. POST /delivery_notes/{delivery_note}/cancel
- Operation Id
-
postDeliveryNoteCancel
Description
Cancels a specific delivery note. Only finalized or external documents can be cancelled.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
delivery_note |
Delivery note number |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
BusinessDocumentCancelDto |
- |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Delivery note not found. |
4.10.6. POST /delivery_notes/{delivery_note}/complete
- Operation Id
-
postDeliveryNoteComplete
Description
Marks a specific delivery note as completed. Only finalized (and unfulfilled) delivery notes can be completed.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
delivery_note |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
BusinessDocumentCompletionDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Delivery note not found. |
4.11. InvoicingInvoiceTemplates
4.11.1. DELETE /invoice_templates/{invoice}
- Operation Id
-
deleteInvoiceTemplate
Description
Deletes an existing invoice template.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
invoice |
Invoice id |
X |
null |
Return Type
-
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
204 |
Operation completed successfully. |
<<>> |
404 |
Invoice not found. |
4.11.2. GET /invoice_templates
- Operation Id
-
getAllInvoiceTemplates
Description
Returns all invoice templates.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
search |
Search for specific keywords |
- |
null |
|
include_subscriptions |
Include subscription invoice templates, default false. |
- |
null |
Return Type
array[InvoiceTemplateDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[InvoiceTemplateDto] |
4.11.3. GET /invoice_templates/{template}
- Operation Id
-
getInvoiceTemplate
Description
Returns a specific invoice template by its id.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
template |
Invoice template id |
X |
null |
Return Type
array[InvoiceTemplateDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[InvoiceTemplateDto] |
4.11.4. POST /invoice_templates
- Operation Id
-
postInvoiceTemplate
Description
Creates a new invoice template.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
InvoiceTemplateDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.11.5. PUT /invoice_templates/{template}
- Operation Id
-
putInvoiceTemplate
Description
Update a existing invoice template.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
template |
Invoice template id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
InvoiceTemplateDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.12. InvoicingOffer
4.12.1. GET /offers
- Operation Id
-
getAllOffers
Description
Returns all finalized and external offers. Documents created for staging do not have a number and are therefore not returned over the API.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
updated_since |
Return only documents updated after this timestamp in milliseconds (Instant.now().toEpochMilli()) |
- |
null |
Return Type
array[OfferDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[OfferDto] |
4.12.2. GET /offers/{offer}
- Operation Id
-
getOffer
Description
Returns a specific offer by its number. Staging documents cannot be retrieved with this resource.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
offer |
Offer number |
X |
null |
Return Type
Content Type
-
application/json
4.12.3. GET /offers/{offer}/document
- Operation Id
-
getOfferDocument
Description
Returns the current PDF document of a specific offer as binary data.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
offer |
Offer number |
X |
null |
Return Type
Content Type
-
application/octet-stream
-
application/json
4.12.4. POST /offers
- Operation Id
-
postOffer
Description
Creates a new offer. Depending on the supplied state, offers are either created for staging (and completed manually) or immediately finalized. Once finalized, a number is assigned and the PDF created. If a number is coming from an external system, the EXTERNAL state and an id must be set. External documents cannot be edited and no PDF is created.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
OfferDto |
X |
Return Type
Content Type
-
application/json
4.12.5. POST /offers/{offer}/cancel
- Operation Id
-
postOfferCancel
Description
Cancel a specific offer. Only finalized or external documents can be cancelled.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
offer |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
BusinessDocumentCancelDto |
- |
Return Type
Content Type
-
application/json
4.12.6. POST /offers/{offer}/complete
- Operation Id
-
postOfferComplete
Description
Marks a specific offer as completed. Only finalized (and open) offers can be completed.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
offer |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
BusinessDocumentCompletionDto |
X |
Return Type
Content Type
-
application/json
4.13. InvoicingOfferTemplates
4.13.1. DELETE /offer_templates/{offer}
- Operation Id
-
deleteOfferTemplate
Description
Deletes an existing offer template.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
offer |
Offer id |
X |
null |
Return Type
-
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
<<>> |
404 |
Offer not found. |
4.13.2. GET /offer_templates
- Operation Id
-
getAllOfferTemplates
Description
Returns all offer templates.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
search |
Search for specific keywords |
- |
null |
Return Type
array[OfferTemplateDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[OfferTemplateDto] |
4.13.3. GET /offer_templates/{template}
- Operation Id
-
getOfferTemplate
Description
Returns a specific offer template by its id.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
template |
Offer template id |
X |
null |
Return Type
array[OfferTemplateDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[OfferTemplateDto] |
4.13.4. POST /offer_templates
- Operation Id
-
postOfferTemplate
Description
Creates a new offer template.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
OfferTemplateDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.13.5. PUT /offer_templates/{template}
- Operation Id
-
putOfferTemplate
Description
Update a existing offer template.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
template |
Offer template id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
OfferTemplateDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.14. InvoicingOrderConfirmation
4.14.1. GET /order_confirmations
- Operation Id
-
getAllOrderConfirmations
Description
Returns all finalized and external order confirmations. Documents created for staging do not have a number and are therefore not returned over the API.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
updated_since |
return only documents updated after this timestamp in milliseconds (Instant.now().toEpochMilli()) |
- |
null |
Return Type
array[OrderConfirmationDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[OrderConfirmationDto] |
4.14.2. GET /order_confirmations/{order_confirmation}
- Operation Id
-
getOrderConfirmation
Description
Returns a specific order confirmation by its number. Staging documents cannot be retrieved with this resource.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
order_confirmation |
Order confirmation number |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Order confirmation not found. |
4.14.3. GET /order_confirmations/{order_confirmation}/document
- Operation Id
-
getOrderConfirmationDocument
Description
Returns the current PDF document of a specific order confirmation as binary data.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
order_confirmation |
Order confirmation number |
X |
null |
Return Type
Content Type
-
application/octet-stream
4.14.4. POST /order_confirmations
- Operation Id
-
postOrderConfirmation
Description
Creates new order confirmation. Depending on the supplied state, order confirmations are either created for staging (and completed manually) or immediately finalized. Once finalized, a number is assigned and the PDF created. If a number is coming from an external system, the EXTERNAL state and an id must be set. External documents cannot be edited and no PDF is created.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
OrderConfirmationDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.14.5. POST /order_confirmations/{order_confirmation}/cancel
- Operation Id
-
postOrderConfirmationCancel
Description
Cancels a specific order confirmation. Only finalized or external documents can be cancelled.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
order_confirmation |
Order confirmation number |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
BusinessDocumentCancelDto |
- |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Order confirmation not found. |
4.14.6. POST /order_confirmations/{order_confirmation}/complete
- Operation Id
-
postOrderConfirmationComplete
Description
Marks a specific order confirmation as completed. Only finalized (and unfulfilled) delivery notes can be completed.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
order_confirmation |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
BusinessDocumentCompletionDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Order confirmation not found. |
4.15. InvoicingSetup
4.15.1. GET /dunning_levels
- Operation Id
-
getAllDunningLevels
Description
Returns all dunning levels.
Parameters
Return Type
array[DunningLevelDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[DunningLevelDto] |
4.15.2. GET /dunning_levels/first_levels
- Operation Id
-
getAllFirstDunningLevels
Description
Returns all fist dunning levels without a previous dunning level
Parameters
Return Type
array[DunningLevelDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[DunningLevelDto] |
4.15.3. GET /layout_setups
- Operation Id
-
getAllLayoutSetups
Description
Returns all layout setups. A layout setup can be supplied when finalizing business documents to change the PDF layout.
Parameters
Return Type
array[LayoutSetupDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[LayoutSetupDto] |
4.15.4. GET /payment_terms
- Operation Id
-
getAllPaymentTerms
Description
Returns all payment terms. A payment term can be supplied when creating invoices.
Parameters
Return Type
array[PaymentTermDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[PaymentTermDto] |
4.15.5. GET /sequence_groups
- Operation Id
-
getAllSequenceGroups
Description
Returns all business document sequence groups. A sequence group can be supplied when finalizing business documents.
Parameters
Return Type
array[SequenceGroupDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[SequenceGroupDto] |
4.16. Items
4.16.1. POST /items
- Operation Id
-
createItem
Description
Create a new item
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
ItemDto |
Item to create ItemDto |
X |
Return Type
Content Type
-
application/json
4.16.2. POST /item_categories
- Operation Id
-
createItemCategory
Description
Create a new item category
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
ItemCategoryDto |
Item category to create ItemCategoryDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.16.3. DELETE /items/{item}
- Operation Id
-
deleteItem
Description
Delete an existing item
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
item |
Item id |
X |
null |
Return Type
-
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
<<>> |
404 |
item not found |
4.16.4. DELETE /item_categories/{item_category}
- Operation Id
-
deleteItemCategory
Description
Delete an existing item category
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
item_category |
Item category id |
X |
null |
Return Type
-
Content Type
-
application/json
4.16.5. GET /item_categories
- Operation Id
-
getAllItemCategories
Description
Get all item categories
Parameters
Return Type
array[ItemCategoryDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[ItemCategoryDto] |
4.16.6. GET /items
- Operation Id
-
getAllItems
Description
Get all items
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
category |
item category id |
- |
null |
|
search |
search text |
- |
null |
|
limit |
return max. entry count |
- |
null |
|
mainCurrency |
return only items in main currency. Default: false |
- |
null |
Return Type
array[ItemDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[ItemDto] |
4.16.7. GET /items/paginated
- Operation Id
-
getAllItemsPaginated
Description
Get all items with optional slice and sort parameters. Max. limit of 1000.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
category |
Item category id, see /item_categories. Leave empty for all items, or set to NONE for items that have no category. |
- |
null |
|
search |
Search text, will filter for name, number, barcode, or category name. |
- |
null |
|
mainCurrency |
return only items in main currency. Default: false |
- |
null |
|
limit |
Limit of results. |
- |
null |
|
offset |
Offset to start with result set |
- |
null |
|
sort |
Comma separated list of sort params. The direction could append to the sort property by a colon. |
- |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
4.16.8. GET /items/{item}
- Operation Id
-
getItem
Description
Get a specific item
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
item |
Item id |
X |
null |
Return Type
Content Type
-
application/json
4.16.9. GET /item_categories/{item_category}
- Operation Id
-
getItemCategory
Description
Get a specific item category
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
item_category |
Item category id |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
item category not found |
4.16.10. PUT /items/{item}
- Operation Id
-
updateItem
Description
Update an existing item
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
item |
Item id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
ItemDto |
Complete item to upgrade ItemDto |
X |
Return Type
Content Type
-
application/json
4.16.11. PUT /item_categories/{item_category}
- Operation Id
-
updateItemCategory
Description
Update an existing item category
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
item_category |
Item category id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
ItemCategoryDto |
Complete item category to update ItemCategoryDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
item category not found |
|
400 |
Input invalid. Further information in the RestError response. |
4.17. MasterDataCustomer
4.17.1. DELETE /customers/{customer}
- Operation Id
-
deleteCustomer
Description
Deletes an existing customer.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
customer |
Customer id |
X |
null |
Return Type
-
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
<<>> |
404 |
Customer not found. |
4.17.2. DELETE /customers/{customer}/additional_addresses/{address}
- Operation Id
-
deleteCustomerAddress
Description
Deletes an existing additional address.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
customer |
Customer id |
X |
null |
|
address |
Address id |
X |
null |
Return Type
-
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
<<>> |
404 |
Customer or address not found. |
4.17.3. DELETE /customers/{customer}/additional_addresses/{address}/default
- Operation Id
-
deleteCustomerAddressDefault
Description
Marks an additional address as no longer being the default. The main address will then be used as default for the type.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
customer |
Customer id |
X |
null |
|
address |
Address id |
X |
null |
Return Type
-
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
<<>> |
404 |
Customer or address not found. |
4.17.4. GET /customers
- Operation Id
-
getAllCustomers
Description
Returns all customers.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
search |
search text |
- |
null |
|
limit |
return max. entry count |
- |
null |
Return Type
array[CustomerDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[CustomerDto] |
4.17.5. GET /customers/{customer}
- Operation Id
-
getCustomer
Description
Returns a specific customer.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
customer |
Customer id |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Customer not found. |
4.17.6. GET /customers/{customer}/additional_addresses/{address}
- Operation Id
-
getCustomerAddress
Description
Returns a specific address belonging to a customer.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
customer |
Customer id |
X |
null |
|
address |
Address id |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Customer or address not found. |
4.17.7. GET /customers/{customer}/additional_addresses
- Operation Id
-
getCustomerAddresses
Description
Returns all additional addresses belonging to a customer.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
customer |
Customer id |
X |
null |
Return Type
array[AdditionalAddressDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[AdditionalAddressDto] |
404 |
Customer not found. |
4.17.8. POST /customers
- Operation Id
-
postCustomer
Description
Creates a new customer.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
CustomerDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.17.9. POST /customers/{customer}/additional_addresses
- Operation Id
-
postCustomerAddress
Description
Adds a new additional address to a customer.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
customer |
Customer id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
AdditionalAddressDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Customer not found. |
4.17.10. POST /customers/{customer}/additional_addresses/{address}/default
- Operation Id
-
postCustomerAddressDefault
Description
Marks an additional address as the default for its type.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
customer |
Customer id |
X |
null |
|
address |
Address id |
X |
null |
Return Type
-
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
<<>> |
404 |
Customer or address not found. |
4.17.11. POST /customers/{customer}/create_contra_account
- Operation Id
-
postCustomerContraAccount
Description
Creates a new receivables contra account for the customer. Only available for double-entry accounting, and the customer must not already have such an account.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
customer |
Customer id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
CustomerSupplierContraAccountCreationDto |
- |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Customer not found. |
4.17.12. POST /customers/{customer}/default_address
- Operation Id
-
postCustomerDefaultAddress
Description
Marks a customer’s main address as the default for all types.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
customer |
Customer id |
X |
null |
Return Type
-
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
<<>> |
404 |
Customer not found. |
4.17.13. PUT /customers/{customer}
- Operation Id
-
putCustomer
Description
Updates an existing customer. Note that all fields must be supplied - missing fields will be overwritten as empty.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
customer |
Customer id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
CustomerDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Customer not found. |
4.17.14. PUT /customers/{customer}/additional_addresses/{address}
- Operation Id
-
putCustomerAddress
Description
Updates an existing address. Note that all fields must be supplied - missing fields will be overwritten as empty.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
customer |
Customer id |
X |
null |
|
address |
Address id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
AdditionalAddressDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Customer or address not found. |
4.17.15. PUT /customers/by_number
- Operation Id
-
putCustomerByNumber
Description
Creates or replaces a customer by the customer number. An exception will be thrown if the number is not unique to one customer. Note that all fields must be supplied - missing fields will be overwritten as empty.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
CustomerDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Customer not found. |
4.18. MasterDataSupplier
4.18.1. DELETE /suppliers/{supplier}
- Operation Id
-
deleteSupplier
Description
Deletes an existing supplier.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
supplier |
Supplier id |
X |
null |
Return Type
-
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
<<>> |
404 |
Supplier not found. |
4.18.2. GET /suppliers
- Operation Id
-
getAllSuppliers
Description
Returns all suppliers.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
search |
search text |
- |
null |
|
limit |
return max. entry count |
- |
null |
Return Type
array[SupplierDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[SupplierDto] |
4.18.3. GET /suppliers/{supplier}
- Operation Id
-
getSupplier
Description
Returns a specific supplier.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
supplier |
Supplier id |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Supplier not found. |
4.18.4. POST /suppliers
- Operation Id
-
postSupplier
Description
Creates a new supplier.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
SupplierDto |
Supplier to create SupplierDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.18.5. POST /suppliers/{supplier}/create_contra_account
- Operation Id
-
postSupplierContraAccount
Description
Creates a new payables contra account for the supplier. Only available for double-entry accounting, and the supplier must not already have such an account.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
supplier |
Supplier id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
CustomerSupplierContraAccountCreationDto |
- |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Supplier not found. |
4.18.6. PUT /suppliers/{supplier}
- Operation Id
-
putSupplier
Description
Updates an existing supplier. Note that all fields must be supplied - missing fields will be overwritten as empty.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
supplier |
Supplier id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
SupplierDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Supplier not found. |
4.18.7. PUT /suppliers/by_number
- Operation Id
-
putSupplierByNumber
Description
Creates or replaces a supplier by the supplier number. An exception will be thrown if the number is not unique to one supplier. Note that all fields must be supplied - missing fields will be overwritten as empty.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
SupplierDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.19. PointOfSale
4.19.1. GET /cash_registers/{cash_register}/receipts
- Operation Id
-
getAllCashRegisterReceipts
Description
Returns all receipts for a cash register.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register number |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
from |
Minimum date for returned receipts, ignored if invalid |
- |
null |
|
to |
Maximum date for returned receipts, ignored if invalid |
- |
null |
Return Type
array[ReceiptDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[ReceiptDto] |
404 |
Cash register not found. |
4.19.2. GET /cash_registers
- Operation Id
-
getAllCashRegisters
Description
Returns all active cash registers. The register number must be supplied when creating cash payments for invoices.
Parameters
Return Type
array[CashRegisterDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[CashRegisterDto] |
4.19.3. GET /cash_registers/{cash_register}/daily_closings
- Operation Id
-
getAllDailyClosings
Description
Returns all daily closings for a cash register.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register number |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
from |
Minimum date for returned daily closings, ignored if invalid |
- |
null |
|
to |
Maximum date for returned daily closings, ignored if invalid |
- |
null |
|
limit |
Maximum number of returned results |
- |
null |
Return Type
array[DailyClosingDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[DailyClosingDto] |
404 |
Cash register not found. |
4.19.4. GET /cash_registers/{cash_register}
- Operation Id
-
getCashRegister
Description
Returns a specific cash register.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register number |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Cash register not found. |
4.19.5. GET /cash_registers/{cash_register}/layout
- Operation Id
-
getCashRegisterLayout
Description
Get the current print layout setup of a specific cash register
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register number |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Cash register not found. |
4.19.6. GET /cash_registers/{cash_register}/daily_closings/{daily_closing}
- Operation Id
-
getDailyClosing
Description
Returns a specific daily closing for a cash register.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register number |
X |
null |
|
daily_closing |
Daily closing date |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Cash register or daily closing not found. |
4.19.7. GET /cash_registers/{cash_register}/daily_closings/last
- Operation Id
-
getDailyClosingLast
Description
Returns the last daily closing for a cash register.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register number |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Cash register or daily closing not found. |
4.19.8. GET /cash_registers/{cash_register}/receipts/item_summary
- Operation Id
-
getItemSummary
Description
Return a list of receipts grouped by items and time period
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register id |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
from |
Minimum date for returned receipts. Defaults to the first day of the current year. |
- |
null |
|
to |
Maximum date for returned receipts. Defaults to the last date of the current year. Cannot be more than one year apart from the minimum date. |
- |
null |
|
period |
The time period (YEAR, MONTH or DAY) for which the receipts should be summarized by. |
- |
DAY |
|
sort |
Comma separated list of sort params. The direction could append to the sort property by a colon. |
- |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
4.19.9. GET /cash_registers/{cash_register}/receipts/{receipt}
- Operation Id
-
getReceipt
Description
Returns a specific receipt for a cash register.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register number |
X |
null |
|
receipt |
the sequence number of the receipt |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Cash register or receipt not found. |
4.19.10. GET /cash_registers/{cash_register}/receipts/{receipt}/document
- Operation Id
-
getReceiptDocument
Description
Returns the current PDF of a receipt as binary data.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register number |
X |
null |
|
receipt |
the number of the receipt |
X |
null |
Header Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
referer |
- |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
type |
set content-disposition |
- |
attachment |
Return Type
Content Type
-
application/octet-stream
4.19.11. GET /cash_registers/{cash_register}/receipts/{receipt}/layout/star
- Operation Id
-
getReceiptLayoutStar
Description
Returns a specific receipt for a cash register in the star print layout.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register number |
X |
null |
|
receipt |
the sequence number of the receipt |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
width |
the width of fixed-size elements like tables |
- |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Cash register or receipt not found. |
4.19.12. GET /cash_registers/{cash_register}/receipts/user_summary
- Operation Id
-
getUserSummary
Description
Return a list of receipts grouped by users and time period
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register id |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
from |
Minimum date for returned receipts. Defaults to the first day of the current year. |
- |
null |
|
to |
Maximum date for returned receipts. Defaults to the last date of the current year. Cannot be more than one year apart from the minimum date. |
- |
null |
|
period |
The time period (YEAR, MONTH or DAY) for which the receipts should be summarized by. |
- |
DAY |
|
sort |
Comma separated list of sort params. The direction could append to the sort property by a colon. |
- |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
4.19.13. POST /cash_registers/{cash_register}/daily_closings/last/close_month
- Operation Id
-
postDailyClosingCloseMonth
Description
Closes the month with the last daily closing. The daily closing must be finalized and not already be closing the month. Note that the last daily closing will automatically close the month on the first booking in the next month.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register number |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Cash register or daily closing not found. |
4.19.14. POST /cash_registers/{cash_register}/daily_closings/last/close_year
- Operation Id
-
postDailyClosingCloseYear
Description
Closes the year with the last daily closing. The daily closing must be finalized and not already be closing the year. Note that the last daily closing will automatically close the year on the first booking in the next year.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register number |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Cash register or daily closing not found. |
4.19.15. POST /cash_registers/{cash_register}/daily_closings/last/finalize
- Operation Id
-
postDailyClosingLastFinalize
Description
Finalizes the last daily closing. It must be open to be finalized.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register number |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
DailyClosingFinalizationDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Cash register or daily closing not found. |
4.19.16. POST /cash_registers/{cash_register}/receipts
- Operation Id
-
postReceipt
Description
Creates a new receipt for the cash register.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register number |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
ReceiptDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Cash register not found. |
4.19.17. POST /cash_registers/{cash_register}/receipts/{receipt}/cancel
- Operation Id
-
postReceiptCancel
Description
Cancels a receipt for the cash register. The receipt must not have been cancelled or be a cancellation receipt.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register number |
X |
null |
|
receipt |
the sequence number of the receipt |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Cash register not found. |
4.19.18. POST /cash_registers/{cash_register}/receipts/{receipt}/send_mail
- Operation Id
-
postReceiptSendMail
Description
Sends an e-mail with the receipt. The mail address must be provided for verification even if the customer has an e-mail registered.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
cash_register |
Cash register number |
X |
null |
|
receipt |
the sequence number of the receipt |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
MailRecipientDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
|
404 |
Cash register not found. |
4.20. TravelExpenseManagement
4.20.1. GET /trips
- Operation Id
-
getAllTrips
Description
Returns all trips for the currently authenticated user.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
updated_since |
Return only trips updated after this timestamp in milliseconds (Instant.now().toEpochMilli()) |
- |
null |
|
from_date |
Return only trips after this date (inclusive) |
- |
null |
|
to_date |
Return only trips before this date (inclusive) |
- |
null |
|
vehicle_id |
The id for a specific vehicle |
- |
null |
|
search_text |
Search-text |
- |
null |
|
include_waypoints |
Show waypoints |
- |
null |
|
limit |
Maximum number of returned results |
- |
null |
Return Type
array[TripDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[TripDto] |
4.20.2. GET /vehicles
- Operation Id
-
getAllVehicles
Description
Returns all vehicles.
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
updated_since |
Return only vehicles updated after this timestamp in milliseconds (Instant.now().toEpochMilli()) |
- |
null |
Return Type
array[VehicleDto]
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
List[VehicleDto] |
4.20.3. GET /trips/{trip}
- Operation Id
-
getTrip
Description
Returns a trip by its id.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
trip |
Trip id |
X |
null |
Return Type
Content Type
-
application/json
4.20.4. GET /vehicles/{vehicle}
- Operation Id
-
getVehicle
Description
Returns a specific vehicle by its id.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
vehicle |
Vehicle id |
X |
null |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
404 |
Vehicle not found. |
4.20.5. POST /trips
- Operation Id
-
postTrip
Description
Creates a new trip for a vehicle.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
TripDto |
X |
Return Type
Content Type
-
application/json
4.20.6. POST /vehicles
- Operation Id
-
postVehicle
Description
Creates a new vehicle.
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
VehicleDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.20.7. PUT /trips/{trip}
- Operation Id
-
putTrip
Description
Update a trip. Waypoints cannot be updated and will be ignored.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
trip |
Trip id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
TripDto |
X |
Return Type
Content Type
-
application/json
4.20.8. PUT /vehicles/{vehicle}
- Operation Id
-
putVehicle
Description
Updates a vehicle.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
vehicle |
Vehicle id |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
VehicleDto |
X |
Return Type
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
Operation completed successfully. |
|
400 |
Input invalid. Further information in the RestError response. |
4.20.9. DELETE /trips/{trip}
- Operation Id
-
removeTrip
Description
Delete an existing trip entry
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
trip |
Trip id |
X |
null |
Return Type
-
Content Type
-
application/json
4.20.10. DELETE /vehicles/{vehicle}
- Operation Id
-
removeVehicle
Description
Delete an existing vehicle with no trips
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
vehicle |
Vehicle id |
X |
null |
Return Type
-
Content Type
-
application/json
5. Models
5.1. AccountBalanceDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
accountCode |
String |
Numeric account code. |
||
accountName |
String |
Readable, translated name. |
||
credit |
BigDecimal |
Account credit over the specified time period. |
||
debit |
BigDecimal |
Account debit over the specified time period. |
||
sum |
BigDecimal |
Account sum over the specified time period. |
5.2. AccountDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
String |
Numeric account code. |
||
name |
String |
Readable, translated name. |
||
type |
String |
Account type code. Types are organizational groups of accounts, but have no direct impact on bookings. Examples are E (incomes) and A (outgos) |
||
defaultTaxClassEntry |
String |
The code of the default tax class. If no tax class is specified, this class will be used, and if forced, only this class can be used. |
||
forcedTaxClass |
Boolean |
If the default tax class is forced, it must be set and bookings with different tax class entries are not allowed for this account. |
5.3. AccountLineDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
account |
X |
String |
Numeric account code. |
|
accountName |
X |
String |
Readable, translated name. |
|
accountClass |
X |
String |
Class to which this account belongs, defined as accounting group. This is usually based on the first number of the account code. |
Enum: GROUP_0, GROUP_1, GROUP_2, GROUP_3, GROUP_4, GROUP_4_CHANGES, GROUP_5, GROUP_6, GROUP_7, GROUP_8_GAINS, GROUP_8_LOSSES, GROUP_8_OTHER, GROUP_9, |
openingBalance |
BigDecimal |
The opening balance of the account. Is only returned when opening_balances was set in the request. |
||
monthSums |
X |
List of AccountMonthLineDto |
||
balanceSum |
BigDecimal |
The closing balance of the account. Is only returned when closing_entries was set in the request. |
||
totalSum |
BigDecimal |
The total sum of the account. Is only returned when totals was set in the request. |
5.4. AccountMonthLineDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
year |
X |
Integer |
int32 |
|
month |
X |
Integer |
int32 |
|
sum |
X |
BigDecimal |
5.5. AdditionalAddressDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
String |
UUID which identifies this instance of an address. |
||
identifier |
String |
Human-readable identifier to label this address. |
||
addressType |
String |
Determines whether this address is an invoice address, delivery address, or both (default). |
||
title |
String |
Human-readable title, like Dr., if the address references a person. |
||
firstName |
String |
First name if the address references a person. |
||
lastName |
String |
Last name if the address references a person. |
||
streetName |
String |
Street name of the address, excluding the number. |
||
streetNumber |
String |
Street number of the address. May include special characters to designate floor etc. |
||
zipCode |
String |
Zip code of the address. |
||
city |
String |
City of the address. |
||
country |
String |
Country code of the address. See the /countries resource for all available countries and their codes. Defaulted to AT. |
||
region |
String |
Region code of the address, depending on country. See the /countries/{country}/regions resource for all available regions and their codes. |
||
addressBranchNo |
String |
Address branch number of the company, if present. |
||
emailAddress |
String |
E-mail address belonging to the contact of this address. |
||
copyEmailAddress |
String |
E-mail address to which a copy of all correspondence should be sent (CC or BCC). |
||
copyEmailType |
String |
Copy type when a copy e-mail address is set (CC or BCC). Defaults to BCC. |
||
telNumber |
String |
Telephone number belonging to the contact of this address. |
||
faxNumber |
String |
Fax number belonging to the contact of this address. |
||
mobileNumber |
String |
Mobile number belonging to the contact of this address. |
||
skype |
String |
Skype user name belonging to the contact of this address. |
||
webAddress |
String |
Web address belonging to the contact, or the branch address. |
||
description |
String |
Short description or note belonging to this address. |
||
salutationCode |
String |
Salutation code for a contact as person. |
5.6. AddressInfoDto
Specific customer name and address for this document only. If set (with company name and/or customer name), no defaults from customer or address are applied.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
salutationCode |
String |
Salutation code for a contact as person. |
||
title |
String |
Title if the contact references a person. |
||
firstName |
String |
First name if the contact references a person. Required unless a company name is supplied. |
||
lastName |
String |
Last name if the contact references a person. Required unless a company name is supplied. |
||
compSalutationCode |
String |
Salutation code for a contact as a company. |
||
companyName |
String |
Company name for a company contact. Required unless a first and last name are supplied. |
||
streetName |
String |
Street name of the address, excluding the number. |
||
streetNumber |
String |
Street number of the address. May include special characters to designate floor etc. |
||
zipCode |
String |
Zip code of the address. |
||
city |
String |
City of the address. |
||
emailAddress |
String |
E-mail address belonging to the contact. |
||
copyEmailAddress |
String |
E-mail address belonging to the contact. |
||
copyEmailType |
String |
E-mail address belonging to the contact. |
Enum: CC, BCC, |
|
country |
String |
Country code of the address. See the /countries resource for all available countries and their codes. Defaulted to AT. |
||
region |
String |
Region code of the address, depending on country. See the /countries/{country}/regions resource for all available regions and their codes. |
5.7. Attachment
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
headers |
Map of [array] |
|||
object |
Object |
|||
dataHandler |
Attachment_dataHandler |
|||
contentDisposition |
ContentDisposition |
|||
contentId |
String |
|||
contentType |
Attachment_contentType |
5.8. AttachmentContentType
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
type |
String |
|||
subtype |
String |
|||
parameters |
Map of [string] |
|||
wildcardType |
Boolean |
|||
wildcardSubtype |
Boolean |
5.9. AttachmentDataHandler
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
dataSource |
Attachment_dataHandler_dataSource |
|||
commandMap |
Attachment_dataHandler_commandMap |
|||
transferDataFlavors |
||||
preferredCommands |
||||
allCommands |
||||
name |
String |
|||
inputStream |
Object |
|||
content |
Object |
|||
outputStream |
Object |
|||
contentType |
String |
5.10. AttachmentDataHandlerCommandMap
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
mimeTypes |
List of [string] |
5.11. AttachmentDataHandlerDataSource
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
name |
String |
|||
inputStream |
Object |
|||
outputStream |
Object |
|||
contentType |
String |
5.12. AttachmentDataHandlerPreferredCommandsInner
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
commandName |
String |
|||
commandClass |
String |
5.13. AttachmentDataHandlerTransferDataFlavorsInner
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
mimeType |
String |
|||
humanPresentableName |
String |
|||
subType |
String |
|||
representationClassInputStream |
Boolean |
|||
representationClassByteBuffer |
Boolean |
|||
flavorTextType |
Boolean |
|||
representationClassReader |
Boolean |
|||
representationClassCharBuffer |
Boolean |
|||
representationClassSerializable |
Boolean |
|||
representationClassRemote |
Boolean |
|||
mimeTypeSerializedObject |
Boolean |
|||
defaultRepresentationClassAsString |
String |
|||
flavorSerializedObjectType |
Boolean |
|||
flavorRemoteObjectType |
Boolean |
|||
flavorJavaFileListType |
Boolean |
|||
primaryType |
String |
5.14. BankAccountDto
A bank account represents a payment account. These are usually bank accounts, but can also include credit card and cash payment accounts.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
String |
Unique id for this bank account. |
||
name |
String |
Human-readable name for this bank account. |
||
bankName |
String |
Name of the financial institute. |
||
accountOwnerName |
String |
Name of the account owner. |
||
bic |
String |
BIC code of the account. Only present for bank accounts. |
||
iban |
String |
IBAN of the account. Only present for bank accounts. |
||
accountCode |
String |
Account code for the account tied to this bank account, see /accounts resource. |
||
accountUserDescription |
String |
Human-readable description of the account tied to this bank account, if present. |
||
currencyCode |
String |
Currency code for the account in ISO format. Defaults to EUR. |
||
shown |
Boolean |
Indicates if this bank account is displayed (true) or hidden from the GUI (false). |
5.15. BankStatementHeaderDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
bankAccount |
X |
String |
Bank account uuid for this statement header, see the /bank_accounts resource. |
|
bankAccountName |
String |
Human readable name of the bank account for this statement header. |
||
statementDate |
date |
Date of creation or export for this bank statement. |
date |
|
valueDateFrom |
date |
Earliest date of all statement lines in the header. |
date |
|
valueDateTo |
date |
Last date of all statement lines in the header. |
date |
|
id |
String |
Uuid for this statement header. |
||
fileName |
X |
String |
File name for the bank statement header. Will be sanitized. |
|
currencyCode |
String |
Currency code for the header in ISO format. Equals the currency of the bank account. |
||
status |
String |
Current processing status of the header. |
Enum: NEW, RECONCILED, IN_PROGRESS, NOT_RECONCILED, DELETED, |
5.16. BankStatementLineDto
Describes a bank statement line. Different, sometimes repeating, text properties map the different ways payment providers supply information about the transaction.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
reasonForTransfer |
String |
Information from the originator about the reason for the transaction. Split into multiple properties as payment providers assign the reason differently and sometimes in multiple fields. |
||
partnerAccountNumber |
String |
Account number of the person or company that received the transaction. |
||
originatorBankCode |
String |
Bank code of the person or company that originated the transaction. |
||
originatorAccountNumber |
String |
Account number of the person or company that originated the transaction. |
||
reasonForTransfer2 |
String |
Information from the originator about the reason for the transaction. Split into multiple properties as payment providers assign the reason differently and sometimes in multiple fields. |
||
reasonForTransfer1 |
String |
Information from the originator about the reason for the transaction. Split into multiple properties as payment providers assign the reason differently and sometimes in multiple fields. |
||
originatorBankReference |
String |
Bank reference of the person or company that originated the transaction. |
||
reasonForTransfer3 |
String |
Information from the originator about the reason for the transaction. Split into multiple properties as payment providers assign the reason differently and sometimes in multiple fields. |
||
valueDate |
X |
date |
Value date of the transaction, as submitted by the initiator. |
date |
amount |
X |
BigDecimal |
Total amount of the booking. Positive for credit, and negative for debit transactions. |
|
partnerName |
String |
Name of the person or company that received the transaction. |
||
partnerBankCode |
String |
Bank code of the person or company that received the transaction. |
||
customerData |
String |
Additional customer data about the transaction. |
||
reasonForTransfer5 |
String |
Information from the originator about the reason for the transaction. Split into multiple properties as payment providers assign the reason differently and sometimes in multiple fields. |
||
additionalText |
String |
Additional text supplied for the transaction. |
||
transactionId |
String |
Optional, unique transaction id. Lines with duplicate transaction ids are filtered out as duplicates. |
||
reasonForTransfer4 |
String |
Information from the originator about the reason for the transaction. Split into multiple properties as payment providers assign the reason differently and sometimes in multiple fields. |
||
bookingDate |
X |
date |
Actual booking date of the transaction, as determined by the bank. |
date |
originator |
String |
Name of the person or company that originated the transaction. |
||
note |
String |
Additional note supplied for the transaction. |
||
id |
Integer |
Line number of the line, must be unique. Will be auto-numbered on import. |
int32 |
|
currencyCode |
String |
Currency code for the line in ISO format. Defaults to the main currency. |
||
description |
String |
Description field describing the purpose of the line. |
||
status |
String |
Current import status, used to determine if a line is a potential duplicate of an earlier line. Potential duplicates can be submitted by PSD2 providers, but are marked as such. |
Enum: ACTIVE, POTENTIALLY_DUPLICATED, DELETED, |
5.17. BankStatementLineResultDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
addedCount |
Integer |
Number of lines that were created. |
int32 |
|
duplicatesCount |
Integer |
Number of lines that were detected as duplicates and skipped. |
int32 |
|
addedLines |
List of BankStatementLineDto |
All lines that were appended as a result of this operation. Only returned if returnLines in the request was set. |
||
duplicateTransactionIds |
List of [string] |
A distinct list of duplicate transaction ids that were ignored. Only returned if returnLines in the request was set. |
5.18. BankStatementRequestDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
bankStatementLines |
List of BankStatementLineDto |
The bank statement lines to append. |
||
returnLines |
Boolean |
Set to true if a list of created lines (and found duplicates) is to be included. Otherwise, only the counts will be returned. |
5.19. BusinessDocumentCancelDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
layoutSetup |
String |
Layout setup id of the layout to use for the cancellation document PDF, see /layout_setups resource. Is defaulted with the configured default setup. Ignored for EXTERNAL type business documents. |
||
cancellationDate |
date |
Date of cancellation, defaulted with today. |
date |
|
ebInterfaceVersion |
String |
If EB interface creation is configured, this property is mandatory and defines the EB interface version. |
Enum: NONE, V6_P1, V6_P0, V5_P0, V4_P3, V4_P2, V4_P1, V4_P0, V3_P02, V3_P0, |
|
sequenceGroup |
String |
Sequence group id, for when a different sequence group is to be used besides the configured default group. See the /sequence_groups resource. |
||
cancelType |
String |
Type of cancellation for the document. CANCELLATION (default) only cancels the document. For invoices, CANCELLATION_CREDIT_MEMO creates a positive credit memo, and CANCELLATION_INVOICE creates a negative cancellation invoice. |
Enum: CANCELLATION, CANCELLATION_CREDIT_MEMO, CANCELLATION_INVOICE, |
5.20. BusinessDocumentCompletionDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
completionDate |
X |
date |
The date the document was completed. Defaulted with today. |
date |
completionState |
X |
String |
The completion state to set. Allowed states are ACCEPTED and REJECTED for offers, IN_PROGRESS and DONE for order confirmations, and IN_PREPARATION and DELIVERED for delivery notes. |
Enum: ACCEPTED, REJECTED, IN_PROGRESS, DONE, IN_PREPARATION, DELIVERED, |
5.21. BusinessDocumentLineDto
List of all business document lines. The order of this array defines the numbers assigned to the lines.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
Integer |
Line number, automatically assigned based on order of creation. |
int32 |
|
name |
String |
Short name identifying the item of this line. |
||
description |
String |
Descriptive text for the item of the line. |
||
type |
String |
Special type of the line. LINE is the default and designates regular item lines, credit memos create CREDIT_MEMO lines (which are distinguished so they are not copied to non-credit-memo documents), DUNNING_FEE is added when a dunning is created for the invoice. CASH_IN_CM and ON_ACCT designate lines of pre-payments to an invoice, which are subtracted from the total and not copied. OFFER_OPTION is a special type for offers only, to indicate that a line in the offer is optional. OFFER_OPTION lines are not added to the total sum. TOTAL_DISCOUNT and TOTAL_SURCHARGE applies to all lines that are not ignored in total discount. |
Enum: LINE, DUNNING_FEE, CASH_IN_CM, ON_ACCT, CREDIT_MEMO, TOTAL_DISCOUNT, TOTAL_SURCHARGE, OFFER_OPTION, |
|
itemPrice |
BigDecimal |
Item price of a single unit. Must be present if an item reference is not supplied. |
||
itemPriceType |
String |
Determines it item price is net without tax (N) or total with tax (T). Must be present if an item reference is not supplied. |
Enum: N, T, |
|
unitOfMeasure |
String |
Short code for unit type, see the /units_of_measure resource. |
||
netPrice |
X |
BigDecimal |
Total net price of the line. Always required for verification. Maximum of 10 digits and 5 fractional digits. |
|
taxPrice |
X |
BigDecimal |
Total tax amount of the line. Always required for verification. Maximum of 10 digits and 5 fractional digits. |
|
totalPrice |
X |
BigDecimal |
Total price, including tax, of the line. Always required for verification, and must be the sum of net and tax price. Maximum of 10 digits and 5 fractional digits. |
|
remainingAmount |
BigDecimal |
The remaining unpaid amount of the line, which is reduced for every payment, or zero when the document is fully paid. Only for invoices and credit memos. |
||
discount |
BigDecimal |
Optional discount amount, either as a total amount or a percentage (defined in discount mode). Maximum of 10 digits and 5 fractional digits. |
||
discountMode |
String |
Determines whether discount is a total amount (CONSTANT) or a percentage (RATE). Must be set together with discount amount. |
Enum: RATE, CONSTANT, CONSTANT_TOTAL, |
|
amount |
X |
BigDecimal |
The total item amount, i.e. number of units purchased. Maximum of 10 digits and 5 fractional digits. |
|
itemNumber |
String |
Item number, identification, or barcode. Is defaulted from the item when an item reference is supplied. |
||
item |
String |
Item id, see the /items resource. When supplied with a valid item and item defaulting is enabled (default), then description, item net price, item number and unit of measure are defaulted, but can be overridden. Without defaulting, only the reference is saved, but no data from the item applied. |
||
itemDefaulting |
Boolean |
If not explicitly disabled, item data from a supplied item reference is defaulted for the line. When set to false, no data is defaulted and all fieldsmust be supplied in the request. |
||
account |
String |
Account code for the income account for this line, see the /accounts resource. Defaulted with the item account, if defaulting is not disabled. Otherwise a valid account must be supplied. |
||
taxClassEntry |
String |
Tax class entry code for the income account for this line, see the /accounts/{account}/tax_class_entries resource. Determines the tax rate and is defaulted with the item tax rate, if defaulting is not disabled. Otherwise, a valid tax class entry must be supplied. |
5.22. CancellationDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
cancelDate |
X |
date |
Date of the cancellation. |
date |
cancelReason |
X |
String |
Reason for the cancellation. |
5.23. CancelledInvoiceDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
String |
Number of the business document. Will be automatically generated, unless EXTERNAL is set for the state - then it is a mandatory property. Must be unique. |
||
uuid |
String |
Unique identifier of the business document. |
||
description |
String |
Description of the business document to be printed after the subject. Defaulted with configured layout, unless the state is EXTERNAL. |
||
internalDescription |
String |
Internal note that isn't printed. |
||
date |
X |
date |
Date of the invoice. Always required. |
date |
state |
X |
String |
Determines the state after creation. STAGING leaves the document open for editing, FINALIZED completes it, EXTERNAL for invoices created outside of the application, which requires a number (id) and will not create a PDF or default any layout properties. |
Enum: STAGING, FINALIZED, EXTERNAL, CANCELLED, |
netAmount |
BigDecimal |
Total net amount of the document. Must match the sum of all line net amounts if document is FINALIZED or EXTERNAL for verification. Maximum of 10 digits and 2 fractional digits. |
||
taxAmount |
BigDecimal |
Total tax amount of the document. Must match the sum of all line tax amounts if document is FINALIZED or EXTERNAL for verification. Maximum of 10 digits and 2 fractional digits. |
||
totalAmount |
BigDecimal |
Total amount of the document including tax. Must match the sum of all line totals if document is FINALIZED or EXTERNAL for verification. Maximum of 10 digits and 2 fractional digits. |
||
remainingAmount |
BigDecimal |
Remaining, unpaid amount of the document (invoice or credit memo). Decreases with payments, 0 for paid documents. |
||
currency |
String |
Currency code of the document, see the /currencies resource. Defaulted with EUR. |
||
currencyRate |
BigDecimal |
Currency rate of the document. Defaulted with 1. |
||
referenceText |
String |
Reference info to other documents, business case information, remittance numbers, etc. |
||
referenceDate |
date |
Optional reference date to another business case, transaction, etc. |
date |
|
footer |
String |
Description of the business document to be printed after the lines. Defaulted with configured layout, unless the state is EXTERNAL. |
||
customer |
String |
ID of the customer, see the /customers resource. |
||
customerName |
String |
Customer name, for when the customer doesn't have a record, or doesn't need one. Ignored if a customer id is set. |
||
layoutSetup |
String |
ID of the layout to be used, seee the /layout_setups resource. Defaulted with configured default setup, if any, and ignored if the document state is not FINALIZED. |
||
sequenceGroup |
String |
Sequence group id, for when a different sequence group is to be used besides the configured default group. See the /sequence_groups resource. |
||
updatedAt |
Date |
Timestamp of the last update. |
date-time |
|
lines |
X |
List of BusinessDocumentLineDto |
List of all business document lines. The order of this array defines the numbers assigned to the lines. |
|
additionalAddress |
String |
Additional address id, see the /customer/{customer}/additional_addresses resource. Sets an address besides the default to be used for this document. |
||
normalizeRoundingErrors |
Boolean |
Defines if rounding errors between the supplied document totals and lines should be corrected. If enabled, the supplied document totals will not be validated against the system-internal calculation. Instead, the supplied totals are taken as the actual invoice totals, and minor discrepancies (rounding errors) will be corrected in the totals of the last supplied document line to match the system calculation. Use this if your system calculates totals and rounds differently and you have trouble passing the validation. Enabling this will also disable the item price and amount validation against line totals. |
||
addressInfo |
AddressInfoDto |
|||
paymentTerm |
String |
Payment term id, see /payment_terms resource. Determines due date, dunning date, etc. and is defaulted with the configured default payment term, if any. |
||
deliveryFromDate |
date |
Delivery span. Defaulted with configured delivery date range setting. |
date |
|
deliveryToDate |
date |
Delivery span. Defaulted with configured delivery date range setting. |
date |
|
signed |
Boolean |
Determines if the document is to be signed after finalization. |
||
paidDate |
date |
Date the invoice was fully paid. |
date |
|
paid |
Boolean |
Marks if the invoice is fully paid. |
||
dueDate |
date |
Date the invoice is due. Calculated from the payment term. Can be set manually if the payment term does not define a fixed due date. |
date |
|
dunningDate |
date |
Date of the last dunning made for non-payment of the invoice. |
date |
|
lastDunningLevel |
Integer |
Last dunning level issued for the invoice. |
int32 |
|
ebInterfaceVersion |
String |
If EB interface creation is configured, this property is mandatory and defines the EB interface version. |
Enum: NONE, V6_P1, V6_P0, V5_P0, V4_P3, V4_P2, V4_P1, V4_P0, V3_P02, V3_P0, |
|
newDocumentNumber |
String |
Number of the business document created for the cancellation, if one was requested by the cancel type. |
5.24. CashRegisterDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
Integer |
Cash register number, which must be unique. |
int32 |
|
name |
String |
Human-readable name of the cash register. |
||
group |
String |
Optional, freely defined register group, for example by payment method or branch office. |
||
state |
String |
NEW indicates a new cash register that can be freely edited and is not active. ACTIVE are cash registers ready to accept receipts and are read-only except for a few properties. LOCKED registers have been decommissioned and cannot be used. TEST designates a freely usable test cash register, which is automatically created. |
Enum: NEW, READY, ACTIVE, LOCKED, TEST, |
|
currentBalance |
BigDecimal |
Current total balance of the register. Cannot drop below zero. |
||
allowPastIncome |
Boolean |
Receipts are usually created with the current date and time. If this is enabled, backdating receipts is allowed, and a date/time can be supplied on receipt creation. This is useful when receipts are created by hand for mobile workers and registered afterwards. Dating a receipt before the last receipt in the cash register is prohibited regardless of this setting. |
||
enableDrawback |
Boolean |
When this is enabled, all front-ends of the cash register are supposed to activate the cashback feature, i.e. display the amount of currency returned to the customer on overpayment. |
||
defaultRegister |
Boolean |
Indicates if this is the default cash register to use in frontends. |
||
bankAccountId |
String |
Bank account id for the cash payment account, see the /bank_accounts resource. Note that bank_accounts refers to payment accounts, which can also be cash, Paypal, or others. |
5.25. CashRegisterLayoutDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
description |
String |
Human-readable name of the layout. |
||
layoutPrintType |
String |
Defines the type of the layout, being either types for printers (like A4) or special receipt printer types. |
Enum: STANDARD, CUSTOM_PAPER, CUSTOM_TEMPLATE, STANDARD_PAPER, STANDARD_BON, SMALL_BON, APP_SMALL_BON, APP_BON, |
|
displaySubject |
String |
Subject line for the regular receipt. |
||
cancelDisplaySubject |
String |
Subject line for the cancellation receipt. |
||
positionLogo |
String |
Relative position of the logo (top image). |
Enum: LEFT, RIGHT, CENTER, |
|
positionHeader |
String |
Relative position of the header text. |
Enum: LEFT, RIGHT, CENTER, |
|
positionFooter |
String |
Relative position of the footer text. |
Enum: LEFT, RIGHT, CENTER, |
|
backgroundColor |
String |
Color of the background in HTML hex. |
||
fontColor |
String |
Color of the font in HTML hex. |
||
fontType |
String |
Font family, like ARIAL or COURIER. |
||
header |
String |
Header text printed at the top of the page. |
||
preLinesText |
String |
Text printed after the subject and before the receipt lines. |
||
postLinesText |
String |
Text printed after the receipt lines. |
||
footer |
String |
Footer text printed at the bottom of the page. |
||
logoContentType |
String |
Image format of the logo. |
Enum: JPG, JPEG, PNG, |
|
logo |
String |
Base64-encoded image to be printed at the top. |
||
amountType |
String |
For receipts printed on a printer with limited space (Star printer), this property determines if either the net or total price of a line should be printed on the receipt. |
Enum: N, T, |
|
printDiscount |
Boolean |
Defines if detailed discount information should be printed on the receipt. |
5.26. CbiPaymentDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
paymentType |
String |
Indicates if the payment should create a payment booking (= PAYMENT) or not, as a booking was already created manually before (= EXISTING_CREDIT). Defaults to PAYMENT. |
Enum: PAYMENT, EXISTING_CREDIT, DISCOUNT, IRRECOVERABLE, CURRENCY_DIFFERENCE, ROUNDING_DIFFERENCE, |
|
paymentAmount |
BigDecimal |
Total paid amount in the currency of the invoice. |
||
paymentAmountInMainCurrency |
BigDecimal |
Total paid amount in the accounting currency (usually EUR). |
||
contraAccount |
X |
String |
Account that made/received the payment. See the /accounts resource. Must be of the cash account type (U) and not be reserved (e.g. from a cash register). |
|
paymentDate |
X |
date |
Date of the payment. |
date |
currencyRate |
BigDecimal |
Currency rate at the payment date. Defaulted with 1. |
||
paymentDescription |
String |
Optional description of the payment. |
5.27. ContentDisposition
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
type |
String |
|||
filename |
String |
|||
parameters |
Map of [string] |
5.28. CountryDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
String |
2-letter country code. |
||
name |
String |
Localized name of the country. |
5.29. CreditMemoDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
String |
Number of the business document. Will be automatically generated, unless EXTERNAL is set for the state - then it is a mandatory property. Must be unique. |
||
uuid |
String |
Unique identifier of the business document. |
||
description |
String |
Description of the business document to be printed after the subject. Defaulted with configured layout, unless the state is EXTERNAL. |
||
internalDescription |
String |
Internal note that isn't printed. |
||
date |
X |
date |
Date of the invoice. Always required. |
date |
state |
X |
String |
Determines the state after creation. STAGING leaves the document open for editing, FINALIZED completes it, EXTERNAL for invoices created outside of the application, which requires a number (id) and will not create a PDF or default any layout properties. |
Enum: STAGING, FINALIZED, EXTERNAL, CANCELLED, |
netAmount |
BigDecimal |
Total net amount of the document. Must match the sum of all line net amounts if document is FINALIZED or EXTERNAL for verification. Maximum of 10 digits and 2 fractional digits. |
||
taxAmount |
BigDecimal |
Total tax amount of the document. Must match the sum of all line tax amounts if document is FINALIZED or EXTERNAL for verification. Maximum of 10 digits and 2 fractional digits. |
||
totalAmount |
BigDecimal |
Total amount of the document including tax. Must match the sum of all line totals if document is FINALIZED or EXTERNAL for verification. Maximum of 10 digits and 2 fractional digits. |
||
remainingAmount |
BigDecimal |
Remaining, unpaid amount of the document (invoice or credit memo). Decreases with payments, 0 for paid documents. |
||
currency |
String |
Currency code of the document, see the /currencies resource. Defaulted with EUR. |
||
currencyRate |
BigDecimal |
Currency rate of the document. Defaulted with 1. |
||
referenceText |
String |
Reference info to other documents, business case information, remittance numbers, etc. |
||
referenceDate |
date |
Optional reference date to another business case, transaction, etc. |
date |
|
footer |
String |
Description of the business document to be printed after the lines. Defaulted with configured layout, unless the state is EXTERNAL. |
||
customer |
String |
ID of the customer, see the /customers resource. |
||
customerName |
String |
Customer name, for when the customer doesn't have a record, or doesn't need one. Ignored if a customer id is set. |
||
layoutSetup |
String |
ID of the layout to be used, seee the /layout_setups resource. Defaulted with configured default setup, if any, and ignored if the document state is not FINALIZED. |
||
sequenceGroup |
String |
Sequence group id, for when a different sequence group is to be used besides the configured default group. See the /sequence_groups resource. |
||
updatedAt |
Date |
Timestamp of the last update. |
date-time |
|
lines |
X |
List of BusinessDocumentLineDto |
List of all business document lines. The order of this array defines the numbers assigned to the lines. |
|
additionalAddress |
String |
Additional address id, see the /customer/{customer}/additional_addresses resource. Sets an address besides the default to be used for this document. |
||
normalizeRoundingErrors |
Boolean |
Defines if rounding errors between the supplied document totals and lines should be corrected. If enabled, the supplied document totals will not be validated against the system-internal calculation. Instead, the supplied totals are taken as the actual invoice totals, and minor discrepancies (rounding errors) will be corrected in the totals of the last supplied document line to match the system calculation. Use this if your system calculates totals and rounds differently and you have trouble passing the validation. Enabling this will also disable the item price and amount validation against line totals. |
||
addressInfo |
AddressInfoDto |
|||
deliveryFromDate |
date |
Delivery span. Defaulted with configured delivery date range setting. |
date |
|
deliveryToDate |
date |
Delivery span. Defaulted with configured delivery date range setting. |
date |
|
paidDate |
date |
Date the credit memo was fully cashed out. |
date |
|
paid |
Boolean |
Marks if the credit memo is fully cashed out. |
||
signed |
Boolean |
Determines if the document is to be signed after finalization. |
||
ebInterfaceVersion |
String |
If EB interface creation is configured, this property is mandatory and defines the EB interface version. |
Enum: NONE, V6_P1, V6_P0, V5_P0, V4_P3, V4_P2, V4_P1, V4_P0, V3_P02, V3_P0, |
5.30. CreditMemoPaymentDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
currencyRate |
BigDecimal |
Currency rate at time of payment. Defaulted with 1. |
||
note |
String |
Optional information about the payment. |
||
date |
X |
date |
Date of the payment. |
date |
restType |
String |
Indicates if the unpaid amount should be flagged as complete (DISCOUNT, CORRECTION, UNCOLLECTABLE, ONACCOUNT, CREDIT_CASHED). Leave this property empty if no rest payment is to be made, i.e. this is a partial payment. |
Enum: RECEIVABLES, RECEIVABLES_DUNNING, PAYED, DISCOUNT, UNCOLLECTABLE, CANCELLED, ONACCOUNT, CURRENCY_DIFFERENCE, ROUNDING_DIFFERENCE, CORRECTION, CREDIT_FOR_INVOICE, CANCELLATION_INVOICE_FOR_INVOICE, CREDIT_CASHED, |
|
payingAccount |
String |
Account that received the payment, see the /accounts resource. Must be of the cash account type (U) and not be reserved (e.g. from a cash register). Either payingAccount or cashRegister must be supplied. |
||
cashRegister |
Integer |
Cash register number that is to process the payment, see the /cash_registers resource. The test register (id 0) cannot be used. Either cashRegister or payingAccount must be supplied. |
int32 |
5.31. CurrencyDto
Currencies to be used in items, receipts, and business documents.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
name |
String |
Human-readable name of the currency. |
||
id |
String |
Short code as identifier to be used in currency fields. |
5.32. CustomerDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
String |
UUID of the contact, automatically assigned. |
||
addressBranchNo |
String |
Address branch number of the company, if present. |
||
taxNumber |
String |
Tax number or UID number of the contact. May be used for matching the contact with document metadata for bookings. |
||
shortcut |
String |
Custom shortcut for the contact. |
||
rating |
Integer |
Custom rating |
int32 |
|
salutationCode |
String |
Salutation code for a contact as person. |
||
title |
String |
Title if the contact references a person. |
||
firstName |
String |
First name if the contact references a person. Required unless a company name is supplied. |
||
lastName |
String |
Last name if the contact references a person. Required unless a company name is supplied. |
||
compSalutationCode |
String |
Salutation code for a contact as a company. |
||
companyName |
String |
Company name for a company contact. Required unless a first and last name are supplied. |
||
streetName |
String |
Street name of the address, excluding the number. |
||
streetNumber |
String |
Street number of the address. May include special characters to designate floor etc. |
||
zipCode |
String |
Zip code of the address. |
||
city |
String |
City of the address. |
||
emailAddress |
String |
E-mail address belonging to the contact. |
||
mobileNumber |
String |
Mobile number belonging to the contact. |
||
telNumber |
String |
Telephone number belonging to the contact. |
||
faxNumber |
String |
Fax number belonging to the contact. |
||
skype |
String |
Skype user name belonging to the contact. |
||
description |
String |
Short description or note belonging to he contact. |
||
webAddress |
String |
Web address belonging to the contact. |
||
attribute1 |
String |
Client-defined custom attribute. Can be freely renamed or used. |
||
attribute2 |
String |
Client-defined custom attribute. Can be freely renamed or used. |
||
attribute3 |
String |
Client-defined custom attribute. Can be freely renamed or used. |
||
attribute4 |
String |
Client-defined custom attribute. Can be freely renamed or used. |
||
attribute5 |
String |
Client-defined custom attribute. Can be freely renamed or used. |
||
noVatNumber |
Boolean |
Determines if the contact is not a company (no UID tax). Defaulted to false. |
||
country |
String |
Country code of the address. See the /countries resource for all available countries and their codes. Defaulted to AT. |
||
region |
String |
Region code of the address, depending on country. See the /countries/{country}/regions resource for all available regions and their codes. |
||
accountOwner |
String |
Account owner of the bank account belonging to this contact. |
||
bankName |
String |
Bank institution name of the bank account belonging to this contact. |
||
bankBranchNumber |
String |
Bank branch number of the bank account belonging to this contact. |
||
accountNumber |
String |
Account number of the bank account belonging to this contact. |
||
bic |
String |
BIC of the bank account belonging to this contact. |
||
iban |
String |
IBAN of the bank account belonging to this contact. May be used for matching the contact with document metadata for bookings. |
||
defaultAccount |
String |
Account code for the default account, see /accounts resource. Will be used as default for new incoming/outgoing invoices with the contact. |
||
defaultTaxClassEntry |
String |
Tax class entry code for the default tax class, see /accounts/{account}/tax_class_entries resource. Will be used as default for new incoming/outgoing invoices with the contact. |
||
defaultInvoiceAddress |
String |
Additional address id for the default address to use for invoices. |
||
defaultDeliveryAddress |
String |
Additional address id for the default address to use for delivery notes. |
||
contraAccount |
String |
Account code for the (unpaid) contra account, see the /account resource. will be used for new incoming/outgoing invoices in double-entry accounting. If createContraAccount is set, this code determines the account code that will be assigned to the created contra account. |
||
createContraAccount |
Boolean |
If true, a new contra account will be created, optionally with a specified code (contraAccount). If customer/supplier has a contra account already set, no contra account will be created. Double-entry accounting only. |
||
customerNumber |
String |
Custom number for the customer. If autonumbering is enabled, this property is ignored and the number will be generated. |
||
mySupplierNumber |
String |
Number or identifier the customer assigned to your client. |
||
gln |
String |
Global location number of the customer. |
||
duns |
String |
Data Universal Numbering System (DUNS) number of the customer. |
||
otherIdentifier |
String |
Optional third-party identifier not covered by other properties. |
||
dunningStop |
Boolean |
If is set true, you have to set the reason too. Default: false |
||
dunningStopReason |
String |
Reason for the dun stop |
||
defaultDunningLevel |
String |
Dunning level id, just if dunning stop is set to false. see the /dunning_levels resource |
||
discount |
BigDecimal |
Optional discount percentage for this customer. Can be used in invoicing, but is not automatically applied when using the API. |
5.33. CustomerSupplierContraAccountCreationDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
contraAccount |
String |
Account code that should be used for the new contra account. Must not be used already, see the /accounts resource. |
5.34. DailyClosingDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
date |
Date of the daily closing, unique. |
date |
|
creationDate |
Date |
Timestamp of the creation date of this daily closing. |
date-time |
|
state |
String |
State of the daily closing. Once FINALIZED or BOOKED, no further receipts are possible. |
Enum: OPEN, FINALIZED, BOOKED, |
|
openingBalance |
BigDecimal |
Balance of the cash register at time of opening. |
||
closingBalance |
BigDecimal |
Balance of the cash register at the time of finalizing the daily closing. |
||
incomeCount |
Integer |
Number of income receipts at the time of closing. |
int32 |
|
rebookCount |
Integer |
Number of rebook receipts at the time of closing. |
int32 |
|
otherCount |
Integer |
Number of special receipts, like monthly and yearly closing receipts, at the time of closing. |
int32 |
|
totalCount |
Integer |
Total number of receipts at the time of closing. |
int32 |
|
monthlyClosing |
Boolean |
Indicates if this closing also closes the month. Once a month is closed, no further receipts can be registered for it. Is done automatically to the last closing of a month when a closing for the next month is opened. |
||
yearlyClosing |
Boolean |
Indicates if this closing also closes the year. Once a year is closed, no further receipts can be registered for it. Is done automatically to the last closing of a year when a closing for the next year is opened. |
5.35. DailyClosingFinalizationDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
closingBalance |
X |
BigDecimal |
The daily closing balance as provided by the API or calculated. Must match the backend closing balance for confirmation. |
|
totalCount |
X |
Integer |
The daily total receipt count as provided by the API or calculated. Must match the backend closing balance for confirmation. |
int32 |
5.36. DeliveryNoteDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
String |
Number of the business document. Will be automatically generated, unless EXTERNAL is set for the state - then it is a mandatory property. Must be unique. |
||
uuid |
String |
Unique identifier of the business document. |
||
description |
String |
Description of the business document to be printed after the subject. Defaulted with configured layout, unless the state is EXTERNAL. |
||
internalDescription |
String |
Internal note that isn't printed. |
||
date |
X |
date |
Date of the invoice. Always required. |
date |
state |
X |
String |
Determines the state after creation. STAGING leaves the document open for editing, FINALIZED completes it, EXTERNAL for invoices created outside of the application, which requires a number (id) and will not create a PDF or default any layout properties. |
Enum: STAGING, FINALIZED, EXTERNAL, CANCELLED, |
netAmount |
BigDecimal |
Total net amount of the document. Must match the sum of all line net amounts if document is FINALIZED or EXTERNAL for verification. Maximum of 10 digits and 2 fractional digits. |
||
taxAmount |
BigDecimal |
Total tax amount of the document. Must match the sum of all line tax amounts if document is FINALIZED or EXTERNAL for verification. Maximum of 10 digits and 2 fractional digits. |
||
totalAmount |
BigDecimal |
Total amount of the document including tax. Must match the sum of all line totals if document is FINALIZED or EXTERNAL for verification. Maximum of 10 digits and 2 fractional digits. |
||
remainingAmount |
BigDecimal |
Remaining, unpaid amount of the document (invoice or credit memo). Decreases with payments, 0 for paid documents. |
||
currency |
String |
Currency code of the document, see the /currencies resource. Defaulted with EUR. |
||
currencyRate |
BigDecimal |
Currency rate of the document. Defaulted with 1. |
||
referenceText |
String |
Reference info to other documents, business case information, remittance numbers, etc. |
||
referenceDate |
date |
Optional reference date to another business case, transaction, etc. |
date |
|
footer |
String |
Description of the business document to be printed after the lines. Defaulted with configured layout, unless the state is EXTERNAL. |
||
customer |
String |
ID of the customer, see the /customers resource. |
||
customerName |
String |
Customer name, for when the customer doesn't have a record, or doesn't need one. Ignored if a customer id is set. |
||
layoutSetup |
String |
ID of the layout to be used, seee the /layout_setups resource. Defaulted with configured default setup, if any, and ignored if the document state is not FINALIZED. |
||
sequenceGroup |
String |
Sequence group id, for when a different sequence group is to be used besides the configured default group. See the /sequence_groups resource. |
||
updatedAt |
Date |
Timestamp of the last update. |
date-time |
|
lines |
X |
List of BusinessDocumentLineDto |
List of all business document lines. The order of this array defines the numbers assigned to the lines. |
|
additionalAddress |
String |
Additional address id, see the /customer/{customer}/additional_addresses resource. Sets an address besides the default to be used for this document. |
||
normalizeRoundingErrors |
Boolean |
Defines if rounding errors between the supplied document totals and lines should be corrected. If enabled, the supplied document totals will not be validated against the system-internal calculation. Instead, the supplied totals are taken as the actual invoice totals, and minor discrepancies (rounding errors) will be corrected in the totals of the last supplied document line to match the system calculation. Use this if your system calculates totals and rounds differently and you have trouble passing the validation. Enabling this will also disable the item price and amount validation against line totals. |
||
addressInfo |
AddressInfoDto |
|||
completionDate |
date |
The date the delivery note was marked as delivered. |
date |
|
completionState |
String |
A completed delivery note has this state, being either IN_PREPARATION or DELIVERED. |
Enum: ACCEPTED, REJECTED, IN_PROGRESS, DONE, IN_PREPARATION, DELIVERED, |
5.37. DocumentJsonUploadDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
content |
X |
String |
Base64-encoded binary content of the document. |
|
fileName |
X |
String |
File name of the document. |
|
contentType |
X |
String |
MIME type of the document. Accepted are images, text/plain and application/pdf, all other types will be replaced by octet-stream. |
|
documentDescription |
String |
An optional description of the document itself. Will be shown as additional information and used for search. |
||
skipOcr |
Boolean |
If set to true, this document will not be processed automatically by OCR services. |
||
metadata |
List of DocumentMetadataDto |
A list of metadata to include with the new document. |
5.38. DocumentKeyDto
Document key identifying this document to the storage layer.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
providerId |
String |
The ID which identifies this particular document to the provider. |
||
provider |
String |
Provider type, i.e. where the file is stored. DMS is the app-internal storage, all others are external cloud storage providers. |
Enum: DMS, DROPBOX, GOOGLE_DRIVE, NEXTCLOUD, ONEDRIVE, |
5.39. DocumentMetadataDto
A list of metadata to include with the new document.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
textValue |
String |
Only one value type must be present. |
||
key |
X |
String |
A key describing the content of this field. |
Enum: INVOICE_DATE, PAID_DATE, DUE_DATE, MERCHANT_NAME, MERCHANT_FIRST_NAME, MERCHANT_LAST_NAME, MERCHANT_TELEPHONE, MERCHANT_IBAN, MERCHANT_TAX_NUMBER, MERCHANT_EMAIL, MERCHANT_STREET_NAME, MERCHANT_STREET_NUMBER, MERCHANT_ZIP_CODE, MERCHANT_CITY, MERCHANT_COUNTRY, CUSTOMER_NAME, CUSTOMER_FIRST_NAME, CUSTOMER_LAST_NAME, CUSTOMER_TELEPHONE, CUSTOMER_IBAN, CUSTOMER_TAX_NUMBER, CUSTOMER_EMAIL, CUSTOMER_STREET_NAME, CUSTOMER_STREET_NUMBER, CUSTOMER_ZIP_CODE, CUSTOMER_CITY, CUSTOMER_COUNTRY, CUSTOMER_NUMBER, INVOICE_NUMBER, ORDER_NUMBER, CURRENCY, NET_AMOUNT, TAX_AMOUNT, TOTAL_AMOUNT, TAX_RATE, DESCRIPTION, QR_CODE, IS_DUPLICATE, DUPLICATE_REFERENCE, PARTNER_NAME, PARTNER_FIRST_NAME, PARTNER_LAST_NAME, PARTNER_TELEPHONE, PARTNER_IBAN, PARTNER_TAX_NUMBER, PARTNER_EMAIL, PARTNER_STREET_NAME, PARTNER_STREET_NUMBER, PARTNER_ZIP_CODE, PARTNER_CITY, PARTNER_COUNTRY, RECIPIENT, |
priority |
Integer |
A number expressing the confidence or accuracy of the metadata, ranging between 1 and 255 with 1 being the highest. |
int32 |
|
numericValue |
BigDecimal |
Only one value type must be present. |
||
qualifier |
Integer |
A number describing if this metadata value belongs to a subgroup of information, for example a specific line of an invoice. |
int32 |
|
booleanValue |
Boolean |
Only one value type must be present. |
||
dateValue |
date |
Only one value type must be present. |
date |
5.40. DocumentWithMetadataDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
metadata |
List of DocumentMetadataDto |
A list of all metadata attached to the document. |
||
documentDescription |
String |
Optional document description. |
||
key |
DocumentKeyDto |
|||
fileName |
X |
String |
File name of the document. Will be sanitized and stripped of special characters. Whitespace will be replaced with underscores. |
|
contentType |
X |
String |
MIME type of the file. |
5.41. DunningLevelDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
String |
Id of the dunning level, automatically assigned. |
||
internalName |
String |
The internally assigned name. |
||
description |
String |
The description for this dunning level. |
||
documentSubject |
String |
The subject which is visible on the dunning document. |
||
fixedFee |
BigDecimal |
The fixed fee for this dunning level. |
||
feePercentage |
BigDecimal |
The fixed percentage for this dunning level. |
||
dunningDays |
Integer |
From which day the next dunning is due. |
int32 |
|
previousLevel |
String |
The dunning level that comes before. |
||
dunningLineText |
String |
The dunning text which is shown on the document. |
||
account |
String |
The account to which the fees are posted |
||
dunningEndText |
String |
The dunning text which is shown at the end on the document. |
||
taxClassEntry |
String |
The tax rate with which the dunning is created |
||
defaultFlag |
Boolean |
5.42. IncomingInvoiceCreationDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
String |
ID of the invoice, automatically assigned. |
||
invoiceSequence |
String |
Automatically assigned sequence number for booked invoices. Unpaid invoices in single-entry accounting don't have a sequence number. |
||
invoiceDate |
date |
Invoice date. Required for double entry accounting and with special bookings. |
date |
|
dueDate |
date |
Optional due date of the invoice. |
date |
|
paidDate |
date |
Date the invoice was paid. When supplied at invoice creation, the invoice is marked as paid immediately, and a booking created (for single-entry accounting) |
date |
|
paidContraAccount |
String |
The means-of-payment account the invoice is to be paid with, see the /accounts resource. Only used when the paid date is set on creation. |
||
cancelledReason |
String |
For cancelled invoices, the reason supplied during the cancellation. |
||
cancelledDate |
date |
Cancellation date. If a date is present, the invoice is treated as cancelled. |
date |
|
supplier |
String |
ID of the optional supplier, see the /suppliers resource. |
||
supplierName |
String |
Name of the supplier, if no ID is provided. |
||
invoiceReference |
String |
Optional reference to other receipts, invoices, etc. |
||
description |
String |
Optional description for the invoice. |
||
netTotal |
BigDecimal |
Net amount of the invoice. Will be calculated automatically. |
||
taxTotal |
BigDecimal |
Tax amount of the invoice. Will be calculated automatically. |
||
total |
BigDecimal |
Total amount of the invoice, including tax. Will be calculated automatically. |
||
remainingTotal |
BigDecimal |
Unpaid remaining amount in the invoice currency. |
||
remainingTotalInMainCurrency |
BigDecimal |
Unpaid remaining amount in the accounting currency (usually EUR). When fully paid, the remaining amount is 0. |
||
currency |
String |
Currency code of the invoice, see the /currencies resource. Defaulted with EUR. |
||
currencyRate |
BigDecimal |
Currency rate of the invoice. Defaulted with 1. |
||
lines |
List of InvoiceLineDto |
List of invoice lines. The supplied order of the array defines the assigned line numbers. |
||
bookings |
List of InvoiceBookingDto |
List of bookings registered with this invoice, like initial booking, payment and cancellation bookings. |
||
deliveryFromDate |
date |
Optional from date for a delivery span. Only available for double-entry accounting. |
date |
|
deliveryToDate |
date |
Optional to date for a delivery span. Only available for double-entry accounting. |
date |
5.43. IncomingInvoiceDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
String |
ID of the invoice, automatically assigned. |
||
invoiceSequence |
String |
Automatically assigned sequence number for booked invoices. Unpaid invoices in single-entry accounting don't have a sequence number. |
||
invoiceDate |
date |
Invoice date. Required for double entry accounting and with special bookings. |
date |
|
dueDate |
date |
Optional due date of the invoice. |
date |
|
paidDate |
date |
Date the invoice was paid. When supplied at invoice creation, the invoice is marked as paid immediately, and a booking created (for single-entry accounting) |
date |
|
cancelledReason |
String |
For cancelled invoices, the reason supplied during the cancellation. |
||
cancelledDate |
date |
Cancellation date. If a date is present, the invoice is treated as cancelled. |
date |
|
supplier |
String |
ID of the optional supplier, see the /suppliers resource. |
||
supplierName |
String |
Name of the supplier, if no ID is provided. |
||
invoiceReference |
String |
Optional reference to other receipts, invoices, etc. |
||
description |
String |
Optional description for the invoice. |
||
netTotal |
BigDecimal |
Net amount of the invoice. Will be calculated automatically. |
||
taxTotal |
BigDecimal |
Tax amount of the invoice. Will be calculated automatically. |
||
total |
BigDecimal |
Total amount of the invoice, including tax. Will be calculated automatically. |
||
remainingTotal |
BigDecimal |
Unpaid remaining amount in the invoice currency. |
||
remainingTotalInMainCurrency |
BigDecimal |
Unpaid remaining amount in the accounting currency (usually EUR). When fully paid, the remaining amount is 0. |
||
currency |
String |
Currency code of the invoice, see the /currencies resource. Defaulted with EUR. |
||
currencyRate |
BigDecimal |
Currency rate of the invoice. Defaulted with 1. |
||
deliveryFromDate |
date |
Optional from date for a delivery span. Only available for double-entry accounting. |
date |
|
deliveryToDate |
date |
Optional to date for a delivery span. Only available for double-entry accounting. |
date |
|
lines |
List of InvoiceLineDto |
List of invoice lines. The supplied order of the array defines the assigned line numbers. |
||
bookings |
List of InvoiceBookingDto |
List of bookings registered with this invoice, like initial booking, payment and cancellation bookings. |
5.44. IncomingInvoiceReturnDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
result |
IncomingInvoiceDto |
|||
warnings |
List of [string] |
List of localized warnings created during the operation. |
||
infos |
List of [string] |
List of localized reminders and information created during the operation. |
5.45. InvoiceBookingDto
List of bookings registered with this invoice, like initial booking, payment and cancellation bookings.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
String |
Uuid of the booking. |
||
type |
String |
Type of the booking: InvoiceInitialBookingDto for bookings that were generated in cash-based accounting or with the invoice, InvoicePaymentBookingDto for payments created in double-entry accounting, and InvoiceCancellationBookingDto for bookings that cancel another booking. |
||
number |
Integer |
Sequence number of the booking, starting with 1. Note that InvoiceCancellationBookingDto bookings share the number with the booking they cancel. |
int32 |
|
cancelled |
Boolean |
Indicates if the booking was cancelled. If set, a InvoiceCancellationBookingDto exists with the same number. |
||
reconciled |
Boolean |
Indicates if this booking was reconciled with an entity from another application module. If set, the booking cannot be cancelled directly and must be cancelled from the module. |
||
reconciliationType |
String |
The type of reconciliation, if it was reconciled. Currently only BANK_STATEMENT is a possible type. |
Enum: NONE, BANK_STATEMENT, |
|
journalNumber |
String |
The journal number of the journal generated with this booking. |
5.46. InvoiceDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
String |
Number of the business document. Will be automatically generated, unless EXTERNAL is set for the state - then it is a mandatory property. Must be unique. |
||
uuid |
String |
Unique identifier of the business document. |
||
description |
String |
Description of the business document to be printed after the subject. Defaulted with configured layout, unless the state is EXTERNAL. |
||
internalDescription |
String |
Internal note that isn't printed. |
||
date |
X |
date |
Date of the invoice. Always required. |
date |
state |
X |
String |
Determines the state after creation. STAGING leaves the document open for editing, FINALIZED completes it, EXTERNAL for invoices created outside of the application, which requires a number (id) and will not create a PDF or default any layout properties. |
Enum: STAGING, FINALIZED, EXTERNAL, CANCELLED, |
netAmount |
BigDecimal |
Total net amount of the document. Must match the sum of all line net amounts if document is FINALIZED or EXTERNAL for verification. Maximum of 10 digits and 2 fractional digits. |
||
taxAmount |
BigDecimal |
Total tax amount of the document. Must match the sum of all line tax amounts if document is FINALIZED or EXTERNAL for verification. Maximum of 10 digits and 2 fractional digits. |
||
totalAmount |
BigDecimal |
Total amount of the document including tax. Must match the sum of all line totals if document is FINALIZED or EXTERNAL for verification. Maximum of 10 digits and 2 fractional digits. |
||
remainingAmount |
BigDecimal |
Remaining, unpaid amount of the document (invoice or credit memo). Decreases with payments, 0 for paid documents. |
||
currency |
String |
Currency code of the document, see the /currencies resource. Defaulted with EUR. |
||
currencyRate |
BigDecimal |
Currency rate of the document. Defaulted with 1. |
||
referenceText |
String |
Reference info to other documents, business case information, remittance numbers, etc. |
||
referenceDate |
date |
Optional reference date to another business case, transaction, etc. |
date |
|
footer |
String |
Description of the business document to be printed after the lines. Defaulted with configured layout, unless the state is EXTERNAL. |
||
customer |
String |
ID of the customer, see the /customers resource. |
||
customerName |
String |
Customer name, for when the customer doesn't have a record, or doesn't need one. Ignored if a customer id is set. |
||
layoutSetup |
String |
ID of the layout to be used, seee the /layout_setups resource. Defaulted with configured default setup, if any, and ignored if the document state is not FINALIZED. |
||
sequenceGroup |
String |
Sequence group id, for when a different sequence group is to be used besides the configured default group. See the /sequence_groups resource. |
||
updatedAt |
Date |
Timestamp of the last update. |
date-time |
|
lines |
X |
List of BusinessDocumentLineDto |
List of all business document lines. The order of this array defines the numbers assigned to the lines. |
|
additionalAddress |
String |
Additional address id, see the /customer/{customer}/additional_addresses resource. Sets an address besides the default to be used for this document. |
||
normalizeRoundingErrors |
Boolean |
Defines if rounding errors between the supplied document totals and lines should be corrected. If enabled, the supplied document totals will not be validated against the system-internal calculation. Instead, the supplied totals are taken as the actual invoice totals, and minor discrepancies (rounding errors) will be corrected in the totals of the last supplied document line to match the system calculation. Use this if your system calculates totals and rounds differently and you have trouble passing the validation. Enabling this will also disable the item price and amount validation against line totals. |
||
addressInfo |
AddressInfoDto |
|||
paymentTerm |
String |
Payment term id, see /payment_terms resource. Determines due date, dunning date, etc. and is defaulted with the configured default payment term, if any. |
||
deliveryFromDate |
date |
Delivery span. Defaulted with configured delivery date range setting. |
date |
|
deliveryToDate |
date |
Delivery span. Defaulted with configured delivery date range setting. |
date |
|
signed |
Boolean |
Determines if the document is to be signed after finalization. |
||
paidDate |
date |
Date the invoice was fully paid. |
date |
|
paid |
Boolean |
Marks if the invoice is fully paid. |
||
dueDate |
date |
Date the invoice is due. Calculated from the payment term. Can be set manually if the payment term does not define a fixed due date. |
date |
|
dunningDate |
date |
Date of the last dunning made for non-payment of the invoice. |
date |
|
lastDunningLevel |
Integer |
Last dunning level issued for the invoice. |
int32 |
|
ebInterfaceVersion |
String |
If EB interface creation is configured, this property is mandatory and defines the EB interface version. |
Enum: NONE, V6_P1, V6_P0, V5_P0, V4_P3, V4_P2, V4_P1, V4_P0, V3_P02, V3_P0, |
5.47. InvoiceLineDto
List of invoice lines. The supplied order of the array defines the assigned line numbers.
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
description |
String |
Description text of the line. |
||
amount |
X |
BigDecimal |
The total item amount, i.e. number of units purchased. Maximum of 10 digits and 5 fractional digits. |
|
amountType |
X |
String |
Determines if the item price is net without tax (N) or total (T). For IG/reverse charge lines, the amount type must be N. |
Enum: N, T, |
account |
X |
String |
Account code to use for this line. See the /accounts resource, and the E account type. |
|
taxEntry |
String |
Tax class entry code for the tax class to use, defaulted from the account if not present. See the /accounts/{account}/tax_class_entries resource. |
||
taxRate |
BigDecimal |
Tax rate of the line, derived from the tax class entry. |
||
netAmount |
BigDecimal |
Total net amount of the line. Maximum of 10 digits and 2 fractional digits. |
||
taxAmount |
BigDecimal |
Total tax amount of the line. Maximum of 10 digits and 2 fractional digits. |
||
totalAmount |
BigDecimal |
Total amount (net + tax) of the line. Maximum of 10 digits and 2 fractional digits. |
||
privatePart |
BigDecimal |
Private part amount as total amount or percentage. Must be set with privatePartType. Maximum of 10 digits and 5 fractional digits. |
||
privatePartType |
String |
Determines if the private part is a fixed amount (A) or a percentage (P) |
||
privatePartAccount |
String |
Account code to use for the private part. Defaulted if not specified. See the /accounts resource - the account must be a private part account. |
||
taxEntryModifier |
String |
Tax class entry modifier for the tax class to use for special bookings. See the /accounts/{account}/tax_class_entries resource. (Relevant only for incoming invoices) |
||
additionalSequence |
String |
Additional sequence assigned to the line on creation, like an asset or purchase journal number. |
5.48. InvoicePaymentDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
currencyRate |
BigDecimal |
Currency rate at time of payment. Defaulted with 1. |
||
note |
String |
Optional information about the payment. |
||
date |
X |
date |
Date of the payment. |
date |
restType |
String |
Indicates if the unpaid amount should be flagged as complete (DISCOUNT, CORRECTION, UNCOLLECTABLE, ONACCOUNT, CREDIT_CASHED). Leave this property empty if no rest payment is to be made, i.e. this is a partial payment. |
Enum: RECEIVABLES, RECEIVABLES_DUNNING, PAYED, DISCOUNT, UNCOLLECTABLE, CANCELLED, ONACCOUNT, CURRENCY_DIFFERENCE, ROUNDING_DIFFERENCE, CORRECTION, CREDIT_FOR_INVOICE, CANCELLATION_INVOICE_FOR_INVOICE, CREDIT_CASHED, |
|
payingAccount |
String |
Account that received the payment, see the /accounts resource. Must be of the cash account type (U) and not be reserved (e.g. from a cash register). Either payingAccount or cashRegister must be supplied. |
||
cashRegister |
Integer |
Cash register number that is to process the payment, see the /cash_registers resource. The test register (id 0) cannot be used. Either cashRegister or payingAccount must be supplied. |
int32 |
|
amount |
X |
BigDecimal |
Total payment amount in the invoice currency. |
5.49. InvoiceTemplateDto
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
String |
Number of the business document. Will be automatically generated, unless EXTERNAL is set for the state - then it is a mandatory property. Must be unique. |
||
uuid |
String |
Unique identifier of the business document. |
||
description |
String |
Description of the business document to be printed after the subject. Defaulted with configured layout, unless the state is EXTERNAL. |
||
internalDescription |
String |
Internal note that isn't printed. |
||
date |
X |
date |
Date of the invoice. Always required. |
date |
state |
X |
String |
Determines the state after creation. STAGING leaves the document open for editing, FINALIZED completes it, EXTERNAL for invoices created outside of the application, which requires a number (id) and will not create a PDF or default any layout properties. |
Enum: STAGING, FINALIZED, EXTERNAL, CANCELLED, |
netAmount |
BigDecimal |
Total net amount of the document. Must match the sum of all line net amounts if document is FINALIZED or EXTERNAL for verification. Maximum of 10 digits and 2 fractional digits. |
||
taxAmount |
BigDecimal |
Total tax amount of the document. Must match the sum of all line tax amounts if document is FINALIZED or EXTERNAL for verification. Maximum of 10 digits and 2 fractional digits. |
||
totalAmount |
BigDecimal |
Total amount of the document including tax. Must match the sum of all line totals if document is FINALIZED or EXTERNAL for verification. Maximum of 10 digits and 2 fractional digits. |
||
remainingAmount |
BigDecimal |
Remaining, unpaid amount of the document (invoice or credit memo). Decreases with payments, 0 for paid documents. |
||
currency |
String |
Currency code of the document, see the /currencies resource. Defaulted with EUR. |
||
currencyRate |
BigDecimal |
Currency rate of the document. Defaulted with 1. |
||
referenceText |
String |
Reference info to other documents, business case information, remittance numbers, etc. |
||
referenceDate |
date |
Optional reference date to another business case, transaction, etc. |
date |
|
footer |
String |
Description of the business document to be printed after the lines. Defaulted with configured layout, unless the state is EXTERNAL. |
||
customer |
String |
ID of the customer, see the /customers resource. |
||
customerName |
String |
Customer name, for when the customer doesn't have a record, or doesn't need one. Ignored if a customer id is set. |
||
layoutSetup |
String |
ID of the layout to be used, seee the /layout_setups resource. Defaulted with configured default setup, if any, and ignored if the document state is not FINALIZED. |
||
sequenceGroup |
String |
Sequence group id, for when a different sequence group is to be used besides the configured default group. See the /sequence_groups resource. |
||
updatedAt |
Date |
Timestamp of the last update. |
date-time |
|
lines |
X |
List of BusinessDocumentLineDto |
List of all business document lines. The order of this array defines the numbers assigned to the lines. |
|
additionalAddress |
String |
Additional address id, see the /customer/{customer}/additional_addresses resource. Sets an address besides the default to be used for this document. |
||
normalizeRoundingErrors |
Boolean |
Defines if rounding errors between the supplied document totals and lines should be corrected. If enabled, the supplied document totals will not be validated against the system-internal calculation. Instead, the supplied totals are taken as the actual invoice totals, and minor discrepancies (rounding errors) will be corrected in the totals of the last supplied document line to match the system calculation. Use this if your system calculates totals and rounds differently and you have trouble passing the validation. Enabling this will also disable the item price and amount validation against line totals. |
||
addressInfo |
AddressInfoDto |
|||
paymentTerm |
String |
Payment term id, see /payment_terms resource. Determines due date, dunning date, etc. and is defaulted with the configured default payment term, if any. |
||
deliveryFromDate |
date |
Delivery span. Defaulted with configured delivery date range setting. |
date |
|
deliveryToDate |
date |
Delivery span. Defaulted with configured delivery date range setting. |
date |
|
signed |
Boolean |
Determines if the document is to be signed after finalization. |
||
paidDate |
date |
Date the invoice was fully paid. |
date |
|
paid |
Boolean |
Marks if the invoice is fully paid. |
||
dueDate |
date |
Date the invoice is due. Calculated from the payment term. Can be set manually if the payment term does not define a fixed due date. |
date |
|
dunningDate |
date |
Date of the last dunning made for non-payment of the invoice. |
date |
|