# Chapter 5.1.4 - Invoice

Source: https://developer.avalara.com/products/communications/integration-guides/dev-guide_rest_v2/reference/invoice/

-   [Previous](/communications/dev-guide_rest_v2/reference/company-data/)
-   [Next](/communications/dev-guide_rest_v2/reference/location/)

### 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](/communications/dev-guide_rest_v2/commit-uncommit/) transactions. It is required when Commit is `true`

-   Max length: 150 bytes

`cmmt`

`[bool]` Commit  

Indicates if invoice should be committed as soon as it is processed

-   `true`: The transaction should be [committed](/communications/dev-guide_rest_v2/commit-uncommit/)
-   `false`: The transaction should be [uncommitted](/communications/dev-guide_rest_v2/commit-uncommit/)

`bill`

[`[Location]`](/communications/dev-guide_rest_v2/reference/location/) required Bill To Location  

There are several ways to input location information. For more information, see [Location](/communications/dev-guide_rest_v2/reference/location/)  

`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 affects the rules our tax engine applies when calculating taxes  

For example, if you submit a CalcTaxes request with a `date` of `7/1/2018`, the tax engine uses 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]`](/communications/dev-guide_rest_v2/reference/exemption/) Exemptions  

A list of [Exemptions](/communications/dev-guide_rest_v2/reference/exemption/) to apply to this transaction  

`itms`

[`[LineItem]`](/communications/dev-guide_rest_v2/reference/line-item/) required Line Items  

A list of [Line Items](/communications/dev-guide_rest_v2/reference/line-item/) to process for this transaction

-   Limit 10,000 line items per request

`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; caps, thresholds, tax brackets, and tiers applied per invoice as a whole
-   `false`: Line Items are unrelated; caps, thresholds, tax brackets, and tiers applied per line item individually

`dtl`

`[bool]` Return Detail  

Indicates if individual line item taxes should be included in [response](/communications/dev-guide_rest_v2/reference/calc-taxes-response/)

-   `true`: Return Line Item level tax results
-   `false`: Do not return Line Item level tax results

`summ`

`[bool]` Return Summary  

Indicates if the summarized taxes for the invoice should be included in the [response](/communications/dev-guide_rest_v2/reference/calc-taxes-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]`](/communications/dev-guide_rest_v2/reference/key-value-pair/) Optional Fields  

A list of [Optional Fields](/communications/dev-guide_rest_v2/reference/key-value-pair/) to apply to this invoice  

`acct`

`[string]` Account Reference  

Account Reference field for use in reporting

-   Max length: 150 bytes

`custref`

`[string]` Customer Reference  

Customer Reference field for use in reporting

-   Max length: 150 bytes

`invn`

`[string]` Invoice Number Reference  

Invoice Number Reference field for use in reporting

-   Max length: 150 bytes

`bcyc`

`[string]` Bill Cycle Reference  

Bill Cycle Reference field for use in reporting

-   Max length: 150 bytes

`bpd`

[`[BillingPeriod]`](/communications/dev-guide_rest_v2/reference/billing-period/) Billing Period  

The [Billing Period](/communications/dev-guide_rest_v2/reference/billing-period/) for the invoice  

`ccycd`

`[string]` Currency Code  

Currency code for the invoice. Example: use USD for United States Dollar

-   Max length: 150 bytes

#### Note

Limited to 1,000 invoices per request.

#### Note

These fields can be overridden on the [Line Item](/communications/dev-guide_rest_v2/reference/line-item/):

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

### Example

```json
"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 } ], "acct": "Account Reference", "custref": "Customer Reference", "invn": "Invoice Number Reference", "bcyc": "Bill Cycle Reference", "bpd": { // Billing Period }, "ccycd": "USD" }]
```

-   [Previous](/communications/dev-guide_rest_v2/reference/company-data/)
-   [Next](/communications/dev-guide_rest_v2/reference/location/)