Represents tax calculation from the buyer's perspective. Performs a calculation request based on the set property of the Purchase Message Type. Valid values are PurchaseOrder, InvoiceVerification, Accrual, DistributeTax, Evaluated Receipts Settlement (ERS), or Conditional Procurement.

Based on the property PurchaseMessageType value, a tax calculation is performed and may or may not be saved for reporting and tax remittance.

Purchase Order call / message

A Purchase Order is used to estimate the tax on intended purchases for a Buyer. The intended purchase of goods or services, including tax, is used as input to generate the purchase order. The ultimate use of the goods or services typically dictates the taxability of the purchase. Purchase Order transactions are not stored for reporting or used in tax remittance.

Accrual call / message

The Accrual Request initiates a self-accrual calculation. This situation occurs when the buyer must remit tax on tangible personal property or services (used or consumed) when tax due on the transaction has not been paid. Accrual transactions are stored and used for reporting and remittance.

Invoice Verification call / message

The Invoice Verification is used to verify tax on incoming invoices to the buyer for tangible personal property, rentals, and leases. The invoice is recreated from the seller's perspective to validate that the appropriate tax has been applied. The Invoice Verification compares the total vendor-charged or supplier-charged tax amount from the original invoice to the Vertex-calculated tax amount. If any user-defined verification thresholds are set up, the engine validates for tolerances at the transaction level, and returns an indicator to the host system for undercharges and overcharges outside of the settings. The invoice may display no tax if the buyer has filed a direct pay permit with the vendor or supplier. Invoice Verification transactions are not stored for reporting or used in tax remittance.

Distribute Tax call / message

The Distribute Tax Procurement accepts a combined total tax amount for a purchase and distributes that tax to the appropriate jurisdictions. The engine uses the total tax amount with the combined rates for the taxing jurisdictions to determine the taxable base, and then redistributes the calculated taxes to each level for remittance. Use this request for a tax-only adjustment (debit or credit) to reconcile a tax underpayment or overpayment. The engine uses Vertex taxability rules that are effective on the date specified in the documentDate attribute. The engine processes records for jurisdiction registration, product exception or customer exception, or customer exemption if they are dated on or before that date. A Distribute Tax Procurement transaction impacts revenue unless you designate it as a tax-only adjustment. Distribute Tax Procurement transactions are stored for reporting.

Evaluated Receipts Settlement (ERS) call / message

Initiates an ERS calculation. Use the ERS request to calculate tax when a formalized agreement between the buyer and seller places the tax calculation burden on the buyer. In these situations, the seller does not issue an invoice. Instead, the buyer relies on pre-established terms (represented in a purchase order or other agreement) to calculate the tax due and remit payment directly to the seller. You must have a current knowledge of the seller's tax status (for example, where the seller is registered or has nexus) to assess tax at the appropriate rate. In instances where the seller is not registered or does not have nexus in a taxing jurisdiction, the buyer determines the tax due and remits this Consumer Use Tax directly to the jurisdiction.

APInvoice Sync call / message

The Accounts Payable Invoice Synchronization Request message. This request initiates the reconciliation of Accounts Payable invoices between Vertex O Series and your host system.

Accrual Sync call / message

The Accrual Synchronization Response message. This response returns the calculation results for the reconciliation process for Accrual transactions between Vertex O Series and your host system.

Conditional Procurement

The Conditional Procurement message. This request enables invoice verification and tax reconciliation via procure-to-pay workflows by comparing Vendor Charged Tax (VCT) against O Series Calculated Tax (OCT). Based on the comparison, the API applies configured Conditional Procurement rules to determine the appropriate action, such as accruing additional tax, paying vendor charged tax, or holding the invoice for review if discrepancies exceed configured thresholds.

Body Params

body

string
length between 0 and 40

A string to represent the accumulation customer identity.

string
length between 0 and 40

A string to represent the accumulation invoice identity.

string
length between 0 and 20

Indicates the billing documents that specify different business transactions that are involved in billing activities. Examples of billing documents include invoice, credit or debit memo, or cancellation document. This field is at the transaction level.

buyer
object
string
length between 1 and 40

The Buyer Condition is mandatory information for calculating taxes in Brazil. It represents the type of tax behavior of the entity when buying a good or service.

string
length between 1 and 40

The buyer CNAE (“National Classification of Economic Activities“) code is optional information for the O Series. It’s more granular information when compared to the Buyer's condition.

boolean

When set to true, causes the vendor-charged liability to be processed when determining the buyer's self-accrual liability. This field is applicable to Purchase Order and Accrual tax calculations.

boolean

When set to true, causes the buyer's self-accrual liability to be processed when determining the vendor-charged liability. This field is applicable to Evaluated Receipts Settlement (ERS) only.

double

