developer / api

20Tabs API

Connect your application to 20Tabs. Manage products, submit orders, register payment methods and read receipts, closings and revenue. All over a simple REST API.

Base URL https://api.20tabs.app
v1 OpenAPI 3.0 ↓ openapi.yaml

Authentication

The 20Tabs API uses OAuth 2.0 with the Authorization Code Flow. Each 20Tabs account authorizes your app, which gives you an access token scoped to that organization's subscription.

App registration is not self-service yet. Email us at with some information about your use case and we'll set up your app and send you a client ID and client secret. In addition to the API all objects have create/update/delete webhooks available.

  1. Request your client ID and client secret from us.
  2. We will add you to the 20Tabs App Store.
  3. When the organization installs your app we will redirect them to your authentication URL with the organization domain as a query parameter:
  4. https://your-app.example.com/install?customer_domain=example.20tabs.app
  5. You request access for this organization and the scopes you need via the Authorization Code Flow.
  6. Exchange the authorization code for an access token. Authorization tokens are valid for 5 minutes.
  7. Send the access token on every request in the Authorization header:
  8. Authorization: Bearer <access token>
  9. Access tokens are valid for 1 hour. Use the refresh token to get a new access token when the old one expires.

OAuth endpoints

Authorization https://{organization_domain}.20tabs.app/oauth/authorize
Token https://api.20tabs.app/oauth/token
Refresh https://api.20tabs.app/oauth/refresh

Scopes

organization:read

Read organization details

daily_closing:read

Read daily closings

monthly_closing:read

Read monthly closings

receipt:read

Read receipts

receipt:write

Update receipts

customer:read

Read customers

customer:write

Create and update customers

order:write

Create orders

product:read

Read products

product:write

Create products

payment:write

Create payments

payment/methods:read

Read payment methods

payment/methods:write

Manage payment methods

tax_rate:read

Read tax rates

category_of_revenue:read

Read categories of revenue

category_of_revenue:write

Create categories of revenue

Organization

GET /v1/organization organization:read

Returns the organization this subscription is authorized for, including its business profile and contact details.

Responses

200 Organization Retrieve the organization
Response attributes
id integer

Unique identifier of the organization.

name string

Name of the organization.

display_name string

Trading name shown on receipts and customer-facing screens.

email string

Contact email address of the organization.

phone string

Contact phone number of the organization.

first_name string

First name of the contact person.

last_name string

Last name of the contact person.

coc string

Chamber of Commerce (KvK) registration number.

vat string

VAT identification number.

street string

Street of the business address.

building string

Name of the building of the business address.

building_number string

Building number of the business address.

postal_code string

Postal code of the business address.

city string

City of the business address.

country_code string

ISO 3166-1 alpha-2 country code of the business address.

locale string

Default locale of the organization, for example `nl` or `en`.

created_at datetime

Time the organization joined 20Tabs.

Example response
{
  "id": 1,
  "name": "string",
  "display_name": "string",
  "email": "string",
  "phone": "string",
  "first_name": "string",
  "last_name": "string",
  "coc": "string",
  "vat": "string",
  "street": "string",
  "building": "string",
  "building_number": "string",
  "postal_code": "string",
  "city": "string",
  "country_code": "string",
  "locale": "string",
  "created_at": "2026-01-15T12:30:00Z"
}

Daily closings

GET /v1/daily_closings/{id} daily_closing:read

Returns a daily closing, including the cashflow per payment method, the revenue broken down per category of revenue, employee, device and voucher, and any voucher redemptions.

Parameters

id path · integer req

Unique identifier of the daily closing

Responses

200 DailyClosing Retrieve a daily closing
Response attributes
id integer

Unique identifier of the daily closing.

cashflow object

Cashflow generated during the day, per payment method.

amounts object

Amounts received per payment method.

revenue object

Revenue generated during the day, broken down per dimension.

per_category_of_revenue array of Revenue

Revenue per category of revenue.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_employee array of Revenue

Revenue per employee.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_device array of Revenue

Revenue per device.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_voucher array of Revenue

Revenue per voucher.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

voucher_redemptions array of VoucherRedemption

Vouchers redeemed during the day.

voucher Voucher

Voucher that was redeemed.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

amount Money

Amount redeemed.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

created_at datetime

Time the daily closing was created.

for_date date

Trading date the daily closing covers.

Example response
{
  "id": 1,
  "cashflow": {
    "amounts": {}
  },
  "revenue": {
    "per_category_of_revenue": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ],
    "per_employee": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ],
    "per_device": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ],
    "per_voucher": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ]
  },
  "voucher_redemptions": [
    {
      "voucher": {
        "id": 1,
        "name": "string"
      },
      "amount": {
        "value": "string",
        "currency": "string"
      }
    }
  ],
  "created_at": "2026-01-15T12:30:00Z",
  "for_date": "2026-01-15"
}

Monthly closings

GET /v1/monthly_closings/{id} monthly_closing:read

Returns a monthly closing with the combined cashflow and revenue of all daily closings in the month, together with the individual daily closings it covers.

Parameters

id path · integer req

Unique identifier of the monthly closing

Responses

200 MonthlyClosing Retrieve a monthly closing
Response attributes
id integer

Unique identifier of the monthly closing.

cashflow object

Combined cashflow of all daily closings in the month, per payment method.

amounts object

Amounts received per payment method.

revenue object

Combined revenue of all daily closings in the month, broken down per dimension.

per_category_of_revenue array of Revenue

Revenue per category of revenue.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_employee array of Revenue

Revenue per employee.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_device array of Revenue

Revenue per device.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_voucher array of Revenue

Revenue per voucher.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

voucher_redemptions array of VoucherRedemption

Vouchers redeemed during the month.

voucher Voucher

Voucher that was redeemed.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

amount Money

Amount redeemed.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

daily_closings array of DailyClosing

Daily closings the monthly closing covers.

id integer

Unique identifier of the daily closing.

cashflow object

Cashflow generated during the day, per payment method.

amounts object

Amounts received per payment method.

revenue object

Revenue generated during the day, broken down per dimension.

per_category_of_revenue array of Revenue

Revenue per category of revenue.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_employee array of Revenue

Revenue per employee.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_device array of Revenue

Revenue per device.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_voucher array of Revenue

Revenue per voucher.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

voucher_redemptions array of VoucherRedemption

Vouchers redeemed during the day.

voucher Voucher

Voucher that was redeemed.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

amount Money

Amount redeemed.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

created_at datetime

Time the daily closing was created.

for_date date

Trading date the daily closing covers.

created_at datetime

Time the monthly closing was created.

Example response
{
  "id": 1,
  "cashflow": {
    "amounts": {}
  },
  "revenue": {
    "per_category_of_revenue": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ],
    "per_employee": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ],
    "per_device": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ],
    "per_voucher": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ]
  },
  "voucher_redemptions": [
    {
      "voucher": {
        "id": 1,
        "name": "string"
      },
      "amount": {
        "value": "string",
        "currency": "string"
      }
    }
  ],
  "daily_closings": [
    {
      "id": 1,
      "cashflow": {
        "amounts": {}
      },
      "revenue": {
        "per_category_of_revenue": [
          {
            "amount": {
              "value": "string",
              "currency": "string"
            },
            "tax_rate": {
              "id": 1,
              "name": "string",
              "percentage": "string",
              "label": "string"
            },
            "category_of_revenue": {
              "id": 1,
              "name": "string",
              "archived": true
            },
            "employee": {
              "id": 1,
              "name": "string",
              "created_at": "2026-01-15T12:30:00Z"
            },
            "device": {
              "id": 1,
              "uuid": "string",
              "name": "string",
              "kind": "string",
              "subtype": "string",
              "locale": "string",
              "register_network": true,
              "external_buzzer": true,
              "primary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "secondary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "quickselect_page_id": 1,
              "preparation_location_ids": [
                "string"
              ],
              "monitoring_preparation_location_ids": [
                "string"
              ],
              "settings": "string",
              "archived": true
            },
            "voucher": {
              "id": 1,
              "name": "string"
            }
          }
        ],
        "per_employee": [
          {
            "amount": {
              "value": "string",
              "currency": "string"
            },
            "tax_rate": {
              "id": 1,
              "name": "string",
              "percentage": "string",
              "label": "string"
            },
            "category_of_revenue": {
              "id": 1,
              "name": "string",
              "archived": true
            },
            "employee": {
              "id": 1,
              "name": "string",
              "created_at": "2026-01-15T12:30:00Z"
            },
            "device": {
              "id": 1,
              "uuid": "string",
              "name": "string",
              "kind": "string",
              "subtype": "string",
              "locale": "string",
              "register_network": true,
              "external_buzzer": true,
              "primary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "secondary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "quickselect_page_id": 1,
              "preparation_location_ids": [
                "string"
              ],
              "monitoring_preparation_location_ids": [
                "string"
              ],
              "settings": "string",
              "archived": true
            },
            "voucher": {
              "id": 1,
              "name": "string"
            }
          }
        ],
        "per_device": [
          {
            "amount": {
              "value": "string",
              "currency": "string"
            },
            "tax_rate": {
              "id": 1,
              "name": "string",
              "percentage": "string",
              "label": "string"
            },
            "category_of_revenue": {
              "id": 1,
              "name": "string",
              "archived": true
            },
            "employee": {
              "id": 1,
              "name": "string",
              "created_at": "2026-01-15T12:30:00Z"
            },
            "device": {
              "id": 1,
              "uuid": "string",
              "name": "string",
              "kind": "string",
              "subtype": "string",
              "locale": "string",
              "register_network": true,
              "external_buzzer": true,
              "primary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "secondary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "quickselect_page_id": 1,
              "preparation_location_ids": [
                "string"
              ],
              "monitoring_preparation_location_ids": [
                "string"
              ],
              "settings": "string",
              "archived": true
            },
            "voucher": {
              "id": 1,
              "name": "string"
            }
          }
        ],
        "per_voucher": [
          {
            "amount": {
              "value": "string",
              "currency": "string"
            },
            "tax_rate": {
              "id": 1,
              "name": "string",
              "percentage": "string",
              "label": "string"
            },
            "category_of_revenue": {
              "id": 1,
              "name": "string",
              "archived": true
            },
            "employee": {
              "id": 1,
              "name": "string",
              "created_at": "2026-01-15T12:30:00Z"
            },
            "device": {
              "id": 1,
              "uuid": "string",
              "name": "string",
              "kind": "string",
              "subtype": "string",
              "locale": "string",
              "register_network": true,
              "external_buzzer": true,
              "primary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "secondary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "quickselect_page_id": 1,
              "preparation_location_ids": [
                "string"
              ],
              "monitoring_preparation_location_ids": [
                "string"
              ],
              "settings": "string",
              "archived": true
            },
            "voucher": {
              "id": 1,
              "name": "string"
            }
          }
        ]
      },
      "voucher_redemptions": [
        {
          "voucher": {
            "id": 1,
            "name": "string"
          },
          "amount": {
            "value": "string",
            "currency": "string"
          }
        }
      ],
      "created_at": "2026-01-15T12:30:00Z",
      "for_date": "2026-01-15"
    }
  ],
  "created_at": "2026-01-15T12:30:00Z"
}

