How can we help?

Show Page Sections

About the External Partner API

The External Partner API connects your systems to Sovos so you can automate your VAT return workflows.

The External Partner API lets you get filing periods, submit transaction data files, and track processing, all from your own systems. To get started with the External Partner API, you need a valid Bearer token, your company Sovos ID, and an import profile ID.

Use cases

Managing filing periods

Get VAT filing periods for your company, including completed ones. Filter by country, date range, or return type. Check a filing's status to know whether it's ready to accept data, in progress, or complete.

Uploading transaction data

Register a transaction import for a specific filing period. The API returns a time-limited upload URL. Upload your JSON transaction file to that URL, then poll the import status until it reaches a terminal state, either COMPLETED, or FAILED.

Downloading result files

Get time-limited download links for files attached to a completed filing or import. For failed imports, result files include error logs to help you identify and fix the problem.

Base URL

All endpoints use these base URLs:

LocationServerPath prefix
Globalhttps://api.sovos.com/v1/indirect-tax/vat-filing/
UShttps://api-us.sovos.com/v1/indirect-tax/vat-filing/
Note:

The base URL of the User Acceptance Testing (UAT) environment is https://api-test.sovos.com.

External Partner API concepts

General concepts

Error subcode
A stable, machine-readable string in every error response that identifies the specific cause of a failure. You use it in your error-handling logic. Unlike the human-readable message field, it doesn't change between API versions.
Import profile
A Sovos configuration that defines how Sovos maps and validates your JSON transaction file. You supply the import profile ID when you register a transaction import. Sovos sets it up for you.
Import status
The stage your transaction is currently at: PENDING, PROCESSING, COMPLETED, or FAILED. You poll this import status using the import ID to know when processing finishes and result files are ready.
Result files
The output files Sovos generates after processing a filing or import. For successful imports and completed filings, they contain processing data and output files. For failures, they contain error logs. You download them using time-limited URLs.
Time-limited URLs
Both upload URLs and download URLs have expiration dates. The API returns this date when you register the import. Upload and download your files and result files before they expire. Time-limited URLs are available for 10 minutes after the API generates them.
Standard envelope
The consistent response wrapper that every API endpoint returns, whether the call succeeds or fails. It always contains the same seven fields: success, status, message, timestamp, uuid, data, and errors.

Filing-specific concepts

Filing
A VAT return period for a specific country and company. Each filing has a start date, end date, due date, and a status that controls whether you can import transaction data for it.
Filing status
The stage a filing is in during its lifecycle: Preparation, In Progress, or Complete. Preparation is the filing's initial state and the only status where you can import transactions.
Filing ID
The unique identifier for a filing. Use it to get a single filing, get its result files, or start a transaction import for it.
Country and country code
The country a filing applies to, shown as both a display name (for example, Hungary) and an ISO 3166-1 alpha-2 code (for example, HU).
Report type
The kind of tax return a filing represents, for example VAT.

Resources

Find the base URLs for the External Partner API and an overview of its endpoints.

Base URL

All endpoints use these base URLs:

LocationServerPath prefix
Globalhttps://api.sovos.com/v1/indirect-tax/vat-filing/
UShttps://api-us.sovos.com/v1/indirect-tax/vat-filing/
Note:

The base URL of the User Acceptance Testing (UAT) environment is https://api-test.sovos.com.

Endpoint overview

The External Partner API organizes its endpoints into two groups: filings and transaction imports. This table lists each endpoint and what it covers. For the exact schema name and structure of any request or response object, including envelope schemas like FilingsListEnvelope or TransactionImportCreateEnvelope, see the OpenAPI reference.

TopicEndpointPathWhat it covers
FilingsList VAT filingsGET /v1/indirect-tax/vat-filing/filingsGet a filtered list of filings for your company.
Get a filingGET /v1/indirect-tax/vat-filing/filings/{filingId}Get a single filing by its ID.
Get filing result file linksGET /v1/indirect-tax/vat-filing/filings/{filingId}/result-filesGet download URLs for a filing's result files.
Transaction importsList transaction importsGET /v1/indirect-tax/vat-filing/transactions/importsGet a filtered list of transaction imports for your company.
Start a transaction importPOST /v1/indirect-tax/vat-filing/transactions/importsRegister a transaction file and get a presigned upload URL.
Get a transaction importGET /v1/indirect-tax/vat-filing/transactions/imports/{importId}Get a single transaction import by its ID.
Get import result file linksGET /v1/indirect-tax/vat-filing/transactions/imports/{importId}/result-filesGet download URLs for a transaction import's result files.