1. Overview

1.1. Version information

Version : 1.1

1.2. URI scheme

Host : ear1.freefinance.at
BasePath : /api/1.1
Schemes : HTTPS

1.3. Tags

  • CBS - Cash Based Accounting Setup

  • FND - Foundation Services

  • INV - Basic Invoicing Setup

  • INV - Credit Memos

  • INV - Delivery Notes

  • INV - Invoices

  • INV - Offers

  • INV - Order Confirmations

  • ITM - Item Management

  • MAS - Master Data

  • POS - Cash Registers

  • POS - Daily Closings

  • POS - Receipts

  • TEM - Travel Expense Management

2. Examples

2.1. Authentication

To obtain a JWT token, the client has to be authorized over OAuth2 first. Depending on the predefined type of the client, one of these flows are available:

  • Redirect the user for a log-in and get an authorization code returned which can be exchanged for a JWT and a refresh token

  • Have the user start a pairing process in the web UI and enter the pairing code in the client. The pairing code can be exchanged directly for a JWT and refresh token.

  • Trusted clients can generate a JWT themselves and exchange it for a server JWT. No refresh token will be issued.

2.1.1. Authorization code flow

First, the user is redirected to the Oauth2 Endpoint and client credentials are supplied as query parameters.

Request
GET <host>/oauth2/auth?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&state=STATE
  • client_id: The identifier received for the client

  • redirect_uri: One of the exact redirect URIs that was registered for the client. The API will return the authorization code to this URI.

  • state: A custom string that is provided by the client. The server will return this state with the authorization code. Example usages are client session or user identifiers.

Once the user has authorized the client, he will be redirected to the callback URI with the query parameters code and state. The code can then be exchanged for tokens:

Request
POST <host>/oauth2/token
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&
code=AUTH_CODE&
client_id=CLIENT_ID&
client_secret=CLIENT_SECRET

The client secret must be supplied, if one has been provided (for server-based apps). If no secret was issued (client-based apps), the client_secret-field must not be supplied.

Response
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).

2.1.2. Pairing flow

One the user has started a pairing process in the web UI, a short pairing code will be shown and must be supplied by the client. It will be valid for five minutes.

The Oauth2 password flow is used in a modified version:

Request
POST <host>/oauth2/token
Content-Type: application/x-www-form-urlencoded
grant_type=password&
username=USERNAME&
password=PASSWORD&
client_id=CLIENT_ID
  • username: The account user name that is to be paired

  • password: The pairing password displayed to the user. The actual account password must not be used and is not accepted.

  • client_id: The identifier received for the client.

Response
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.

Request
POST <host>/oauth2/token
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token&
refresh_token=REFRESH_TOKEN&
client_id=CLIENT_ID

The server will return an access token and a new refresh token. The old refresh token expires with a successful call.

Response
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)
    "jti":"9ed...6f89" (4)
 }
  1. 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.

  2. The user name of the target user for which this JWT is issued. The user must have allowed access for this client.

  3. The application client id for which the user has access rights. Usually a 4-digit id and visible in the web UI. The issued jwt will be authorized for this client id only.

  4. 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.

Request
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.

Response
HTTP/1.1 200 OK
Content-Type: application/json
{
    "access_token": "eyJhbGc....XmTEjg",
    "expires_in": 3600
}

2.2. INV: Create invoices

2.2.1. Staging

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.

Request
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
        }
    ]
}
  1. Alternatively, set a customer with the uuid to reference an existing customer.

  2. 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.

  3. Use the /accounts API to make sure that the account exists and that it allows the specified tax class.

Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
  "date": "2016-10-21",
  "state": "STAGING",
  "netAmount": 53.24,
  "taxAmount": 10.65,
  "totalAmount": 63.89,
  "remainingAmount": 63.89,
  "currency": "EUR",
  "currencyRate": 1,
  "footer": "<p>Steuerbefreit - Kleinunternehmer gem. §6(1)27 UStG</p><p>Vielen Dank für Ihren Auftrag!</p>",
  "customerName": "manubu GmbH",
  "updatedAt": "2016-12-15T10:14:38.265Z",
  "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"
    }
  ],
  "paymentTerm": "c587fecb-3ad8-16bc-6054-82c0ae70c132",
  "deliveryFromDate": "2016-10-21",
  "paid": false,
  "dueDate": "2016-11-04"
}

2.2.2. Finalized

A finalized invoice requires the totals to be set to prevent a mismatch between displayed and server-calculated prices.

Request
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": "ea3c86c8-0165-a81d-92c1-52b876c0dea7", (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
        }
    ]
}
  1. Can be omitted if a default layout setup is present and to be used.

Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
  "id": "R 2016-0123",
  "date": "2016-10-21",
  "state": "FINALIZED",
  "netAmount": 106.48,
  "taxAmount": 21.30,
  "totalAmount": 127.78,
  "remainingAmount": 127.78,
  "currency": "EUR",
  "currencyRate": 1,
  "footer": "<p>Steuerbefreit - Kleinunternehmer gem. §6(1)27 UStG</p><p>Vielen Dank für Ihren Auftrag!</p> Diese Rechnung wurde sowohl im Format PDF als auch als ebInterface XML erstellt.",
  "customerName": "manubu GmbH",
  "layoutSetup": "ea3c86c8-0165-a81d-92c1-52b876c0dea7",
  "updatedAt": "2016-12-15T10:10:42.763Z",
  "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"
    }
  ],
  "paymentTerm": "c587fecb-3ad8-16bc-6054-82c0ae70c132",
  "deliveryFromDate": "2016-10-21",
  "paid": false,
  "dueDate": "2016-11-04"
}

2.2.3. External

External documents require the id-field to be set. Layout information is not needed since no PDF will be generated.

Request
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"
    }
  ],
  "paymentTerm": "c587fecb-3ad8-16bc-6054-82c0ae70c132", (1)
  "deliveryFromDate": "2016-10-21",
  "deliveryToDate": "2016-10-30"
}
  1. Can be omitted if the default payment term is to be used. Note that the payment term sets the due date of the invoice.

Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
  "id": "ER 2016-0001",
  "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": "2016-12-15T11:05:48.170Z",
  "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": "c587fecb-3ad8-16bc-6054-82c0ae70c132",
  "deliveryFromDate": "2016-10-21",
  "deliveryToDate": "2016-10-30",
  "paid": false,
  "dueDate": "2016-11-04"
}

2.3. INV: Create payments

A simple payment subtracts the paid amount from the remaining amount. The invoice is marked as paid once the remaining amount reaches zero.

Request
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"
}
Response
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.

Request
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"
}
Response
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. POS: Create receipts

2.4.1. Income receipts

Income receipts are the most common type and can be created with or without item references.

Request
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"
    }
  ]

}
  1. The total amount of the receipts must match the total sum of all lines, otherwise an error will be returned.

  2. Indicates if the item unit price is net (N) or total (T)

  3. Use the /accounts API to make sure that the account exists and that it allows the specified tax class.

Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
  "id": "2017.0001",
  "type": "INCOME",
  "dateTime": "2017-01-12T14:51:48.813",
  "creationDateTime": "2017-01-12T14:51:48.832",
  "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"
    }
  ]
}

Alternatively, an item from the /items API can be supplied to default most fields.

Request
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
    }
  ]

}
  1. Even with item references the line and receipt totals must be supplied.

Response
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"
    }
  ]
}

2.4.2. 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.

