Download OpenAPI specification:
Onlinebon API allows consumers to manage their POS data of onlinebon.at.
The version of the endpoint you are requesting can be controlled by the api-version header:
api-version: 2
| Version | Released at |
|---|---|
| v1 | 01.03.2020 |
| v2 | 01.01.2021 |
To test your implementation use the test environment at https://api-test.onlinebon.at
| username required | string <email> |
| password required | string |
{- "username": "user@onlinebon.at",
- "password": "your_password"
}{- "jwt": "eyJhbGciOiJIUzI1NiJ9.e30.XmNK3GpH3Ys_7wsYBfq4C3M6goz71I7dTgUkuIa5lyQ",
- "expires_in": 300
}Returns a valid SumUp access token for the authenticated user's customer account. If the stored token is expired or about to expire (within 5 minutes), it is automatically refreshed using the stored refresh token.
{- "access_token": "sup_sk_abc123def456ghi789jkl012mno345pqr",
- "expires_at": "2026-02-23T15:30:00.000Z"
}{- "_id": "string",
- "firstname": "string",
- "lastname": "string",
- "status": true,
- "email": "user@example.com",
- "username": "string",
- "role": "admin",
- "created_at": "string",
- "consents": [
- {
- "_id": "string",
- "accepted_at": "string",
- "policyversion": {
- "_id": "string",
- "url": "string",
- "valid_from": "string",
- "version": 0,
- "type": "terms"
}
}
], - "cashdesk": {
- "_id": "string",
- "cashdeskId": "string",
- "contact": {
- "email": "string",
- "phone": "string",
- "name": "string",
- "website": "string"
}, - "status": true,
- "registered": true,
- "registered_at": "string",
- "started": true,
- "address": {
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}, - "openings": [
- {
- "label": "Montag",
- "from": "09:00",
- "until": "18:00"
}
], - "bank": {
- "name": "string",
- "iban": "string",
- "bic": "string"
}, - "settings": {
- "product": {
- "limit": 0,
- "sort": "string"
}, - "receipt": {
- "commercial": "string",
- "kv": "string",
- "footerText": "string",
- "showOpenings": true
}
}, - "lock": {
- "status": true,
- "reason": "string",
- "date": "string"
}, - "closed": true
}, - "customer": {
- "_id": "string",
- "name": "string",
- "activated_at": "string",
- "created_at": "string",
- "uid": "string",
- "steuernr": "string",
- "taxexempt": true,
- "state": "TESTING",
- "business": {
- "_id": "string",
- "name": "string"
}, - "logo": {
- "_id": "string",
- "name": "string",
}
}
}{- "id": "string",
- "firstname": "string",
- "lastname": "string",
- "is_active": true,
- "email": "user@example.com",
- "username": "string",
- "role": "admin",
- "created_at": "string",
- "active_session": {
- "id": "string",
- "active": true,
- "started_at": "string",
- "change_funds": 0,
- "ended_at": "string",
- "report_id": "string",
- "user": {
- "id": "string",
- "username": "string"
}
}, - "sum_up": {
- "enabled": true,
- "access_token": "string",
- "refresh_token": "string",
- "expires_at": "string"
}, - "status": {
- "locked": true,
- "has_to_be_activated": true,
- "has_to_register_bmf": true,
- "has_to_accept_policies": true
}, - "consents": [
- {
- "_id": "string",
- "accepted_at": "string",
- "policyversion": {
- "_id": "string",
- "url": "string",
- "valid_from": "string",
- "version": 0,
- "type": "terms"
}
}
], - "cashdesk": {
- "id": "string",
- "cashdesk_number": "string",
- "address": {
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}, - "openings": [
- {
- "label": "Montag",
- "from": "09:00",
- "until": "18:00"
}
], - "bank": {
- "name": "string",
- "iban": "string",
- "bic": "string"
}, - "contact": {
- "email": "string",
- "phone": "string",
- "name": "string",
- "website": "string"
}, - "is_open": true,
- "demo_modus": true,
- "demo_expires": "string",
- "settings": {
- "product": {
- "limit": 0,
- "sort": "string"
}, - "receipt": {
- "commercial": "string",
- "kv": "string",
- "footerText": "string",
- "showOpenings": true
}
}, - "current_balance": 0,
- "current_balance_cash": 0,
- "current_cashbook_balance": 0,
- "live_since": "string",
- "last_session": {
- "id": "string",
- "active": true,
- "started_at": "string",
- "change_funds": 0,
- "ended_at": "string",
- "report_id": "string",
- "user": {
- "id": "string",
- "username": "string"
}
}
}, - "company": {
- "id": "string",
- "name": "string",
- "activated_at": "string",
- "created_at": "string",
- "company_registration_number": "string",
- "tax_number": "string",
- "free_from_tax": true,
- "business": {
- "_id": "string",
- "name": "string"
}, - "logo": [
- {
- "_id": "string",
- "name": "string",
}
]
}
}| limit | integer [ 1 .. 100 ] Default: 20 |
| offset | integer >= 0 Default: 0 |
| parent | string |
| noparent | boolean |
| active | boolean |
| search | string |
[- {
- "_id": "string",
- "name": "string",
- "description": "string",
- "active": true,
- "sells": 0,
- "color": "string",
- "customer": {
- "_id": "string",
- "name": "string"
}, - "parent": {
- "_id": "string",
- "name": "string",
- "active": true
}
}
]| name required | string |
| description | string |
| color | string |
| parent | string |
{- "name": "Arizona Cardinals",
- "description": "string",
- "color": "#cccccc",
- "parent": "string"
}{- "_id": "string",
- "name": "string",
- "description": "string",
- "active": true,
- "sells": 0,
- "color": "string",
- "customer": {
- "_id": "string",
- "name": "string"
}, - "parent": {
- "_id": "string",
- "name": "string",
- "active": true
}
}{- "_id": "string",
- "name": "string",
- "description": "string",
- "active": true,
- "sells": 0,
- "color": "string",
- "customer": {
- "_id": "string",
- "name": "string"
}, - "parent": {
- "_id": "string",
- "name": "string",
- "active": true
}
}| id required | string |
| name | string |
| active | boolean |
| description | string |
| color | string |
| parent | string |
{- "name": "string",
- "active": true,
- "description": "string",
- "color": "string",
- "parent": "string"
}{- "_id": "string",
- "name": "string",
- "description": "string",
- "active": true,
- "sells": 0,
- "color": "string",
- "customer": {
- "_id": "string",
- "name": "string"
}, - "parent": {
- "_id": "string",
- "name": "string",
- "active": true
}
}| limit | integer [ 1 .. 100 ] Default: 20 |
| offset | integer >= 0 Default: 0 |
| account | string Account ID (admin only) |
| active | boolean |
| search | string |
| parent | string |
| noparent | boolean |
| business | string |
{- "rows": [
- {
- "_id": "string",
- "id": "string",
- "name": "string",
- "description": "string",
- "active": true,
- "sells": 0,
- "color": "string",
- "customer": {
- "_id": "string",
- "name": "string"
}, - "parent": {
- "_id": "string",
- "name": "string",
- "active": true
}, - "products": [
- {
- "_id": "string",
- "name": "string"
}
]
}
], - "count": 0,
- "has_more": true,
- "paginate": {
- "limit": 20,
- "offset": 0
}
}| limit | integer [ 1 .. 100 ] Default: 20 |
| offset | integer >= 0 Default: 0 |
| productgroup | string |
| active | boolean |
| taxRate | number |
| quantityUnit | string (QuantityUnit) Enum: "kg" "g" "l" "ml" "m" "mm" "pcs" "km" "min" Example: quantityUnit=pcs |
| search | string |
[- {
- "_id": "string",
- "name": "string",
- "active": true,
- "description": "string",
- "nominale": 0,
- "purchasePrice": 0,
- "taxRate": 0,
- "sells": 0,
- "ean": "string",
- "quantityUnit": "pcs",
- "trackStock": true,
- "stockCount": 0,
- "config": [
- "string"
], - "productgroup": {
- "_id": "string",
- "name": "string",
- "color": "string"
}
}
]| name required | string |
| nominale required | number |
| purchasePrice | number |
| productgroup required | string |
| taxRate required | number |
| ean | string |
| quantityUnit | string (QuantityUnit) Enum: "kg" "g" "l" "ml" "m" "mm" "pcs" "km" "min" |
| color | string |
| config | Array of strings |
| active | boolean |
| description | string |
{- "name": "string",
- "nominale": 0,
- "purchasePrice": 0,
- "productgroup": "string",
- "taxRate": 0,
- "ean": "string",
- "quantityUnit": "pcs",
- "color": "string",
- "config": [
- "string"
], - "active": true,
- "description": "string"
}{- "_id": "string",
- "name": "string",
- "active": true,
- "description": "string",
- "nominale": 0,
- "purchasePrice": 0,
- "taxRate": 0,
- "sells": 0,
- "ean": "string",
- "quantityUnit": "pcs",
- "trackStock": true,
- "stockCount": 0,
- "config": [
- "string"
], - "productgroup": {
- "_id": "string",
- "name": "string",
- "color": "string"
}
}{- "_id": "string",
- "name": "string",
- "active": true,
- "description": "string",
- "nominale": 0,
- "purchasePrice": 0,
- "taxRate": 0,
- "sells": 0,
- "ean": "string",
- "quantityUnit": "pcs",
- "trackStock": true,
- "stockCount": 0,
- "config": [
- "string"
], - "productgroup": {
- "_id": "string",
- "name": "string",
- "color": "string"
}
}| id required | string |
| name | string |
| nominale | number |
| purchasePrice | number |
| ean | string |
| config | Array of strings |
| active | boolean |
| description | string |
| quantityUnit | string (QuantityUnit) Enum: "kg" "g" "l" "ml" "m" "mm" "pcs" "km" "min" |
| productgroup | string |
{- "name": "string",
- "nominale": 0,
- "purchasePrice": 0,
- "ean": "string",
- "config": [
- "string"
], - "active": true,
- "description": "string",
- "quantityUnit": "pcs",
- "productgroup": "string"
}{- "_id": "string",
- "name": "string",
- "active": true,
- "description": "string",
- "nominale": 0,
- "purchasePrice": 0,
- "taxRate": 0,
- "sells": 0,
- "ean": "string",
- "quantityUnit": "pcs",
- "trackStock": true,
- "stockCount": 0,
- "config": [
- "string"
], - "productgroup": {
- "_id": "string",
- "name": "string",
- "color": "string"
}
}Returns a paginated list of products with stock info if the stock-management feature is enabled.
| limit | integer [ 1 .. 100 ] Default: 20 |
| offset | integer >= 0 Default: 0 |
| account | string Account ID (admin only) |
| active | boolean |
| search | string |
| productgroup | string |
| taxRate | number |
| quantityUnit | string (QuantityUnit) Enum: "kg" "g" "l" "ml" "m" "mm" "pcs" "km" "min" Example: quantityUnit=pcs |
{- "rows": [
- {
- "_id": "string",
- "id": "string",
- "name": "string",
- "active": true,
- "description": "string",
- "nominale": 0,
- "purchasePrice": 0,
- "taxRate": 0,
- "sells": 0,
- "ean": "string",
- "quantityUnit": "pcs",
- "trackStock": true,
- "stockCount": 0,
- "config": [
- "string"
], - "productgroup": {
- "_id": "string",
- "name": "string",
- "active": true,
- "color": "string"
}, - "customer": {
- "_id": "string",
- "name": "string"
}, - "stock": {
- "enabled": true,
- "minThreshold": 0,
- "maxThreshold": 0,
- "status": "disabled"
}
}
], - "count": 0,
- "has_more": true,
- "paginate": {
- "limit": 20,
- "offset": 0
}
}| limit | integer [ 1 .. 100 ] Default: 20 |
| offset | integer >= 0 Default: 0 |
| firstname | string |
| lastname | string |
string | |
| company | string |
| active | boolean |
| city | string |
| country | string |
| plz | integer |
| search | string |
| search_email | string |
| name_exists | boolean Find clients where both first- and lastname exist |
[- {
- "_id": "string",
- "active": true,
- "firstname": "string",
- "lastname": "string",
- "email": "user@example.com",
- "company": "string",
- "phone": "string",
- "prefix": "string",
- "uid": "string",
- "birthday": "2019-08-24",
- "comments": "string",
- "address": {
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}, - "customer": {
- "_id": "string",
- "name": "string"
}
}
]| firstname | string |
| lastname | string |
| uid | string |
string <email> | |
| company | string |
| phone | string |
| prefix | string |
| birthday | string <date> |
| comments | string |
| street | string |
| plz | string |
| city | string |
| country | string |
{- "firstname": "string",
- "lastname": "string",
- "uid": "string",
- "email": "user@example.com",
- "company": "string",
- "phone": "string",
- "prefix": "string",
- "birthday": "2019-08-24",
- "comments": "string",
- "street": "string",
- "plz": "string",
- "city": "string",
- "country": "string"
}{- "_id": "string",
- "active": true,
- "firstname": "string",
- "lastname": "string",
- "email": "user@example.com",
- "company": "string",
- "phone": "string",
- "prefix": "string",
- "uid": "string",
- "birthday": "2019-08-24",
- "comments": "string",
- "address": {
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}, - "customer": {
- "_id": "string",
- "name": "string"
}
}{- "_id": "string",
- "active": true,
- "firstname": "string",
- "lastname": "string",
- "email": "user@example.com",
- "company": "string",
- "phone": "string",
- "prefix": "string",
- "uid": "string",
- "birthday": "2019-08-24",
- "comments": "string",
- "address": {
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}, - "customer": {
- "_id": "string",
- "name": "string"
}
}| id required | string |
| active | boolean |
| firstname | string |
| lastname | string |
string <email> | |
| company | string |
| phone | string |
| prefix | string |
| uid | string |
| birthday | string <date> |
| comments | string |
| street | string |
| plz | integer |
| city | string |
| country | string |
{- "active": true,
- "firstname": "string",
- "lastname": "string",
- "email": "user@example.com",
- "company": "string",
- "phone": "string",
- "prefix": "string",
- "uid": "string",
- "birthday": "2019-08-24",
- "comments": "string",
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}{- "_id": "string",
- "active": true,
- "firstname": "string",
- "lastname": "string",
- "email": "user@example.com",
- "company": "string",
- "phone": "string",
- "prefix": "string",
- "uid": "string",
- "birthday": "2019-08-24",
- "comments": "string",
- "address": {
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}, - "customer": {
- "_id": "string",
- "name": "string"
}
}| limit | integer [ 1 .. 100 ] Default: 20 |
| offset | integer >= 0 Default: 0 |
| account | string Account ID (admin only) |
| search | string |
| active | boolean |
| tag_ids | string Filter to customers carrying ALL of these tag ids. Pass a comma-separated list (e.g. |
| revenue_min | number >= 0 Only customers whose lifetime revenue (in eurocent) is ≥ this value. |
| receipt_count_min | integer >= 0 Only customers with at least this many receipts (frequent buyers). |
| inactive_months | integer >= 1 Only customers whose last purchase is older than this many months. Customers who never purchased are excluded (use never_purchased for those). |
| never_purchased | boolean When true, only customers with no (net) purchases. |
| top_revenue_percent | number [ 1 .. 100 ] Only the top N% of the filtered population by lifetime revenue (1–100). The threshold is computed within the population matching the other filters. |
| sort_by | string Default: "last_receipt" Enum: "last_receipt" "revenue" Field to sort by. Defaults to last_receipt. |
| sort_order | string Default: "desc" Enum: "asc" "desc" Sort direction. Defaults to desc. |
{- "rows": [
- {
- "id": "string",
- "firstname": "string",
- "lastname": "string",
- "email": "user@example.com",
- "active": true,
- "company": "string",
- "prefix": "string",
- "phone": "string",
- "address": {
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}, - "birthday": "2019-08-24",
- "receipt_count": 0,
- "last_receipt": "2019-08-24T14:15:22Z",
- "revenue": 0,
- "tags": [
- {
- "id": "string",
- "name": "string",
- "color": "string"
}
]
}
], - "count": 0,
- "has_more": true,
- "paginate": {
- "limit": 20,
- "offset": 0
}
}Exports customers matching the same filters as the list endpoint (account, search, active, tag_ids, and the segmentation filters) as a CSV file.
| account | string Account ID (admin only) |
| search | string |
| active | boolean |
| tag_ids | string Filter to customers carrying ALL of these tag ids. Pass a comma-separated list (e.g. |
| revenue_min | number >= 0 Only customers whose lifetime revenue (in eurocent) is ≥ this value. |
| receipt_count_min | integer >= 0 Only customers with at least this many receipts (frequent buyers). |
| inactive_months | integer >= 1 Only customers whose last purchase is older than this many months. Customers who never purchased are excluded (use never_purchased for those). |
| never_purchased | boolean When true, only customers with no (net) purchases. |
| top_revenue_percent | number [ 1 .. 100 ] Only the top N% of the filtered population by lifetime revenue (1–100). |
{- "id": "string",
- "firstname": "string",
- "lastname": "string",
- "email": "user@example.com",
- "active": true,
- "company": "string",
- "prefix": "string",
- "phone": "string",
- "address": {
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}, - "birthday": "2019-08-24",
- "receipt_count": 0,
- "last_receipt": "2019-08-24T14:15:22Z",
- "revenue": 0,
- "tags": [
- {
- "id": "string",
- "name": "string",
- "color": "string"
}
]
}| limit | integer [ 1 .. 100 ] Default: 20 |
| offset | integer >= 0 Default: 0 |
| search_serial | string |
| number | string |
| from | string <date> |
| until | string <date> |
| type | string |
| product_id | string |
| user_id | string |
{- "total": 0,
- "has_more": true,
- "rows": [
- {
- "id": "string",
- "number": "RE_00000001",
- "date": "string",
- "description": "string",
- "is_demo": true,
- "rksv_id": 0,
- "net": 0,
- "gross": 0,
- "type": {
- "id": "string",
- "name": "string",
- "prefix": "RE"
}, - "created_by": {
- "id": "string",
- "username": "string",
- "firstname": "string",
- "lastname": "string"
}, - "discount": {
- "fixed_amount": 0,
- "percentage": 0
}, - "extras": {
- "has_differtial_tax": true,
- "has_ura_info": true,
- "commercial_text": "string",
- "footer_Text": "string",
- "show_openings": true
}, - "payment": {
- "method": {
- "_id": "string",
- "name": "string",
- "invoiceText": "string",
- "type": "CASH",
- "hasToBeSigned": true,
- "active": true,
- "position": 0
}, - "value": 0,
- "change": 0,
- "due_date": "string",
- "due_days": 0,
- "status": true,
- "info": "string"
}, - "security": {
- "signature": "string",
- "qrcode": "string",
- "cert": {
- "id": "string",
- "vda": "string",
- "serial": "string"
}
}, - "customer": {
- "id": "string",
- "firstname": "string",
- "lastname": "string",
- "prefix": "string",
- "email": "string",
- "company": "string",
- "phone": "string",
- "uid": "string",
- "address": { }
}, - "invoicing_company": {
- "cashdesk_id": "string",
- "company_id": "string",
- "cashdesk_number": "string",
- "name": "string",
- "uid": "string",
- "free_from_tax": true,
- "state": "TESTING",
- "taxexempt": true,
- "openings": [
- {
- "label": "Montag",
- "from": "09:00",
- "until": "18:00"
}
], - "contact": {
- "email": "string",
- "phone": "string",
- "name": "string",
- "website": "string"
}, - "address": {
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}, - "bank": {
- "name": "string",
- "iban": "string",
- "bic": "string"
}
}, - "items": [
- {
- "id": "string",
- "amount": 0,
- "amount_unit": "pcs",
- "text": "string",
- "gross": 0,
- "net": 0,
- "tax": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "product": {
- "id": "string",
- "name": "string"
}, - "discounts": [
- {
- "fixed_amount": 0
}
]
}
], - "taxes": [
- {
- "tax_rate": 0,
- "price": 0,
- "value": 0
}
], - "cost_estimation": {
- "status": true,
- "valid_until": "string",
- "receipt": {
- "id": "string",
- "number": "string"
}
}, - "cancelled_receipt": {
- "id": "string",
- "number": "string",
- "date": "string"
}
}
], - "paginate": {
- "limit": 20,
- "offset": 0
}
}Creates a new receipt. When creating an ST (cancellation) receipt that references an original receipt with SumUp payments, the system will automatically attempt to refund all succeeded SumUp payment transactions.
| type required | string Enum: "RE" "ST" "KV" RE=Invoice, ST=Cancellation (auto-refunds SumUp payments), KV=Cost estimation |
| client_id | string or null |
required | object (ReceiptPaymentInput) |
object (ReceiptDiscount) | |
required | Array of objects (ReceiptItemInput) |
| description | string |
| cancelled_receipt_id | string or null |
object or null |
{- "type": "RE",
- "client_id": "string",
- "payment": {
- "value": 0,
- "change": 0,
- "payment_method_id": "string",
- "due_days": 0,
- "status": true,
- "info": "string"
}, - "discount": {
- "fixed_amount": 0,
- "percentage": 0
}, - "items": [
- {
- "amount": 0,
- "amount_unit": "pcs",
- "text": "string",
- "gross": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "infos": "string",
- "discounts": [
- {
- "fixed_amount": 0
}
], - "product_id": "string",
- "has_ura": true
}
], - "description": "string",
- "cancelled_receipt_id": "string",
- "cost_estimation": {
- "valid_days": 0
}
}{- "id": "string",
- "number": "RE_00000001",
- "date": "string",
- "description": "string",
- "is_demo": true,
- "rksv_id": 0,
- "net": 0,
- "gross": 0,
- "type": {
- "id": "string",
- "name": "string",
- "prefix": "RE"
}, - "created_by": {
- "id": "string",
- "username": "string",
- "firstname": "string",
- "lastname": "string"
}, - "discount": {
- "fixed_amount": 0,
- "percentage": 0
}, - "extras": {
- "has_differtial_tax": true,
- "has_ura_info": true,
- "commercial_text": "string",
- "footer_Text": "string",
- "show_openings": true
}, - "payment": {
- "method": {
- "_id": "string",
- "name": "string",
- "invoiceText": "string",
- "type": "CASH",
- "hasToBeSigned": true,
- "active": true,
- "position": 0
}, - "value": 0,
- "change": 0,
- "due_date": "string",
- "due_days": 0,
- "status": true,
- "info": "string"
}, - "security": {
- "signature": "string",
- "qrcode": "string",
- "cert": {
- "id": "string",
- "vda": "string",
- "serial": "string"
}
}, - "customer": {
- "id": "string",
- "firstname": "string",
- "lastname": "string",
- "prefix": "string",
- "email": "string",
- "company": "string",
- "phone": "string",
- "uid": "string",
- "address": { }
}, - "invoicing_company": {
- "cashdesk_id": "string",
- "company_id": "string",
- "cashdesk_number": "string",
- "name": "string",
- "uid": "string",
- "free_from_tax": true,
- "state": "TESTING",
- "taxexempt": true,
- "openings": [
- {
- "label": "Montag",
- "from": "09:00",
- "until": "18:00"
}
], - "contact": {
- "email": "string",
- "phone": "string",
- "name": "string",
- "website": "string"
}, - "address": {
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}, - "bank": {
- "name": "string",
- "iban": "string",
- "bic": "string"
}
}, - "items": [
- {
- "id": "string",
- "amount": 0,
- "amount_unit": "pcs",
- "text": "string",
- "gross": 0,
- "net": 0,
- "tax": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "product": {
- "id": "string",
- "name": "string"
}, - "discounts": [
- {
- "fixed_amount": 0
}
]
}
], - "taxes": [
- {
- "tax_rate": 0,
- "price": 0,
- "value": 0
}
], - "cost_estimation": {
- "status": true,
- "valid_until": "string",
- "receipt": {
- "id": "string",
- "number": "string"
}
}, - "cancelled_receipt": {
- "id": "string",
- "number": "string",
- "date": "string"
}
}| id required | string |
| output | string Default: "JSON" Enum: "JSON" "HTML" Response format: JSON or HTML |
| format | integer Default: 58 Enum: 58 80 Receipt width in mm (58 or 80) |
{- "id": "string",
- "number": "RE_00000001",
- "date": "string",
- "description": "string",
- "is_demo": true,
- "rksv_id": 0,
- "net": 0,
- "gross": 0,
- "type": {
- "id": "string",
- "name": "string",
- "prefix": "RE"
}, - "created_by": {
- "id": "string",
- "username": "string",
- "firstname": "string",
- "lastname": "string"
}, - "discount": {
- "fixed_amount": 0,
- "percentage": 0
}, - "extras": {
- "has_differtial_tax": true,
- "has_ura_info": true,
- "commercial_text": "string",
- "footer_Text": "string",
- "show_openings": true
}, - "payment": {
- "method": {
- "_id": "string",
- "name": "string",
- "invoiceText": "string",
- "type": "CASH",
- "hasToBeSigned": true,
- "active": true,
- "position": 0
}, - "value": 0,
- "change": 0,
- "due_date": "string",
- "due_days": 0,
- "status": true,
- "info": "string"
}, - "security": {
- "signature": "string",
- "qrcode": "string",
- "cert": {
- "id": "string",
- "vda": "string",
- "serial": "string"
}
}, - "customer": {
- "id": "string",
- "firstname": "string",
- "lastname": "string",
- "prefix": "string",
- "email": "string",
- "company": "string",
- "phone": "string",
- "uid": "string",
- "address": { }
}, - "invoicing_company": {
- "cashdesk_id": "string",
- "company_id": "string",
- "cashdesk_number": "string",
- "name": "string",
- "uid": "string",
- "free_from_tax": true,
- "state": "TESTING",
- "taxexempt": true,
- "openings": [
- {
- "label": "Montag",
- "from": "09:00",
- "until": "18:00"
}
], - "contact": {
- "email": "string",
- "phone": "string",
- "name": "string",
- "website": "string"
}, - "address": {
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}, - "bank": {
- "name": "string",
- "iban": "string",
- "bic": "string"
}
}, - "items": [
- {
- "id": "string",
- "amount": 0,
- "amount_unit": "pcs",
- "text": "string",
- "gross": 0,
- "net": 0,
- "tax": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "product": {
- "id": "string",
- "name": "string"
}, - "discounts": [
- {
- "fixed_amount": 0
}
]
}
], - "taxes": [
- {
- "tax_rate": 0,
- "price": 0,
- "value": 0
}
], - "cost_estimation": {
- "status": true,
- "valid_until": "string",
- "receipt": {
- "id": "string",
- "number": "string"
}
}, - "cancelled_receipt": {
- "id": "string",
- "number": "string",
- "date": "string"
}
}Creates a cancellation (ST) receipt. Supports two modes:
payments body): mirrors original payments with negative amounts and auto-refunds via SumUp.payments array): uses specified methods, skips SumUp auto-refund.| id required | string Example: 507f1f77bcf86cd799439011 The ID of the receipt to cancel |
Array of objects (CancellationPayment) Omit for automatic refund. Provide for manual refund. |
{ }{- "id": "string",
- "number": "RE_00000001",
- "date": "string",
- "description": "string",
- "is_demo": true,
- "rksv_id": 0,
- "net": 0,
- "gross": 0,
- "type": {
- "id": "string",
- "name": "string",
- "prefix": "RE"
}, - "created_by": {
- "id": "string",
- "username": "string",
- "firstname": "string",
- "lastname": "string"
}, - "discount": {
- "fixed_amount": 0,
- "percentage": 0
}, - "extras": {
- "has_differtial_tax": true,
- "has_ura_info": true,
- "commercial_text": "string",
- "footer_Text": "string",
- "show_openings": true
}, - "payment": {
- "method": {
- "_id": "string",
- "name": "string",
- "invoiceText": "string",
- "type": "CASH",
- "hasToBeSigned": true,
- "active": true,
- "position": 0
}, - "value": 0,
- "change": 0,
- "due_date": "string",
- "due_days": 0,
- "status": true,
- "info": "string"
}, - "security": {
- "signature": "string",
- "qrcode": "string",
- "cert": {
- "id": "string",
- "vda": "string",
- "serial": "string"
}
}, - "customer": {
- "id": "string",
- "firstname": "string",
- "lastname": "string",
- "prefix": "string",
- "email": "string",
- "company": "string",
- "phone": "string",
- "uid": "string",
- "address": { }
}, - "invoicing_company": {
- "cashdesk_id": "string",
- "company_id": "string",
- "cashdesk_number": "string",
- "name": "string",
- "uid": "string",
- "free_from_tax": true,
- "state": "TESTING",
- "taxexempt": true,
- "openings": [
- {
- "label": "Montag",
- "from": "09:00",
- "until": "18:00"
}
], - "contact": {
- "email": "string",
- "phone": "string",
- "name": "string",
- "website": "string"
}, - "address": {
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}, - "bank": {
- "name": "string",
- "iban": "string",
- "bic": "string"
}
}, - "items": [
- {
- "id": "string",
- "amount": 0,
- "amount_unit": "pcs",
- "text": "string",
- "gross": 0,
- "net": 0,
- "tax": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "product": {
- "id": "string",
- "name": "string"
}, - "discounts": [
- {
- "fixed_amount": 0
}
]
}
], - "taxes": [
- {
- "tax_rate": 0,
- "price": 0,
- "value": 0
}
], - "cost_estimation": {
- "status": true,
- "valid_until": "string",
- "receipt": {
- "id": "string",
- "number": "string"
}
}, - "cancelled_receipt": {
- "id": "string",
- "number": "string",
- "date": "string"
}
}Returns receipt items that have a purchase price (aw) set, used for differential taxation reporting.
| from | string <date> |
| until | string <date> |
| cashdesk | string |
{- "rows": [
- {
- "_id": "string",
- "name": "string",
- "soldValue": 0,
- "receiptNumber": "string",
- "taxexempt": true,
- "serial": "string",
- "date": "string",
- "purchaseValue": 0,
- "taxRate": 0,
- "discount": 0,
- "diff": 0,
- "profitNetto": 0,
- "tax": 0
}
], - "total": {
- "count": 0,
- "tax": 0,
- "brutto": 0,
- "netto": 0,
- "diff": 0,
- "soldvalue": 0
}
}Verifies the receipt signature against the Austrian tax authority (BMF).
| id required | string |
{- "id": "string",
- "number": "RE_00000001",
- "date": "string",
- "description": "string",
- "is_demo": true,
- "rksv_id": 0,
- "net": 0,
- "gross": 0,
- "type": {
- "id": "string",
- "name": "string",
- "prefix": "RE"
}, - "created_by": {
- "id": "string",
- "username": "string",
- "firstname": "string",
- "lastname": "string"
}, - "discount": {
- "fixed_amount": 0,
- "percentage": 0
}, - "extras": {
- "has_differtial_tax": true,
- "has_ura_info": true,
- "commercial_text": "string",
- "footer_Text": "string",
- "show_openings": true
}, - "payment": {
- "method": {
- "_id": "string",
- "name": "string",
- "invoiceText": "string",
- "type": "CASH",
- "hasToBeSigned": true,
- "active": true,
- "position": 0
}, - "value": 0,
- "change": 0,
- "due_date": "string",
- "due_days": 0,
- "status": true,
- "info": "string"
}, - "security": {
- "signature": "string",
- "qrcode": "string",
- "cert": {
- "id": "string",
- "vda": "string",
- "serial": "string"
}
}, - "customer": {
- "id": "string",
- "firstname": "string",
- "lastname": "string",
- "prefix": "string",
- "email": "string",
- "company": "string",
- "phone": "string",
- "uid": "string",
- "address": { }
}, - "invoicing_company": {
- "cashdesk_id": "string",
- "company_id": "string",
- "cashdesk_number": "string",
- "name": "string",
- "uid": "string",
- "free_from_tax": true,
- "state": "TESTING",
- "taxexempt": true,
- "openings": [
- {
- "label": "Montag",
- "from": "09:00",
- "until": "18:00"
}
], - "contact": {
- "email": "string",
- "phone": "string",
- "name": "string",
- "website": "string"
}, - "address": {
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}, - "bank": {
- "name": "string",
- "iban": "string",
- "bic": "string"
}
}, - "items": [
- {
- "id": "string",
- "amount": 0,
- "amount_unit": "pcs",
- "text": "string",
- "gross": 0,
- "net": 0,
- "tax": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "product": {
- "id": "string",
- "name": "string"
}, - "discounts": [
- {
- "fixed_amount": 0
}
]
}
], - "taxes": [
- {
- "tax_rate": 0,
- "price": 0,
- "value": 0
}
], - "cost_estimation": {
- "status": true,
- "valid_until": "string",
- "receipt": {
- "id": "string",
- "number": "string"
}
}, - "cancelled_receipt": {
- "id": "string",
- "number": "string",
- "date": "string"
}
}| id required | string |
| email required | string <email> |
{- "email": "user@example.com"
}{- "success": true
}| id required | string |
| paymentId required | string Example: 507f1f77bcf86cd799439022 |
| status | string |
| info | string or null |
| deadline | integer or null |
{- "status": "string",
- "info": "string",
- "deadline": 0
}{- "id": "string",
- "number": "RE_00000001",
- "date": "string",
- "description": "string",
- "is_demo": true,
- "rksv_id": 0,
- "net": 0,
- "gross": 0,
- "type": {
- "id": "string",
- "name": "string",
- "prefix": "RE"
}, - "created_by": {
- "id": "string",
- "username": "string",
- "firstname": "string",
- "lastname": "string"
}, - "discount": {
- "fixed_amount": 0,
- "percentage": 0
}, - "extras": {
- "has_differtial_tax": true,
- "has_ura_info": true,
- "commercial_text": "string",
- "footer_Text": "string",
- "show_openings": true
}, - "payment": {
- "method": {
- "_id": "string",
- "name": "string",
- "invoiceText": "string",
- "type": "CASH",
- "hasToBeSigned": true,
- "active": true,
- "position": 0
}, - "value": 0,
- "change": 0,
- "due_date": "string",
- "due_days": 0,
- "status": true,
- "info": "string"
}, - "security": {
- "signature": "string",
- "qrcode": "string",
- "cert": {
- "id": "string",
- "vda": "string",
- "serial": "string"
}
}, - "customer": {
- "id": "string",
- "firstname": "string",
- "lastname": "string",
- "prefix": "string",
- "email": "string",
- "company": "string",
- "phone": "string",
- "uid": "string",
- "address": { }
}, - "invoicing_company": {
- "cashdesk_id": "string",
- "company_id": "string",
- "cashdesk_number": "string",
- "name": "string",
- "uid": "string",
- "free_from_tax": true,
- "state": "TESTING",
- "taxexempt": true,
- "openings": [
- {
- "label": "Montag",
- "from": "09:00",
- "until": "18:00"
}
], - "contact": {
- "email": "string",
- "phone": "string",
- "name": "string",
- "website": "string"
}, - "address": {
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}, - "bank": {
- "name": "string",
- "iban": "string",
- "bic": "string"
}
}, - "items": [
- {
- "id": "string",
- "amount": 0,
- "amount_unit": "pcs",
- "text": "string",
- "gross": 0,
- "net": 0,
- "tax": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "product": {
- "id": "string",
- "name": "string"
}, - "discounts": [
- {
- "fixed_amount": 0
}
]
}
], - "taxes": [
- {
- "tax_rate": 0,
- "price": 0,
- "value": 0
}
], - "cost_estimation": {
- "status": true,
- "valid_until": "string",
- "receipt": {
- "id": "string",
- "number": "string"
}
}, - "cancelled_receipt": {
- "id": "string",
- "number": "string",
- "date": "string"
}
}| cashdesk | string Cashdesk ID (required for admin users) |
| limit | integer [ 1 .. 100 ] Default: 20 |
| offset | integer >= 0 Default: 0 |
| completion | string Filter by completion status |
{- "rows": [
- {
- "id": "string",
- "active": true,
- "started_at": "string",
- "change_funds": 0,
- "ended_at": "string",
- "report_id": "string",
- "user": {
- "id": "string",
- "username": "string"
}
}
], - "total_count": 0,
- "has_more": true
}| change_funds | integer Change funds in eurocent |
{- "change_funds": 1000
}{- "id": "string",
- "active": true,
- "started_at": "string",
- "change_funds": 0,
- "ended_at": "string",
- "report_id": "string",
- "user": {
- "id": "string",
- "username": "string"
}
}| id required | string |
| output | string Default: "JSON" Enum: "JSON" "PDF" "FILE_URL" Response format: JSON, PDF, or FILE_URL |
{- "id": "string",
- "active": true,
- "started_at": "string",
- "change_funds": 0,
- "ended_at": "string",
- "report_id": "string",
- "user": {
- "id": "string",
- "username": "string"
}
}| id required | string |
| end_session required | boolean |
{- "end_session": true
}{- "id": "string",
- "active": true,
- "started_at": "string",
- "change_funds": 0,
- "ended_at": "string",
- "report_id": "string",
- "user": {
- "id": "string",
- "username": "string"
}
}Returns a paginated list of orders sorted by creation date descending. Accessible by admin users only.
| limit | integer [ 1 .. 100 ] Default: 20 |
| offset | integer >= 0 Default: 0 |
| id | string Example: id=507f1f77bcf86cd799439010 Filter by order ID |
| cashdesk_id | string Example: cashdesk_id=507f1f77bcf86cd799439011 Filter by cashdesk ID |
| account_id | string Example: account_id=507f1f77bcf86cd799439012 Filter by account (customer) ID |
| status | string Enum: "pending" "payment_pending" "completed" "failed" "canceled" "aborted" Filter by order status |
| after | string <date-time> Example: after=2026-01-01T00:00:00.000Z Return orders created at or after this ISO 8601 datetime |
| before | string <date-time> Example: before=2026-12-31T23:59:59.999Z Return orders created at or before this ISO 8601 datetime |
{- "total": 2,
- "has_more": false,
- "paginate": {
- "limit": 30,
- "offset": 0
}, - "rows": [
- {
- "id": "507f1f77bcf86cd799439020",
- "status": "completed",
- "receipt": {
- "id": "507f1f77bcf86cd799439030",
- "number": "RE-2026-0042"
}, - "reader_status": null,
- "items": [
- {
- "id": "507f1f77bcf86cd799439021",
- "amount": 1,
- "amount_unit": "pcs",
- "name": "Product A",
- "gross": 1190,
- "tax_rate": 20,
- "has_ura": false,
- "discounts": [ ],
- "product": null,
- "productgroup": null
}
], - "payments": [
- {
- "id": "507f1f77bcf86cd799439022",
- "value": 1190,
- "status": "succeeded",
- "method": {
- "id": "507f1f77bcf86cd799439015",
- "name": "Cash",
- "type": "CASH"
}
}
], - "is_cost_estimation": false
}, - {
- "id": "507f1f77bcf86cd799439023",
- "status": "pending",
- "receipt": null,
- "reader_status": null,
- "items": [ ],
- "payments": [ ],
- "is_cost_estimation": false
}
]
}Creates a new order with items and payments. The order is automatically executed and a receipt is generated.
| cashdesk_id | string or null Required for admin users |
| client_id | string or null |
required | Array of objects (OrderItem) |
required | Array of objects (OrderPayment) |
{- "cashdesk_id": "507f1f77bcf86cd799439011",
- "items": [
- {
- "amount": 2,
- "amount_unit": "pcs",
- "text": "Product Name",
- "gross": 1990,
- "tax_rate": 20,
- "product_id": "507f1f77bcf86cd799439013"
}
], - "payments": [
- {
- "value": 3780,
- "payment_method_id": "507f1f77bcf86cd799439015",
- "status": "succeeded"
}
]
}{- "id": "string",
- "status": "pending",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "receipt": {
- "id": "string",
- "number": "string"
}, - "customer": {
- "id": "string",
- "name": "string"
}, - "reader_status": {
- "status": "string",
- "name": "string"
}, - "items": [
- {
- "id": "string",
- "quantity": 0,
- "quantity_unit": "pcs",
- "name": "string",
- "gross": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "infos": "string",
- "has_ura": true,
- "discounts": [
- {
- "fixed_amount": 0
}
], - "product": {
- "id": "string",
- "name": "string"
}, - "productgroup": {
- "id": "string",
- "name": "string"
}
}
], - "payments": [
- {
- "id": "string",
- "value": 0,
- "change": 0,
- "status": "open",
- "info": "string",
- "due_days": 0,
- "provider": "string",
- "sumup": {
- "transaction_id": "string",
- "checkout_id": "string",
- "reader_id": "string",
- "foreign_transaction_id": "string",
- "integration": "cloud"
}, - "commission": {
- "amount": 47,
- "metadata": {
- "type": "percentage",
- "percentage": 1.25,
- "base_amount": 3780
}
}, - "method": {
- "id": "string",
- "name": "string",
- "type": "CASH"
}
}
], - "change_logs": [
- {
- "id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "user": "string",
- "action": "created",
- "changes": [
- {
- "field": "string",
- "old_value": null,
- "new_value": null,
- "item_index": 0,
- "item_id": "string"
}
], - "metadata": { }
}
], - "is_cost_estimation": true,
- "cost_estimation_valid_days": 0,
- "text": "string",
- "discount": {
- "fixed_amount": 0,
- "percentage": 0
}
}{- "id": "string",
- "status": "pending",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "receipt": {
- "id": "string",
- "number": "string"
}, - "customer": {
- "id": "string",
- "name": "string"
}, - "reader_status": {
- "status": "string",
- "name": "string"
}, - "items": [
- {
- "id": "string",
- "quantity": 0,
- "quantity_unit": "pcs",
- "name": "string",
- "gross": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "infos": "string",
- "has_ura": true,
- "discounts": [
- {
- "fixed_amount": 0
}
], - "product": {
- "id": "string",
- "name": "string"
}, - "productgroup": {
- "id": "string",
- "name": "string"
}
}
], - "payments": [
- {
- "id": "string",
- "value": 0,
- "change": 0,
- "status": "open",
- "info": "string",
- "due_days": 0,
- "provider": "string",
- "sumup": {
- "transaction_id": "string",
- "checkout_id": "string",
- "reader_id": "string",
- "foreign_transaction_id": "string",
- "integration": "cloud"
}, - "commission": {
- "amount": 47,
- "metadata": {
- "type": "percentage",
- "percentage": 1.25,
- "base_amount": 3780
}
}, - "method": {
- "id": "string",
- "name": "string",
- "type": "CASH"
}
}
], - "change_logs": [
- {
- "id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "user": "string",
- "action": "created",
- "changes": [
- {
- "field": "string",
- "old_value": null,
- "new_value": null,
- "item_index": 0,
- "item_id": "string"
}
], - "metadata": { }
}
], - "is_cost_estimation": true,
- "cost_estimation_valid_days": 0,
- "text": "string",
- "discount": {
- "fixed_amount": 0,
- "percentage": 0
}
}Update description, client, items, or add payments. Tracks changes in the order changelog.
items is provided, it replaces all existing items.| id required | string |
| client_id | string or null |
| description | string or null |
| status | string Enum: "payment_pending" "aborted" |
Array of objects (OrderItem) | |
Array of objects (OrderPayment) |
{- "client_id": "string",
- "description": "string",
- "status": "payment_pending",
- "items": [
- {
- "amount": 0,
- "amount_unit": "pcs",
- "text": "string",
- "gross": 0,
- "tax_rate": 0,
- "product_id": "string",
- "discounts": [
- {
- "fixed_amount": 0
}
], - "aw": 0,
- "serial": "string",
- "infos": "string",
- "has_ura": true
}
], - "payments": [
- {
- "value": 0,
- "payment_method_id": "string",
- "due_days": 0,
- "status": "open",
- "info": "string",
- "provider": "sumup"
}
]
}{- "id": "string",
- "status": "pending",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "receipt": {
- "id": "string",
- "number": "string"
}, - "customer": {
- "id": "string",
- "name": "string"
}, - "reader_status": {
- "status": "string",
- "name": "string"
}, - "items": [
- {
- "id": "string",
- "quantity": 0,
- "quantity_unit": "pcs",
- "name": "string",
- "gross": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "infos": "string",
- "has_ura": true,
- "discounts": [
- {
- "fixed_amount": 0
}
], - "product": {
- "id": "string",
- "name": "string"
}, - "productgroup": {
- "id": "string",
- "name": "string"
}
}
], - "payments": [
- {
- "id": "string",
- "value": 0,
- "change": 0,
- "status": "open",
- "info": "string",
- "due_days": 0,
- "provider": "string",
- "sumup": {
- "transaction_id": "string",
- "checkout_id": "string",
- "reader_id": "string",
- "foreign_transaction_id": "string",
- "integration": "cloud"
}, - "commission": {
- "amount": 47,
- "metadata": {
- "type": "percentage",
- "percentage": 1.25,
- "base_amount": 3780
}
}, - "method": {
- "id": "string",
- "name": "string",
- "type": "CASH"
}
}
], - "change_logs": [
- {
- "id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "user": "string",
- "action": "created",
- "changes": [
- {
- "field": "string",
- "old_value": null,
- "new_value": null,
- "item_index": 0,
- "item_id": "string"
}
], - "metadata": { }
}
], - "is_cost_estimation": true,
- "cost_estimation_valid_days": 0,
- "text": "string",
- "discount": {
- "fixed_amount": 0,
- "percentage": 0
}
}Adds a new item. Tracked in changelog with action='item_added'.
| id required | string |
| amount required | number Quantity with 2 decimal precision |
| amount_unit | string (QuantityUnit) Enum: "kg" "g" "l" "ml" "m" "mm" "pcs" "km" "min" |
| text required | string |
| gross required | integer Gross price in eurocent |
| tax_rate required | number |
| product_id | string or null |
Array of objects or null (ItemDiscount) | |
| aw | number or null Purchase price / Wareneinsatz in eurocent |
| serial | string or null |
| infos | string or null |
| has_ura | boolean or null |
{- "amount": 3,
- "amount_unit": "pcs",
- "text": "New Product",
- "gross": 2990,
- "tax_rate": 20,
- "product_id": "507f1f77bcf86cd799439013"
}{- "id": "string",
- "status": "pending",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "receipt": {
- "id": "string",
- "number": "string"
}, - "customer": {
- "id": "string",
- "name": "string"
}, - "reader_status": {
- "status": "string",
- "name": "string"
}, - "items": [
- {
- "id": "string",
- "quantity": 0,
- "quantity_unit": "pcs",
- "name": "string",
- "gross": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "infos": "string",
- "has_ura": true,
- "discounts": [
- {
- "fixed_amount": 0
}
], - "product": {
- "id": "string",
- "name": "string"
}, - "productgroup": {
- "id": "string",
- "name": "string"
}
}
], - "payments": [
- {
- "id": "string",
- "value": 0,
- "change": 0,
- "status": "open",
- "info": "string",
- "due_days": 0,
- "provider": "string",
- "sumup": {
- "transaction_id": "string",
- "checkout_id": "string",
- "reader_id": "string",
- "foreign_transaction_id": "string",
- "integration": "cloud"
}, - "commission": {
- "amount": 47,
- "metadata": {
- "type": "percentage",
- "percentage": 1.25,
- "base_amount": 3780
}
}, - "method": {
- "id": "string",
- "name": "string",
- "type": "CASH"
}
}
], - "change_logs": [
- {
- "id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "user": "string",
- "action": "created",
- "changes": [
- {
- "field": "string",
- "old_value": null,
- "new_value": null,
- "item_index": 0,
- "item_id": "string"
}
], - "metadata": { }
}
], - "is_cost_estimation": true,
- "cost_estimation_valid_days": 0,
- "text": "string",
- "discount": {
- "fixed_amount": 0,
- "percentage": 0
}
}Updates fields of an existing item. Tracked in changelog with action='item_updated'.
| id required | string |
| itemId required | string Example: 507f1f77bcf86cd799439016 |
| quantity | number |
| quantity_unit | string (QuantityUnit) Enum: "kg" "g" "l" "ml" "m" "mm" "pcs" "km" "min" |
| name | string |
| gross | integer |
| tax_rate | number |
| product_id | string or null |
Array of objects or null (ItemDiscountUpdate) | |
| aw | number or null |
| serial | string or null |
| infos | string or null |
| has_ura | boolean or null |
{- "quantity": 0,
- "quantity_unit": "pcs",
- "name": "string",
- "gross": 0,
- "tax_rate": 0,
- "product_id": "string",
- "discounts": [
- {
- "value": 0
}
], - "aw": 0,
- "serial": "string",
- "infos": "string",
- "has_ura": true
}{- "id": "string",
- "status": "pending",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "receipt": {
- "id": "string",
- "number": "string"
}, - "customer": {
- "id": "string",
- "name": "string"
}, - "reader_status": {
- "status": "string",
- "name": "string"
}, - "items": [
- {
- "id": "string",
- "quantity": 0,
- "quantity_unit": "pcs",
- "name": "string",
- "gross": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "infos": "string",
- "has_ura": true,
- "discounts": [
- {
- "fixed_amount": 0
}
], - "product": {
- "id": "string",
- "name": "string"
}, - "productgroup": {
- "id": "string",
- "name": "string"
}
}
], - "payments": [
- {
- "id": "string",
- "value": 0,
- "change": 0,
- "status": "open",
- "info": "string",
- "due_days": 0,
- "provider": "string",
- "sumup": {
- "transaction_id": "string",
- "checkout_id": "string",
- "reader_id": "string",
- "foreign_transaction_id": "string",
- "integration": "cloud"
}, - "commission": {
- "amount": 47,
- "metadata": {
- "type": "percentage",
- "percentage": 1.25,
- "base_amount": 3780
}
}, - "method": {
- "id": "string",
- "name": "string",
- "type": "CASH"
}
}
], - "change_logs": [
- {
- "id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "user": "string",
- "action": "created",
- "changes": [
- {
- "field": "string",
- "old_value": null,
- "new_value": null,
- "item_index": 0,
- "item_id": "string"
}
], - "metadata": { }
}
], - "is_cost_estimation": true,
- "cost_estimation_valid_days": 0,
- "text": "string",
- "discount": {
- "fixed_amount": 0,
- "percentage": 0
}
}Removes an item. Tracked in changelog with action='item_removed'.
| id required | string |
| itemId required | string Example: 507f1f77bcf86cd799439016 |
{- "id": "string",
- "status": "pending",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "receipt": {
- "id": "string",
- "number": "string"
}, - "customer": {
- "id": "string",
- "name": "string"
}, - "reader_status": {
- "status": "string",
- "name": "string"
}, - "items": [
- {
- "id": "string",
- "quantity": 0,
- "quantity_unit": "pcs",
- "name": "string",
- "gross": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "infos": "string",
- "has_ura": true,
- "discounts": [
- {
- "fixed_amount": 0
}
], - "product": {
- "id": "string",
- "name": "string"
}, - "productgroup": {
- "id": "string",
- "name": "string"
}
}
], - "payments": [
- {
- "id": "string",
- "value": 0,
- "change": 0,
- "status": "open",
- "info": "string",
- "due_days": 0,
- "provider": "string",
- "sumup": {
- "transaction_id": "string",
- "checkout_id": "string",
- "reader_id": "string",
- "foreign_transaction_id": "string",
- "integration": "cloud"
}, - "commission": {
- "amount": 47,
- "metadata": {
- "type": "percentage",
- "percentage": 1.25,
- "base_amount": 3780
}
}, - "method": {
- "id": "string",
- "name": "string",
- "type": "CASH"
}
}
], - "change_logs": [
- {
- "id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "user": "string",
- "action": "created",
- "changes": [
- {
- "field": "string",
- "old_value": null,
- "new_value": null,
- "item_index": 0,
- "item_id": "string"
}
], - "metadata": { }
}
], - "is_cost_estimation": true,
- "cost_estimation_valid_days": 0,
- "text": "string",
- "discount": {
- "fixed_amount": 0,
- "percentage": 0
}
}Adds a payment. Tracked in changelog with action='payment_added'. Supports SumUp integration.
| id required | string |
| value required | integer Payment amount in cents |
| payment_method_id required | string |
| due_days | integer or null |
| status | string (PaymentStatus) Enum: "open" "processing" "succeeded" "failed" "aborted" "refunded" |
| info | string or null |
| provider | string or null Value: "sumup" |
object (SumUpPaymentData) |
{- "value": 5000,
- "payment_method_id": "507f1f77bcf86cd799439015",
- "due_days": 0,
- "status": "open",
- "info": "string",
- "provider": "sumup",
- "sumup": {
- "transaction_id": "string",
- "checkout_id": "string",
- "reader_id": "string",
- "foreign_transaction_id": "string",
- "integration": "cloud"
}
}{- "id": "string",
- "status": "pending",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "receipt": {
- "id": "string",
- "number": "string"
}, - "customer": {
- "id": "string",
- "name": "string"
}, - "reader_status": {
- "status": "string",
- "name": "string"
}, - "items": [
- {
- "id": "string",
- "quantity": 0,
- "quantity_unit": "pcs",
- "name": "string",
- "gross": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "infos": "string",
- "has_ura": true,
- "discounts": [
- {
- "fixed_amount": 0
}
], - "product": {
- "id": "string",
- "name": "string"
}, - "productgroup": {
- "id": "string",
- "name": "string"
}
}
], - "payments": [
- {
- "id": "string",
- "value": 0,
- "change": 0,
- "status": "open",
- "info": "string",
- "due_days": 0,
- "provider": "string",
- "sumup": {
- "transaction_id": "string",
- "checkout_id": "string",
- "reader_id": "string",
- "foreign_transaction_id": "string",
- "integration": "cloud"
}, - "commission": {
- "amount": 47,
- "metadata": {
- "type": "percentage",
- "percentage": 1.25,
- "base_amount": 3780
}
}, - "method": {
- "id": "string",
- "name": "string",
- "type": "CASH"
}
}
], - "change_logs": [
- {
- "id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "user": "string",
- "action": "created",
- "changes": [
- {
- "field": "string",
- "old_value": null,
- "new_value": null,
- "item_index": 0,
- "item_id": "string"
}
], - "metadata": { }
}
], - "is_cost_estimation": true,
- "cost_estimation_valid_days": 0,
- "text": "string",
- "discount": {
- "fixed_amount": 0,
- "percentage": 0
}
}Updates an existing payment. Tracked in changelog with action='payment_updated'.
| id required | string |
| paymentId required | string Example: 507f1f77bcf86cd799439022 |
| value | integer |
| due_days | integer |
| status | string (PaymentStatus) Enum: "open" "processing" "succeeded" "failed" "aborted" "refunded" |
| info | string |
object (SumUpPaymentData) |
{- "value": 0,
- "due_days": 0,
- "status": "open",
- "info": "string",
- "sumup": {
- "transaction_id": "string",
- "checkout_id": "string",
- "reader_id": "string",
- "foreign_transaction_id": "string",
- "integration": "cloud"
}
}{- "id": "string",
- "status": "pending",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "receipt": {
- "id": "string",
- "number": "string"
}, - "customer": {
- "id": "string",
- "name": "string"
}, - "reader_status": {
- "status": "string",
- "name": "string"
}, - "items": [
- {
- "id": "string",
- "quantity": 0,
- "quantity_unit": "pcs",
- "name": "string",
- "gross": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "infos": "string",
- "has_ura": true,
- "discounts": [
- {
- "fixed_amount": 0
}
], - "product": {
- "id": "string",
- "name": "string"
}, - "productgroup": {
- "id": "string",
- "name": "string"
}
}
], - "payments": [
- {
- "id": "string",
- "value": 0,
- "change": 0,
- "status": "open",
- "info": "string",
- "due_days": 0,
- "provider": "string",
- "sumup": {
- "transaction_id": "string",
- "checkout_id": "string",
- "reader_id": "string",
- "foreign_transaction_id": "string",
- "integration": "cloud"
}, - "commission": {
- "amount": 47,
- "metadata": {
- "type": "percentage",
- "percentage": 1.25,
- "base_amount": 3780
}
}, - "method": {
- "id": "string",
- "name": "string",
- "type": "CASH"
}
}
], - "change_logs": [
- {
- "id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "user": "string",
- "action": "created",
- "changes": [
- {
- "field": "string",
- "old_value": null,
- "new_value": null,
- "item_index": 0,
- "item_id": "string"
}
], - "metadata": { }
}
], - "is_cost_estimation": true,
- "cost_estimation_valid_days": 0,
- "text": "string",
- "discount": {
- "fixed_amount": 0,
- "percentage": 0
}
}Manually triggers a live SumUp transaction status check for a payment stuck in processing.
Finds the SumUp payment on the order, calls the SumUp API, and transitions the payment and
order to the resolved state if the transaction is available. If the transaction is not yet
visible in SumUp's API, the current order state is returned unchanged (no error).
| id required | string |
{- "id": "string",
- "status": "pending",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "receipt": {
- "id": "string",
- "number": "string"
}, - "customer": {
- "id": "string",
- "name": "string"
}, - "reader_status": {
- "status": "string",
- "name": "string"
}, - "items": [
- {
- "id": "string",
- "quantity": 0,
- "quantity_unit": "pcs",
- "name": "string",
- "gross": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "infos": "string",
- "has_ura": true,
- "discounts": [
- {
- "fixed_amount": 0
}
], - "product": {
- "id": "string",
- "name": "string"
}, - "productgroup": {
- "id": "string",
- "name": "string"
}
}
], - "payments": [
- {
- "id": "string",
- "value": 0,
- "change": 0,
- "status": "open",
- "info": "string",
- "due_days": 0,
- "provider": "string",
- "sumup": {
- "transaction_id": "string",
- "checkout_id": "string",
- "reader_id": "string",
- "foreign_transaction_id": "string",
- "integration": "cloud"
}, - "commission": {
- "amount": 47,
- "metadata": {
- "type": "percentage",
- "percentage": 1.25,
- "base_amount": 3780
}
}, - "method": {
- "id": "string",
- "name": "string",
- "type": "CASH"
}
}
], - "change_logs": [
- {
- "id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "user": "string",
- "action": "created",
- "changes": [
- {
- "field": "string",
- "old_value": null,
- "new_value": null,
- "item_index": 0,
- "item_id": "string"
}
], - "metadata": { }
}
], - "is_cost_estimation": true,
- "cost_estimation_valid_days": 0,
- "text": "string",
- "discount": {
- "fixed_amount": 0,
- "percentage": 0
}
}| id required | string |
| limit | integer [ 1 .. 100 ] Default: 20 |
| offset | integer >= 0 Default: 0 |
{- "rows": [
- {
- "_id": "string",
- "number": 0,
- "typ": "betrieblich",
- "date": "2019-08-24T14:15:22Z",
- "amount": 0,
- "description": "string",
- "balance": 0,
- "createdBy": {
- "_id": "string",
- "username": "string",
- "firstname": "string",
- "lastname": "string"
}
}
], - "total_count": 0,
- "has_more": true
}| id required | string |
required | Array of objects |
| description | string or null |
| type | string Enum: "betrieblich" "privat" |
| invoice | string or null |
| supplier | string or null |
{- "positions": [
- {
- "taxRate": 0,
- "gross": 0
}
], - "description": "string",
- "type": "betrieblich",
- "invoice": "string",
- "supplier": "string"
}{- "_id": "string",
- "number": 0,
- "typ": "betrieblich",
- "date": "2019-08-24T14:15:22Z",
- "amount": 0,
- "description": "string",
- "balance": 0,
- "createdBy": {
- "_id": "string",
- "username": "string",
- "firstname": "string",
- "lastname": "string"
}
}Returns a CSV or PDF export of cashbook entries for the given date range.
| id required | string |
| from | string <date> |
| until | string <date> |
| format | string Default: "csv" Enum: "csv" "pdf" |
{- "statusCode": 400,
- "error": "Bad Request",
- "message": "string"
}| cashdesk | string Cashdesk ID (required for admin users) |
| limit | integer [ 1 .. 100 ] Default: 20 |
| offset | integer >= 0 Default: 0 |
{- "rows": [
- {
- "id": "string",
- "start": "2026-03-01 00:00:00",
- "end": "2026-03-31 23:59:59",
- "month": "2026-03",
- "revenue": 0,
- "createdAt": "2026-04-01 08:30:00"
}
], - "total_count": 0,
- "has_more": true
}| month required | integer [ 1 .. 12 ] |
| year required | integer |
| cashdesk | string Cashdesk ID (admin only) |
{- "month": 3,
- "year": 2026,
- "cashdesk": "string"
}{- "id": "string",
- "start": "2026-03-01 00:00:00",
- "end": "2026-03-31 23:59:59",
- "month": "2026-03",
- "revenue": 0,
- "createdAt": "2026-04-01 08:30:00"
}| id required | string |
| output | string Default: "JSON" Enum: "JSON" "PDF" "FILE_URL" Response format: JSON, PDF, or FILE_URL |
{- "id": "string",
- "start": "2026-03-01 00:00:00",
- "end": "2026-03-31 23:59:59",
- "month": "2026-03",
- "revenue": 0,
- "createdAt": "2026-04-01 08:30:00"
}Returns a paginated, sortable list of payments. Accessible by admins (all cashdesks) and owners (own cashdesk only, automatically scoped).
| limit | integer [ 1 .. 100 ] Default: 20 |
| offset | integer >= 0 Default: 0 |
| cashdesk | string Example: cashdesk=507f1f77bcf86cd799439011 Filter by cashdesk ID (admin only — owners are always scoped to their own cashdesk) |
| provider | string Value: "sumup" Filter by payment provider |
| status | string (PaymentStatus) Enum: "open" "processing" "succeeded" "failed" "aborted" "refunded" Filter by payment status |
| from | string <date-time> Example: from=2026-01-01T00:00:00.000Z Filter payments created at or after this ISO 8601 datetime |
| until | string <date-time> Example: until=2026-12-31T23:59:59.999Z Filter payments created at or before this ISO 8601 datetime |
| sumup_client_transaction_id | string Filter by SumUp client transaction ID (exact match) |
| sort_by | string Default: "created_at" Enum: "created_at" "updated_at" "amount" "status" |
| sort_order | string Default: "desc" Enum: "asc" "desc" |
{- "total": 42,
- "rows": [
- {
- "id": "507f1f77bcf86cd799439033",
- "amount": 1990,
- "change": 10,
- "status": "open",
- "error": "string",
- "method": {
- "id": "string",
- "name": "string",
- "type": "CASH"
}, - "cashdesk": {
- "id": "string",
- "cashdesk_id": "string",
- "customer_name": "string"
}, - "provider": "sumup",
- "currency": "EUR",
- "deadline": 0,
- "info": "string",
- "sumup": {
- "transaction_id": "string",
- "transaction_code": "string",
- "client_transaction_id": "string",
- "integration": "cloud"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "has_more": true,
- "paginate": {
- "limit": 20,
- "offset": 0
}
}Returns a single payment with its resolved cashdesk and payment method.
If the payment has a SumUp client_transaction_id, the live SumUp transaction
is fetched and attached under sumup_transaction. If the fetch fails or no
credentials are available, sumup_transaction is null.
For SumUp payments, the related webhook event record is also returned under
webhook_event (or null if no webhook has been received yet for this transaction).
| id required | string |
{- "payment": {
- "id": "507f1f77bcf86cd799439033",
- "amount": 1990,
- "change": 10,
- "status": "open",
- "error": "string",
- "method": {
- "id": "string",
- "name": "string",
- "type": "CASH"
}, - "cashdesk": {
- "id": "string",
- "cashdesk_id": "string",
- "customer_name": "string"
}, - "provider": "sumup",
- "currency": "EUR",
- "deadline": 0,
- "info": "string",
- "sumup": {
- "transaction_id": "string",
- "transaction_code": "string",
- "client_transaction_id": "string",
- "integration": "cloud"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "sumup_transaction": { },
- "webhook_event": {
- "id": "507f1f77bcf86cd799439011",
- "provider": "sumup",
- "eventId": "txn_01HV9BQKP8RJCM1X2ZFYWQPD3",
- "eventType": "solo.transaction.updated",
- "payload": { },
- "status": "succeeded",
- "lastError": "string",
- "processedAt": "2024-03-15T10:30:00.000Z",
- "createdAt": "2024-03-15T10:29:45.000Z",
- "updatedAt": "2024-03-15T10:30:00.000Z"
}
}Triggers a refund for a succeeded SumUp payment via the SumUp API and marks
the payment as refunded. Requires the payment to have a SumUp transaction_id.
Prerequisites:
provider must be sumupsumup.transaction_id (set after the transaction was completed)Error cases:
400 — not a SumUp payment, missing transaction ID, no credentials, or SumUp
rejected the refund (e.g. insufficient funds in the merchant account)404 — payment not found| id required | string |
{- "id": "507f1f77bcf86cd799439033",
- "amount": 1990,
- "change": 10,
- "status": "open",
- "error": "string",
- "method": {
- "id": "string",
- "name": "string",
- "type": "CASH"
}, - "cashdesk": {
- "id": "string",
- "cashdesk_id": "string",
- "customer_name": "string"
}, - "provider": "sumup",
- "currency": "EUR",
- "deadline": 0,
- "info": "string",
- "sumup": {
- "transaction_id": "string",
- "transaction_code": "string",
- "client_transaction_id": "string",
- "integration": "cloud"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Validates the uploaded image (PNG, JPEG or WebP, max 10 MB), optimizes the original and generates the named receipt thumbnail formats, then stores everything on the account's S3 bucket with public-read access.
| file required | string <binary> The image file (PNG, JPEG or WebP) |
| account_id | string Target account ID. Admin only; non-admins always upload to their own account. |
{- "id": "507f1f77bcf86cd799439011",
- "public_id": "eb3ce6c7-ce7e-4638-a072-e5054706f601",
- "name": "string",
- "mime": "image/png",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Cursor-paginated alternative to GET /v2/receipts. Does not return a total count.
Pages are ordered by (date DESC, _id DESC). To fetch the next page, pass the
next_cursor from the previous response in the cursor query parameter. When
next_cursor is null, the end of the result set has been reached. Cursors are
opaque base64url strings and should not be parsed by the client.
| limit | integer [ 1 .. 100 ] Default: 30 |
| cursor | string Opaque cursor from a previous response's |
| number | string |
| type | string Single receipt-type prefix (e.g. |
| types | string Comma-separated list of receipt-type prefixes (e.g. |
| product_id | string |
| user_id | string |
| serial | string |
| serial_search | string Case-insensitive prefix search on item serial numbers. |
| from | string <date-time> |
| until | string <date-time> |
| origin | string |
| reversal | boolean |
| client_id | string |
| payment_method_id | string |
| payment_status | string |
| cashdesk | string Admin-only. For non-admin users the cashdesk is forced to the caller's. |
| account | string Admin-only. For non-admin users the account is forced to the caller's customer. |
| demo | boolean Admin-only override. For non-admin users |
{- "rows": [
- {
- "id": "string",
- "number": "RE_00000001",
- "date": "string",
- "description": "string",
- "is_demo": true,
- "rksv_id": 0,
- "net": 0,
- "gross": 0,
- "type": {
- "id": "string",
- "name": "string",
- "prefix": "RE"
}, - "created_by": {
- "id": "string",
- "username": "string",
- "firstname": "string",
- "lastname": "string"
}, - "discount": {
- "fixed_amount": 0,
- "percentage": 0
}, - "extras": {
- "has_differtial_tax": true,
- "has_ura_info": true,
- "commercial_text": "string",
- "footer_Text": "string",
- "show_openings": true
}, - "payment": {
- "method": {
- "_id": "string",
- "name": "string",
- "invoiceText": "string",
- "type": "CASH",
- "hasToBeSigned": true,
- "active": true,
- "position": 0
}, - "value": 0,
- "change": 0,
- "due_date": "string",
- "due_days": 0,
- "status": true,
- "info": "string"
}, - "security": {
- "signature": "string",
- "qrcode": "string",
- "cert": {
- "id": "string",
- "vda": "string",
- "serial": "string"
}
}, - "customer": {
- "id": "string",
- "firstname": "string",
- "lastname": "string",
- "prefix": "string",
- "email": "string",
- "company": "string",
- "phone": "string",
- "uid": "string",
- "address": { }
}, - "invoicing_company": {
- "cashdesk_id": "string",
- "company_id": "string",
- "cashdesk_number": "string",
- "name": "string",
- "uid": "string",
- "free_from_tax": true,
- "state": "TESTING",
- "taxexempt": true,
- "openings": [
- {
- "label": "Montag",
- "from": "09:00",
- "until": "18:00"
}
], - "contact": {
- "email": "string",
- "phone": "string",
- "name": "string",
- "website": "string"
}, - "address": {
- "street": "string",
- "plz": 0,
- "city": "string",
- "country": "string"
}, - "bank": {
- "name": "string",
- "iban": "string",
- "bic": "string"
}
}, - "items": [
- {
- "id": "string",
- "amount": 0,
- "amount_unit": "pcs",
- "text": "string",
- "gross": 0,
- "net": 0,
- "tax": 0,
- "tax_rate": 0,
- "serial": "string",
- "aw": 0,
- "product": {
- "id": "string",
- "name": "string"
}, - "discounts": [
- {
- "fixed_amount": 0
}
]
}
], - "taxes": [
- {
- "tax_rate": 0,
- "price": 0,
- "value": 0
}
], - "cost_estimation": {
- "status": true,
- "valid_until": "string",
- "receipt": {
- "id": "string",
- "number": "string"
}
}, - "cancelled_receipt": {
- "id": "string",
- "number": "string",
- "date": "string"
}
}
], - "paginate": {
- "limit": 0,
- "next_cursor": "string"
}
}