SPI Sales Tax Provider
Get a tax quote
post /quotesGets a tax quote and returns calculated tax amounts without persisting an invoice.
The external ID of the store the register belongs to.
The external ID of the staff.
The ID of the register used.
| HTTP Status Code Summary | |
|---|---|
| 200 | Quote created successfully |
| 400 | Bad request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
| 409 | Conflict |
| 429 | Too many requests |
| 500 | Internal server error |
| 502 | Bad gateway |
Create tax invoice
post /invoicesCreates a tax invoice and returns calculated tax amounts.
The external ID of the store the register belongs to.
The external ID of the staff.
The ID of the register used.
| HTTP Status Code Summary | |
|---|---|
| 201 | Invoice created successfully |
| 400 | Bad request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
| 409 | Conflict |
| 422 | Unprocessable entity |
| 429 | Too many requests |
| 500 | Internal server error |
| 502 | Bad gateway |
Get tax invoice
get /invoices/{invoice_id}Retrieves a previously created tax invoice by its ID.
Invoice ID to retrieve
The external ID of the store the register belongs to.
The external ID of the staff.
The ID of the register used.
| HTTP Status Code Summary | |
|---|---|
| 200 | Invoice retrieved successfully |
| 400 | Bad request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
| 409 | Conflict |
| 429 | Too many requests |
| 500 | Internal server error |
| 502 | Bad gateway |
Commit tax invoice
post /invoices/{invoice_id}/commitCommits a previously created tax invoice.
Invoice ID to commit
The external ID of the store the register belongs to.
The external ID of the staff.
The ID of the register used.
| HTTP Status Code Summary | |
|---|---|
| 200 | Invoice committed successfully |
| 400 | Bad request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
| 409 | Conflict |
| 429 | Too many requests |
| 500 | Internal server error |
| 502 | Bad gateway |
Create standalone refund invoice
post /invoices/refundCreates a standalone refund invoice without a reference to an existing invoice.
The external ID of the store the register belongs to.
The external ID of the staff.
The ID of the register used.
| HTTP Status Code Summary | |
|---|---|
| 201 | Refund invoice created successfully |
| 400 | Bad request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
| 409 | Conflict |
| 429 | Too many requests |
| 500 | Internal server error |
| 502 | Bad gateway |
Refund tax invoice
post /invoices/{invoice_id}/refundCreates a refund against an existing tax invoice.
Invoice ID to refund
The external ID of the store the register belongs to.
The external ID of the staff.
The ID of the register used.
| HTTP Status Code Summary | |
|---|---|
| 200 | Refund created successfully |
| 400 | Bad request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
| 409 | Conflict |
| 429 | Too many requests |
| 500 | Internal server error |
| 502 | Bad gateway |
Get exemption codes
get /exemption-codesReturns the list of available tax exemption codes.
The external ID of the store the register belongs to.
The external ID of the staff.
The ID of the register used.
| HTTP Status Code Summary | |
|---|---|
| 200 | List of exemption codes |
| 400 | Bad request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
| 409 | Conflict |
| 429 | Too many requests |
| 500 | Internal server error |
| 502 | Bad gateway |
Get tax codes
get /tax-codesReturns the list of available tax codes.
Search term to filter tax codes
Cursor for pagination (base64url encoded)
Number of results to return
The external ID of the store the register belongs to.
The external ID of the staff.
The ID of the register used.
| HTTP Status Code Summary | |
|---|---|
| 200 | List of tax codes |
| 400 | Bad request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
| 409 | Conflict |
| 429 | Too many requests |
| 500 | Internal server error |
| 502 | Bad gateway |
Ping
get /pingVerifies credentials and connectivity to the tax provider.
The external ID of the store the register belongs to.
The external ID of the staff.
The ID of the register used.
| HTTP Status Code Summary | |
|---|---|
| 200 | Ping successful |
| 400 | Bad request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
| 409 | Conflict |
| 429 | Too many requests |
| 500 | Internal server error |
| 502 | Bad gateway |
Resolve address
post /addresses/resolveValidates and resolves an address, returning the standardized address if successful.
The external ID of the store the register belongs to.
The external ID of the staff.
The ID of the register used.
| HTTP Status Code Summary | |
|---|---|
| 200 | Address resolved successfully |
| 400 | Bad request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
| 409 | Conflict |
| 429 | Too many requests |
| 500 | Internal server error |
| 502 | Bad gateway |
Objects
ErrorCodestring
Error code describing the type of error that occurred. The error_data property might contain additional information.
bad-request, unauthorized, forbidden, not-found, conflict, unprocessable-entity, too-many-requests, internal-server-error, bad-gatewayErrorobject
QuoteResponseobject
Response body for a tax quote
Exemption code for tax exemption
Tax details per line item
Tax summary by jurisdiction
Total amount in smallest currency unit
Total taxable amount in smallest currency unit
Total tax amount in smallest currency unit
ResponseLineobject
Tax details for an invoice line item
Line item ID
Line item number
Product SKU or item code
Line item amount in smallest currency unit
Taxable amount in smallest currency unit
Tax amount in smallest currency unit
Tax breakdown by jurisdiction
TaxDetailobject
Tax detail for a specific jurisdiction
Country code
State/region code
Jurisdiction name
Jurisdiction code
Tax type
Name of the tax
Taxable amount in smallest currency unit
Tax rate
Tax amount in smallest currency unit
Summaryobject
Tax summary for a jurisdiction
Country code
State/region code
Jurisdiction name
Total taxable amount in smallest currency unit
Tax rate
Total tax amount in smallest currency unit
QuoteRequestobject
Request body for getting a tax quote
Customer identifier
Date (ISO 8601)
Exemption code for tax exemption
Line items
TaxOverride
Override applied to tax calculation
TaxAmountOverrideobject
| VALUES |
|---|
| tax-amount |
Override tax amount (in smallest currency unit)
Reason for the tax override
TaxDateOverrideobject
| VALUES |
|---|
| tax-date |
Override tax date (ISO 8601 date)
Reason for the tax override
ExemptionOverrideobject
| VALUES |
|---|
| exemption |
Reason for the tax override
RequestAddressesobject
Shipping addresses for the request
AddressWithStore
Address with optional store information
Street address line 1
Street address line 2
City name
State/region code
Postal/ZIP code
Country code (ISO 3166-1 alpha-2)
Storeobject
Store information
External identifier for the store
Addressobject
Address for tax calculation
Street address line 1
Street address line 2
City name
State/region code
Postal/ZIP code
Country code (ISO 3166-1 alpha-2)
Lineobject
A line item in an invoice
Line item identifier
Product SKU
Product group for tax classification
Tax code for the item
Exemption code for tax exemption
Quantity of items
Line item amount in smallest currency unit
Item description
LineAddressesobject
Per-line shipping addresses
InvoiceResponseobject
Response body for a tax invoice
Exemption code for tax exemption
Tax details per line item
Tax summary by jurisdiction
Total amount in smallest currency unit
Total taxable amount in smallest currency unit
Total tax amount in smallest currency unit
Invoice code
InvoiceRequest
Request body for creating an invoice
Customer identifier
Date (ISO 8601)
Exemption code for tax exemption
Line items
Deterministic invoice code for idempotent retries
BaseSalesTaxRequestobject
Customer identifier
Date (ISO 8601)
Exemption code for tax exemption
Line items
StandaloneRefundRequest
Request body for creating a standalone refund invoice
Customer identifier
Date (ISO 8601)
Exemption code for tax exemption
Line items
Deterministic invoice code for idempotent retries
Refund line items
Reference to the original receipt or transaction being refunded
RefundTaxOverride
Tax override for refund transactions
RefundLine
A line item in a refund invoice
Line item identifier
Product SKU
Product group for tax classification
Tax code for the item
Exemption code for tax exemption
Quantity of items
Line item amount in smallest currency unit
Item description
Line item amount in smallest currency unit (must be negative for refunds)
RefundRequestobject
Request body for refunding an invoice
Deterministic invoice code for idempotent retries
Date of the refund (ISO 8601)
Type of refund
| VALUES |
|---|
| full |
| partial |
| tax-only |
| percentage |
Percentage to refund (used when refund_type is percentage)
Line numbers to refund (used when refund_type is partial)
Reference code for the refund
ExemptionCodesResponseobject
Response body for listing exemption codes
List of exemption codes
ExemptionCodeobject
An exemption code for tax-exempt purchases
Exemption code
Exemption code name
Exemption code description
Countries where this exemption code is valid
TaxCodesResponseobject
Response body for listing tax codes
List of tax codes
Cursor for the next page of results
TaxCodeobject
A tax code for categorizing products and services
Tax code identifier
Description of the tax code
PingResponseobject
Ping response
| VALUES |
|---|
| ok |
AddressResolveResponseobject
Address resolution result
Whether the address was successfully resolved
ResolvedAddressobject
Standardized address from the tax provider. Present when success is true for supported countries.
Resolved street address line 1
Resolved street address line 2
Resolved city name
Resolved state/region code
Resolved postal/ZIP code (may include ZIP+4)
Resolved country code
AddressResolveRequestobject
Address to resolve for tax calculation
Street address line 1
Street address line 2
City name
State/region code
Postal/ZIP code
Country code (ISO 3166-1 alpha-2)