AvaTax for VAT

Version v2
APConfigSetting
Accounts
Addresses
AvaFileForms
Batches
CertExpressInvites
Certificates
Clerk
CommunicationCertificates
Companies
Compliance
Contacts
CostCenter
Customers
DataSources
Definitions
DistanceThresholds
DomainControlVerification
ECommerceToken
EcmEventNotifications
EcoNexusThreshold
FirmClientLinkages
FormTypeMapping
FundingRequests
GLAccount
Items
ItemsReverseSync
Jobs
JurisdictionOverrides
Locations
MultiDocument
Nexus
Notices
Notifications
Provisioning
Registrar
Reports
Settings
Subscriptions
TaxCodes
TaxContent
TaxRules
Transactions
Upcs
UserDefinedFields
Users
Utilities
VendorCertificates
Vendors

TransactionModel

This object represents a single transaction; for example, a sales invoice or purchase order.

This model is used in the following APIs:

Parameters
idOptional
integer

The unique ID number of this transaction.

codeOptional
string

A unique customer-provided code identifying this transaction.

companyIdOptional
integer

The unique ID number of the company that recorded this transaction.

dateOptional
string

The date on which this transaction occurred.

paymentDateOptional
string

DEPRECATED - Date: 07/25/2018, Version: 18.7, Message: This field is deprecated and will return null till its removed. The date when payment was made on this transaction. By default, this should be the same as the date of the transaction.

statusOptional
string

The status of the transaction.

Enum: Temporary, Saved, Posted, Committed, Cancelled, Adjusted, Queued, PendingApproval, Uncommitted, Any
typeOptional
string

The type of the transaction.

Transactions of type SalesOrder, ReturnOrder, and so on are temporary estimates and will not be saved.