Receipts

GET /v1/receipts receipt:read

Returns all receipts that were settled in the given daily closing, including their items and payments.

Parameters

daily_closing_id query · integer req

Unique identifier of the daily closing

Responses

200 array of Receipt List receipts for a daily closing
Response attributes
id integer

Unique identifier of the receipt.

Line items on the receipt.

id integer

Unique identifier of the item.

product_id integer

Unique identifier of the ordered product; null for free-form items.

description string

Description of the item as shown on the receipt.

note string

Note shown on the preparation receipt.

price Money

Unit price after discounts.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate applied to the item.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the item counts towards.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

cost_price Money

Cost price of the item.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

representation_by Employee

Employee who added the item to the receipt.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

payment_status string

Payment status of the item: `pending` or `paid`.

voucher Voucher

Voucher sold with the item, if any.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

created_at datetime

Time the item was added to the receipt.

customer Customer

Customer the receipt belongs to, if any.

id integer

Unique identifier of the customer.

name string

Full name of the customer.

locale string

Preferred locale of the customer, for example `nl` or `en`.

pinned boolean

Whether the customer is pinned for quick access on the register.

last_receipt_at datetime

Time of the customer's most recent receipt.

groups array of string

Names of the customer groups the customer belongs to.

email string

Email address of the customer.

phone string

Phone number of the customer.

address string

Postal address of the customer.

identifier string

External identifier of the customer, for example a membership number.

app_data object

Arbitrary data stored on the customer by your app.

payments array of Payment

Payments recorded on the receipt.

id integer

Unique identifier of the payment.

receipt_id integer

Unique identifier of the receipt the payment settles.

payment_method_id integer

Unique identifier of the payment method that was used.

category_of_revenue CategoryOfRevenue

Category of revenue the payment counts towards, if any.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

voucher Voucher

Voucher the payment was made with, if any.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

amount Money

Amount paid.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

created_at datetime

Time the payment was created.

updated_at datetime

Time the payment was last updated.

open_amount Money

Amount still to be paid.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

paid_at datetime

Time the receipt was paid in full; null while the receipt is open.

opened_at datetime

Time the receipt was opened.

Example response
[
  {
    "id": 1,
    "items": [
      {
        "id": 1,
        "product_id": 1,
        "description": "string",
        "note": "string",
        "price": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "cost_price": {
          "value": "string",
          "currency": "string"
        },
        "representation_by": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "payment_status": "string",
        "voucher": {
          "id": 1,
          "name": "string"
        },
        "created_at": "2026-01-15T12:30:00Z"
      }
    ],
    "customer": {
      "id": 1,
      "name": "string",
      "locale": "string",
      "pinned": true,
      "last_receipt_at": "2026-01-15T12:30:00Z",
      "groups": [
        "string"
      ],
      "email": "string",
      "phone": "string",
      "address": "string",
      "identifier": "string",
      "app_data": {}
    },
    "payments": [
      {
        "id": 1,
        "receipt_id": 1,
        "payment_method_id": 1,
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        },
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "created_at": "2026-01-15T12:30:00Z",
        "updated_at": "2026-01-15T12:30:00Z"
      }
    ],
    "open_amount": {
      "value": "string",
      "currency": "string"
    },
    "paid_at": "2026-01-15T12:30:00Z",
    "opened_at": "2026-01-15T12:30:00Z"
  }
]
GET /v1/receipts/{id} receipt:read

Returns a receipt with its items, payments, customer and outstanding amount.

Parameters

id path · integer req

Unique identifier of the receipt

Responses

200 Receipt Retrieve a receipt
Response attributes
id integer

Unique identifier of the receipt.

Line items on the receipt.

id integer

Unique identifier of the item.

product_id integer

Unique identifier of the ordered product; null for free-form items.

description string

Description of the item as shown on the receipt.

note string

Note shown on the preparation receipt.

price Money

Unit price after discounts.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate applied to the item.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the item counts towards.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

cost_price Money

Cost price of the item.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

representation_by Employee

Employee who added the item to the receipt.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

payment_status string

Payment status of the item: `pending` or `paid`.

voucher Voucher

Voucher sold with the item, if any.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

created_at datetime

Time the item was added to the receipt.

customer Customer

Customer the receipt belongs to, if any.

id integer

Unique identifier of the customer.

name string

Full name of the customer.

locale string

Preferred locale of the customer, for example `nl` or `en`.

pinned boolean

Whether the customer is pinned for quick access on the register.

last_receipt_at datetime

Time of the customer's most recent receipt.

groups array of string

Names of the customer groups the customer belongs to.

email string

Email address of the customer.

phone string

Phone number of the customer.

address string

Postal address of the customer.

identifier string

External identifier of the customer, for example a membership number.

app_data object

Arbitrary data stored on the customer by your app.

payments array of Payment

Payments recorded on the receipt.

id integer

Unique identifier of the payment.

receipt_id integer

Unique identifier of the receipt the payment settles.

payment_method_id integer

Unique identifier of the payment method that was used.

category_of_revenue CategoryOfRevenue

Category of revenue the payment counts towards, if any.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

voucher Voucher

Voucher the payment was made with, if any.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

amount Money

Amount paid.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

created_at datetime

Time the payment was created.

updated_at datetime

Time the payment was last updated.

open_amount Money

Amount still to be paid.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

paid_at datetime

Time the receipt was paid in full; null while the receipt is open.

opened_at datetime

Time the receipt was opened.

Example response
{
  "id": 1,
  "items": [
    {
      "id": 1,
      "product_id": 1,
      "description": "string",
      "note": "string",
      "price": {
        "value": "string",
        "currency": "string"
      },
      "tax_rate": {
        "id": 1,
        "name": "string",
        "percentage": "string",
        "label": "string"
      },
      "category_of_revenue": {
        "id": 1,
        "name": "string",
        "archived": true
      },
      "cost_price": {
        "value": "string",
        "currency": "string"
      },
      "representation_by": {
        "id": 1,
        "name": "string",
        "created_at": "2026-01-15T12:30:00Z"
      },
      "payment_status": "string",
      "voucher": {
        "id": 1,
        "name": "string"
      },
      "created_at": "2026-01-15T12:30:00Z"
    }
  ],
  "customer": {
    "id": 1,
    "name": "string",
    "locale": "string",
    "pinned": true,
    "last_receipt_at": "2026-01-15T12:30:00Z",
    "groups": [
      "string"
    ],
    "email": "string",
    "phone": "string",
    "address": "string",
    "identifier": "string",
    "app_data": {}
  },
  "payments": [
    {
      "id": 1,
      "receipt_id": 1,
      "payment_method_id": 1,
      "category_of_revenue": {
        "id": 1,
        "name": "string",
        "archived": true
      },
      "voucher": {
        "id": 1,
        "name": "string"
      },
      "amount": {
        "value": "string",
        "currency": "string"
      },
      "created_at": "2026-01-15T12:30:00Z",
      "updated_at": "2026-01-15T12:30:00Z"
    }
  ],
  "open_amount": {
    "value": "string",
    "currency": "string"
  },
  "paid_at": "2026-01-15T12:30:00Z",
  "opened_at": "2026-01-15T12:30:00Z"
}
POST /v1/receipts/{receipt_id}/appendices receipt:write

