Avalara Developer Network Developer communications

Chapter 5.3 - Invoice

Invoice

The Invoice object contains information about one or more transactions:

Key Value
doc [string] Document Code
The Document Code is a unique string that is used to Commit or Uncommit transactions. It is required when Commit is true.
cmmt [bool] Commit
Indicates if invoice should be committed as soon as it is processed.
bill [Location] required Bill To Location
There are several ways to input location information. See the Location section for more details.
cust [int] required Customer Type
  • 0: Residential
  • 1: Business
  • 2: Senior Citizen
  • 3: Industrial
lfln [bool] Lifeline
  • true: The customer is a Lifeline participant
  • false: The customer is not a Lifeline participant
Lifeline is a federal program that subsidizes the cost of phone and internet for eligible customers.
date [timestamp] required Invoice Date
ex. 2009-12-01T03:00:00
The date when the transaction took place. An accurate timestamp in this field is important! This will affect the rules our tax engine applies when calculating taxes.

For example, if you submit a CalcTaxes request with a date of 7/1/2018, our tax engine will use the rules that apply for your jurisdiction on 7/1/2018. If the transaction actually occurred on 7/25/2018, and the tax rate for this transaction changed after 7/1/2018, you may receive incorrect tax information.
exms [Exemption] Exemptions
A list of Exemptions to apply to this transaction.
itms [LineItems] required Line Items
A list of Line Items to process for this transaction.
invm [bool] Invoice Mode
Indicates if all line items within invoice should be processed in invoice mode.
  • true: Line Items are part of a single invoice
  • false: Line Items are unrelated
dtl [bool] Return Detail
Indicates if individual line item taxes should be included in response.
  • true: Return Line Item level tax results
  • false: Do not return Line Item level tax results
sum [bool] Return Summary
Indicates if the summarized taxes for the invoice should be included in the response.
  • true: Return summarized tax results
  • false: Do not return summarized tax results

Summarized tax results are only returned when in Invoice Mode.
opt [KeyValuePair] Optional Fields
A list of Optional Fields to apply to this invoice.


Note

These fields can be overridden on the Line Item:

  • Bill To (bill)
  • Customer Type (cust)
  • Lifeline (lfln)
  • Invoice Date (date)

Example

"inv": [
  {
    "doc": "DocumentCode12345",
    "cmmt": false,
    "bill": {
      // Location
    },
    "cust": 0,
    "lfln": false,
    "date": "2018-09-23T20:31:53.452Z",
    "exms": [
      {
        // Exemption
      }
    ],
    "itms": [
      {
        // Line Item
      }
    ],
    "invm": true,
    "dtl": true,
    "summ": false,
    "opt": [
      {
        // Key Value Pair
      }
    ]
  }
]