After an invoice is created, SIGN ES sends it to the corresponding tax authority, and the transmission.registration field shows where the submission stands. This article explains each state and what to do when the tax authority is unavailable.
| State | Meaning | What to do |
|---|---|---|
PENDING |
The registration request is waiting to be processed. With Verifactu it usually changes in about 60 seconds, and with TicketBAI almost immediately | Check the invoice again |
REGISTERED |
The tax authority has received and registered the invoice. It does not mean the content is fiscally correct | Nothing to do |
REQUIRES_CORRECTION |
The invoice was registered, but errors were detected | Check the validations field to confirm what the error is and proceed with correction or remedy accordingly |
REQUIRES_INSPECTION |
The tax authority rejected the invoice because it detected errors | Check the validations field to confirm what the error is and proceed with correction or remedy accordingly |
STORED |
SIGN ES saved the invoice without sending it to the tax authority. This state only applies in Bizkaia, when the activity code is missing on the invoice of a self-employed taxpayer |
Add the activity code with a PATCH on the invoice (annotations with type: "INDIVIDUAL" and activity_code) |
INVALID |
The state of invoices of type EXTERNAL
|
Nothing to do |
The cancellation state is shown in transmission.cancellation, with equivalent values: NOT_CANCELLED, PENDING, CANCELLED, REQUIRES_INSPECTION, STORED and INVALID.
When the tax authority is not available
If fiskaly loses connection with the tax authority (for example, due to maintenance on the tax authority's side), invoices stay in PENDING and SIGN ES retries the submission automatically. They are registered gradually once the service is restored, and it can take several hours.
Do not resend the invoice or create another one: that would duplicate the registration of the operation. Incidents and maintenance of the tax authorities are published on the status page.
How to check the status
There are no webhooks, so the status is checked by polling with GET /clients/{client_id}/invoices/{invoice_id}. All the states above, except PENDING and STORED, are final. There is no need to keep polling invoices in REGISTERED, REQUIRES_CORRECTION, REQUIRES_INSPECTION or INVALID, because those states will not change anymore.