Adds a line of text to the receipt's appendices. Appendices are printed at the bottom of the receipt, for example a reference to a transaction in your system.

Parameters

receipt_id path · integer req

Unique identifier of the receipt

Request body

appendix string req

Text to append to the receipt

{
  "appendix": "string"
}

Responses

201 Receipt Append an appendix to a receipt
Response attributes
id integer

Unique identifier of the receipt.

Line items on the receipt.

id integer

Unique identifier of the item.

product_id integer

Unique identifier of the ordered product; null for free-form items.

description string

Description of the item as shown on the receipt.

note string

Note shown on the preparation receipt.

price Money

Unit price after discounts.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate applied to the item.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the item counts towards.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

cost_price Money

Cost price of the item.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

representation_by Employee

Employee who added the item to the receipt.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

payment_status string

Payment status of the item: `pending` or `paid`.

voucher Voucher

Voucher sold with the item, if any.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

created_at datetime

Time the item was added to the receipt.

customer Customer

Customer the receipt belongs to, if any.

id integer

Unique identifier of the customer.

name string

Full name of the customer.

locale string

Preferred locale of the customer, for example `nl` or `en`.

pinned boolean

Whether the customer is pinned for quick access on the register.

last_receipt_at datetime

Time of the customer's most recent receipt.

groups array of string

Names of the customer groups the customer belongs to.

email string

Email address of the customer.

phone string

Phone number of the customer.

address string

Postal address of the customer.

identifier string

External identifier of the customer, for example a membership number.

app_data object

Arbitrary data stored on the customer by your app.

payments array of Payment

Payments recorded on the receipt.

id integer

Unique identifier of the payment.

receipt_id integer

Unique identifier of the receipt the payment settles.

payment_method_id integer

Unique identifier of the payment method that was used.

category_of_revenue CategoryOfRevenue

Category of revenue the payment counts towards, if any.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

voucher Voucher

Voucher the payment was made with, if any.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

amount Money

Amount paid.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

created_at datetime

Time the payment was created.

updated_at datetime

Time the payment was last updated.

open_amount Money

Amount still to be paid.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

paid_at datetime

Time the receipt was paid in full; null while the receipt is open.

opened_at datetime

Time the receipt was opened.

Example response
{
  "id": 1,
  "items": [
    {
      "id": 1,
      "product_id": 1,
      "description": "string",
      "note": "string",
      "price": {
        "value": "string",
        "currency": "string"
      },
      "tax_rate": {
        "id": 1,
        "name": "string",
        "percentage": "string",
        "label": "string"
      },
      "category_of_revenue": {
        "id": 1,
        "name": "string",
        "archived": true
      },
      "cost_price": {
        "value": "string",
        "currency": "string"
      },
      "representation_by": {
        "id": 1,
        "name": "string",
        "created_at": "2026-01-15T12:30:00Z"
      },
      "payment_status": "string",
      "voucher": {
        "id": 1,
        "name": "string"
      },
      "created_at": "2026-01-15T12:30:00Z"
    }
  ],
  "customer": {
    "id": 1,
    "name": "string",
    "locale": "string",
    "pinned": true,
    "last_receipt_at": "2026-01-15T12:30:00Z",
    "groups": [
      "string"
    ],
    "email": "string",
    "phone": "string",
    "address": "string",
    "identifier": "string",
    "app_data": {}
  },
  "payments": [
    {
      "id": 1,
      "receipt_id": 1,
      "payment_method_id": 1,
      "category_of_revenue": {
        "id": 1,
        "name": "string",
        "archived": true
      },
      "voucher": {
        "id": 1,
        "name": "string"
      },
      "amount": {
        "value": "string",
        "currency": "string"
      },
      "created_at": "2026-01-15T12:30:00Z",
      "updated_at": "2026-01-15T12:30:00Z"
    }
  ],
  "open_amount": {
    "value": "string",
    "currency": "string"
  },
  "paid_at": "2026-01-15T12:30:00Z",
  "opened_at": "2026-01-15T12:30:00Z"
}

Orders

POST /v1/orders order:write

Creates an order and submits it for preparation. Provide exactly one of `receipt_id`, `customer_id`, `table_id`, `group_id` or `employee_id` to determine the receipt the order is placed on; a new receipt is opened when none is open yet. Each item either references a product by `product_id` or `product_barcode` — inheriting its price, tax rate and preparation settings — or describes a free-form item with `description` and `price`. Items can carry nested sub-items, for example product options.

Request body

customer_id integer

Unique identifier of the customer to place the order for

table_id integer

Unique identifier of the table to place the order on

group_id integer

Unique identifier of the group to place the order for

employee_id integer

Unique identifier of the employee to place the order for

receipt_id integer

Unique identifier of an open receipt to add the order to

note string

Note added to the receipt

takeout_time datetime

Pick-up time for takeout orders

items array of object req

Items to order

product_id string

Unique identifier of the product to order

product_barcode string

PLU or barcode of the product to order

description string

Item description; defaults to the product name

note string

Note shown on the preparation receipt

price number

Unit price in euros, including VAT; defaults to the product price

discount number

Discount applied to the item; defaults to the product discount

no_discount boolean

Whether the item is excluded from receipt-wide discounts

tax_rate_id integer

Unique identifier of the tax rate; defaults to the product tax rate

product_category_id array of string

Unique identifiers of the product categories the item belongs to

category_of_revenue_id integer

Unique identifier of the category of revenue; defaults to the product category of revenue

preparation_location_id integer

Unique identifier of the preparation location the item is sent to

course integer

Course the item is served in; defaults to the product default course

unit_name string

Unit the item is sold in, for example kg

unit_quantity integer

Quantity in the given unit

unit_default_quantity integer

Default quantity in the given unit

items array of object

Nested sub-items, for example product options

{
  "customer_id": 1,
  "table_id": 1,
  "group_id": 1,
  "employee_id": 1,
  "receipt_id": 1,
  "note": "string",
  "takeout_time": "2026-01-15T12:30:00Z",
  "items": [
    {
      "product_id": "string",
      "product_barcode": "string",
      "description": "string",
      "note": "string",
      "price": 9.99,
      "discount": 9.99,
      "no_discount": true,
      "tax_rate_id": 1,
      "product_category_id": [
        "string"
      ],
      "category_of_revenue_id": 1,
      "preparation_location_id": 1,
      "course": 1,
      "unit_name": "string",
      "unit_quantity": 1,
      "unit_default_quantity": 1,
      "items": [
        {}
      ]
    }
  ]
}

Responses

201 Order Create and submit an order
Response attributes
id integer

Unique identifier of the order.

receipt_id integer

Unique identifier of the receipt the order was placed on.

Items that were ordered.

id integer

Unique identifier of the item.

product_id integer

Unique identifier of the ordered product; null for free-form items.

description string

Description of the item as shown on the receipt.

note string

Note shown on the preparation receipt.

price Money

Unit price after discounts.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate applied to the item.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the item counts towards.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

cost_price Money

Cost price of the item.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

representation_by Employee

Employee who added the item to the receipt.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

payment_status string

Payment status of the item: `pending` or `paid`.

voucher Voucher

Voucher sold with the item, if any.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

created_at datetime

Time the item was added to the receipt.

Example response
{
  "id": 1,
  "receipt_id": 1,
  "items": [
    {
      "id": 1,
      "product_id": 1,
      "description": "string",
      "note": "string",
      "price": {
        "value": "string",
        "currency": "string"
      },
      "tax_rate": {
        "id": 1,
        "name": "string",
        "percentage": "string",
        "label": "string"
      },
      "category_of_revenue": {
        "id": 1,
        "name": "string",
        "archived": true
      },
      "cost_price": {
        "value": "string",
        "currency": "string"
      },
      "representation_by": {
        "id": 1,
        "name": "string",
        "created_at": "2026-01-15T12:30:00Z"
      },
      "payment_status": "string",
      "voucher": {
        "id": 1,
        "name": "string"
      },
      "created_at": "2026-01-15T12:30:00Z"
    }
  ]
}
POST /v1/orders/submissions order:write

Submit an order, the order will be posted to the receipt it belongs to triggeren all configured callbacks in the organization.

Request body

order_id integer req

Unique identifier of the order to submit

{
  "order_id": 1
}

Responses

201 Order Submit an order
Response attributes
id integer

Unique identifier of the order.

receipt_id integer

Unique identifier of the receipt the order was placed on.

Items that were ordered.

id integer

Unique identifier of the item.

product_id integer

Unique identifier of the ordered product; null for free-form items.

description string

Description of the item as shown on the receipt.

note string

Note shown on the preparation receipt.

price Money