Request
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)
}
  1. For a negative rebook (reducing the register balance), supply the toAccount instead.

Response
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. POS: Daily closings

The latest daily closing for a register can be obtained quickly with the last-path instead of the date as id.

Request
GET /api/1.1/cash_registers/1/daily_closings/last
Authorization: Bearer eyJhbGci...Vm-yw
Response
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
}
  1. 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.

Request
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
}
Response
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.

Request
POST /api/1.1/cash_registers/1/daily_closings/last/close_month
Content-Type: application/json
Authorization: Bearer eyJhbGci...Vm-yw
Response
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
}

3. Resources

3.1. CBS - Cash Based Accounting Setup

3.1.1. Get all accounts

GET /accounts
Description

Accounts are required for business document lines and can be optionally added to items. Every account has one or multiple tax class entries, such an entry is also required for a business document line.

Parameters
Type Name Description Schema

Query

type
optional

Account type code to filter, examples are E (revenue), M (revenue gastronomy), A (expenses), L (assets), S (miscellaneous), U (cash, rebooks, etc.)

enum (E, A, L, W, G, Z, S, F, U, C)

Responses
HTTP Code Description Schema

200

successful operation

< AccountDto > array

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.1.2. Get a specific account

GET /accounts/{account}
Parameters
Type Name Description Schema

Path

account
required

Account code

string

Responses
HTTP Code Description Schema

200

successful operation

AccountDto

404

account not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.1.3. Get all tax class entries for an account

GET /accounts/{account}/tax_class_entries
Description

A tax class entry references a specific tax rate for a business document line or item.

Parameters
Type Name Description Schema

Path

account
required

Account code

string

Responses
HTTP Code Description Schema

200

successful operation

< TaxClassEntryDto > array

400

account not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.1.4. Get a specific tax class entry for an account

GET /accounts/{account}/tax_class_entries/{tax_class_entry}
Parameters
Type Name Description Schema

Path

account
required

Account code

string

Path

tax_class_entry
required

Tax class entry code

string

Responses
HTTP Code Description Schema

200

successful operation

TaxClassEntryDto

400

account not found

RestError

404

tax class entry not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.2. FND - Foundation Services

3.2.1. Get all countries

GET /countries
Responses
HTTP Code Description Schema

200

successful operation

< CountryDto > array

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.2.2. Get a specific country

GET /countries/{country}
Parameters
Type Name Description Schema

Path

country
required

Country code

string

Responses
HTTP Code Description Schema

200

successful operation

CountryDto

404

country not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.2.3. Get all regions for a country

GET /countries/{country}/regions
Parameters
Type Name Description Schema

Path

country
required

Country code

string

Responses
HTTP Code Description Schema

200

successful operation

< RegionDto > array

400

country not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.2.4. Get a specific region for a country

GET /countries/{country}/regions/{region}
Parameters
Type Name Description Schema

Path

country
required

Country code

string

Path

region
required

Region code

string

Responses
HTTP Code Description Schema

200

successful operation

RegionDto

400

country not found

RestError

404

region not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.2.5. Get all unread notifications and mark them as read

POST /notifications
Responses
HTTP Code Description Schema

200

successful operation

< NotificationDto > array

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.2.6. Revoke the active session

DELETE /session
Parameters
Type Name Description Schema

Query

refresh_token
required

current refresh token of the session

string

Responses
HTTP Code Description Schema

default

successful operation

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.3. INV - Basic Invoicing Setup

3.3.1. Get all layout setups

GET /layout_setups
Description

A layout setup can be optionally defined for creating finalized documents.

Responses
HTTP Code Description Schema

200

successful operation

< LayoutSetupDto > array

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.3.2. Get all payment terms

GET /payment_terms
Description

A payment term can be supplied for creating finalized and external invoices

Responses
HTTP Code Description Schema

200

successful operation

< PaymentTermDto > array

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.4. INV - Credit Memos

3.4.1. Create a new credit memo

POST /credit_memos
Description

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 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
Type Name Description Schema

Body

body
required

Credit memo to create

CreditMemoDto

Responses
HTTP Code Description Schema

200

successful operation

CreditMemoDto

400

input invalid, see detailed message

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.4.2. Get all finalized and external credit memos

GET /credit_memos
Description

Documents created for staging are only visible in the application

Parameters
Type Name Description Schema

Query

paid
optional

return only paid (true) or unpaid (false) credit memos

boolean

Query

updated_since
optional

return only documents updated after this timestamp in milliseconds (Instant.now().toEpochMilli())

integer(int64)

Responses
HTTP Code Description Schema

200

successful operation

< CreditMemoDto > array

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.4.3. Get a specific credit memo

GET /credit_memos/{credit_memo}
Parameters
Type Name Description Schema

Path

credit_memo
required

Credit memo number

string

Responses
HTTP Code Description Schema

200

successful operation

CreditMemoDto

404

credit memo not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.4.4. Cancel a specific credit memo

POST /credit_memos/{credit_memo}/cancel
Description

Only finalized or external documents can be cancelled.

Parameters
Type Name Description Schema

Path

credit_memo
required

Credit memo number

string

Body

body
optional

Additional cancel info

BusinessDocumentCancelDto

Responses
HTTP Code Description Schema

200

successful operation

CreditMemoDto

400

input invalid, see detailed message

RestError

404

credit memo not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.4.5. Get the current pdf document of a specific credit memo as download

GET /credit_memos/{credit_memo}/document
Parameters
Type Name Description Schema

Path

credit_memo
required

Credit memo number

string

Responses
HTTP Code Description Schema

400

credit memo not found

RestError

404

credit memo document not found

RestError

Consumes
  • application/json

Produces
  • application/octet-stream

Security
Type Name

apiKey

JWT

3.4.6. Create a new payment for a credit memo

POST /credit_memos/{credit_memo}/payments
Parameters
Type Name Description Schema

Path

credit_memo
required

Credit memo number

string

Body

body
required

Payment to create

PaymentDto

Responses
HTTP Code Description Schema

200

successful operation

< PaymentHistoryDto > array

400

input invalid, see detailed message

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.4.7. Get all payments for a specific credit memo

GET /credit_memos/{credit_memo}/payments
Parameters
Type Name Description Schema

Path

credit_memo
required

Credit memo number

string

Responses
HTTP Code Description Schema

200

successful operation

< PaymentHistoryDto > array

404

credit memo not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.5. INV - Delivery Notes

3.5.1. Create a new delivery note

POST /delivery_notes
Description

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
Type Name Description Schema

Body

body
required

Delivery note to create

DeliveryNoteDto

Responses
HTTP Code Description Schema

200

successful operation

DeliveryNoteDto

400

input invalid, see detailed message

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.5.2. Get all finalized and external delivery notes

GET /delivery_notes
Description

Documents created for staging are only visible in the application

Parameters
Type Name Description Schema

Query

updated_since
optional

return only documents updated after this timestamp in milliseconds (Instant.now().toEpochMilli())

integer(int64)

Responses
HTTP Code Description Schema

200

successful operation

< PaymentHistoryDto > array

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.5.3. Get a specific delivery note

GET /delivery_notes/{delivery_note}
Parameters
Type Name Description Schema

Path

delivery_note
required

Delivery note number

string

Responses
HTTP Code Description Schema

200

successful operation

DeliveryNoteDto

404

delivery note not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.5.4. Cancel a specific delivery note

POST /delivery_notes/{delivery_note}/cancel
Description

Only finalized or external documents can be cancelled.

