OpenFiskal’sDocumentation Index
Fetch the complete documentation index at: https://dev.openfiskal.com/llms.txt
Use this file to discover all available pages before exploring further.
v1 integration contract is shared across countries, but the fiscal regime, merchant identity shape, and signed receipt fields differ. Pick your country to follow the correct flow.
🇩🇪 Germany
KassenSichV: Sign transactions and get a QR code with the signature.
🇦🇹 Austria
RKSV: Sign transactions and get a QR code with the signature.
🇮🇹 Italy
Registratore Telematico: Transmit transactions to AdE and get DCW numbers.
All three guides use
https://sandbox.api.openfiskal.com/v1. Replace with https://api.openfiskal.com/v1 when you go live.Live OpenAPI spec
The current production spec is served at
https://api.openfiskal.com/openapi-json (sandbox: https://sandbox.api.openfiskal.com/openapi-json). Import it into Postman, Insomnia, or an OpenAPI code generator to scaffold a client in minutes.The OpenAPI spec always matches the live API implementation.Scope
OpenFiskal is a server-to-server fiscalization API. Your backend calls the API on behalf of your POS devices — there’s no direct device-to-API path today. The current public scope covers Germany, Austria, and Italy.What’s the same across countries
These mechanics are identical regardless of the country guide you follow:- API key format —
of_{env}_{country}_{random}, one key per country + environment. - Request shape — bearer auth on every request,
X-OpenFiskal-Merchanton every merchant-scoped request, ETag +If-Matchon mutating calls. - Resource ordering — merchant → location → register → fiscalize → operation → complete.
- Idempotency —
Idempotency-KeyonPOST /operationsandPATCH /operations/{id}/complete|void. - Money fields — decimal strings, not integers.
pretax_amount + tax_amount + tip_amount = total_amount.
What’s different per country
| 🇩🇪 Germany | 🇦🇹 Austria | 🇮🇹 Italy | |
|---|---|---|---|
| Regime | KassenSichV | RKSV | RT |
country_code | DEU | AUT | ITA |
| Fiscal identity required fields | tax_number, vat_id | legal_entity_id_type (+ gln when type is GLN) | tax_number, vat_number, legal_entity_type, fisconline_user, fisconline_password, fisconline_pin |
| Receipt obligation | Render all fiscal fields exactly | Preserve fiscal values + local format | Render the DCW number |
Next steps
- Authentication — bearer key + merchant header reference
- Integration topology — backend-to-backend architecture