Unit price after discounts.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate applied to the item.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the item counts towards.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

cost_price Money

Cost price of the item.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

representation_by Employee

Employee who added the item to the receipt.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

payment_status string

Payment status of the item: `pending` or `paid`.

voucher Voucher

Voucher sold with the item, if any.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

created_at datetime

Time the item was added to the receipt.

Example response
{
  "id": 1,
  "receipt_id": 1,
  "items": [
    {
      "id": 1,
      "product_id": 1,
      "description": "string",
      "note": "string",
      "price": {
        "value": "string",
        "currency": "string"
      },
      "tax_rate": {
        "id": 1,
        "name": "string",
        "percentage": "string",
        "label": "string"
      },
      "category_of_revenue": {
        "id": 1,
        "name": "string",
        "archived": true
      },
      "cost_price": {
        "value": "string",
        "currency": "string"
      },
      "representation_by": {
        "id": 1,
        "name": "string",
        "created_at": "2026-01-15T12:30:00Z"
      },
      "payment_status": "string",
      "voucher": {
        "id": 1,
        "name": "string"
      },
      "created_at": "2026-01-15T12:30:00Z"
    }
  ]
}

Customers

GET /v1/customers customer:read

Returns all active customers of the organization.

Responses

200 array of Customer List customers
Response attributes
id integer

Unique identifier of the customer.

name string

Full name of the customer.

locale string

Preferred locale of the customer, for example `nl` or `en`.

pinned boolean

Whether the customer is pinned for quick access on the register.

last_receipt_at datetime

Time of the customer's most recent receipt.

groups array of string

Names of the customer groups the customer belongs to.

email string

Email address of the customer.

phone string

Phone number of the customer.

address string

Postal address of the customer.

identifier string

External identifier of the customer, for example a membership number.

app_data object

Arbitrary data stored on the customer by your app.

Example response
[
  {
    "id": 1,
    "name": "string",
    "locale": "string",
    "pinned": true,
    "last_receipt_at": "2026-01-15T12:30:00Z",
    "groups": [
      "string"
    ],
    "email": "string",
    "phone": "string",
    "address": "string",
    "identifier": "string",
    "app_data": {}
  }
]
POST /v1/customers customer:write

Creates a customer owned by your app. If a customer with the given email address already exists, no customer is created; the existing customer is returned with a `303 See Other` status and a `Location` header pointing to it.

Request body

name string req

Full name of the customer

email string

Email address, used to detect existing customers

phone string

Phone number

address string

Postal address

app_data object

Arbitrary data your app wants to store on the customer

{
  "name": "string",
  "email": "string",
  "phone": "string",
  "address": "string",
  "app_data": {}
}

Responses

201 Customer Create a customer
Response attributes
id integer

Unique identifier of the customer.

name string

Full name of the customer.

locale string

Preferred locale of the customer, for example `nl` or `en`.

pinned boolean

Whether the customer is pinned for quick access on the register.

last_receipt_at datetime

Time of the customer's most recent receipt.

groups array of string

Names of the customer groups the customer belongs to.

email string

Email address of the customer.

phone string

Phone number of the customer.

address string

Postal address of the customer.

identifier string

External identifier of the customer, for example a membership number.

app_data object

Arbitrary data stored on the customer by your app.

Example response
{
  "id": 1,
  "name": "string",
  "locale": "string",
  "pinned": true,
  "last_receipt_at": "2026-01-15T12:30:00Z",
  "groups": [
    "string"
  ],
  "email": "string",
  "phone": "string",
  "address": "string",
  "identifier": "string",
  "app_data": {}
}
PATCH /v1/customers/{id} customer:write

Updates the given attributes of a customer; attributes that are not included in the request keep their current value.

Parameters

id path · integer req

Unique identifier of the customer

Request body

name string

Full name of the customer

email string

Email address

phone string

Phone number

address string

Postal address

app_data object

Arbitrary data your app wants to store on the customer

{
  "name": "string",
  "email": "string",
  "phone": "string",
  "address": "string",
  "app_data": {}
}

Responses

200 Customer Update a customer
Response attributes
id integer

Unique identifier of the customer.

name string

Full name of the customer.

locale string

Preferred locale of the customer, for example `nl` or `en`.

pinned boolean

Whether the customer is pinned for quick access on the register.

last_receipt_at datetime

Time of the customer's most recent receipt.

groups array of string

Names of the customer groups the customer belongs to.

email string

Email address of the customer.

phone string

Phone number of the customer.

address string

Postal address of the customer.

identifier string

External identifier of the customer, for example a membership number.

app_data object

Arbitrary data stored on the customer by your app.

Example response
{
  "id": 1,
  "name": "string",
  "locale": "string",
  "pinned": true,
  "last_receipt_at": "2026-01-15T12:30:00Z",
  "groups": [
    "string"
  ],
  "email": "string",
  "phone": "string",
  "address": "string",
  "identifier": "string",
  "app_data": {}
}
PUT /v1/customers/{id} customer:write

Replaces all attributes of a customer with the given values; attributes that are not included in the request are cleared.

Parameters

id path · integer req

Unique identifier of the customer

Request body

name string

Full name of the customer

email string

Email address

phone string

Phone number

address string

Postal address

app_data object

Arbitrary data your app wants to store on the customer

{
  "name": "string",
  "email": "string",
  "phone": "string",
  "address": "string",
  "app_data": {}
}

Responses

200 Customer Replace a customer
Response attributes
id integer

Unique identifier of the customer.

name string

Full name of the customer.

locale string

Preferred locale of the customer, for example `nl` or `en`.

pinned boolean

Whether the customer is pinned for quick access on the register.

last_receipt_at datetime

Time of the customer's most recent receipt.

groups array of string

Names of the customer groups the customer belongs to.

email string

Email address of the customer.

phone string

Phone number of the customer.

address string

Postal address of the customer.

identifier string

External identifier of the customer, for example a membership number.

app_data object

Arbitrary data stored on the customer by your app.

Example response
{
  "id": 1,
  "name": "string",
  "locale": "string",
  "pinned": true,
  "last_receipt_at": "2026-01-15T12:30:00Z",
  "groups": [
    "string"
  ],
  "email": "string",
  "phone": "string",
  "address": "string",
  "identifier": "string",
  "app_data": {}
}

Products

GET /v1/products product:read

Returns all products in the organization's catalog that are not archived

Responses

200 array of Product List products
Response attributes
id integer

Unique identifier of the product.

name string

Name of the product.

plu string

PLU or barcode identifying the product.

price Money

Selling price including VAT.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate_id integer

Unique identifier of the tax rate applied to the product.

category_of_revenue_id integer

Unique identifier of the category of revenue the product belongs to.

tax_rate TaxRate

Tax rate applied to the product.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the product belongs to.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

default_course integer

Course the product is served in by default (0 for no course).

Example response
[
  {
    "id": 1,
    "name": "string",
    "plu": "string",
    "price": {
      "value": "string",
      "currency": "string"
    },
    "tax_rate_id": 1,
    "category_of_revenue_id": 1,
    "tax_rate": {
      "id": 1,
      "name": "string",
      "percentage": "string",
      "label": "string"
    },
    "category_of_revenue": {
      "id": 1,
      "name": "string",
      "archived": true
    },
    "default_course": 1
  }
]
POST /v1/products product:write

Creates a product owned by your app. If a product with the given PLU already exists, no product is created; the existing product is returned with a `303 See Other` status and a `Location` header pointing to it.

Request body

name string req

Name of the product

plu string req

PLU or barcode identifying the product

price number req

Selling price in euros, including VAT

tax_rate_id integer req

Unique identifier of the tax rate to apply

category_of_revenue_id integer req

Unique identifier of the category of revenue the product belongs to

default_course integer

Course the product is served in by default (0 for no course)

{
  "name": "string",
  "plu": "string",
  "price": 9.99,
  "tax_rate_id": 1,
  "category_of_revenue_id": 1,
  "default_course": 0
}

Responses

201 Product Create a product
Response attributes
id integer

Unique identifier of the product.

name string

Name of the product.

plu string

PLU or barcode identifying the product.

price Money

Selling price including VAT.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate_id integer

Unique identifier of the tax rate applied to the product.

category_of_revenue_id integer

Unique identifier of the category of revenue the product belongs to.

tax_rate TaxRate

Tax rate applied to the product.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the product belongs to.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

default_course integer

Course the product is served in by default (0 for no course).

Example response
{
  "id": 1,
  "name": "string",
  "plu": "string",
  "price": {
    "value": "string",
    "currency": "string"
  },
  "tax_rate_id": 1,
  "category_of_revenue_id": 1,
  "tax_rate": {
    "id": 1,
    "name": "string",
    "percentage": "string",
    "label": "string"
  },
  "category_of_revenue": {
    "id": 1,
    "name": "string",
    "archived": true
  },
  "default_course": 1
}
GET /v1/products/find product:read

Looks up a single product by its PLU or barcode.

Parameters

plu query · string req

PLU or barcode of the product

Responses

200 Product Find a product by PLU
Response attributes
id integer

