Application responses and status codes
Sovos tracks each invoice through multiple stages after submission.
- Transaction lifecycle
- After you submit an invoice, Sovos tracks its status through multiple stages. Poll the notifications endpoint to check progress. An HTTP
200response means Sovos accepted the document for processing, but delivery and reporting may still be in progress.Submitted → Validated (106) → Passed to ASP → Transmitted to buyer ASP → Delivered (DELIVERED) → TDD reported to FTA (REPORTED) → CompleteErrors can occur at any stage. Check the error code and what to do next in the status tables in the Send invoice section.
- Polling for notifications
- Poll at reasonable intervals, for example, every 30 seconds for the first two minutes, then every two minutes.
GET /v1/{proxyName}/ae/{transactionId}/notifications Authorization: Bearer {token}Tip:Sovos updates invoice status at regular intervals, not immediately. If you poll continuously without a delay, you'll likely get the same status while consuming resources unnecessarily.
- When is a transaction complete?
- A transaction is complete when both of the following conditions met:
- Sovos has delivered the invoice to the buyer ASP (
DELIVERED). - Sovos has reported the Tax Data Document (TDD) to FTA and received confirmation (
REPORTED).
Don't stop polling at
DELIVEREDalone. FTA reporting is a separate step and must be completed for compliance. - Sovos has delivered the invoice to the buyer ASP (
Complete response examples
- Example 1: Document validated, processing
{ "transactionId": "ae-2026-001234", "notifications": [ { "statusCode": "106", "status": "UPLOADED", "timestamp": "2026-01-15T09:00:00Z", "message": "Document validated and queued" } ] }- Example 2: Transaction complete
{ "transactionId": "ae-2026-001234", "notifications": [ { "statusCode": "106", "status": "UPLOADED", "timestamp": "2026-01-15T09:00:00Z" }, { "status": "PROCESSING", "timestamp": "2026-01-15T09:00:02Z" }, { "status": "DELIVERED", "timestamp": "2026-01-15T09:00:08Z" }, { "status": "REPORTED", "timestamp": "2026-01-15T09:00:12Z", "message": "TDD confirmed by FTA" } ] }- Example 3: Validation failure
{ "transactionId": "ae-2026-001235", "notifications": [ { "statusCode": "401", "status": "FAILED", "errorCode": "VALIDATION_ERROR", "timestamp": "2026-01-15T09:05:00Z", "errors": [ { "field": "Invoice/CustomizationID", "detail": "Missing mandatory PINT-AE specification identifier" } ] } ] }
