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.
Overview
A register is the logical checkout or terminal that produces operations inside a location. In the current public API, a register stores identity, routing, and fiscal-provisioning metadata that you must keep stable over time.Register states
created— the register exists but cannot accept operations yetfiscalized— the register has regime-specific fiscal components provisioned (TSS + client for KassenSichV, SCU + cash register for RKSV) and can accept operationsdecommissioned— the register is retired; historical data is preserved but no new operations can be created
Commissioning a register
1. Prerequisite: merchant must have fiscal_identities
Before fiscalizing a register, the parent merchant must have a fiscal_identities[] entry for the location’s country. This is normally set at merchant creation (POST /merchants), but you can add it later:
POST /registers/{id}/fiscalize returns 409 fiscalization_conflict. Fiscal identity shape varies by country (DEU, AUT, ITA) — see the schema reference.
2. Create the register
3. Fiscalize the register
CallPOST /registers/{id}/fiscalize. This is an asynchronous operation — the endpoint returns 202 Accepted and provisioning completes in the background.
GET /registers/{id} until fiscalizedAt is populated, then the register is ready to accept operations.
Updating a register
UsePATCH /registers/{registerId} to rename the register or update its external mapping:
Decommissioning
UsePOST /registers/{id}/decommission to retire a fiscalized register. This tears down the regime-specific fiscal components and marks the register as decommissioned.
409 decommission_conflict). Complete or void them first.
Operational guidance
- Keep
external_idaligned with the register identifier in your own POS platform - Capture the operator identity at runtime on the operation, not on the register resource
- Do not recycle a register for a different physical checkout if you need clean audit history
- Prefer decommissioning over deletion when you want to preserve historical references
Listing and lookup
UseGET /registers to list registers in the current merchant. Use GET /registers/{registerId} when you need the current representation for a specific register.