Unique identifier of the product.

name string

Name of the product.

plu string

PLU or barcode identifying the product.

price Money

Selling price including VAT.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate_id integer

Unique identifier of the tax rate applied to the product.

category_of_revenue_id integer

Unique identifier of the category of revenue the product belongs to.

tax_rate TaxRate

Tax rate applied to the product.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the product belongs to.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

default_course integer

Course the product is served in by default (0 for no course).

Example response
{
  "id": 1,
  "name": "string",
  "plu": "string",
  "price": {
    "value": "string",
    "currency": "string"
  },
  "tax_rate_id": 1,
  "category_of_revenue_id": 1,
  "tax_rate": {
    "id": 1,
    "name": "string",
    "percentage": "string",
    "label": "string"
  },
  "category_of_revenue": {
    "id": 1,
    "name": "string",
    "archived": true
  },
  "default_course": 1
}

Tax rates

GET /v1/tax_rates tax_rate:read

Returns all tax rates configured for the organization.

Responses

200 array of TaxRate List tax rates
Response attributes
id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

Example response
[
  {
    "id": 1,
    "name": "string",
    "percentage": "string",
    "label": "string"
  }
]

Category of revenues

GET /v1/category_of_revenues category_of_revenue:read

Returns all categories of revenue configured for the organization, including archived ones.

Responses

200 array of CategoryOfRevenue List categories of revenue
Response attributes
id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

Example response
[
  {
    "id": 1,
    "name": "string",
    "archived": true
  }
]
POST /v1/category_of_revenues category_of_revenue:write

Creates a category of revenue owned by your app. Assign products and payments to it to break down revenue in closings and reports.

Request body

name string req

Name of the category of revenue

{
  "name": "string"
}

Responses

201 CategoryOfRevenue Create a category of revenue
Response attributes
id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

Example response
{
  "id": 1,
  "name": "string",
  "archived": true
}

Payments

POST /v1/payments payment:write

Records a payment on a receipt, for example after your app has processed a transaction through one of its registered payment methods. All pending items on the receipt are marked as paid.

Request body

receipt_id integer req

Unique identifier of the receipt the payment settles

amount integer req

Amount paid, in euro cents

payment_method_id integer req

Unique identifier of the payment method that was used

{
  "receipt_id": 1,
  "amount": 1,
  "payment_method_id": 1
}

Responses

201 Payment Create a payment
Response attributes
id integer

Unique identifier of the payment.

receipt_id integer

Unique identifier of the receipt the payment settles.

payment_method_id integer

Unique identifier of the payment method that was used.

category_of_revenue CategoryOfRevenue

Category of revenue the payment counts towards, if any.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

voucher Voucher

Voucher the payment was made with, if any.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

amount Money

Amount paid.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

created_at datetime

Time the payment was created.

updated_at datetime

Time the payment was last updated.

Example response
{
  "id": 1,
  "receipt_id": 1,
  "payment_method_id": 1,
  "category_of_revenue": {
    "id": 1,
    "name": "string",
    "archived": true
  },
  "voucher": {
    "id": 1,
    "name": "string"
  },
  "amount": {
    "value": "string",
    "currency": "string"
  },
  "created_at": "2026-01-15T12:30:00Z",
  "updated_at": "2026-01-15T12:30:00Z"
}

Payment methods

GET /v1/payment_methods payment/methods:read

Returns the payment methods registered by your app that have not been archived.

Responses

200 array of PaymentMethod List payment methods
Response attributes
id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

Example response
[
  {
    "id": 1,
    "name": "string",
    "online": true,
    "tap_to_pay": true,
    "operator_reference": "string",
    "required_data": {},
    "created_at": "2026-01-15T12:30:00Z",
    "updated_at": "2026-01-15T12:30:00Z"
  }
]
POST /v1/payment_methods payment/methods:write

Registers a payment method that becomes available on the organization's registers. When a user pays with it, 20Tabs calls your app's webhook with the `receipt_id` and `payment_method_id`; your app processes the transaction and records the result by creating a payment.

Request body

name string req

Display name shown to users on the register

online boolean req

Whether the payment is processed online (`true`) or in store (`false`)

tap_to_pay boolean

Whether the payment method uses Tap to Pay

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system

required_data array of string

Fields the user must fill in when paying with this method, for example the barcode and pincode of a voucher. The collected values are sent to your payment webhook. Example: [{ name: 'card_number', type: 'string', translated_name: { nl: 'Kaartnummer', en: 'Card number' } }]

{
  "name": "string",
  "online": true,
  "tap_to_pay": true,
  "operator_reference": "string",
  "required_data": [
    "string"
  ]
}

Responses

201 PaymentMethod Register a payment method
Response attributes
id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

Example response
{
  "id": 1,
  "name": "string",
  "online": true,
  "tap_to_pay": true,
  "operator_reference": "string",
  "required_data": {},
  "created_at": "2026-01-15T12:30:00Z",
  "updated_at": "2026-01-15T12:30:00Z"
}
PATCH /v1/payment_methods/{id} payment/methods:write

Updates a payment method registered by your app.

Parameters

id path · integer req

Unique identifier of the payment method

Request body

name string

Display name shown to users on the register

{
  "name": "string"
}

Responses

200 PaymentMethod Update a payment method
Response attributes
id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

Example response
{
  "id": 1,
  "name": "string",
  "online": true,
  "tap_to_pay": true,
  "operator_reference": "string",
  "required_data": {},
  "created_at": "2026-01-15T12:30:00Z",
  "updated_at": "2026-01-15T12:30:00Z"
}
DELETE /v1/payment_methods/{id} payment/methods:write

Archives a payment method registered by your app, removing it from the organization's registers. Existing payments keep referring to it.

Parameters

id path · integer req

Unique identifier of the payment method

Responses

204 Archive a payment method

Modals

POST /v1/modals

Displays a modal in the user's session on the register, for example to confirm a payment your app is processing.

Request body

session_id integer req

Unique identifier of the user session to show the modal in

title string req

Title of the modal

text string req

Body text of the modal

type string

Leave empty for a plain text modal, or use `confirm_payment` for a payment confirmation modal

metadata object

For `confirm_payment` modals: the `reference`, `amount` and `payment_method_id` of the payment to confirm

{
  "session_id": 1,
  "title": "string",
  "text": "string",
  "type": "string",
  "metadata": {}
}

Responses

201 Show a modal

Tasks

POST /v1/tasks

Creates a task for the organization, shown in the taskmanager until it is completed. Use tasks to ask users to take action in your app, for example to resolve missing data.

Request body

name object req

Task name per locale, for example { "en": "Missing barcode", "nl": "Ontbrekende barcode" }

description object

Task description per locale

{
  "name": {},
  "description": {}
}

Responses

201 Task Create a task
Response attributes
id integer

Unique identifier of the task.

name object

Task name per locale.

description object

Task description per locale.

completed_at datetime

Time the task was completed; null while the task is open.

Example response
{
  "id": 1,
  "name": {},
  "description": {},
  "completed_at": "2026-01-15T12:30:00Z"
}

Subscription

PATCH /v1/subscription

Updates the state of your app's subscription for this organization. Mark the subscription as active once your app has finished setting up.

Request body

state enum req

New state of the subscription

{
  "state": "active"
}

Responses

200 Update the subscription
DELETE /v1/subscription

Deletes your app's subscription for this organization, immediately revoking its access and refresh tokens.

Responses

204 Cancel the subscription

Oauth

GET https://{organization}.20tabs.app/oauth/authorize

Starts the authorization code flow. Renders a consent page in the user's browser on the organization's domain; after the user approves, the browser is redirected to `redirect_uri` with `code`, `state` and `subscription_id` query parameters.

Parameters

client_id query · string req

Client id of the registered app

redirect_uri query · string req

Callback URL; must be allowed by the registered app

state query · string

Opaque value echoed back on the redirect

read_only query · boolean

Request only the read scopes of the app, if the app supports read-only installs

Responses

200 Consent page (HTML)
302 Redirect to `redirect_uri` with `code`, `state` and `subscription_id`
422 Unknown client id or redirect URI not allowed
POST https://api.20tabs.app/oauth/token

Exchanges the authorization `code` for an access token.

Responses

200 OauthToken Access token issued
Response attributes
token_type string
access_token string
refresh_token string
expires_in integer

Access token lifetime in seconds

scopes array of string

Scopes granted to the subscription

subscription_id string
Example response
{
  "token_type": "string",
  "access_token": "string",
  "refresh_token": "string",
  "expires_in": 1,
  "scopes": [
    "string"
  ],
  "subscription_id": "string"
}
401 OauthError Invalid code, code verifier or client credentials
Response attributes
error string
error_description string
Example response
{
  "error": "string",
  "error_description": "string"
}
422 OauthError Redirect URI mismatch
Response attributes
error string
error_description string
Example response
{
  "error": "string",
  "error_description": "string"
}
POST https://api.20tabs.app/oauth/refresh

Exchanges a refresh token for a new access and refresh token pair.

Responses

