Skip to main content

Documentation Index

Fetch the complete documentation index at: https://dev.openfiskal.com/llms.txt

Use this file to discover all available pages before exploring further.

OpenFiskal’s 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 formatof_{env}_{country}_{random}, one key per country + environment.
  • Request shape — bearer auth on every request, X-OpenFiskal-Merchant on every merchant-scoped request, ETag + If-Match on mutating calls.
  • Resource ordering — merchant → location → register → fiscalize → operation → complete.
  • IdempotencyIdempotency-Key on POST /operations and PATCH /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
RegimeKassenSichVRKSVRT
country_codeDEUAUTITA
Fiscal identity required fieldstax_number, vat_idlegal_entity_id_type (+ gln when type is GLN)tax_number, vat_number, legal_entity_type, fisconline_user, fisconline_password, fisconline_pin
Receipt obligationRender all fiscal fields exactlyPreserve fiscal values + local formatRender the DCW number
This matrix is a product scope guide, not legal advice. Your implementation owner should review the regime-specific onboarding checklist before go-live.

Next steps