Parameters
Type Name Description Schema

Path

delivery_note
required

Delivery note number

string

Body

body
optional

Additional cancel info

BusinessDocumentCancelDto

Responses
HTTP Code Description Schema

200

successful operation

DeliveryNoteDto

400

input invalid, see detailed message

RestError

404

delivery note not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.5.5. Get the current pdf document of a specific delivery note as download

GET /delivery_notes/{delivery_note}/document
Parameters
Type Name Description Schema

Path

delivery_note
required

Delivery note number

string

Responses
HTTP Code Description Schema

400

delivery note not found

RestError

404

delivery note document not found

RestError

Consumes
  • application/json

Produces
  • application/octet-stream

Security
Type Name

apiKey

JWT

3.6. INV - Invoices

3.6.1. Create a new invoice

POST /invoices
Description

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
Type Name Description Schema

Body

body
required

Invoice to create

InvoiceDto

Responses
HTTP Code Description Schema

200

successful operation

InvoiceDto

400

input invalid, see detailed message

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.6.2. Get all finalized and external invoices

GET /invoices
Description

Documents created for staging are only visible in the application

Parameters
Type Name Description Schema

Query

paid
optional

return only paid (true) or unpaid (false) invoices

boolean

Query

updated_since
optional

return only invoices updated after this timestamp in milliseconds (Instant.now().toEpochMilli())

integer(int64)

Responses
HTTP Code Description Schema

200

successful operation

< InvoiceDto > array

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.6.3. Get a specific invoice

GET /invoices/{invoice}
Parameters
Type Name Description Schema

Path

invoice
required

Invoice number

string

Responses
HTTP Code Description Schema

200

successful operation

InvoiceDto

404

invoice not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.6.4. Cancel a specific invoice

POST /invoices/{invoice}/cancel
Description

Only finalized or external documents can be cancelled.

Parameters
Type Name Description Schema

Path

invoice
required

Invoice number

string

Body

body
optional

Additional cancel info

BusinessDocumentCancelDto

Responses
HTTP Code Description Schema

200

successful operation

InvoiceDto

400

input invalid, see detailed message

RestError

404

invoice not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.6.5. Get the current pdf document of a specific invoice as download

GET /invoices/{invoice}/document
Parameters
Type Name Description Schema

Path

invoice
required

Invoice number

string

Responses
HTTP Code Description Schema

400

invoice not found

RestError

404

invoice document not found

RestError

Consumes
  • application/json

Produces
  • application/octet-stream

Security
Type Name

apiKey

JWT

3.6.6. Create a new payment for an invoice

POST /invoices/{invoice}/payments
Parameters
Type Name Description Schema

Path

invoice
required

Invoice number

string

Body

body
required

Payment to create

PaymentDto

Responses
HTTP Code Description Schema

200

successful operation

< PaymentHistoryDto > array

400

input invalid, see detailed message

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.6.7. Get all payments for a specific invoice

GET /invoices/{invoice}/payments
Parameters
Type Name Description Schema

Path

invoice
required

Invoice number

string

Responses
HTTP Code Description Schema

200

successful operation

< PaymentHistoryDto > array

400

invoice not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.7. INV - Offers

3.7.1. Create a new offer

POST /offers
Description

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
Type Name Description Schema

Body

body
required

Offer to create

OfferDto

Responses
HTTP Code Description Schema

200

successful operation

OfferDto

400

input invalid, see detailed message

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.7.2. Get all finalized and external offers

GET /offers
Parameters
Type Name Description Schema

Query

updated_since
optional

return only documents updated after this timestamp in milliseconds (Instant.now().toEpochMilli())

integer(int64)

Responses
HTTP Code Description Schema

200

successful operation

< OfferDto > array

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.7.3. Get a specific offer

GET /offers/{offer}
Parameters
Type Name Description Schema

Path

offer
required

Offer number

string

Responses
HTTP Code Description Schema

200

successful operation

OfferDto

404

offer not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.7.4. Cancel a specific offer

POST /offers/{offer}/cancel
Description

Only finalized or external documents can be cancelled.

Parameters
Type Name Description Schema

Path

offer
required

string

Body

body
optional

Additional cancel info

BusinessDocumentCancelDto

Responses
HTTP Code Description Schema

200

successful operation

OfferDto

400

input invalid, see detailed message

RestError

404

offer not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.7.5. Get the current pdf document of a specific offer as download

GET /offers/{offer}/document
Parameters
Type Name Description Schema

Path

offer
required

Offer number

string

Responses
HTTP Code Description Schema

400

offer not found

RestError

404

offer document not found

RestError

Consumes
  • application/json

Produces
  • application/octet-stream

Security
Type Name

apiKey

JWT

3.8. INV - Order Confirmations

3.8.1. Create new order confirmation

POST /order_confirmations
Description

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
Type Name Description Schema

Body

body
required

Order confirmation to create

OrderConfirmationDto

Responses
HTTP Code Description Schema

200

successful operation

OrderConfirmationDto

400

input invalid, see detailed message

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.8.2. Get all finalized and external order confirmations

GET /order_confirmations
Parameters
Type Name Description Schema

Query

updated_since
optional

return only documents updated after this timestamp in milliseconds (Instant.now().toEpochMilli())

integer(int64)

Responses
HTTP Code Description Schema

200

successful operation

< OrderConfirmationDto > array

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.8.3. Get a specific order confirmation

GET /order_confirmations/{order_confirmation}
Parameters
Type Name Description Schema

Path

order_confirmation
required

Order confirmation number

string

Responses
HTTP Code Description Schema

200

successful operation

OrderConfirmationDto

404

order confirmation not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.8.4. Cancel a specific order confirmation

POST /order_confirmations/{order_confirmation}/cancel
Description

Only finalized or external documents can be cancelled.

Parameters
Type Name Description Schema

Path

order_confirmation
required

Order confirmation number

string

Body

body
optional

Additional cancel info

BusinessDocumentCancelDto

Responses
HTTP Code Description Schema

200

successful operation

OrderConfirmationDto

400

input invalid, see detailed message

RestError

404

order confirmation not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.8.5. Get the current pdf document of a specific order confirmation as download

GET /order_confirmations/{order_confirmation}/document
Parameters
Type Name Description Schema

Path

order_confirmation
required

Order confirmation number

string

Responses
HTTP Code Description Schema

400

order confirmation not found

RestError

404

order confirmation document not found

RestError

Consumes
  • application/json

Produces
  • application/octet-stream

Security
Type Name

apiKey

JWT

3.9. ITM - Item Management

3.9.1. Create a new item category

POST /item_categories
Parameters
Type Name Description Schema

Body

body
required

Item category to create

ItemCategoryDto

Responses
HTTP Code Description Schema

200

successful operation

ItemCategoryDto

400

input invalid, see detailed message

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.9.2. Get all item categories

GET /item_categories
Responses
HTTP Code Description Schema

200

successful operation

< ItemCategoryDto > array

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.9.3. Get a specific item category

GET /item_categories/{item_category}
Parameters
Type Name Description Schema

Path

item_category
required

Item category uuid

string

Responses
HTTP Code Description Schema

200

successful operation

ItemCategoryDto

404

item category not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.9.4. Update an existing item category

PUT /item_categories/{item_category}
Parameters
Type Name Description Schema

Path

item_category
required

Item category uuid

string

Body

body
required

Complete item category to update

ItemCategoryDto

Responses
HTTP Code Description Schema

