AvaTax

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

CreateMultiDocumentModel

A MultiDocument transaction represents a sale or purchase that occurred between more than two companies.

A traditional transaction requires exactly two parties: a seller and a buyer. MultiDocument transactions can involve a marketplace of vendors, each of which contributes some portion of the final transaction. Within a MultiDocument transaction, each individual buyer and seller pair are matched up and converted to a separate document. This separation of documents allows each seller to file their taxes separately.

This model is used in the following APIs:

Parameters
codeOptional
string

The transaction code of the MultiDocument transaction.

All individual transactions within this MultiDocument object will have this code as a prefix.

If you leave the code field blank, a GUID will be assigned.

linesRequired
array

Lines that will appear on the invoice.

For a MultiDocument transaction, each line may represent a different company or reporting location code. AvaTax will separate this MultiDocument transaction object into many different transactions, one for each pair of legal entities, so that each legal entity can file their transactional taxes correctly.

allowAdjustOptional
boolean

Set this value to true to allow this API call to adjust the MultiDocument model if one already exists.

If you omit this field, or if the value is null, you will receive an error if you try to create two MultiDocument objects with the same code.

typeOptional
string

Specifies the type of document to create. A document type ending with Invoice is a permanent transaction that will be recorded in AvaTax. A document type ending with Order is a temporary estimate that will not be preserved.

If you omit this value, the API will assume you want to create a SalesOrder.

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

Company Code - Specify the code of the company creating this transaction here. If you leave this value null, your account's default company will be used instead.

dateRequired
string

Transaction Date - The date on the invoice, purchase order, etc. AvaTax accepts date values in ISO 8601 format and stores the date as yyyy-MM-dd.

By default, this date will be used to calculate the tax rates for the transaction. If you want to use a different date to calculate tax rates, please specify a taxOverride of type taxDate.

salespersonCodeOptional
string

Salesperson Code - The client application salesperson reference code.

customerCodeRequired
string

Customer Code - The client application customer reference code. Note: This field is case sensitive. To have exemption certificates apply, this value should be the same as the one passed to create a customer.

customerUsageTypeOptional
string

DEPRECATED - Date: 10/16/2017, Version: 17.11, Message: Please use entityUseCode instead. Customer Usage Type - The client application customer or usage type.

entityUseCodeOptional
string

Entity Use Code - The client application customer or usage type. For a list of available usage types, use ListEntityUseCodes API.

discountOptional
number

Discount - The discount amount to apply to the document. This value will be applied only to lines that have the discounted flag set to true. If no lines have discounted set to true, this discount cannot be applied.

purchaseOrderNoOptional
string

Purchase Order Number for this document.

This is required for single use exemption certificates to match the order and invoice with the certificate.

exemptionNoOptional
string

Exemption Number for this document.

If you specify an exemption number for this document, this document will be considered exempt, and you may be asked to provide proof of this exemption certificate in the event that you are asked by an auditor to verify your exemptions. Note: This is same as 'exemptNo' in TransactionModel.

addressesOptional
AddressesModel

Default addresses for all lines in this document.

These addresses are the default values that will be used for any lines that do not have their own address information. If you specify addresses for a line, then no default addresses will be loaded for that line.

parametersOptional
array

Special parameters for this transaction.

To get a full list of available parameters, please use the ListParameters endpoint.

userDefinedFieldsOptional
array

Custom user fields/flex fields for this transaction.

referenceCodeOptional
string

Customer-provided Reference Code with information about this transaction.

This field could be used to reference the original document for a return invoice, or for any other reference purpose.

reportingLocationCodeOptional
string

Sets the sale location code (Outlet ID) for reporting this document to the tax authority.

This value is used by Avalara Managed Returns to group documents together by reporting locations for tax authorities that require location-based reporting.

commitOptional
boolean

Causes the document to be committed if true. This option is only applicable for invoice document types, not orders.

batchCodeOptional
string

BatchCode for batch operations.

taxOverrideOptional
TaxOverrideModel

Specifies a tax override for the entire document

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.

serviceModeOptional
string

Specifies whether the tax calculation is handled Local, Remote, or Automatic (default). This only applies when using an AvaLocal server.

Enum: Automatic, Local, Remote
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.

exchangeRateEffectiveDateOptional
string

Effective date of the exchange rate.

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.

posLaneCodeOptional
string

Sets the Point of Sale Lane Code sent by the User for this document.

businessIdentificationNoOptional
string

VAT business identification number for the customer for this transaction. This number will be used for all lines in the transaction, except for those lines where you have defined a different business identification number.

If you specify a VAT business identification number for the customer in this transaction and you have also set up a business identification number for your company during company setup, this transaction will be treated as a business-to-business transaction for VAT purposes and it will be calculated according to VAT tax rules.

isSellerImporterOfRecordOptional
boolean

Specifies if the transaction should have value-added and cross-border taxes calculated with the seller as the importer of record.

Some taxes only apply if the seller is the importer of record for a product. In cases where companies are working together to ship products, there may be mutual agreement as to which company is the entity designated as importer of record. The importer of record will then be the company designated to pay taxes marked as being obligated to the importer of record.

Set this value to true to consider your company as the importer of record and collect these taxes.

This value may also be set at the Nexus level. See NexusModel for more information.

descriptionOptional
string

User-supplied description for this transaction.

emailOptional
string

User-supplied email address relevant for this transaction.

debugLevelOptional
string

If the user wishes to request additional debug information from this transaction, specify a level higher than normal.

Enum: Normal, Diagnostic
customerSupplierNameOptional
string

The name of the supplier / exporter / seller. For sales doctype enter the name of your own company for which you are reporting. For purchases doctype enter 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