Sovos Docs

Application responses and status codes

This page explains how to track invoice status after submission, including polling instructions and complete response examples.

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 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 get the same status repeatedly and put unnecessary load on your system.

When is a transaction complete?
A transaction is complete when both of the following conditions are 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).

A DELIVERED status doesn't mean the transaction is complete. Keep polling until you see REPORTED. FTA reporting is a separate step. Sovos has to complete it before the transaction is compliant.

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