200

successful operation

ItemCategoryDto

400

input invalid, see detailed message

RestError

404

item category not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.9.5. Delete an existing item category

DELETE /item_categories/{item_category}
Parameters
Type Name Description Schema

Path

item_category
required

Item category uuid

string

Responses
HTTP Code Description Schema

400

input invalid, see detailed message

RestError

404

item category not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.9.6. Create a new item

POST /items
Parameters
Type Name Description Schema

Body

body
required

Item to create

ItemDto

Responses
HTTP Code Description Schema

200

successful operation

ItemDto

400

input invalid, see detailed message

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.9.7. Get all items

GET /items
Parameters
Type Name Description Schema

Query

category
optional

item category id

string

Query

limit
optional

return max. entry count

integer(int32)

Query

search
optional

search text

string

Responses
HTTP Code Description Schema

200

successful operation

< ItemDto > array

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.9.8. Get a specific item

GET /items/{item}
Parameters
Type Name Description Schema

Path

item
required

Item uuid

string

Responses
HTTP Code Description Schema

200

successful operation

ItemDto

404

item not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.9.9. Update an existing item

PUT /items/{item}
Parameters
Type Name Description Schema

Path

item
required

Item uuid

string

Body

body
required

Complete item to upgrade

ItemDto

Responses
HTTP Code Description Schema

200

successful operation

ItemDto

400

input invalid, see detailed message

RestError

404

item not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.9.10. Delete an existing item

DELETE /items/{item}
Parameters
Type Name Description Schema

Path

item
required

Item uuid

string

Responses
HTTP Code Description Schema

404

item not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.10. MAS - Master Data

3.10.1. Create a new customer

POST /customers
Parameters
Type Name Description Schema

Body

body
required

Customer to create

CustomerDto

Responses
HTTP Code Description Schema

200

successful operation

CustomerDto

400

input invalid, see detailed message

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.10.2. Get all customers

GET /customers
Parameters
Type Name Description Schema

Query

limit
optional

return max. entry count

integer(int32)

Query

search
optional

search text

string

Responses
HTTP Code Description Schema

200

successful operation

< CustomerDto > array

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.10.3. Get a specific customer

GET /customers/{customer}
Parameters
Type Name Description Schema

Path

customer
required

Customer uuid

string

Responses
HTTP Code Description Schema

200

successful operation

CustomerDto

404

customer not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.10.4. Update an existing customer

PUT /customers/{customer}
Parameters
Type Name Description Schema

Path

customer
required

Customer uuid

string

Body

body
required

Complete customer to update

CustomerDto

Responses
HTTP Code Description Schema

200

successful operation

CustomerDto

400

input invalid, see detailed message

RestError

404

customer not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.10.5. Delete an existing customer

DELETE /customers/{customer}
Parameters
Type Name Description Schema

Path

customer
required

Customer uuid

string

Responses
HTTP Code Description Schema

404

customer not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.10.6. Create a new supplier

POST /suppliers
Parameters
Type Name Description Schema

Body

body
required

Supplier to create

SupplierDto

Responses
HTTP Code Description Schema

200

successful operation

SupplierDto

400

supplier id already exists

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.10.7. Get all suppliers

GET /suppliers
Parameters
Type Name Description Schema

Query

limit
optional

return max. entry count

integer(int32)

Query

search
optional

search text

string

Responses
HTTP Code Description Schema

200

successful operation

< SupplierDto > array

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.10.8. Get a specific supplier

GET /suppliers/{supplier}
Parameters
Type Name Description Schema

Path

supplier
required

Supplier uuid

string

Responses
HTTP Code Description Schema

200

successful operation

SupplierDto

404

supplier not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.10.9. Update an existing supplier

PUT /suppliers/{supplier}
Parameters
Type Name Description Schema

Path

supplier
required

Supplier uuid

string

Body

body
required

Complete supplier to update

SupplierDto

Responses
HTTP Code Description Schema

200

successful operation

SupplierDto

400

input invalid, see detailed message

RestError

404

supplier not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.10.10. Delete an existing supplier

DELETE /suppliers/{supplier}
Parameters
Type Name Description Schema

Path

supplier
required

Supplier uuid

string

Responses
HTTP Code Description Schema

404

supplier not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.11. POS - Cash Registers

3.11.1. Get all active cash registers

GET /cash_registers
Description

The register number must be supplied when creating cash payments for invoices

Responses
HTTP Code Description Schema

200

successful operation

< CashRegisterDto > array

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.11.2. Get a specific cash register

GET /cash_registers/{cash_register}
Parameters
Type Name Description Schema

Path

cash_register
required

Cash register number

integer(int32)

Responses
HTTP Code Description Schema

200

successful operation

CashRegisterDto

404

cash register not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.11.3. Get the current print layout setup of a specific cash register

GET /cash_registers/{cash_register}/layout
Parameters
Type Name Description Schema

Path

cash_register
required

Cash register number

integer(int32)

Responses
HTTP Code Description Schema

200

successful operation

CashRegisterLayoutDto

404

cash register not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.12. POS - Daily Closings

3.12.1. Get all daily closings for a cash register

GET /cash_registers/{cash_register}/daily_closings
Parameters
Type Name Description Schema

Path

cash_register
required

Cash register number

integer(int32)

Query

from
optional

Minimum date for returned daily closings, ignored if invalid

string

Query

to
optional

Maximum date for returned daily closings, ignored if invalid

string

Responses
HTTP Code Description Schema

200

successful operation

< DailyClosingDto > array

400

cash register not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.12.2. Get the last daily closing for a cash register

GET /cash_registers/{cash_register}/daily_closings/last
Parameters
Type Name Description Schema

Path

cash_register
required

Cash register number

integer(int32)

Responses
HTTP Code Description Schema

200

successful operation

DailyClosingDto

400

cash register not found

RestError

404

daily closing not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.12.3. Close the month with the last daily closing

POST /cash_registers/{cash_register}/daily_closings/last/close_month
Description

The daily closing must be finalized and not already closing the month

Parameters
Type Name Description Schema

Path

cash_register
required

Cash register number

integer(int32)

Responses
HTTP Code Description Schema

200

successful operation

DailyClosingDto

400

input invalid, see detailed message

RestError

404

daily closing not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.12.4. Close the year with the last daily closing

POST /cash_registers/{cash_register}/daily_closings/last/close_year
Description

The daily closing must be finalized and not already closing the year

Parameters
Type Name Description Schema

Path

cash_register
required

Cash register number

integer(int32)

Responses
HTTP Code Description Schema

200

successful operation

DailyClosingDto

400

input invalid, see detailed message

RestError

404

daily closing not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.12.5. Finalize the last daily closing

POST /cash_registers/{cash_register}/daily_closings/last/finalize
Description

The daily closing must be open

Parameters
Type Name Description Schema

Path

cash_register
required

Cash register number

integer(int32)

Body

body
optional

Finalization confirmation

DailyClosingFinalizationDto

Responses
HTTP Code Description Schema

200

successful operation

DailyClosingDto

400

input invalid, see detailed message

RestError

404

daily closing not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.12.6. Get a specific daily closing for a cash register

GET /cash_registers/{cash_register}/daily_closings/{daily_closing}
Parameters
Type Name Description Schema

Path

cash_register
required

Cash register number

integer(int32)

Path

daily_closing
required

Daily closing date

string

Responses
HTTP Code Description Schema

200

successful operation

DailyClosingDto