Vendor-Charged Tax (VCT) amount. Pass this field at the transaction-level or the line-level, but not both. This field is not applicable to Purchase Order tax calculations.

citationOverrides
array of objects
citationOverrides
companyCodeCurrency
object

The monetary unit to be used in calculations as defined by ISO 4217 standard.

currency
object

The monetary unit to be used in calculations as defined by ISO 4217 standard.

currencyConversionFactors
array of objects
currencyConversionFactors
string | null
enum
discount
object

Details on the discount. To pass discount information, pass either DiscountPercent or DiscountAmount, but not both.

date
string
length between 0 and 50

The document number in the host application that references the event.

string
length between 0 and 60

Supports reporting and the document sequence identifier used by your ERP system. Some countries require that documents follow a unique sequential sequence number, depending on the registration type and the type of invoice. Use this field for audit purposes to track the sequence of your documents. This field is used in European Union (EU) countries.

string
length between 0 and 20

Indicates the type of business transaction to be posted. This field is at the transaction level.

exemptOverrides
array of objects
exemptOverrides
string
length between 0 and 40

The unique identifier of a telecom franchise area used to trigger the calculation of the franchise area fee. This value is configured on the imposition that defines the franchise area in O Series.

impositionInclusions
array of objects
impositionInclusions
boolean
lineItems
array of objects

The header for a component of a transaction. A line item is required for each component of the transaction. Each transaction requires at least one line item. Note that a line item can contain child line items.

lineItems
string
length between 0 and 20

A value that can be used for tax return filing in jurisdictions that require taxes to be filed for individual retail locations.

nonTaxableOverrides
array of objects
nonTaxableOverrides
string
length between 1 and 40

NatureOfFiscalOperation is mandatory information to determine what type of transaction we are running in the ERP.

string
length between 0 and 20

The key that identifies the purpose of the order. This field is at the transaction level.

originalCurrency
object

The monetary unit to be used in calculations as defined by ISO 4217 standard.

date

The date on which the purchaser paid for the product. If the purchaser pays for the product but physically receives it at a later date, Vertex O Series uses this field for returns and reporting for your tax type. This field is also used in cash accounting.

boolean

Indicates whether the results of the transaction are posted to the Tax Journal. Defaults to true. This field is not applicable to Purchase Order tax calculations.

date
double
-100000000 to 100000000

Percentage passed from the billing system to calculate a remainder of an assessed tax or fee.

string
enum
rateOverrides
array of objects
rateOverrides
taxDeferredOverrides
array of objects
taxDeferredOverrides
date

The date used to calculate Recoverable Input VAT.

boolean

Indicates whether the response message should contain an additional structure that shows the elements and attributes that were changed by Tax Assist. This is for informational purposes only and contains no tax results.

boolean

If this indicator is set, the response message returns child line items that were generated by the Tax Assist allocation feature. Otherwise, these line items are deleted after the transaction is posted to the Tax Journal and only the primary line item, which contains the combined tax results of the child line items, is passed back to the host system.

boolean

The roundAtLineLevel attribute enables you to apply line-item level or invoice-level rounding to tax calculations. Set this attribute to true to set up line-item level rounding. With line-item level rounding, the calculation engine rounds amounts at the line-item level and then sums those amounts to calculate an invoice total. This method is useful for invoices that include line items with different taxing jurisdictions. The default value for this attribute is false. In this case, O Series applies an invoice-level rounding, where the calculation engine compares the sum of rounded line item-level totals to the rounded invoice-level total. When there is a difference between these totals, the calculation engine compares differences between rounded and unrounded amounts at each jurisdiction level and distributes the difference to the jurisdiction that results in the smallest total rounding difference amount. For more information about invoice-level rounding, contact Vertex Customer Support to obtain the Rounding Guide.

string
length between 1 and 40

The Seller Condition is mandatory information for calculating taxes in Brazil. It represents the type of tax behavior of the entity when selling a good or service.

string
length between 1 and 40

The Seller CNAE (“National Classification of Economic Activities“) code is optional information for the O Series. It’s more granular information when compared to the Seller's condition.

string | null
enum
Allowed:
situsOverride
object

Details about the situs determination overrides.

taxOverride
object

Details on the tax override.

date

The date that drives the timing of when the VAT liability arises. In some countries, if the Tax Point Date (also called the Time of Supply) is different from the invoice date, this field is shown separately on an invoice. Use this field if you have reporting compliance in Spain, Poland, and/or Hungary.

taxabilityCategoryTotals
array of objects
taxabilityCategoryTotals
string
length between 0 and 40

An identifier that further defines the document and corresponds to the transaction stored in the host system. The Transaction ID is used for synchronization services, but is not used for reporting purposes.

string
enum
required
Allowed:
vendor
object
applicationData
object
Responses

Language
Credentials
Response
Choose an example:
application/json