AvaTax for VAT
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:
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.
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.
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.
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.
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.
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.
Salesperson Code - The client application salesperson reference code.
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.
DEPRECATED - Date: 10/16/2017, Version: 17.11, Message: Please use entityUseCode instead. Customer Usage Type - The client application customer or usage type.
Entity Use Code - The client application customer or usage type. For a list of available usage types, use ListEntityUseCodes API.
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.
Purchase Order Number for this document.
This is required for single use exemption certificates to match the order and invoice with the certificate.
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.
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.
Special parameters for this transaction.
To get a full list of available parameters, please use the ListParameters endpoint.
Custom user fields/flex fields for this transaction.
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.
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.
Causes the document to be committed if true. This option is only applicable for invoice document types, not orders.
BatchCode for batch operations.
Specifies a tax override for the entire document
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.
Specifies whether the tax calculation is handled Local, Remote, or Automatic (default). This only applies when using an AvaLocal server.
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.
Effective date of the exchange rate.
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.
Sets the Point of Sale Lane Code sent by the User for this document.
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.
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.
User-supplied description for this transaction.
User-supplied email address relevant for this transaction.
If the user wishes to request additional debug information from this transaction, specify a level higher than normal.
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.
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.
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:
- Ex Works (EXW)
- Free Carrier (FCA)
- Carrier and Insurance Paid to (CIP)
- Carriage Paid To (CPT)
- Delivered at Place (DAP)
- Delivered at Place Unloaded (DPU)
- Delivered Duty Paid (DDP)
- Free Alongside Ship (FAS)
- Free on Board (FOB)
- Cost and Freight (CFR)
- 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.