400

cash register not found

RestError

404

daily closing not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.13. POS - Receipts

3.13.1. Create a new receipt for the cash register

POST /cash_registers/{cash_register}/receipts
Parameters
Type Name Description Schema

Path

cash_register
required

Cash register number

integer(int32)

Body

body
optional

the receipt to create

ReceiptDto

Responses
HTTP Code Description Schema

200

successful operation

ReceiptDto

400

input invalid, see detailed message

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.13.2. Get all receipts for a cash register

GET /cash_registers/{cash_register}/receipts
Parameters
Type Name Description Schema

Path

cash_register
required

Cash register number

integer(int32)

Query

from
optional

Minimum date for returned receipts, ignored if invalid

string

Query

to
optional

Maximum date for returned receipts, ignored if invalid

string

Responses
HTTP Code Description Schema

200

successful operation

< ReceiptDto > array

400

cash register not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.13.3. Get a specific receipt for a cash register

GET /cash_registers/{cash_register}/receipts/{receipt}
Parameters
Type Name Description Schema

Path

cash_register
required

Cash register number

integer(int32)

Path

receipt
required

the sequence number of the receipt

string

Responses
HTTP Code Description Schema

200

successful operation

ReceiptDto

400

cash register not found

RestError

404

receipt not found

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.13.4. Cancel a receipt for the cash register

POST /cash_registers/{cash_register}/receipts/{receipt}/cancel
Description

the receipt cannot be cancelled or a cancel receipt

Parameters
Type Name Description Schema

Path

cash_register
required

Cash register number

integer(int32)

Path

receipt
required

the sequence number of the receipt

string

Responses
HTTP Code Description Schema

200

successful operation

ReceiptDto

400

input invalid, see detailed message

RestError

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

apiKey

JWT

3.13.5. Get the current PDF of a receipt

GET /cash_registers/{cash_register}/receipts/{receipt}/document
Parameters
Type Name Description Schema Default

Path

cash_register
required

Cash register number

integer(int32)

Path

receipt
required

the number of the receipt

string

Query

type
optional

set content-disposition

enum (inline, attachment)

"attachment"

Responses
HTTP Code Description Schema

400

cash register not found

RestError

404

receipt not found

RestError

Consumes
  • application/json

Produces
  • application/octet-stream

Security
Type Name

apiKey

JWT

3.14. TEM - Travel Expense Management

4. Security

4.1. JWT

Type : apiKey
Name : Authorization
In : HEADER

5. Definitions

5.1. AccountDto

Name Description Schema

defaultTaxClassEntry
optional

default tax class entry id
Example : "020"

string

id
optional

the numeric account code
Example : "4000"

string

name
optional

localized name
Example : "Einnahmen (Erlöse)"

string

type
optional

account type code
Example : "E"

string

5.2. BusinessDocumentCancelDto

Name Description Schema

layoutSetup
optional

layout setup id, is defaulted with configured default setup. ignored if the business document is of type EXTERNAL
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

5.3. BusinessDocumentLineDto

Name Description Schema

account
optional

account code. always required even if item is set.
Minimum length : 1
Example : "4000"

string

amount
required

total item amount. maximum of 10 digits and 5 fractional digits.
Example : 10.0

number

description
optional

string

discount
optional

discount in total or %, must be set with discount mode. maximum of 10 digits and 5 fractional digits.
Example : 10.0

number

discountMode
optional

indicates if discount is total (CONSTANT) or % (RATE), must be set with discount
Example : "CONSTANT"

enum (RATE, CONSTANT, CONSTANT_TOTAL)

id
optional
read-only

automatically assigned line number

integer(int32)

item
optional

item id. defaults description, item net price, item number and unit of measure if present
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

itemNumber
optional

item number, is defaulted if item is set
Example : "A12345"

string

itemPrice
optional

single item price. must be present if item is not set.
Example : 10.0

number

itemPriceType
optional

if the item price is without tax (N) or total (T). must be present if item is not set.
Example : "N"

enum (N, T)

name
optional

name of the item for this line
Minimum length : 1
Example : "Testprodukt"

string

netPrice
required

line total net price. always required. maximum of 10 digits and 5 fractional digits.
Example : 100.0

number

remainingAmount
optional
read-only

unpaid amount

number

taxClassEntry
optional

tax class entry code. always required even if item is set.
Minimum length : 1
Example : "020"

string

taxPrice
required

line total tax price. always required. maximum of 10 digits and 5 fractional digits.
Example : 20.0

number

totalPrice
required

line total price, must match net + tax price. always required. maximum of 10 digits and 5 fractional digits.
Example : 120.0

number

type
optional
read-only

indicates if this is a special line

enum (LINE, DUNNING_FEE, CREDIT_MEMO)

unitOfMeasure
optional

short code for unit type (PC=pieces, M=months, D=days, U=units, MI=minutes, EUR, METER, KG, KM etc.)
Example : "PC"

string

5.4. CashRegisterDto

Name Description Schema

allowPastIncome
optional

indicates if backdating receipts is allowed
Default : false

boolean

currentBalance
optional

number

defaultRegister
optional

indicates if this is the default cash register
Default : false

boolean

enableDrawback
optional

indicates if this register has the drawback/cashback function enabled
Default : false

boolean

group
optional

Optional register group

string

id
optional

integer(int32)

name
optional

string

state
optional

enum (NEW, ACTIVE, LOCKED, TEST)

5.5. CashRegisterLayoutDto

Name Description Schema

amountType
optional

enum (N, T)

backgroundColor
optional

string

cancelDisplaySubject
optional

string

description
optional

string

displaySubject
optional

string

fontColor
optional

string

fontType
optional

string

footer
optional

string

header
optional

string

layoutPrintType
optional

enum (STANDARD, CUSTOM_PAPER, CUSTOM_TEMPLATE, STANDARD_PAPER, STANDARD_BON, SMALL_BON)

logo
optional

base64-encoded image

string

logoContentType
optional

enum (JPG, JPEG, PNG)

positionFooter
optional

enum (LEFT, RIGHT, CENTER)

positionHeader
optional

enum (LEFT, RIGHT, CENTER)

positionLogo
optional

enum (LEFT, RIGHT, CENTER)

postLinesText
optional

string

preLinesText
optional

string

5.6. CountryDto

Name Description Schema

id
optional

the 2-letter country code
Example : "AT"

string

name
optional

localized name of the country
Example : "Österreich"

string

5.7. CreditMemoDto

Name Description Schema

currency
optional

currency code, defaulted with EUR
Example : "EUR"

string

currencyRate
optional

currency rate, defaulted with 1
Example : 1.0

number

customer
optional

customer id
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

customerName
optional

customer name, ignored if customer id is set
Example : "Doe Inc."

string

date
required

string(date)

deliveryFromDate
optional

defaulted with configured delivery date range setting

string(date)

deliveryToDate
optional

defaulted with configured delivery date range setting

string(date)

description
optional

defaulted with configured layout (if not external)

string

ebInterfaceVersion
optional

must be set if EB interface creation is configured
Example : "V4_P2"

enum (V3_P0, V3_P02, V4_P0, V4_P1, V4_P2)

footer
optional

defaulted with configured layout (if not external)

string

id
optional

number of the business document. will be ignored if EXTERNAL is not set for the state. required if EXTERNAL is set for the state.
Example : "R 2016-0001"

string

internalDescription
optional

string

layoutSetup
optional

