canonical: https://jentic.com/apis/obono.at/obono

# Obono At obono RKSV API

obono provides a RESTful interface to virtual cash registers that issue receipts compliant with the Austrian Registrierkassensicherheitsverordnung (RKSV). The API lets partner systems create receipts on a registered cash register, retrieve issued receipts and monthly summaries, generate the closing receipt for a period, and export the audit log in DEP-131, DEP-7, GoBD, CSV, and XLS formats. Renderings such as PDF, QR, HTML, and thermal print are also exposed so a POS or e-commerce app can present a receipt to the buyer.

## For AI agents

Issue Austrian RKSV-compliant receipts on a virtual cash register, retrieve receipts and monthly summaries, and export DEP-131, DEP-7, and GoBD audit logs.

## Scope

Does not handle card payments, German fiscal compliance (KassenSichV), or inventory management - use for Austrian RKSV-compliant receipt issuance, retrieval, and audit export only.

## Capabilities

- Create a new RKSV-compliant receipt on a registered virtual cash register via PUT
- Retrieve a single receipt by UUID for display or reprint
- List all receipts for a cash register and pull monthly summary receipts
- Generate the period-closing Abschluss receipt to keep the cash register compliant
- Export the data export protocol (DEP-131, DEP-7, GoBD) for tax-office audits
- Render a receipt as PDF, HTML, QR code, or thermal-print payload for POS hardware

## Use cases

### Compliant receipt issuance for Austrian POS

Issue Austrian RKSV-compliant receipts directly from a POS or e-commerce checkout by calling PUT `/registrierkassen/{registrierkasseUuid}/belege/{belegUuid}` with the sale payload. obono manages the secure signature chain required by the Registrierkassensicherheitsverordnung, so the calling system stays responsible only for the line items. After issuance the receipt can be rendered as PDF, HTML, or thermal-print output for the buyer.

Example prompt: On checkout, PUT `/registrierkassen/{registrierkasseUuid}/belege/{belegUuid}` with the sale payload, then GET `/export/pdf/belege/{belegUuid}` to render the receipt

### End-of-period closing automation

Automate the daily and monthly closing routine required by RKSV by calling POST `/registrierkassen/{registrierkasseUuid}/abschluss` on schedule. The endpoint creates the closing receipt that locks the period, and GET `/registrierkassen/{registrierkasseUuid}/monatsbelege` confirms the monthly summary chain is complete. Running these calls from a worker keeps the merchant compliant without manual button presses.

Example prompt: POST `/registrierkassen/{registrierkasseUuid}/abschluss` at end of day, then GET `/registrierkassen/{registrierkasseUuid}/monatsbelege` at month-end to confirm summary

### Audit export for the Austrian tax office

Produce the data export protocol that the Austrian tax office accepts during an inspection by calling `/export/dep131/registrierkassen/{registrierkasseUuid}/belege` or the DEP-7 and GoBD variants. Accountants can pull the export over a defined date window without opening the obono UI, and store the file alongside the merchant's other audit artefacts. The CSV and XLS exports under /export/ provide secondary views for spreadsheet-driven reconciliation.

Example prompt: GET `/export/dep131/registrierkassen/{registrierkasseUuid}/belege` for the requested date range and store the resulting export for the tax inspection

### AI agent integration via Jentic

An ops agent searches Jentic for Austrian compliant receipt issuance, loads PUT `/registrierkassen/{registrierkasseUuid}/belege/{belegUuid}`, and issues receipts on behalf of the merchant when checkouts complete. The agent then calls the PDF or thermal-print export so a printer queue receives the formatted output. Jentic injects basic auth or JWT credentials so the agent's prompt never holds them.

Example prompt: Use Jentic to search 'issue rksv receipt austria', load PUT `/registrierkassen/{registrierkasseUuid}/belege/{belegUuid}`, and execute it with the cash register UUID and sale payload

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| PUT | `/registrierkassen/{registrierkasseUuid}/belege/{belegUuid}` | Create an RKSV receipt on a cash register |
| GET | `/registrierkassen/{registrierkasseUuid}/belege` | List receipts on a cash register |
| GET | `/belege/{belegUuid}` | Get a receipt by UUID |
| POST | `/registrierkassen/{registrierkasseUuid}/abschluss` | Create a closing receipt |
| GET | `/registrierkassen/{registrierkasseUuid}/monatsbelege` | Get monthly summary receipts |
| GET | `/export/dep131/registrierkassen/{registrierkasseUuid}/belege` | DEP-131 export of receipts |
| GET | `/export/pdf/belege/{belegUuid}` | Render a receipt as PDF |
| GET | `/export/thermal-print/belege/{belegUuid}` | Render a receipt as thermal print payload |

