# Sales/billing document integration

Source: https://developer.avalara.com/products/communications/integration-guides/communications-integration/jen6421334648772/

Guide: Communications

# Sales/billing document integration

The following table lists the invoice and transaction-level requirements that your integration must support to ensure accurate tax calculation, reporting, and response handling.

Requirement

Use Case

Endpoint(s)/Model(s)

Required/Conditional/Suggested

[Account reference](/communications-integration/sov5899503670966/)

Users should be able to include their account reference number for reporting.

[Invoice](https://developer.avalara.com/api-reference/communications/v2/models/Invoice/)

Suggested

[Document code](/communications-integration/qaf0282295094633/)

Users must be able to provide a method for specifying a unique document code used on transactions..

[Invoice](https://developer.avalara.com/api-reference/communications/v2/models/Invoice/)

Required

[Customer reference](/communications-integration/pbi3096843021687/)

Users must be able to provide a unique ID that identifies the customer in a transaction.

[Invoice](https://developer.avalara.com/api-reference/communications/v2/models/Invoice/)

Required

[Invoice number](/communications-integration/ose5199200827188/)

Users must be able to include their invoice reference code in a transaction.

[Invoice](https://developer.avalara.com/api-reference/communications/v2/models/Invoice/)

Required

[Invoice mode](/communications-integration/poj0385860331587/)

In some cases, your integration should allow users to specify whether all line items in an invoice should be processed as a single invoice, where caps, thresholds, tax brackets, and tiers are applied per invoice as a whole.

[Invoice](https://developer.avalara.com/api-reference/communications/v2/models/Invoice/)

Conditional

[Billing period](/communications-integration/zbk2339627700197/)

Users must be able to specify the billing period on the document.

[BillingPeriod](https://developer.avalara.com/api-reference/communications/v2/models/BillingPeriod/)

Required

[Bill-to location](/communications-integration/liw6308866098974/)

Users must be able to specify the bill-to location for a transaction.

[Invoice](https://developer.avalara.com/api-reference/communications/v2/models/Invoice/)

Required

[From/to locations](/communications-integration/vdu4284313178095/)

For Fact Pattern 1, allow users to specify the point of origin and the destination of an item at the level.

[LineItem](https://developer.avalara.com/api-reference/communications/v2/models/LineItem/)

Required

[Transaction date](/communications-integration/tki5747623777790/)

Users must be able to specify the calculation date in the header of invoice.

[Invoice](https://developer.avalara.com/api-reference/communications/v2/models/Invoice/)

Required

[Charge amount](/communications-integration/xrg7672283121248/)

Users must be able to specify the amount being charged on a single line item.

[LineItem](https://developer.avalara.com/api-reference/communications/v2/models/LineItem/)

Required

[Sale type](/communications-integration/myw0899190851157/)

Users must be able to specify the type of sale associated with a line time.

[LineItem](https://developer.avalara.com/api-reference/communications/v2/models/LineItem/)

Required

[Quantity](/communications-integration/sxt3598053149769/)

Users should be able to specify the quantity that should be applied to a line item so that, for example, instead of 100 lines of the same item, they can send a single line with a quantity of 100.

[LineItem](https://developer.avalara.com/api-reference/communications/v2/models/LineItem/)

Suggested

[Bundles](/communications-integration/sze9564446436935/)

Your integration must allow users to specify a custom profile ID and custom T/S pairs to trigger a bundle.

N/A

Required

[Currency code](/communications-integration/pxf0213347049289/)

Users must be able to specify the currency code for all items on an invoice.

[Invoice](https://developer.avalara.com/api-reference/communications/v2/models/Invoice/)

Required

[T/S pairs](/communications-integration/izu7321954303538/)

Users must be able to specify and create T/S pairs.

[TsPairData](https://developer.avalara.com/api-reference/communications/v2/models/TsPairData/)

Required

[Transaction workflow considerations](/communications-integration/bwt9760175589564/)

Your integration must show that it can accurate send a transaction from a beginning order to a committed invoice.

N/A

Required

[Response summary](/communications-integration/xgx6383534939033/)

Users must be able to specify whether summarized taxes for the invoice should be included in a response.

[Invoice](https://developer.avalara.com/api-reference/communications/v2/models/Invoice/)

Required

[Response detail](/communications-integration/xiq8857914137659/)

Users must be able to specify whether individual line item taxes should be included in a response

[Invoice](https://developer.avalara.com/api-reference/communications/v2/models/Invoice/)

Required

[Commit a transaction](/communications-integration/gpn5847405575196/)

Users must be able to commit transactions for accurate reporting.

[Commit](https://developer.avalara.com/api-reference/communications/v2/methods/Tax%20Calculation/Commit/)

Required