layout setup id, is defaulted with configured default setup. ignored if FINALIZED is not set
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

lines
required

< BusinessDocumentLineDto > array

netAmount
optional

total net amount, must match the net line sum if document is FINALIZED or EXTERNAL. Maximum of 10 digits and 2 fractional digits.
Example : 100.0

number

paid
optional
read-only

Default : false

boolean

paidDate
optional
read-only

string(date)

referenceDate
optional

string(date)

referenceText
optional

string

remainingAmount
optional
read-only

unpaid amount

number

signed
optional

indicates if the document is to be signed after finalization
Default : false

boolean

state
required

the state after creation. STAGING leaves the document open for editing, FINALIZED completes it, EXTERNAL if a number is already set.
Example : "EXTERNAL"

enum (STAGING, FINALIZED, EXTERNAL, CANCELLED)

taxAmount
optional

total tax amount, must match the tax line sum if document is FINALIZED or EXTERNAL. Maximum of 10 digits and 2 fractional digits.
Example : 20.0

number

totalAmount
optional

total amount, must match the total line sum if document is FINALIZED or EXTERNAL. Maximum of 10 digits and 2 fractional digits.
Example : 120.0

number

updatedAt
optional
read-only

timestamp of the last update

integer(int64)

5.8. CustomerDto

Name Description Schema

accountNumber
optional

string

accountOwner
optional

string

addressBranchNo
optional

string

attribute1
optional

string

attribute2
optional

string

attribute3
optional

string

attribute4
optional

string

attribute5
optional

string

bankBranchNumber
optional

string

bankName
optional

string

bic
optional

string

city
optional

string

compSalutationCode
optional

string

companyName
optional

either first/last name or company name must be set
Example : "Doe Inc."

string

country
optional

country code, defaulted to AT
Example : "AT"

string

customerNumber
optional

ignored if auto numbering is enabled

string

defaultAccount
optional

account code for the default account. will be used for new incomes/outgos.
Example : "4000"

string

defaultTaxClassEntry
optional

tax class entry code for the default tax class entry. will be used for new incomes/outgos.
Example : "020"

string

description
optional

string

duns
optional

string

emailAddress
optional

string

faxNumber
optional

string

firstName
optional

either first/last name or company name must be set
Example : "John"

string

gln
optional

string

iban
optional

string

id
optional
read-only

string

lastName
optional

either first/last name or company name must be set
Example : "Doe"

string

mobileNumber
optional

string

mySupplierNumber
optional

string

noVatNumber
required

determines if customer/supplier is private (no UID tax)
Default : false

boolean

otherIdentifier
optional

string

rating
optional

integer(int32)

region
optional

region code, must belong to the country
Example : "STMK"

string

salutationCode
optional

string

shortcut
optional

string

skype
optional

string

streetName
optional

string

streetNumber
optional

string

taxNumber
optional

string

telNumber
optional

string

title
optional

string

webAddress
optional

string

zipCode
optional

string

5.9. DailyClosingDto

Name Description Schema

closingBalance
optional

number

creationDate
optional

integer(int64)

id
optional

string(date)

incomeCount
optional

integer(int32)

monthlyClosing
optional

Default : false

boolean

openingBalance
optional

number

otherCount
optional

integer(int32)

rebookCount
optional

integer(int32)

state
optional

enum (OPEN, FINALIZED, BOOKED)

totalCount
optional

integer(int32)

yearlyClosing
optional

Default : false

boolean

5.10. DailyClosingFinalizationDto

Name Description Schema

closingBalance
required

The daily closing balance as provided by the API or calculated. Must match the backend closing balance for confirmation.

number

totalCount
required

The daily total receipt count as provided by the API or calculated. Must match the backend closing balance for confirmation.

integer(int32)

5.11. DeliveryNoteDto

Name Description Schema

currency
optional

currency code, defaulted with EUR
Example : "EUR"

string

currencyRate
optional

currency rate, defaulted with 1
Example : 1.0

number

customer
optional

customer id
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

customerName
optional

customer name, ignored if customer id is set
Example : "Doe Inc."

string

date
required

string(date)

description
optional

defaulted with configured layout (if not external)

string

footer
optional

defaulted with configured layout (if not external)

string

id
optional

number of the business document. will be ignored if EXTERNAL is not set for the state. required if EXTERNAL is set for the state.
Example : "R 2016-0001"

string

internalDescription
optional

string

layoutSetup
optional

layout setup id, is defaulted with configured default setup. ignored if FINALIZED is not set
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

lines
required

< BusinessDocumentLineDto > array

netAmount
optional

total net amount, must match the net line sum if document is FINALIZED or EXTERNAL. Maximum of 10 digits and 2 fractional digits.
Example : 100.0

number

referenceDate
optional

string(date)

referenceText
optional

string

remainingAmount
optional
read-only

unpaid amount

number

state
required

the state after creation. STAGING leaves the document open for editing, FINALIZED completes it, EXTERNAL if a number is already set.
Example : "EXTERNAL"

enum (STAGING, FINALIZED, EXTERNAL, CANCELLED)

taxAmount
optional

total tax amount, must match the tax line sum if document is FINALIZED or EXTERNAL. Maximum of 10 digits and 2 fractional digits.
Example : 20.0

number

totalAmount
optional

total amount, must match the total line sum if document is FINALIZED or EXTERNAL. Maximum of 10 digits and 2 fractional digits.
Example : 120.0

number

updatedAt
optional
read-only

timestamp of the last update

integer(int64)

5.12. InvoiceDto

Name Description Schema

currency
optional

currency code, defaulted with EUR
Example : "EUR"

string

currencyRate
optional

currency rate, defaulted with 1
Example : 1.0

number

customer
optional

customer id
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

customerName
optional

customer name, ignored if customer id is set
Example : "Doe Inc."

string

date
required

string(date)

deliveryFromDate
optional

defaulted with configured delivery date range setting

string(date)

deliveryToDate
optional

defaulted with configured delivery date range setting

string(date)

description
optional

defaulted with configured layout (if not external)

string

dueDate
optional
read-only

string(date)

dunningDate
optional
read-only

string(date)

ebInterfaceVersion
optional

must be set if EB interface creation is configured
Example : "V4_P2"

enum (V3_P0, V3_P02, V4_P0, V4_P1, V4_P2)

footer
optional

defaulted with configured layout (if not external)

string

id
optional

number of the business document. will be ignored if EXTERNAL is not set for the state. required if EXTERNAL is set for the state.
Example : "R 2016-0001"

string

internalDescription
optional

string

lastDunningLevel
optional
read-only

string

layoutSetup
optional

layout setup id, is defaulted with configured default setup. ignored if FINALIZED is not set
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

lines
required

< BusinessDocumentLineDto > array

netAmount
optional

total net amount, must match the net line sum if document is FINALIZED or EXTERNAL. Maximum of 10 digits and 2 fractional digits.
Example : 100.0

number

paid
optional
read-only

Default : false

boolean

paidDate
optional
read-only

string(date)

paymentTerm
optional

payment term id, determines due date etc. defaulted with configured default payment term
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

referenceDate
optional

string(date)

referenceText
optional

string

remainingAmount
optional
read-only

unpaid amount

number

signed
optional

indicates if the document is to be signed after finalization
Default : false

boolean

state
required

the state after creation. STAGING leaves the document open for editing, FINALIZED completes it, EXTERNAL if a number is already set.
Example : "EXTERNAL"