200 OauthToken Access token refreshed
Response attributes
token_type string
access_token string
refresh_token string
expires_in integer

Access token lifetime in seconds

scopes array of string

Scopes granted to the subscription

subscription_id string
Example response
{
  "token_type": "string",
  "access_token": "string",
  "refresh_token": "string",
  "expires_in": 1,
  "scopes": [
    "string"
  ],
  "subscription_id": "string"
}
401 OauthError Invalid refresh token
Response attributes
error string
error_description string
Example response
{
  "error": "string",
  "error_description": "string"
}

Objects

The resource objects returned by the API.

CategoryOfRevenue

A category used to break down revenue in closings and reports.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

Example
{
  "id": 1,
  "name": "string",
  "archived": true
}

Customer

A customer of the organization.

id integer

Unique identifier of the customer.

name string

Full name of the customer.

locale string

Preferred locale of the customer, for example `nl` or `en`.

pinned boolean

Whether the customer is pinned for quick access on the register.

last_receipt_at datetime

Time of the customer's most recent receipt.

groups array of string

Names of the customer groups the customer belongs to.

email string

Email address of the customer.

phone string

Phone number of the customer.

address string

Postal address of the customer.

identifier string

External identifier of the customer, for example a membership number.

app_data object

Arbitrary data stored on the customer by your app.

Example
{
  "id": 1,
  "name": "string",
  "locale": "string",
  "pinned": true,
  "last_receipt_at": "2026-01-15T12:30:00Z",
  "groups": [
    "string"
  ],
  "email": "string",
  "phone": "string",
  "address": "string",
  "identifier": "string",
  "app_data": {}
}

DailyClosing

The financial closing of a single trading day.

id integer

Unique identifier of the daily closing.

cashflow object

Cashflow generated during the day, per payment method.

amounts object

Amounts received per payment method.

revenue object

Revenue generated during the day, broken down per dimension.

per_category_of_revenue array of Revenue

Revenue per category of revenue.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_employee array of Revenue

Revenue per employee.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_device array of Revenue

Revenue per device.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_voucher array of Revenue

Revenue per voucher.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

voucher_redemptions array of VoucherRedemption

Vouchers redeemed during the day.

voucher Voucher

Voucher that was redeemed.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

amount Money

Amount redeemed.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

created_at datetime

Time the daily closing was created.

for_date date

Trading date the daily closing covers.

Example
{
  "id": 1,
  "cashflow": {
    "amounts": {}
  },
  "revenue": {
    "per_category_of_revenue": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ],
    "per_employee": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ],
    "per_device": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ],
    "per_voucher": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ]
  },
  "voucher_redemptions": [
    {
      "voucher": {
        "id": 1,
        "name": "string"
      },
      "amount": {
        "value": "string",
        "currency": "string"
      }
    }
  ],
  "created_at": "2026-01-15T12:30:00Z",
  "for_date": "2026-01-15"
}

Device

A device of the organization, such as a register, display or printer.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

Example
{
  "id": 1,
  "uuid": "string",
  "name": "string",
  "kind": "string",
  "subtype": "string",
  "locale": "string",
  "register_network": true,
  "external_buzzer": true,
  "primary_payment_method": {
    "id": 1,
    "name": "string",
    "online": true,
    "tap_to_pay": true,
    "operator_reference": "string",
    "required_data": {},
    "created_at": "2026-01-15T12:30:00Z",
    "updated_at": "2026-01-15T12:30:00Z"
  },
  "secondary_payment_method": {
    "id": 1,
    "name": "string",
    "online": true,
    "tap_to_pay": true,
    "operator_reference": "string",
    "required_data": {},
    "created_at": "2026-01-15T12:30:00Z",
    "updated_at": "2026-01-15T12:30:00Z"
  },
  "quickselect_page_id": 1,
  "preparation_location_ids": [
    "string"
  ],
  "monitoring_preparation_location_ids": [
    "string"
  ],
  "settings": "string",
  "archived": true
}

Employee

An employee of the organization.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

Example
{
  "id": 1,
  "name": "string",
  "created_at": "2026-01-15T12:30:00Z"
}

Money

A monetary amount in a specific currency.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

Example
{
  "value": "string",
  "currency": "string"
}

MonthlyClosing

The financial closing of a calendar month, aggregating its daily closings.

id integer

Unique identifier of the monthly closing.

cashflow object

Combined cashflow of all daily closings in the month, per payment method.

amounts object

Amounts received per payment method.

revenue object

Combined revenue of all daily closings in the month, broken down per dimension.

per_category_of_revenue array of Revenue

Revenue per category of revenue.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_employee array of Revenue

Revenue per employee.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_device array of Revenue

Revenue per device.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_voucher array of Revenue

Revenue per voucher.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

voucher_redemptions array of VoucherRedemption

Vouchers redeemed during the month.

voucher Voucher

Voucher that was redeemed.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

amount Money

Amount redeemed.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

daily_closings array of DailyClosing

Daily closings the monthly closing covers.

id integer

Unique identifier of the daily closing.

cashflow object

Cashflow generated during the day, per payment method.

amounts object

Amounts received per payment method.

revenue object

Revenue generated during the day, broken down per dimension.

per_category_of_revenue array of Revenue

Revenue per category of revenue.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_employee array of Revenue

Revenue per employee.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_device array of Revenue

Revenue per device.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

per_voucher array of Revenue

Revenue per voucher.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

voucher_redemptions array of VoucherRedemption

Vouchers redeemed during the day.

voucher Voucher

Voucher that was redeemed.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

amount Money

Amount redeemed.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

created_at datetime

Time the daily closing was created.

for_date date

Trading date the daily closing covers.

created_at datetime

Time the monthly closing was created.

Example
{
  "id": 1,
  "cashflow": {
    "amounts": {}
  },
  "revenue": {
    "per_category_of_revenue": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ],
    "per_employee": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ],
    "per_device": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ],
    "per_voucher": [
      {
        "amount": {
          "value": "string",
          "currency": "string"
        },
        "tax_rate": {
          "id": 1,
          "name": "string",
          "percentage": "string",
          "label": "string"
        },
        "category_of_revenue": {
          "id": 1,
          "name": "string",
          "archived": true
        },
        "employee": {
          "id": 1,
          "name": "string",
          "created_at": "2026-01-15T12:30:00Z"
        },
        "device": {
          "id": 1,
          "uuid": "string",
          "name": "string",
          "kind": "string",
          "subtype": "string",
          "locale": "string",
          "register_network": true,
          "external_buzzer": true,
          "primary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "secondary_payment_method": {
            "id": 1,
            "name": "string",
            "online": true,
            "tap_to_pay": true,
            "operator_reference": "string",
            "required_data": {},
            "created_at": "2026-01-15T12:30:00Z",
            "updated_at": "2026-01-15T12:30:00Z"
          },
          "quickselect_page_id": 1,
          "preparation_location_ids": [
            "string"
          ],
          "monitoring_preparation_location_ids": [
            "string"
          ],
          "settings": "string",
          "archived": true
        },
        "voucher": {
          "id": 1,
          "name": "string"
        }
      }
    ]
  },
  "voucher_redemptions": [
    {
      "voucher": {
        "id": 1,
        "name": "string"
      },
      "amount": {
        "value": "string",
        "currency": "string"
      }
    }
  ],
  "daily_closings": [
    {
      "id": 1,
      "cashflow": {
        "amounts": {}
      },
      "revenue": {
        "per_category_of_revenue": [
          {
            "amount": {
              "value": "string",
              "currency": "string"
            },
            "tax_rate": {
              "id": 1,
              "name": "string",
              "percentage": "string",
              "label": "string"
            },
            "category_of_revenue": {
              "id": 1,
              "name": "string",
              "archived": true
            },
            "employee": {
              "id": 1,
              "name": "string",
              "created_at": "2026-01-15T12:30:00Z"
            },
            "device": {
              "id": 1,
              "uuid": "string",
              "name": "string",
              "kind": "string",
              "subtype": "string",
              "locale": "string",
              "register_network": true,
              "external_buzzer": true,
              "primary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "secondary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "quickselect_page_id": 1,
              "preparation_location_ids": [
                "string"
              ],
              "monitoring_preparation_location_ids": [
                "string"
              ],
              "settings": "string",
              "archived": true
            },
            "voucher": {
              "id": 1,
              "name": "string"
            }
          }
        ],
        "per_employee": [
          {
            "amount": {
              "value": "string",
              "currency": "string"
            },
            "tax_rate": {
              "id": 1,
              "name": "string",
              "percentage": "string",
              "label": "string"
            },
            "category_of_revenue": {
              "id": 1,
              "name": "string",
              "archived": true
            },
            "employee": {
              "id": 1,
              "name": "string",
              "created_at": "2026-01-15T12:30:00Z"
            },
            "device": {
              "id": 1,
              "uuid": "string",
              "name": "string",
              "kind": "string",
              "subtype": "string",
              "locale": "string",
              "register_network": true,
              "external_buzzer": true,
              "primary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "secondary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "quickselect_page_id": 1,
              "preparation_location_ids": [
                "string"
              ],
              "monitoring_preparation_location_ids": [
                "string"
              ],
              "settings": "string",
              "archived": true
            },
            "voucher": {
              "id": 1,
              "name": "string"
            }
          }
        ],
        "per_device": [
          {
            "amount": {
              "value": "string",
              "currency": "string"
            },
            "tax_rate": {
              "id": 1,
              "name": "string",
              "percentage": "string",
              "label": "string"
            },
            "category_of_revenue": {
              "id": 1,
              "name": "string",
              "archived": true
            },
            "employee": {
              "id": 1,
              "name": "string",
              "created_at": "2026-01-15T12:30:00Z"
            },
            "device": {
              "id": 1,
              "uuid": "string",
              "name": "string",
              "kind": "string",
              "subtype": "string",
              "locale": "string",
              "register_network": true,
              "external_buzzer": true,
              "primary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "secondary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "quickselect_page_id": 1,
              "preparation_location_ids": [
                "string"
              ],
              "monitoring_preparation_location_ids": [
                "string"
              ],
              "settings": "string",
              "archived": true
            },
            "voucher": {
              "id": 1,
              "name": "string"
            }
          }
        ],
        "per_voucher": [
          {
            "amount": {
              "value": "string",
              "currency": "string"
            },
            "tax_rate": {
              "id": 1,
              "name": "string",
              "percentage": "string",
              "label": "string"
            },
            "category_of_revenue": {
              "id": 1,
              "name": "string",
              "archived": true
            },
            "employee": {
              "id": 1,
              "name": "string",
              "created_at": "2026-01-15T12:30:00Z"
            },
            "device": {
              "id": 1,
              "uuid": "string",
              "name": "string",
              "kind": "string",
              "subtype": "string",
              "locale": "string",
              "register_network": true,
              "external_buzzer": true,
              "primary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "secondary_payment_method": {
                "id": 1,
                "name": "string",
                "online": true,
                "tap_to_pay": true,
                "operator_reference": "string",
                "required_data": {},
                "created_at": "2026-01-15T12:30:00Z",
                "updated_at": "2026-01-15T12:30:00Z"
              },
              "quickselect_page_id": 1,
              "preparation_location_ids": [
                "string"
              ],
              "monitoring_preparation_location_ids": [
                "string"
              ],
              "settings": "string",
              "archived": true
            },
            "voucher": {
              "id": 1,
              "name": "string"
            }
          }
        ]
      },
      "voucher_redemptions": [
        {
          "voucher": {
            "id": 1,
            "name": "string"
          },
          "amount": {
            "value": "string",
            "currency": "string"
          }
        }
      ],
      "created_at": "2026-01-15T12:30:00Z",
      "for_date": "2026-01-15"
    }
  ],
  "created_at": "2026-01-15T12:30:00Z"
}

