A valid request URL is required to generate request examples{
"kind": "Z",
"chainId": "store-fiscal",
"generatedAt": "2026-07-16T18:00:00.000Z",
"periodDay": null,
"ticketCount": 2,
"salesCount": 2,
"refundsCount": 0,
"turnoverByTender": [
{
"method": "cash",
"grossCents": 7200,
"ticketCount": 2
}
],
"vatBreakdown": [
{
"rate": 20,
"baseCents": 6000,
"vatCents": 1200,
"grossCents": 7200
}
],
"vatTotalCents": 1200,
"grossTotalCents": 7200,
"grandTotalCents": 7200,
"sequenceFrom": 1,
"sequenceTo": 2,
"signatureCount": 2
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}Fiscal Z (closing report)
Rolls a register chain’s period up into the fiscal Z figures (clôture Z): turnover by tender (chiffre d’affaires par mode de règlement), the VAT breakdown by rate (ventilation de TVA), the sales/refunds counts and the PERPETUAL grand total (Σ of every signed total in the chain). store (the chain id — chains are per store) is REQUIRED; without it, or with a malformed day facet, the route 400s. Pass an optional ?day= UTC calendar day (YYYY-MM-DD) to window the period. This route computes figures only — it does NOT seal a closure (use the closures operation for that).
A valid request URL is required to generate request examples{
"kind": "Z",
"chainId": "store-fiscal",
"generatedAt": "2026-07-16T18:00:00.000Z",
"periodDay": null,
"ticketCount": 2,
"salesCount": 2,
"refundsCount": 0,
"turnoverByTender": [
{
"method": "cash",
"grossCents": 7200,
"ticketCount": 2
}
],
"vatBreakdown": [
{
"rate": 20,
"baseCents": 6000,
"vatCents": 1200,
"grossCents": 7200
}
],
"vatTotalCents": 1200,
"grossTotalCents": 7200,
"grandTotalCents": 7200,
"sequenceFrom": 1,
"sequenceTo": 2,
"signatureCount": 2
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}Authorizations
Authorization: Bearer <token>. Accepts EITHER a Keycloak access token (scopes-in-token) OR an opaque POS session token; both resolve to the same pos.* scope vocabulary the route guards enforce.
Query Parameters
REQUIRED — the register chain id (per store). Missing → 400.
Optional UTC calendar day (YYYY-MM-DD) to window the period. Malformed → 400.
Response
The Z report figures for the (optionally windowed) period.
The Z report figures for the (optionally windowed) period.
Z, X -9007199254740991 <= x <= 9007199254740991-9007199254740991 <= x <= 9007199254740991-9007199254740991 <= x <= 9007199254740991Show child attributes
Show child attributes
Show child attributes
Show child attributes
-9007199254740991 <= x <= 9007199254740991-9007199254740991 <= x <= 9007199254740991-9007199254740991 <= x <= 9007199254740991-9007199254740991 <= x <= 9007199254740991-9007199254740991 <= x <= 9007199254740991-9007199254740991 <= x <= 9007199254740991