enum (STAGING, FINALIZED, EXTERNAL, CANCELLED)

taxAmount
optional

total tax amount, must match the tax line sum if document is FINALIZED or EXTERNAL. Maximum of 10 digits and 2 fractional digits.
Example : 20.0

number

totalAmount
optional

total amount, must match the total line sum if document is FINALIZED or EXTERNAL. Maximum of 10 digits and 2 fractional digits.
Example : 120.0

number

updatedAt
optional
read-only

timestamp of the last update

integer(int64)

5.13. ItemCategoryDto

Name Description Schema

account
optional

account id
Example : "4000"

string

code
optional

short code for the category
Example : "TK1"

string

color
optional

color code in hex, if available
Example : "0000ff"

string

description
optional

name of the category
Example : "Testkategorie"

string

id
optional
read-only

uuid of the item category

string

itemCount
optional
read-only

numbe rof items in this category
Example : 5

integer(int32)

name
optional

name of the category
Minimum length : 1
Example : "Testkategorie"

string

taxClassEntry
optional

tax class entry code
Example : "020"

string

unitOfMeasure
optional

short code for unit type (S, M, D, H, ..)
Example : "S"

string

5.14. ItemDto

Name Description Schema

account
optional

account id
Minimum length : 1
Example : "4000"

string

addInfo1
optional

string

addInfo2
optional

string

addInfo3
optional

string

additionalCharge
optional

number

additionalChargeMode
optional

additional charge in net (N) or total (T)
Example : "N"

enum (RATE, CONSTANT, CONSTANT_TOTAL)

amountType
required

base price in net (N) or total (T)
Example : "N"

enum (N, T)

barCode
optional

string

calculatedNetPrice
optional
read-only

number

color
optional

color code in hex, if available
Example : "0000ff"

string

currency
optional

currency code, defaulted with EUR
Example : "EUR"

string

description
optional

string

descriptionFormatted
optional
read-only

The description pre-formatted to text.

string

id
optional
read-only

string

itemCategory
optional

item category id
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

margin
optional

number

marginMode
optional

margin in net (N) or total (T)
Example : "N"

enum (RATE, CONSTANT, CONSTANT_TOTAL)

name
optional

Short name
Minimum length : 1
Example : "Testprodukt"

string

number
optional

string

purchasePrice
optional

number

sellingPrice
required

Final selling price
Example : 19.9

number

size
optional

string

supplier
optional

supplier id
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

supplierOrderNumber
optional

string

taxClassEntry
required

tax class entry code
Example : "020"

string

unitOfMeasure
optional

short code for unit type (PC=pieces, M=months, D=days, U=units, MI=minutes, EUR, METER, KG, KM etc.)
Example : "S"

string

weight
optional

number

5.15. LayoutSetupDto

Name Description Schema

defaultSetup
optional

indicates if this is the default layout setup
Default : false

boolean

description
optional

string

id
optional

string

5.16. NotificationDto

Name Schema

dateTime
optional

string(date-time)

priority
optional

enum (NONE, HIGH, URGENT)

sender
optional

string

text
optional

string

5.17. OfferDto

Name Description Schema

completionDate
optional

string(date)

completionState
optional

indicates if the offer is ACCEPTED or REJECTED

enum (ACCEPTED, REJECTED)

currency
optional

currency code, defaulted with EUR
Example : "EUR"

string

currencyRate
optional

currency rate, defaulted with 1
Example : 1.0

number

customer
optional

customer id
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

customerName
optional

customer name, ignored if customer id is set
Example : "Doe Inc."

string

date
required

string(date)

description
optional

defaulted with configured layout (if not external)

string

expirationDate
optional

string(date)

footer
optional

defaulted with configured layout (if not external)

string

id
optional

number of the business document. will be ignored if EXTERNAL is not set for the state. required if EXTERNAL is set for the state.
Example : "R 2016-0001"

string

internalDescription
optional

string

layoutSetup
optional

layout setup id, is defaulted with configured default setup. ignored if FINALIZED is not set
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

lines
required

< BusinessDocumentLineDto > array

netAmount
optional

total net amount, must match the net line sum if document is FINALIZED or EXTERNAL. Maximum of 10 digits and 2 fractional digits.
Example : 100.0

number

referenceDate
optional

string(date)

referenceText
optional

string

remainingAmount
optional
read-only

unpaid amount

number

state
required

the state after creation. STAGING leaves the document open for editing, FINALIZED completes it, EXTERNAL if a number is already set.
Example : "EXTERNAL"

enum (STAGING, FINALIZED, EXTERNAL, CANCELLED)

taxAmount
optional

total tax amount, must match the tax line sum if document is FINALIZED or EXTERNAL. Maximum of 10 digits and 2 fractional digits.
Example : 20.0

number

totalAmount
optional

total amount, must match the total line sum if document is FINALIZED or EXTERNAL. Maximum of 10 digits and 2 fractional digits.
Example : 120.0

number

updatedAt
optional
read-only

timestamp of the last update

integer(int64)

5.18. OrderConfirmationDto

Name Description Schema

currency
optional

currency code, defaulted with EUR
Example : "EUR"

string

currencyRate
optional

currency rate, defaulted with 1
Example : 1.0

number

customer
optional

customer id
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

customerName
optional

customer name, ignored if customer id is set
Example : "Doe Inc."

string

date
required

string(date)

description
optional

defaulted with configured layout (if not external)

string

footer
optional

defaulted with configured layout (if not external)

string

id
optional

number of the business document. will be ignored if EXTERNAL is not set for the state. required if EXTERNAL is set for the state.
Example : "R 2016-0001"

string

internalDescription
optional

string

layoutSetup
optional

layout setup id, is defaulted with configured default setup. ignored if FINALIZED is not set
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

lines
required

< BusinessDocumentLineDto > array

netAmount
optional

total net amount, must match the net line sum if document is FINALIZED or EXTERNAL. Maximum of 10 digits and 2 fractional digits.
Example : 100.0

number

referenceDate
optional

string(date)

referenceText
optional

string

remainingAmount
optional
read-only

unpaid amount

number

state
required

the state after creation. STAGING leaves the document open for editing, FINALIZED completes it, EXTERNAL if a number is already set.
Example : "EXTERNAL"

enum (STAGING, FINALIZED, EXTERNAL, CANCELLED)

taxAmount
optional

total tax amount, must match the tax line sum if document is FINALIZED or EXTERNAL. Maximum of 10 digits and 2 fractional digits.
Example : 20.0

number

totalAmount
optional

total amount, must match the total line sum if document is FINALIZED or EXTERNAL. Maximum of 10 digits and 2 fractional digits.
Example : 120.0

number

updatedAt
optional
read-only

timestamp of the last update

integer(int64)

5.19. PaymentDto

Name Description Schema

amount
required

total paid amount
Example : 20.0

number

cashRegister
optional

the cash register number that is to process the payment. the test register (id 0) cannot be used. either this or payingAccount must be set.

integer(int32)

currencyRate
optional

current currency rate, defaulted with 1
Example : 1.0

number

date
required

string(date)

note
optional

string

payingAccount
optional

the account that received the payment. must be of the cash account type (U) and not be reserved (e.g. from a cash register). either this or cashRegister must be set
Example : "2800"

string

restType
optional

indicates if the unpaid amount should be flagged as complete (DISCOUNT, CORRECTION, UNCOLLECTABLE, ONACCOUNT, CREDIT_CASHED). must not be set if amount is to remain (partial payment)
Example : "UNCOLLECTABLE"