## Key resources

- **Registrierkasse** — Virtual cash register lifecycle, retrieval, and closing
- **Beleg** — RKSV receipts: create, retrieve, list by cash register
- **Monatsbelege** — Monthly summary receipts for compliance audit
- **Abschluss** — Period-closing receipts that lock the receipt chain
- **Export** — DEP-131, DEP-7, GoBD, CSV, XLS, PDF, HTML, QR, and thermal-print exports
- **Auth** — Authenticate via HTTP basic or JWT bearer

## Why Jentic

- **Setup:** Wiring the obono RKSV API by hand means choosing between HTTP basic auth and a JWT bearer token, adding the Authorization header on every call against app.obono.at, and coding your own retry handling for receipt issuance and export. Through Jentic you install once, import the obono RKSV API from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** obono puts the register id in the URL path (`/registrierkassen/{registrierkasseUuid}/...`), so a rule can pin your agent to one register: it can read that register's receipts and monthly receipts, for example. You choose the operations it may call, so issuing a receipt with PUT or running the month-end close with the abschluss operation is not included unless you add it.
- **Credential handling:** Your obono basic credentials or JWT bearer token are stored once, encrypted, by your own Jentic One instance and injected into the Authorization header at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'issue an RKSV receipt in Austria' or 'run a DEP131 export', and Jentic returns the matching obono operation with its input schema so the agent calls the right endpoint without reading the obono docs.

## Related APIs

- **Square API** — Full POS, payments, and inventory platform - broader scope than obono's RKSV-focused receipt surface
- **Stripe API** — Pair Stripe payments with obono receipts to settle the card and issue the RKSV-compliant document
- **HubSpot CRM Objects API** — Store the buyer record alongside the issued receipt - pair with obono for end-to-end customer and compliance trail

## FAQ

### What authentication does the obono RKSV API use?

obono accepts either HTTP basic authentication or a JWT bearer token in the Authorization header for calls to /registrierkassen, /belege, and /export. Through Jentic the basic credentials or JWT are held in the vault (your Jentic One instance) and injected at execution time, so the agent does not handle them directly.

### Can I issue an RKSV-compliant receipt through the API?

Yes. PUT `/registrierkassen/{registrierkasseUuid}/belege/{belegUuid}` creates the receipt and obono manages the secure signature chain required by the Austrian Registrierkassensicherheitsverordnung. Retrieve the issued receipt with GET `/belege/{belegUuid}` or render it via the `/export/pdf` or `/export/thermal-print` endpoints.

### Can I export DEP-131, DEP-7, and GoBD audit logs?

Yes. `/export/dep131/registrierkassen/{registrierkasseUuid}/belege` returns the DEP-131 export, with parallel endpoints for DEP-7, GoBD, CSV, and XLS. These are the export formats Austrian tax inspections expect, so an accountant can pull the file straight from the API instead of the obono UI.

### What are the rate limits for the obono RKSV API?

The OpenAPI spec does not publish explicit rate limits. obono applies tenant-level throttles based on subscription; check your account or contact obono support for figures. Through Jentic, the agent loop can pace receipt issuance and export calls to avoid bursts during a daily close run.

### How do I issue an RKSV receipt through Jentic?

Install the SDK with pip install jentic, search 'issue rksv receipt austria', load PUT `/registrierkassen/{registrierkasseUuid}/belege/{belegUuid}`, and execute it with the cash register UUID and the sale payload. Jentic injects the basic auth or JWT credentials so the receipt is signed and stored without the agent touching the secrets.

### Does the obono API handle card payments or inventory?

No. The API is focused on RKSV-compliant receipt issuance, retrieval, monthly summaries, closing receipts, and audit exports. Card capture, refund processing, and inventory management belong in a separate POS or payment processor system, with obono receiving the totals to record on the cash register.

### Can I limit what my agent is allowed to do with the obono RKSV API?

Yes. Because Jentic One is self-hosted, your own rules decide which obono operations and credentials the agent may use. Since obono puts the register id in the URL path (`/registrierkassen/{registrierkasseUuid}/...`), you can pin the agent to a single cash register and allow only read operations, such as listing that register's receipts and its monthly summary receipts. Write operations like issuing a receipt with PUT `/registrierkassen/{registrierkasseUuid}/belege/{belegUuid}` or running the month-end abschluss close are excluded unless you explicitly grant them.