OauthError

An OAuth 2.0 error response.

error string
error_description string
Example
{
  "error": "string",
  "error_description": "string"
}

OauthToken

An access token issued to your app for one organization.

token_type string
access_token string
refresh_token string
expires_in integer

Access token lifetime in seconds

scopes array of string

Scopes granted to the subscription

subscription_id string
Example
{
  "token_type": "string",
  "access_token": "string",
  "refresh_token": "string",
  "expires_in": 1,
  "scopes": [
    "string"
  ],
  "subscription_id": "string"
}

Order

An order placed on a receipt.

id integer

Unique identifier of the order.

receipt_id integer

Unique identifier of the receipt the order was placed on.

Items that were ordered.

id integer

Unique identifier of the item.

product_id integer

Unique identifier of the ordered product; null for free-form items.

description string

Description of the item as shown on the receipt.

note string

Note shown on the preparation receipt.

price Money

Unit price after discounts.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate applied to the item.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the item counts towards.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

cost_price Money

Cost price of the item.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

representation_by Employee

Employee who added the item to the receipt.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

payment_status string

Payment status of the item: `pending` or `paid`.

voucher Voucher

Voucher sold with the item, if any.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

created_at datetime

Time the item was added to the receipt.

Example
{
  "id": 1,
  "receipt_id": 1,
  "items": [
    {
      "id": 1,
      "product_id": 1,
      "description": "string",
      "note": "string",
      "price": {
        "value": "string",
        "currency": "string"
      },
      "tax_rate": {
        "id": 1,
        "name": "string",
        "percentage": "string",
        "label": "string"
      },
      "category_of_revenue": {
        "id": 1,
        "name": "string",
        "archived": true
      },
      "cost_price": {
        "value": "string",
        "currency": "string"
      },
      "representation_by": {
        "id": 1,
        "name": "string",
        "created_at": "2026-01-15T12:30:00Z"
      },
      "payment_status": "string",
      "voucher": {
        "id": 1,
        "name": "string"
      },
      "created_at": "2026-01-15T12:30:00Z"
    }
  ]
}

Organization

An organization using 20Tabs.

id integer

Unique identifier of the organization.

name string

Name of the organization.

display_name string

Trading name shown on receipts and customer-facing screens.

email string

Contact email address of the organization.

phone string

Contact phone number of the organization.

first_name string

First name of the contact person.

last_name string

Last name of the contact person.

coc string

Chamber of Commerce (KvK) registration number.

vat string

VAT identification number.

street string

Street of the business address.

building string

Name of the building of the business address.

building_number string

Building number of the business address.

postal_code string

Postal code of the business address.

city string

City of the business address.

country_code string

ISO 3166-1 alpha-2 country code of the business address.

locale string

Default locale of the organization, for example `nl` or `en`.

created_at datetime

Time the organization joined 20Tabs.

Example
{
  "id": 1,
  "name": "string",
  "display_name": "string",
  "email": "string",
  "phone": "string",
  "first_name": "string",
  "last_name": "string",
  "coc": "string",
  "vat": "string",
  "street": "string",
  "building": "string",
  "building_number": "string",
  "postal_code": "string",
  "city": "string",
  "country_code": "string",
  "locale": "string",
  "created_at": "2026-01-15T12:30:00Z"
}

Payment

A payment recorded on a receipt.

id integer

Unique identifier of the payment.

receipt_id integer

Unique identifier of the receipt the payment settles.

payment_method_id integer

Unique identifier of the payment method that was used.

category_of_revenue CategoryOfRevenue

Category of revenue the payment counts towards, if any.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

voucher Voucher

Voucher the payment was made with, if any.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

amount Money

Amount paid.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

created_at datetime

Time the payment was created.

updated_at datetime

Time the payment was last updated.

Example
{
  "id": 1,
  "receipt_id": 1,
  "payment_method_id": 1,
  "category_of_revenue": {
    "id": 1,
    "name": "string",
    "archived": true
  },
  "voucher": {
    "id": 1,
    "name": "string"
  },
  "amount": {
    "value": "string",
    "currency": "string"
  },
  "created_at": "2026-01-15T12:30:00Z",
  "updated_at": "2026-01-15T12:30:00Z"
}

PaymentMethod

A payment method registered by your app, available on the organization's registers.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

Example
{
  "id": 1,
  "name": "string",
  "online": true,
  "tap_to_pay": true,
  "operator_reference": "string",
  "required_data": {},
  "created_at": "2026-01-15T12:30:00Z",
  "updated_at": "2026-01-15T12:30:00Z"
}

Product

A product in the organization's catalog.

id integer

Unique identifier of the product.

name string

Name of the product.

plu string

PLU or barcode identifying the product.

price Money

Selling price including VAT.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate_id integer

Unique identifier of the tax rate applied to the product.

category_of_revenue_id integer

Unique identifier of the category of revenue the product belongs to.

tax_rate TaxRate

Tax rate applied to the product.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the product belongs to.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

default_course integer

Course the product is served in by default (0 for no course).

Example
{
  "id": 1,
  "name": "string",
  "plu": "string",
  "price": {
    "value": "string",
    "currency": "string"
  },
  "tax_rate_id": 1,
  "category_of_revenue_id": 1,
  "tax_rate": {
    "id": 1,
    "name": "string",
    "percentage": "string",
    "label": "string"
  },
  "category_of_revenue": {
    "id": 1,
    "name": "string",
    "archived": true
  },
  "default_course": 1
}

Receipt

A receipt grouping ordered items and the payments that settle them.

id integer

Unique identifier of the receipt.

Line items on the receipt.

id integer

Unique identifier of the item.

product_id integer

Unique identifier of the ordered product; null for free-form items.

description string

Description of the item as shown on the receipt.

note string

Note shown on the preparation receipt.

price Money

Unit price after discounts.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate applied to the item.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the item counts towards.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

cost_price Money

Cost price of the item.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

representation_by Employee

Employee who added the item to the receipt.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

payment_status string

Payment status of the item: `pending` or `paid`.

voucher Voucher

Voucher sold with the item, if any.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

created_at datetime

Time the item was added to the receipt.

customer Customer

Customer the receipt belongs to, if any.

id integer

Unique identifier of the customer.

name string

Full name of the customer.

locale string

