E-Invoice statuses
This reference provides an overview of e-invoice statuses, their meanings, and transitions throughout the invoice lifecycle, including a flowchart for visual reference.
This section provides an overview of the different statuses associated with an e-invoice, what each status means, and how these statuses transition throughout the invoice lifecycle. A flowchart is also included to illustrate possible transitions and response flows.
The E-Invoice Status field reflects the current state of the e-invoicing process for a given invoice. Below are the possible statuses and their meanings:
- Processing - Indicates that the e-invoice process has started. This is typically the initial status before file generation or submission to the tax authority.
- Retrieve Timeout - Indicates that the responses from tax vendors such as Sovos or Avalara are taking too long. Once the vendor responds successfully, you can use the Resync E-Invoice Status action.
- Generated - Indicates that the e-invoice file was successfully generated. At this point, the eInvoiceField contains the ID of the generated e-invoice file. This is applicable only when you use PEPPOL as your service provider. See E-invoicing with PEPPOL Extract.
- Failed - Indicates that an error occurred during the e-invoice file generation process. In this case, the status is set to Failed.
- ConditionalSuccess - The e-invoice file generation completed with warnings or partial success. This status is applicable only when using Sovos.
- ApprovedByAuthority - The e-invoice has been approved by the tax authority but may still require further validation by the end customer. The invoice will eventually transition to either Success or Rejected, depending on the final decision from the customer or downstream system. In most cases, except for Italy, the Approved by Authority status is skipped, as Sovos returns the final status (Success or Failed) in the same response. As a result, the status moves directly to Success or Failed. This status is applicable only when using Sovos.
- Rejected - The e-invoice has been explicitly rejected by the end customer. You cannot resend a rejected e-invoice and to proceed, you must generate and submit a new invoice. This status is applicable only when using Sovos.
- Success - The e-invoice has been successfully submitted and accepted by the tax authority and/or end customer. This is the final status for completed and approved invoices.
- Canceled or Cancel Failed - These statuses are considered as final status. Cancel Failed expects customers to take action to fix the issue and re-trigger the cancellation.
- Cancel Processing - Intermediate status that could change to Canceled if the cancellation process is completed successfully., or to Cancel Failed if the cancellation.
All these statuses apply to all e-invoicing countries; however, in most regions, except Italy, the Approved by Authority status is typically skipped, as Sovos returns the final status (either Success or Failed) immediately.
Resync e-invoice status
Zuora also provides an API called Resync E-Invoice Status, which allows external systems to query and update invoice statuses, particularly for documents marked as Approved by Authority. The API must be used to automate this process, as the UI only supports status resync for a single invoice at a time.
Additionally, the Resync E-Invoice Status API or UI action can be triggered for documents in either the Approved by Authority or Processing status and supports Invoices, Credit Memos, and Debit Memos. For Italy, it may take up to 25 days to receive the final Success or Rejected status after the Approved by Authority stage, due to extended processing timelines by the tax authority and end customer.
When responses from tax service providers such as Sovos or Avalara are delayed, the e-invoice status is updated to RetrieveTimeOut. Once the provider responds successfully, you can use the Resync E-Invoice Status action to retrieve the latest notifications and automatically update the document status.
When resyncing for Sovos, you are prompted to choose one of the following modes:
- Refresh latest unacknowledged notifications (default): Retrieves and processes only the most recent notifications that have not yet been acknowledged.
- Full re-sync: Reprocesses all notifications from the beginning. This option is useful in scenarios where incremental requests return incomplete results, such as after notifications have been recreated in Sovos.
Zuora supports resyncing e-invoice statuses for both Avalara and Sovos. You can trigger Resync E-Invoice Status from the UI or API when an invoice is in RetrieveTimeOut or Processing status. Zuora continues polling until the invoice reaches Success, Failed, or ApprovedByTaxAuthority, ensuring smoother handling of delayed tax authority responses and avoiding unnecessary resubmissions.
Polling window and RetrieveTimeOut behavior
When an e-invoice is submitted to Sovos, Zuora automatically starts polling Sovos notifications for up to 1 hour after the original submission. If the e-invoice process is still pending at the service provider, end it within 1 hour. After this initial polling window, it is the customer's responsibility to trigger or automate a Resync E-Invoice Status operation if they still need updated notifications from Sovos.
As a best practice, always wait at least 1.5 hours after the original submission before triggering a manual or automated Resync E-Invoice Status. If a resync has already been triggered, wait for that resync to complete before starting another one to avoid overlapping requests and confusing status transitions.
If an invoice remains in RetrieveTimeOut even after a Resync E-Invoice Status operation, follow this pattern for Sovos integrations:
-
Confirm document status in Sovos
- Check in the Sovos portal that the document has been received and processed successfully.
-
Check notifications in Sovos
- If the document is cleared but Zuora still shows RetrieveTimeOut, verify whether notifications exist and are not expired in Sovos.
- If notifications have expired, recreate the notifications in the Sovos portal for the affected document.
-
Resync after notifications are available
- After notifications are (re)created, trigger Resync E-Invoice Status in Zuora.
- Always wait at least 1.5 hours for the resync process to complete and for all notifications to be pulled before triggering a new manual resync.
Common synchronization issues
- Pattern 1 – Premature re-submission after a timeout:
In some cases, the HTTP call that submits an e-invoice document from Zuora to Sovos can time out before Sovos returns an acknowledgement. Zuora marks the submission as Failed, but Sovos may already have accepted and started processing the document internally. A timeout means Zuora did not receive a response in time; it does not necessarily mean that Sovos rejected the document.
If a user sees the Failed status and immediately re-submits the same document, a conflict can occur because Sovos uses a single Provider Document ID per document number. Both the original submission and the retry map to the same Provider Document ID. Sovos continues to process the original submission, while the retry triggers a new set of notifications under the same Provider Document ID.
When Zuora's Sync Status workflow polls for notifications, it receives a mix of notifications from both attempts in a single response, which can cause parsing or sequencing errors and lead to workflow failure.
Recommended actions:
- If the failure was caused by a timeout or connection error and Sovos may still be processing the document, use Resync E-Invoice Status to retrieve the latest state instead of re-submitting the document.
- Only re-submit when you are certain that the failure was due to a business-level rejection (for example, validation errors in Sovos or at the tax authority), not an infrastructure-level timeout.
You can use the following guideline to choose the correct next step:
Status in Zuora What happened Correct next step Failed due to timeout / connection error Sovos may still be processing the document Re-Sync E-Invoice Status Failed due to business validation error (schema or tax data error) Sovos or the tax authority rejected the document on validation Fix the data and re-submit - Pattern 2 – Premature Re-Sync during active notification polling
After a successful submission, Zuora automatically triggers a Sync Status workflow that polls Sovos for notifications in a loop until a terminal status (such as Success or Failed) is reached. Zuora normally polls for about 1 hour and then sets the status to RetrieveTimeOut if no final result is received.
If a user manually triggers a Re-Sync E-Invoice Status while the original Sync Status workflow is still actively polling, both workflows will:
- Poll the same Sovos notification endpoint concurrently
- Compete to acknowledge the same notifications
- Overwrite each other's status updates on the Zuora document (the last workflow to finish "wins")
As a result, a valid Success status set by the first workflow can be overwritten by a later workflow, leaving the document in an incorrect or stale state.
Recommended actions:
- After submitting an e-invoice, wait at least 1–1.5 hours before manually triggering Re-Sync E-Invoice Status, unless you have confirmed that the automatic Sync Status workflow has already completed.
- If a Re-Sync has already been triggered, wait for it to finish before triggering another one for the same document.
- If a document status has already been overwritten by competing resync operations, stop manual retries and raise a support ticket to have Zuora reconcile the status with Sovos.
Regenerate or Resync E-invoices
The Regenerate E-Invoice action is available for documents in a Failed status and supports Invoices, Credit Memos, and Debit Memos. After you fix the underlying errors and trigger regeneration, the document is resubmitted to the e-invoicing service provider, and its status updates to Processing.
The Resync E-Invoice action is also available for documents in a Failed status. In certain scenarios, such as when the service provider has corrected the failure on their end, resyncing can resolve the issue more efficiently than regeneration.
By providing both Resync and Regenerate actions, you can choose the most appropriate approach based on the cause of the failure
For the PEPPOL service provider, the Regenerate E-Invoice action is available when the document is in Generated status.
E-Invoice Chat Assistant (AI agent)
The E-Invoice Chat Assistant is an AI-powered agent designed to guide users through e-invoice troubleshooting before they trigger manual actions such as Re-Sync E-Invoice Status or re-submission.
The assistant can:
- Diagnose the current state of an e-invoice document, including active workflows, submission history, and Sovos notification state
- Recommend whether to wait, re-sync, re-submit, or escalate based on the actual document state
- Explain the difference between infrastructure-level failures (timeouts, network errors) and business-level rejections (validation errors)
- Help prepare escalation tickets by collecting the relevant document numbers, Provider Document IDs, and timestamps
Use the E-Invoice Chat Assistant when:
- A document shows Failed after submission and you are unsure whether to re-sync or re-submit
- A document appears stuck in an intermediate status and you suspect overlapping workflows or timeouts
- You need to raise a support ticket and want the complete context (IDs, timestamps, Provider Document ID) prepared automatically