Class CreateMultiDocumentModel

java.lang.Object
net.avalara.avatax.rest.client.models.CreateMultiDocumentModel

public class CreateMultiDocumentModel extends Object
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.
  • Constructor Details

    • CreateMultiDocumentModel

      public CreateMultiDocumentModel()
  • Method Details

    • getCode

      public String getCode()
      Getter for code 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.
    • setCode

      public void setCode(String value)
      Setter for code 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.
    • getLines

      Getter for lines 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.
    • setLines

      public void setLines(ArrayList<MultiDocumentLineItemModel> value)
      Setter for lines 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.
    • getAllowAdjust

      public Boolean getAllowAdjust()
      Getter for allowAdjust 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`.
    • setAllowAdjust

      public void setAllowAdjust(Boolean value)
      Setter for allowAdjust 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`.
    • getType

      public DocumentType getType()
      Getter for type 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`.
    • setType

      public void setType(DocumentType value)
      Setter for type 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`.
    • getCompanyCode

      public String getCompanyCode()
      Getter for companyCode 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.
    • setCompanyCode

      public void setCompanyCode(String value)
      Setter for companyCode 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.
    • getDate

      public Date getDate()
      Getter for date Transaction Date - The date on the invoice, purchase order, etc. By default, this date will be used to calculate the tax rates for the transaction. If you wish to use a different date to calculate tax rates, please specify a `taxOverride` of type `taxDate`.
    • setDate

      public void setDate(Date value)
      Setter for date Transaction Date - The date on the invoice, purchase order, etc. By default, this date will be used to calculate the tax rates for the transaction. If you wish to use a different date to calculate tax rates, please specify a `taxOverride` of type `taxDate`.
    • getSalespersonCode

      public String getSalespersonCode()
      Getter for salespersonCode Salesperson Code - The client application salesperson reference code.
    • setSalespersonCode

      public void setSalespersonCode(String value)
      Setter for salespersonCode Salesperson Code - The client application salesperson reference code.
    • getCustomerCode

      public String getCustomerCode()
      Getter for customerCode 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.
    • setCustomerCode

      public void setCustomerCode(String value)
      Setter for customerCode 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.
    • getCustomerUsageType

      public String getCustomerUsageType()
      Getter for customerUsageType DEPRECATED - Date: 10/16/2017, Version: 17.11, Message: Please use entityUseCode instead. Customer Usage Type - The client application customer or usage type.
    • setCustomerUsageType

      public void setCustomerUsageType(String value)
      Setter for customerUsageType DEPRECATED - Date: 10/16/2017, Version: 17.11, Message: Please use entityUseCode instead. Customer Usage Type - The client application customer or usage type.
    • getEntityUseCode

      public String getEntityUseCode()
      Getter for entityUseCode Entity Use Code - The client application customer or usage type. For a list of available usage types, use [ListEntityUseCodes](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Definitions/ListEntityUseCodes/) API.
    • setEntityUseCode

      public void setEntityUseCode(String value)
      Setter for entityUseCode Entity Use Code - The client application customer or usage type. For a list of available usage types, use [ListEntityUseCodes](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Definitions/ListEntityUseCodes/) API.
    • getDiscount

      public BigDecimal getDiscount()
      Getter for discount 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.
    • setDiscount

      public void setDiscount(BigDecimal value)
      Setter for discount 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.
    • getPurchaseOrderNo

      public String getPurchaseOrderNo()
      Getter for purchaseOrderNo Purchase Order Number for this document. This is required for single use exemption certificates to match the order and invoice with the certificate.
    • setPurchaseOrderNo

      public void setPurchaseOrderNo(String value)
      Setter for purchaseOrderNo Purchase Order Number for this document. This is required for single use exemption certificates to match the order and invoice with the certificate.
    • getExemptionNo

      public String getExemptionNo()
      Getter for exemptionNo 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.
    • setExemptionNo

      public void setExemptionNo(String value)
      Setter for exemptionNo 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.
    • getAddresses

      public AddressesModel getAddresses()
      Getter for addresses
    • setAddresses

      public void setAddresses(AddressesModel value)
      Setter for addresses
    • getParameters

      public ArrayList<TransactionParameterModel> getParameters()
      Getter for parameters Special parameters for this transaction. To get a full list of available parameters, please use the [ListParameters](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Definitions/ListParameters/) endpoint.
    • setParameters

      public void setParameters(ArrayList<TransactionParameterModel> value)
      Setter for parameters Special parameters for this transaction. To get a full list of available parameters, please use the [ListParameters](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Definitions/ListParameters/) endpoint.
    • getUserDefinedFields

      public ArrayList<TransactionUserDefinedFieldModel> getUserDefinedFields()
      Getter for userDefinedFields Custom user fields/flex fields for this transaction.
    • setUserDefinedFields

      public void setUserDefinedFields(ArrayList<TransactionUserDefinedFieldModel> value)
      Setter for userDefinedFields Custom user fields/flex fields for this transaction.
    • getReferenceCode

      public String getReferenceCode()
      Getter for referenceCode 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.
    • setReferenceCode

      public void setReferenceCode(String value)
      Setter for referenceCode 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.
    • getReportingLocationCode

      public String getReportingLocationCode()
      Getter for reportingLocationCode 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.
    • setReportingLocationCode

      public void setReportingLocationCode(String value)
      Setter for reportingLocationCode 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.
    • getCommit

      public Boolean getCommit()
      Getter for commit Causes the document to be committed if true. This option is only applicable for invoice document types, not orders.
    • setCommit

      public void setCommit(Boolean value)
      Setter for commit Causes the document to be committed if true. This option is only applicable for invoice document types, not orders.
    • getBatchCode

      public String getBatchCode()
      Getter for batchCode BatchCode for batch operations.
    • setBatchCode

      public void setBatchCode(String value)
      Setter for batchCode BatchCode for batch operations.
    • getTaxOverride

      public TaxOverrideModel getTaxOverride()
      Getter for taxOverride
    • setTaxOverride

      public void setTaxOverride(TaxOverrideModel value)
      Setter for taxOverride
    • getCurrencyCode

      public String getCurrencyCode()
      Getter for currencyCode The three-character ISO 4217 currency code for this transaction.
    • setCurrencyCode

      public void setCurrencyCode(String value)
      Setter for currencyCode The three-character ISO 4217 currency code for this transaction.
    • getServiceMode

      public ServiceMode getServiceMode()
      Getter for serviceMode Specifies whether the tax calculation is handled Local, Remote, or Automatic (default). This only applies when using an AvaLocal server.
    • setServiceMode

      public void setServiceMode(ServiceMode value)
      Setter for serviceMode Specifies whether the tax calculation is handled Local, Remote, or Automatic (default). This only applies when using an AvaLocal server.
    • getExchangeRate

      public BigDecimal getExchangeRate()
      Getter for exchangeRate Currency exchange rate from this transaction to the company base currency. This only needs to be set if the transaction currency is different than the company base currency. It defaults to 1.0.
    • setExchangeRate

      public void setExchangeRate(BigDecimal value)
      Setter for exchangeRate Currency exchange rate from this transaction to the company base currency. This only needs to be set if the transaction currency is different than the company base currency. It defaults to 1.0.
    • getExchangeRateEffectiveDate

      public Date getExchangeRateEffectiveDate()
      Getter for exchangeRateEffectiveDate Effective date of the exchange rate.
    • setExchangeRateEffectiveDate

      public void setExchangeRateEffectiveDate(Date value)
      Setter for exchangeRateEffectiveDate Effective date of the exchange rate.
    • getExchangeRateCurrencyCode

      public String getExchangeRateCurrencyCode()
      Getter for exchangeRateCurrencyCode Optional three-character ISO 4217 reporting exchange rate currency code for this transaction. The default value is USD.
    • setExchangeRateCurrencyCode

      public void setExchangeRateCurrencyCode(String value)
      Setter for exchangeRateCurrencyCode Optional three-character ISO 4217 reporting exchange rate currency code for this transaction. The default value is USD.
    • getPosLaneCode

      public String getPosLaneCode()
      Getter for posLaneCode Sets the Point of Sale Lane Code sent by the User for this document.
    • setPosLaneCode

      public void setPosLaneCode(String value)
      Setter for posLaneCode Sets the Point of Sale Lane Code sent by the User for this document.
    • getBusinessIdentificationNo

      public String getBusinessIdentificationNo()
      Getter for businessIdentificationNo 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.
    • setBusinessIdentificationNo

      public void setBusinessIdentificationNo(String value)
      Setter for businessIdentificationNo 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.
    • getIsSellerImporterOfRecord

      public Boolean getIsSellerImporterOfRecord()
      Getter for isSellerImporterOfRecord 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.
    • setIsSellerImporterOfRecord

      public void setIsSellerImporterOfRecord(Boolean value)
      Setter for isSellerImporterOfRecord 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.
    • getDescription

      public String getDescription()
      Getter for description User-supplied description for this transaction.
    • setDescription

      public void setDescription(String value)
      Setter for description User-supplied description for this transaction.
    • getEmail

      public String getEmail()
      Getter for email User-supplied email address relevant for this transaction.
    • setEmail

      public void setEmail(String value)
      Setter for email User-supplied email address relevant for this transaction.
    • getDebugLevel

      public TaxDebugLevel getDebugLevel()
      Getter for debugLevel If the user wishes to request additional debug information from this transaction, specify a level higher than `normal`.
    • setDebugLevel

      public void setDebugLevel(TaxDebugLevel value)
      Setter for debugLevel If the user wishes to request additional debug information from this transaction, specify a level higher than `normal`.
    • getCustomerSupplierName

      public String getCustomerSupplierName()
      Getter for customerSupplierName 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.
    • setCustomerSupplierName

      public void setCustomerSupplierName(String value)
      Setter for customerSupplierName 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.
    • getDataSourceId

      public Integer getDataSourceId()
      Getter for dataSourceId 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.
    • setDataSourceId

      public void setDataSourceId(Integer value)
      Setter for dataSourceId 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.
    • getDeliveryTerms

      public DeliveryTerms getDeliveryTerms()
      Getter for deliveryTerms The Delivery Terms is a field used in conjunction with Importer of Record to influence whether AvaTax includes Import Duty and Tax values in the transaction totals or not. Delivered at Place (DAP) and Delivered Duty Paid (DDP) are two delivery terms that indicate that Import Duty and Tax should be included in the transaction total. This field is also used for reports. This field is used for future feature support. This field is not currently in use.
    • setDeliveryTerms

      public void setDeliveryTerms(DeliveryTerms value)
      Setter for deliveryTerms The Delivery Terms is a field used in conjunction with Importer of Record to influence whether AvaTax includes Import Duty and Tax values in the transaction totals or not. Delivered at Place (DAP) and Delivered Duty Paid (DDP) are two delivery terms that indicate that Import Duty and Tax should be included in the transaction total. This field is also used for reports. This field is used for future feature support. This field is not currently in use.
    • toString

      public String toString()
      Returns a JSON string representation of CreateMultiDocumentModel
      Overrides:
      toString in class Object