Preferred locale of the customer, for example `nl` or `en`.

pinned boolean

Whether the customer is pinned for quick access on the register.

last_receipt_at datetime

Time of the customer's most recent receipt.

groups array of string

Names of the customer groups the customer belongs to.

email string

Email address of the customer.

phone string

Phone number of the customer.

address string

Postal address of the customer.

identifier string

External identifier of the customer, for example a membership number.

app_data object

Arbitrary data stored on the customer by your app.

payments array of Payment

Payments recorded on the receipt.

id integer

Unique identifier of the payment.

receipt_id integer

Unique identifier of the receipt the payment settles.

payment_method_id integer

Unique identifier of the payment method that was used.

category_of_revenue CategoryOfRevenue

Category of revenue the payment counts towards, if any.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

voucher Voucher

Voucher the payment was made with, if any.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

amount Money

Amount paid.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

created_at datetime

Time the payment was created.

updated_at datetime

Time the payment was last updated.

open_amount Money

Amount still to be paid.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

paid_at datetime

Time the receipt was paid in full; null while the receipt is open.

opened_at datetime

Time the receipt was opened.

Example
{
  "id": 1,
  "items": [
    {
      "id": 1,
      "product_id": 1,
      "description": "string",
      "note": "string",
      "price": {
        "value": "string",
        "currency": "string"
      },
      "tax_rate": {
        "id": 1,
        "name": "string",
        "percentage": "string",
        "label": "string"
      },
      "category_of_revenue": {
        "id": 1,
        "name": "string",
        "archived": true
      },
      "cost_price": {
        "value": "string",
        "currency": "string"
      },
      "representation_by": {
        "id": 1,
        "name": "string",
        "created_at": "2026-01-15T12:30:00Z"
      },
      "payment_status": "string",
      "voucher": {
        "id": 1,
        "name": "string"
      },
      "created_at": "2026-01-15T12:30:00Z"
    }
  ],
  "customer": {
    "id": 1,
    "name": "string",
    "locale": "string",
    "pinned": true,
    "last_receipt_at": "2026-01-15T12:30:00Z",
    "groups": [
      "string"
    ],
    "email": "string",
    "phone": "string",
    "address": "string",
    "identifier": "string",
    "app_data": {}
  },
  "payments": [
    {
      "id": 1,
      "receipt_id": 1,
      "payment_method_id": 1,
      "category_of_revenue": {
        "id": 1,
        "name": "string",
        "archived": true
      },
      "voucher": {
        "id": 1,
        "name": "string"
      },
      "amount": {
        "value": "string",
        "currency": "string"
      },
      "created_at": "2026-01-15T12:30:00Z",
      "updated_at": "2026-01-15T12:30:00Z"
    }
  ],
  "open_amount": {
    "value": "string",
    "currency": "string"
  },
  "paid_at": "2026-01-15T12:30:00Z",
  "opened_at": "2026-01-15T12:30:00Z"
}

ReceiptItem

A line item on a receipt.

id integer

Unique identifier of the item.

product_id integer

Unique identifier of the ordered product; null for free-form items.

description string

Description of the item as shown on the receipt.

note string

Note shown on the preparation receipt.

price Money

Unit price after discounts.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate applied to the item.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the item counts towards.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

cost_price Money

Cost price of the item.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

representation_by Employee

Employee who added the item to the receipt.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

payment_status string

Payment status of the item: `pending` or `paid`.

voucher Voucher

Voucher sold with the item, if any.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

created_at datetime

Time the item was added to the receipt.

Example
{
  "id": 1,
  "product_id": 1,
  "description": "string",
  "note": "string",
  "price": {
    "value": "string",
    "currency": "string"
  },
  "tax_rate": {
    "id": 1,
    "name": "string",
    "percentage": "string",
    "label": "string"
  },
  "category_of_revenue": {
    "id": 1,
    "name": "string",
    "archived": true
  },
  "cost_price": {
    "value": "string",
    "currency": "string"
  },
  "representation_by": {
    "id": 1,
    "name": "string",
    "created_at": "2026-01-15T12:30:00Z"
  },
  "payment_status": "string",
  "voucher": {
    "id": 1,
    "name": "string"
  },
  "created_at": "2026-01-15T12:30:00Z"
}

Revenue

Revenue generated within one segment of a breakdown.

amount Money

Revenue amount.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

tax_rate TaxRate

Tax rate of the category of revenue.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

category_of_revenue CategoryOfRevenue

Category of revenue the revenue belongs to, when broken down per category of revenue.

id integer

Unique identifier of the category of revenue.

name string

Name of the category of revenue.

archived boolean

Whether the category of revenue has been archived.

employee Employee

Employee who generated the revenue, when broken down per employee.

id integer

Unique identifier of the employee.

name string

Name of the employee.

created_at datetime

Time the employee was added to the organization.

device Device

Device the revenue was generated on, when broken down per device.

id integer

Unique identifier of the device.

uuid string

UUID of the device.

name string

Name of the device.

kind string

Device type: register, customer_facing_display, preparation_display, kiosk, backoffice_display, network_printer, or bluetooth_printer.

subtype string

Secondary classification within a kind (e.g. register or handheld for registers; preparation or runner for preparation displays).

locale string

Locale the device operates in, for example `nl` or `en`.

register_network boolean

Whether this register participates in the shared register network.

external_buzzer boolean

Whether an external buzzer is connected.

primary_payment_method PaymentMethod

Primary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

secondary_payment_method PaymentMethod

Secondary payment method configured on the device.

id integer

Unique identifier of the payment method.

name string

Display name shown to users on the register.

online boolean

Whether the payment is processed online (`true`) or in store (`false`).

tap_to_pay boolean

Whether the payment method uses Tap to Pay.

operator_reference string

Reference that helps 20Tabs users identify the payment method in your system.

required_data object

Fields the user must fill in when paying with this method.

created_at datetime

Time the payment method was registered.

updated_at datetime

Time the payment method was last updated.

quickselect_page_id integer

Unique identifier of the quickselect page shown on the device.

preparation_location_ids array of string

Unique identifiers of the preparation locations the device prepares.

monitoring_preparation_location_ids array of string

Unique identifiers of the preparation locations the device monitors.

settings string

Kind-specific settings hash.

archived boolean

Whether the device has been archived.

voucher Voucher

Voucher the revenue was generated with, when broken down per voucher.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

Example
{
  "amount": {
    "value": "string",
    "currency": "string"
  },
  "tax_rate": {
    "id": 1,
    "name": "string",
    "percentage": "string",
    "label": "string"
  },
  "category_of_revenue": {
    "id": 1,
    "name": "string",
    "archived": true
  },
  "employee": {
    "id": 1,
    "name": "string",
    "created_at": "2026-01-15T12:30:00Z"
  },
  "device": {
    "id": 1,
    "uuid": "string",
    "name": "string",
    "kind": "string",
    "subtype": "string",
    "locale": "string",
    "register_network": true,
    "external_buzzer": true,
    "primary_payment_method": {
      "id": 1,
      "name": "string",
      "online": true,
      "tap_to_pay": true,
      "operator_reference": "string",
      "required_data": {},
      "created_at": "2026-01-15T12:30:00Z",
      "updated_at": "2026-01-15T12:30:00Z"
    },
    "secondary_payment_method": {
      "id": 1,
      "name": "string",
      "online": true,
      "tap_to_pay": true,
      "operator_reference": "string",
      "required_data": {},
      "created_at": "2026-01-15T12:30:00Z",
      "updated_at": "2026-01-15T12:30:00Z"
    },
    "quickselect_page_id": 1,
    "preparation_location_ids": [
      "string"
    ],
    "monitoring_preparation_location_ids": [
      "string"
    ],
    "settings": "string",
    "archived": true
  },
  "voucher": {
    "id": 1,
    "name": "string"
  }
}

Task

A task shown in the organization's backoffice until it is completed.

id integer

Unique identifier of the task.

name object

Task name per locale.

description object

Task description per locale.

completed_at datetime

Time the task was completed; null while the task is open.

Example
{
  "id": 1,
  "name": {},
  "description": {},
  "completed_at": "2026-01-15T12:30:00Z"
}

TaxRate

A tax rate configured for the organization.

id integer

Unique identifier of the tax rate.

name string

Name of the tax rate.

percentage string

Tax percentage, for example 21.0.

label string

Human-readable label combining the name and percentage.

Example
{
  "id": 1,
  "name": "string",
  "percentage": "string",
  "label": "string"
}

Voucher

A voucher sold and redeemed through the organization.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

Example
{
  "id": 1,
  "name": "string"
}

VoucherRedemption

A redemption of a voucher.

voucher Voucher

Voucher that was redeemed.

id integer

Unique identifier of the voucher.

name string

Name of the voucher.

amount Money

Amount redeemed.

value string

Decimal amount as a string, for example "10.50".

currency string

ISO 4217 currency code, for example "EUR".

Example
{
  "voucher": {
    "id": 1,
    "name": "string"
  },
  "amount": {
    "value": "string",
    "currency": "string"
  }
}
Try for free