Device and Fiscal Day Constraints
Receipts can only be signed when the device is in a valid state:
| Condition | Result |
|---|---|
Fiscal day is not open (FiscalDayStatus is not FiscalDayOpened or FiscalDayCloseFailed) | 503 — fiscal day not open |
| Fiscal day has exceeded its maximum allowed hours | 503 — fiscal day exceeded max length |
| Device is in its 2-hour maintenance window | 503 — maintenance window |
Device has been blocked by ZIMRA (SubmitReceiptsBlockedDate is set) | 400 — blocked, with ZIMRA reason code |
Check GET /api/device/{zimraDeviceId} to inspect the current device state before attempting to sign.
Date Constraints
- Receipt date must be after the fiscal day opening date/time
- Receipt date must be at least 1 second after the previous receipt's date on the same device
- Milliseconds are truncated from the submitted date