Chapter 5.1.4 - 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
  • Max length: 150 bytes
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. For more information, see 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] Exemptions
A list of Exemptions to apply to this transaction
itms [LineItem] required Line Items
A list of Line Items 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
  • 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
  • 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
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] Billing Period
The 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


Limited to 1,000 invoices per request.


These fields can be overridden on the Line Item:

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


"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"