Sovos Docs

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 200 response 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) → Complete

Errors 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 DELIVERED alone. FTA reporting is a separate step and must be completed for compliance.

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"
        }
      ]
    }
  ]
}