enum (PAYED, DISCOUNT, CORRECTION, UNCOLLECTABLE, CANCELLED, ONACCOUNT, CREDIT_CASHED)

5.20. PaymentHistoryDto

Name Description Schema

amount
optional

number

cancellationOfPayment
optional

If this is a cancellation, this flag indicates if the cancelled payment was an actual payment (true) or just a cancellation of rest amounts (false)
Default : false
Example : true

boolean

cancelled
optional

Default : false

boolean

cashRegisterId
optional

integer(int32)

date
optional

string(date)

id
optional

string

note
optional

string

payingAccount
optional

string

receiptId
optional

string

receiptQrCode
optional

string

type
optional

enum (PAYED, DISCOUNT, CORRECTION, UNCOLLECTABLE, CANCELLED, ONACCOUNT, CREDIT_CASHED)

5.21. PaymentTermDto

Name Description Schema

defaultTerm
optional

indicates if this is the default payment term
Default : false

boolean

description
optional

string

dueDays
optional

how many days to add to the invoice date until it is due

integer(int32)

dunningDays
optional

how many days to add to the invoice date until it is to be dunned

integer(int32)

id
optional

string

name
optional

string

5.22. ReceiptDto

Name Description Schema

cancelReceipt
optional
read-only

the sequence number of the cancel receipt if this receipt was cancelled.
Example : "2017.0001"

string

creationDateTime
optional
read-only

the creation date and time of the receipt as determined by the back-end.
Example : "2017-02-20T14:54:37.443"

string(date-time)

customer
optional

customer id. if no customer name or id is provided, this receipt counts as cash sale. only for income receipts.
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

customerMail
optional

customer mail. if provided, an e-mail will be sent with the receipt PDF.
Example : "example@example.com"

string

customerName
optional

customer name, ignored if customer id is set.
Example : "Doe Inc."

string

dateTime
optional

the date and time of the receipt. defaulted to now.
Example : "2017-02-20T14:54:37.443"

string(date-time)

description
optional

the rebook description. only valid for REBOOK receipt types.

string

fromAccount
optional

the account that the amount is transferred from. must be of the cash account type (U) and not be reserved (e.g. from another cash register). only valid for REBOOK receipt types, for which either this or toAccount is set.
Example : "2800"

string

id
optional
read-only

sequence number of the receipt. will be set automatically.
Example : "2017.0001"

string

lines
optional

the receipt lines. only read for INCOME type receipts.

< ReceiptLineDto > array

originalReceipt
optional
read-only

the sequence number of the original receipt if this receipt is a cancel receipt.
Example : "2017.0001"

string

qrCode
optional
read-only

the QR code of the receipt, if present (RKSV)

string

referenceDate
optional

string(date)

referenceText
optional

string

toAccount
optional

the account that the amount is transferred to. must be of the cash account type (U) and not be reserved (e.g. from another cash register). only valid for REBOOK receipt types, for which either this or fromAccount is set.
Example : "2800"

string

totalAmount
required

total amount, must match the total line sum of the receipt. maximum of 10 digits and 2 fractional digits.
Example : 120.0

number

type
required

the type of the receipt. for creation, only INCOME and REBOOK are valid.
Example : "INCOME"

enum (INCOME, REBOOK, INITIAL, MONTHLY, YEARLY, FINAL)

5.23. ReceiptLineDto

Name Description Schema

account
optional

account code. defaulted if item is set.
Example : "4000"

string

amount
optional

total item amount. defaulted with 1. maximum of 10 digits and 5 fractional digits.
Example : 10.0

number

discount
optional

discount in total or %, must be set with discount mode. maximum of 10 digits and 5 fractional digits.
Example : 10.0

number

discountMode
optional

indicates if discount is total (CONSTANT) or % (RATE), must be set with discount
Example : "CONSTANT"

enum (RATE, CONSTANT, CONSTANT_TOTAL)

id
optional
read-only

automatically assigned line number

integer(int32)

item
optional

item id. defaults name, description, account, tax class entry, item price, item number and unit of measure if present
Example : "e7083036-8779-d492-0c78-332cfde21b68"

string

itemDescription
optional

description of the item for this line. defaulted if item is set.
Example : "Testprodukt"

string

itemName
optional

name of the item for this line. defaulted if item is set.
Example : "Testprodukt"

string

itemNumber
optional

item number, is defaulted if item is set
Example : "A12345"

string

itemPrice
optional

single item price. defaulted if item is set.
Example : 10.0

number

itemPriceType
optional

if the item price is without tax (N) or total (T). defaulted if item is set.
Example : "N"

enum (N, T)

netPrice
optional

line total net price. maximum of 10 digits and 5 fractional digits.
Example : 100.0

number

note
optional

optional internal note.

string

taxClassEntry
optional

tax class entry code. defaulted if item is set.
Example : "020"

string

taxPrice
optional

line total tax price. maximum of 10 digits and 5 fractional digits.
Example : 20.0

number

totalPrice
required

line total price. always required. maximum of 10 digits and 5 fractional digits.
Example : 120.0

number

unitOfMeasure
optional

short code for unit type (PC=pieces, M=months, D=days, U=units, MI=minutes, EUR, METER, KG, KM etc.) defaulted if item is set.
Example : "PC"

string

5.24. RegionDto

Name Description Schema

id
optional

code of the region
Example : "STMK"

string

name
optional

localized name of the region
Example : "Steiermark"

string

5.25. RestError

Name Schema

details
optional

< string > array

error
optional

string

identifier
optional

string

message
optional

string

payload
optional

object

timestamp
optional

integer(int64)

5.26. SupplierDto

Name Description Schema

accountNumber
optional

string

accountOwner
optional

string

addressBranchNo
optional

string

attribute1
optional

string

attribute2
optional

string

attribute3
optional

string

attribute4
optional

string

attribute5
optional

string

bankBranchNumber
optional

string

bankName
optional

string

bic
optional

string

city
optional

string

compSalutationCode
optional

string

companyName
optional

either first/last name or company name must be set
Example : "Doe Inc."

string

country
optional

country code, defaulted to AT
Example : "AT"

string

defaultAccount
optional

account code for the default account. will be used for new incomes/outgos.
Example : "4000"

string

defaultTaxClassEntry
optional

tax class entry code for the default tax class entry. will be used for new incomes/outgos.
Example : "020"

string

description
optional

string

emailAddress
optional

string

faxNumber
optional

string

firstName
optional

either first/last name or company name must be set
Example : "John"

string

iban
optional

string

id
optional
read-only

string

lastName
optional

either first/last name or company name must be set
Example : "Doe"

string

mobileNumber
optional

string

myCustomerNumber
optional

string

noVatNumber
required

determines if customer/supplier is private (no UID tax)
Default : false

boolean

rating
optional

integer(int32)

region
optional

region code, must belong to the country
Example : "STMK"

string

salutationCode
optional

string

shortcut
optional

string

skype
optional

string

streetName
optional

string

streetNumber
optional

string

supplierNumber
optional

ignored if auto numbering is enabled

string

taxNumber
optional

string

telNumber
optional

string

title
optional

string

webAddress
optional

string

zipCode
optional

string

5.27. TaxClassEntryDto

Name Description Schema

id
optional

tax class entry code
Example : "020"

string

name
optional

localized name
Example : "Standard Steuersatz"

string

taxRate
optional

numeric tax rate
Example : 20.0

number