Transactions of type SalesInvoice, ReturnInvoice, and so on are permanent transactions that can be reported to tax authorities if they are in status Committed`.

A sales transaction represents a sale from the company to a customer. A purchase transaction represents a purchase made by the company. A return transaction represents a customer who decided to request a refund after purchasing a product from the company. An inventory transfer transaction represents goods that were moved from one location of the company to another location without changing ownership.

Enum: SalesOrder, SalesInvoice, PurchaseOrder, PurchaseInvoice, ReturnOrder, ReturnInvoice, InventoryTransferOrder, InventoryTransferInvoice, ReverseChargeOrder, ReverseChargeInvoice, CustomsInvoice, CustomsOrder, InventoryTransferOutboundInvoice, InventoryTransferOutboundOrder, Any
batchCodeOptional
string

If this transaction was created as part of a batch, this code indicates which batch.

currencyCodeOptional
string

The three-character ISO 4217 currency code representing the ‘invoice currency’ (the currency the transaction was invoiced in). If this is different than the currency the tax liability needs to be reported in, you’ll also need to provide the exchangeRateCurrencyCode and the exchangeRate for conversion to the reporting country.

exchangeRateCurrencyCodeOptional
string

The three-character ISO 4217 currency code representing the ‘reporting currency’ (the currency the transaction’s tax liability needs to be reported in). You can leave this blank if the invoice currency provided in the currencyCode field is also the reporting currency.

customerUsageTypeOptional
string

DEPRECATED - Date: 10/16/2017, Version: 17.11, Message: Please use entityUseCode instead. The customer usage type for this transaction. Customer usage types often affect exemption or taxability rules.

entityUseCodeOptional
string

The entity use code for this transaction. Entity use codes often affect exemption or taxability rules.

customerVendorCodeOptional
string

DEPRECATED - Date: 3/1/2018, Version: 18.3, Message: Please use customerCode This field has been renamed to customerCode to match documentation for other APIs related to exemption customers.

customerCodeOptional
string

Unique code identifying the customer that requested this transaction.

When you specify a customerCode, AvaTax will look to see if a customer exists with this code in the exemption certificate system. If that customer exists, and if that customer has uploaded an exemption certificate that applies to this transaction, the relevant parts of this transaction that can use the exemption certificate will be treated as exempt.

exemptNoOptional
string

The customer Tax Id Number (tax_number) associated with a certificate - Sales tax calculation requests first determine if there is an applicable ECMS entry available, and will utilize it for exemption processing. If no applicable ECMS entry is available, the AvaTax service will determine if an Exemption Number field is populated or an Entity/Use Code is included in the sales tax calculation request, and will perform exemption processing using either of those two options.

reconciledOptional
boolean

If this transaction has been reconciled against the company's ledger, this value is set to true.

locationCodeOptional
string

DEPRECATED - Date: 3/1/2018, Version: 18.3, Message: In order to ensure consistency of field names, Please use reportingLocationCode instead. This field has been replaced by the reportingLocationCode field

reportingLocationCodeOptional
string

For customers who use location-based tax reporting, this field controls how this transaction will be filed for multi-location tax filings.

If you specify a non-null value for this field, AvaTax will ensure that this transaction is reported on the tax return associated with the LocationModel identified by this code.

This field does not affect any addresses for the transaction. It only controls the tax filing behavior of this transaction.

If you are looking for information about how to set up addresses for a transaction, please see Using Address Types in the AvaTax Developer Guide.

purchaseOrderNoOptional
string

The customer-supplied purchase order number of this transaction.

referenceCodeOptional
string

A user-defined reference code for this transaction.

salespersonCodeOptional
string

The salesperson who provided this transaction. Not required.

taxOverrideTypeOptional
string

If a tax override was applied to this transaction, indicates what type of tax override was applied.

Enum: None, TaxAmount, Exemption, TaxDate, AccruedTaxAmount, DeriveTaxable, OutOfHarbor, TaxAmountByTaxType, VendorChargedTax
taxOverrideAmountOptional
number

If a tax override was applied to this transaction, indicates the amount of tax that was requested by the customer.

taxOverrideReasonOptional
string

If a tax override was applied to this transaction, indicates the reason for the tax override.

totalAmountOptional
number

The total amount of this transaction.

totalExemptOptional
number

The amount of this transaction that was exempt.

totalDiscountOptional
number

The total amount of discounts applied to all lines within this transaction.

totalTaxOptional
number

The total tax for all lines in this transaction.

If you used a taxOverride of type taxAmount for any lines in this transaction, this value may be different than the amount of tax calculated by AvaTax. The amount of tax calculated by AvaTax will be stored in the totalTaxCalculated field, whereas this field will contain the total tax that was charged on the transaction.

You can compare the totalTax and totalTaxCalculated fields to check for any discrepancies between an external tax calculation provider and the calculation performed by AvaTax.

totalTaxableOptional
number

The portion of the total amount of this transaction that was taxable.

totalTaxCalculatedOptional
number

The amount of tax that AvaTax calculated for the transaction.

If you used a taxOverride of type taxAmount for any lines in this transaction, this value will represent the amount that AvaTax calculated for this transaction without applying the override. The field totalTax will be the total amount of tax after all overrides are applied.

You can compare the totalTax and totalTaxCalculated fields to check for any discrepancies between an external tax calculation provider and the calculation performed by AvaTax.

adjustmentReasonOptional
string

If this transaction was adjusted, indicates the unique ID number of the reason why the transaction was adjusted.

Enum: NotAdjusted, SourcingIssue, ReconciledWithGeneralLedger, ExemptCertApplied, PriceAdjusted, ProductReturned, ProductExchanged, BadDebt, Other, Offline
adjustmentDescriptionOptional
string

If this transaction was adjusted, indicates a description of the reason why the transaction was adjusted.

lockedOptional
boolean

If this transaction has been reported to a tax authority, this transaction is considered locked and may not be adjusted after reporting.

regionOptional
string

The two-or-three character ISO region code of the region for this transaction.

countryOptional
string

The two-character ISO 3166 code of the country for this transaction.

versionOptional
integer

If this transaction was adjusted, this indicates the version number of this transaction. Incremented each time the transaction is adjusted.

softwareVersionOptional
string

The software version used to calculate this transaction.

originAddressIdOptional
integer

The unique ID number of the origin address for this transaction.

destinationAddressIdOptional
integer

The unique ID number of the destination address for this transaction.

exchangeRateEffectiveDateOptional
string

If this transaction included foreign currency exchange, this is the date as of which the exchange rate was calculated.

exchangeRateOptional
number

The currency exchange rate from the invoice currency (currencyCode) to the reporting currency (exchangeRateCurrencyCode). This only needs to be set if the invoice currency and the reporting currency are different. It defaults to 1.0.

isSellerImporterOfRecordOptional
boolean

By default, the value is null, when the value is null, the value can be set at nexus level and used. If the value is not null, it will override the value at nexus level.

If true, this seller was considered the importer of record of a product shipped internationally.

If this transaction is not an international transaction, this field may be left blank.

The "importer of record" is liable to pay customs and import duties for products shipped internationally. If you specify that the seller is the importer of record, then estimates of customs and import duties will be added as tax details to the transaction. Otherwise, the buyer is considered the importer of record, and customs and import duties will not be added to the tax details for this transaction.

descriptionOptional
string

Description of this transaction. Field permits unicode values.

emailOptional
string

Email address associated with this transaction.

businessIdentificationNoOptional
string

VAT business identification number used for this transaction.

modifiedDateOptional
string

The date/time when this record was last modified.

modifiedUserIdOptional
integer

The user ID of the user who last modified this record.

taxDateOptional
string

Tax date for this transaction

linesOptional
array

A list of line items in this transaction. To fetch this list, add the query string ?$include=Lines or ?$include=Details to your URL.

addressesOptional
array

A list of line items in this transaction. To fetch this list, add the query string ?$include=Addresses to your URL.

For more information about transaction addresses, please see Using Address Types in the AvaTax Developer Guide.

locationTypesOptional
array

A list of location types in this transaction. To fetch this list, add the query string ?$include=Addresses to your URL.

summaryOptional
array

Contains a summary of tax on this transaction.

taxDetailsByTaxTypeOptional
array

Contains the tax details per tax type

parametersOptional
array

Contains a list of extra parameters that were set when the transaction was created.

userDefinedFieldsOptional
array

Custom user fields/flex fields for this transaction.

messagesOptional
array

List of informational and warning messages regarding this API call. These messages are only relevant to the current API call.

invoiceMessagesOptional
array

Invoice messages associated with this document. Currently, this stores legally-required VAT messages.

customerSupplierNameOptional
string

The name of the supplier / exporter / seller. For sales doctype this will be the name of your own company for which you are reporting. For purchases doctype this will be the name of the supplier you have purchased from.

dataSourceIdOptional
integer

The Id of the datasource from which this transaction originated. This value will be overridden by the system to take the datasource Id from the call header.

deliveryTermsOptional
string

Delivery Terms (or Incoterms) refer to agreed-upon conditions between a buyer and a seller for the delivery of goods. They are three-letter trade terms that describe the practical arrangements for the delivery of goods from sellers to buyers and set out the obligations, costs, and risks between the two parties. The DeliveryTerms field determines who acts as the Importer of Record and who arranges the Transport of the goods when this information is not separately sent to AvaTax in the request. When used in conjunction with isSellerImporterOfRecord, this parameter can also influence whether AvaTax includes Import Duty and Tax in the transaction totals. If the fields for transport or isSellerImporterOfRecord are passed in the request and conflict with the DeliveryTerms, the values provided in the first will take priority over the DeliveryTerms parameter. If neither transport nor isSellerImporterOfRecord is passed in the request and DeliveryTerms is passed, AvaTax will determine who acts as Importer of Record and who arranges the Transport of the goods based on the specified DeliveryTerms. If none of these fields is passed, AvaTax will keep the current behavior and default transport to "Seller" for goods and isSellerImporterOfRecord to "False" (i.e., the AvaTax user does not act as Importer of record)." Finally, this field is also used for reports.

The Delivery Terms that the user can pass are the following:

  1. Ex Works (EXW)
  2. Free Carrier (FCA)
  3. Carrier and Insurance Paid to (CIP)
  4. Carriage Paid To (CPT)
  5. Delivered at Place (DAP)
  6. Delivered at Place Unloaded (DPU)
  7. Delivered Duty Paid (DDP)
  8. Free Alongside Ship (FAS)
  9. Free on Board (FOB)
  10. Cost and Freight (CFR)
  11. Cost, Insurance and Freight (CIF)

DAP and DDP are two delivery terms that indicate that Import Duty and Tax should be included in the transaction total.

Enum: DAP, DDP, FOB, FCA, FAS, EXW, DPU, CPT, CIP, CIF, CFR
apStatusCodeOptional
string

Users can set tolerance or threshold limits on transactions and inform users of appropriate actions to take if a transaction falls outside of these values. An Accounts Payable (AP) status code indicates the action that needs to be taken when the tolerance/threshold falls above or below the tolerance/threshold limits.

Available AP status codes are:

  1. NoAccrualMatch
  2. NoAccrualUndercharge
  3. NoAccrualOvercharge
  4. NoAccrualAmountThresholdNotMet
  5. NoAccrualTrustedVendor
  6. NoAccrualExemptedCostCenter
  7. NoAccrualExemptedItem
  8. NoAccrualExemptedVendor
  9. NoAccrualRejectMatch
  10. NoAccrualRejectUndercharge
  11. NoAccrualShortPayAvalaraCalculated
  12. NoAccrualRejectOvercharge
  13. NoAccrualExemptedGLAccount
  14. AccruedUndercharge
  15. AccruedVendor
  16. AccruedShortPayItemsMatch
  17. AccruedShortPayItemsUndercharge
  18. AccruedShortPayItemsOvercharge
  19. NeedReviewUndercharge
  20. NeedReviewVendor
  21. NeedReviewMatch
  22. NeedReviewOvercharge
  23. PendingAccrualVendor
  24. PendingAccrualUndercharge
  25. PendingShortPayItemsUndercharge
  26. PendingShortPayItemsMatch
  27. PendingShortPayItemsOvercharge
Enum: NoAccrualMatch, AccruedShortPayItemsMatch, NeedReviewMatch, NoAccrualRejectMatch, NoAccrualUndercharge, AccruedUndercharge, AccruedShortPayItemsUndercharge, NeedReviewUndercharge, NoAccrualRejectUndercharge, NoAccrualOvercharge, NoAccrualShortPayAvalaraCalculated, AccruedShortPayItemsOvercharge, NeedReviewOvercharge, NoAccrualRejectOvercharge, NoAccrualAmountThresholdNotMet, NoAccrualExemptedCostCenter, NoAccrualExemptedItem, NoAccrualTrustedVendor, AccruedVendor, NeedReviewVendor, NoAccrualExemptedVendor, NoAccrualExemptedGLAccount, PendingAccrualVendor, PendingAccrualUndercharge, PendingShortPayItemsUndercharge, PendingShortPayItemsMatch, PendingShortPayItemsOvercharge, NoAccrualExemptedMapping, ShortPayItemsAccrueMatch, MarkForReviewMatch, RejectMatch, ShortPayItemsAccrueUndercharge, RejectUndercharge, ShortPayAvalaraCalculated, ShortPayItemsAccrueOvercharge, MarkForReviewOvercharge, RejectOvercharge
apStatusOptional
string

An Accounts Payable (AP) status indicates an action that needs to be taken when the tolerance amount falls above or below certain threshold limits.

vendorNameOptional
string

The name of the vendor

varianceAmountOptional
number

The transaction-level variance (the difference between Vendor Charged Tax and AvaTax Calculated Tax) that has been calculated for this AP transaction.