Skip to content

Invoicing Schemas

All fields applicable to the Invoicing product. Invoicing is the most field-rich product — it includes L2/L3 BPN payment fields, UDP custom fields, and optionally Thick Billing data elements for Billtrust-generated PDFs.

For shared schemas (Currency Models, Address, Line Items, etc.) see Shared Schemas & Currency Models.


Account

Field Type Required Description
reference string Yes Caller-defined unique identifier.
display_reference string No Display account number shown in portals.
name string Yes Customer name.
billing_address Address object Conditional Required for Invoicing PDF rendering. See Shared Schemas.
billing_address.address1 string Yes Primary billing street address line. Required for Invoicing.
billing_address.address2 string No Secondary billing address line.
billing_address.city string Yes Billing city. Required for Invoicing.
billing_address.state string Yes Billing state / province. Required for Invoicing.
billing_address.zip string Yes Billing postal code. Required for Invoicing.
billing_address.country ISO 3166-1 alpha-2 No Billing country.

Document

Core Fields

Field Type Required Description
account_number string Yes Account this document belongs to.
invoice_num string Conditional Display invoice number shown in portals. If omitted, the URL path document_number is used.
applies_to_invoice string Conditional Required when document_type is credit_note.
invoice_date date (ISO 8601) Yes Document issue date.
due_date date (ISO 8601) Yes Payment due date.
pdf_name string Conditional Filename of the PDF to associate with this document. Required when sending PDFs via API Push. If absent and Thick Billing data elements are present, Billtrust generates the PDF. If absent with no Thick Billing data, no PDF is created and no invoice is sent.
branch_name string Conditional Branch / territory / division identifier. Required for multi-entity deployments or Virtual eInvoice Connect sites. Controls PDF branding and routing.
po_number string No Purchase order number.
ship_to_account_num string No Ship-to customer account number.
ship_to_address_street string No Ship-to street address.
ship_to_address_suite string No Ship-to suite / unit.
ship_to_address_city string No Ship-to city.
ship_to_address_state string No Ship-to state / province.
ship_to_address_zip string No Ship-to postal / ZIP code.
ship_to_address_country string No Ship-to country (ISO 3166-1 alpha-2).
discount_date date No Early-payment discount expiry date.
discount_amount string No Early-payment discount amount.
routing string No Document routing code (E=Email, F=Fax, M=Mail, P/Q/R/T=Pull/Do Not Send).
dest_email_address string No Destination email address for document delivery.
dest_fax_number string No Destination fax number for document delivery.

L2 / L3 BPN Payment Fields

These fields support Level 2 and Level 3 BPN (Billtrust Payment Network) data for enhanced payment processing and interchange optimization.

Field Type Description
ship_from_zip string ZIP code from which the product was shipped.
duty_amt string Duty amount.
merchant_name string Merchant / supplier / seller business name or IRS EIN.
part_number string Part / product number.
commodity_code string Commodity / product code at document level.
tax_rate decimal Tax rate applied at document level.

Custom Fields (UDP)

Up to 5 User Defined Properties, configurable to display as columns in Client Connect and eInvoice Connect portals.

Field Type Description
udp1 string Invoicing custom field 1
udp2 string Invoicing custom field 2
udp3 string Invoicing custom field 3
udp4 string Invoicing custom field 4
udp5 string Invoicing custom field 5

Financial Fields — Basic Currency Model

Note

For Invoicing, only original_denomination applies from the Basic model. currency and denomination are not used by the Invoicing pipeline.

Field Type Required Description
original_denomination denomination Conditional* Original gross amount in document currency. Does not change when partially paid. Must be negative for credit notes. *Required when using the Basic currency model.

Financial Fields — Extended Currency Model

Note

For Invoicing, only original_denomination_in_original_currency applies from the Extended model.

Field Type Required Description
original_denomination_in_original_currency denomination Conditional* Original gross amount in original_currency. Does not change when partially paid. *Required when using the Extended currency model.

Thick Billing Data Elements

These fields supply rendering data for Billtrust-generated PDFs. When pdf_name is absent from Document Core and Thick Billing fields are present, Data Bridge generates the PDF. Fields already in Document Core (account_number, invoice_date, branch_name, routing, po_number, due_date, discount_amount, discount_date, udp1udp5) can be omitted here.

Document Header — Mandatory
Field Type Required Description
BRANCH_NUMBER string Yes Branch / territory number
BRANCH_NAME string Yes Branch name
BRANCH_PHONE string No Branch phone number
INVOICE_NUMBER string Yes Invoice number (max 50 chars)
INVOICE_DATE date Yes Invoice date (max 15 chars)
DOC_TYPE string No Invoice or Credit Memo
ACCOUNT_NUMBER string Yes Bill-to customer account number (max 30 chars)
TERMS string No Payment terms description
DUE_DATE date No Payment due date (max 15 chars)
DISCOUNT_AMOUNT decimal(2) No Early-payment discount amount
DISCOUNT_MESSAGE string No Human-readable discount message (max 200 chars)
DISCOUNT_DATE date No Early-payment discount expiry date
PO_NUMBER string No Customer purchase order number (max 50 chars)
ORDER_NUMBER string No Sales order number
ORDER_DATE date No Order date
SHIP_DATE date No Ship date
ORDER_BY string No Name of the person who placed the order
RELEASE_NUMBER string No Release / delivery number
SALESPERSON string No Salesperson name
SHIP_VIA string No Shipping carrier / method
WRITER string No Document author / writer
SHIPPING_INSTRUCTIONS string No Special shipping instructions
TRACKING_NUMBER string No Shipment tracking number
SUBTOTAL decimal(2) No Document subtotal amount
FREIGHT decimal(2) No Freight amount
HANDLING decimal(2) No Handling charge amount
SALES_TAX decimal(2) No Sales tax amount
MISC_TAX1 decimal(2) No Miscellaneous tax amount 1
MISC_TAX2 decimal(2) No Miscellaneous tax amount 2
PAYMENT_AMOUNT decimal(2) No Payment amount
TOTAL_DUE decimal(2) No Total amount due
CURRENCY string No Currency code
FLAG_DUPLICATE boolean No Duplicate indicator
CONTRACT_NUMBER string No Contract number
SUPPLIER_TAX_ID string No Supplier tax identification number
SERVICE_DATE date No Date services were rendered
SERVICE_CHARGE decimal(2) No Service charge amount
BPNI_EMAIL string No BPNi email address
UDP1–UDP5 string No BT System user defined properties 1–5
USER_DEFINED_DATA1–7 string No User defined header data 1–7
MISC_COST decimal(2) No Miscellaneous cost
TOTAL_PARTS decimal(2) No Total parts amount
TOTAL_LABOR decimal(2) No Total labor amount
GST_TAX decimal(2) No GST (Goods and Services Tax)
HST_TAX decimal(2) No HST (Harmonized Sales Tax)
PST_TAX decimal(2) No PST (Provincial Sales Tax)
QST_TAX decimal(2) No QST (Quebec Sales Tax)
VAT_TAX decimal(2) No VAT (Value Added Tax)
HEADER_MESSAGE string No Custom message displayed in the invoice header
FOOTER_MESSAGE string No Custom message displayed in the invoice footer
LINE_ITEM_COUNT numeric No Total number of line items on the document
Routing — Mandatory
Field Type Description
ROUTING string Routing code: E=Email, F=Fax, M=Mail, P/Q/R/T=Pull/Do Not Send
EMAIL_ADDRESS string Email address
EMAIL_REPLY_OVERRIDE string Reply-to address override
EMAIL_SUBJECT_BIZ_NAME string Email sender business name override
EMAIL_SUBJECT_OVERRIDE string Email subject line override
FAX_NUMBER numeric Fax number
Addresses (Billing, Remit, Shipping, Return)
Field Type Required Description
BILLING_ADDRESS1 string Yes Bill-to address line 1 / customer name (max 45 chars)
BILLING_ADDRESS2 string Yes Bill-to address line 2 (max 45 chars)
BILLING_ADDRESS3 string Yes Bill-to address line 3 (max 45 chars)
BILLING_CITY string Yes Bill-to city
BILLING_STATE string Yes Bill-to state
BILLING_PROVINCE string No Bill-to province
BILLING_ZIP string Yes Bill-to ZIP code
BILLING_COUNTRY string Yes Bill-to country (max 30 chars)
REMIT_ADDRESS_LINE1–3 string No Remit-to address lines 1–3 (max 100 chars each)
REMIT_ADDRESS_CITY string No Remit-to city
REMIT_ADDRESS_STATE string No Remit-to state
REMIT_ADDRESS_ZIP string No Remit-to ZIP code
REMIT_ADDRESS_COUNTRY string No Remit-to country
REMIT_PHONE / REMIT_FAX string No Remit-to phone / fax
SHIP_TO_ACCT_NUM string No Ship-to customer ID
SHIP_TO_NAME string No Ship-to name / address line 1
SHIPPING_ADDRESS2–3 string No Ship-to address lines 2–3
SHIPPING_ADDRESS_CITY string No Ship-to city
SHIPPING_ADDRESS_STATE string No Ship-to state
SHIP_TO_ZIP string No Ship-to ZIP code
SHIPPING_COUNTRY string No Ship-to country
RETURN_ADDRESS_LINE1–3 string No Return address lines 1–3
RETURN_ADDRESS_CITY / STATE / ZIP / COUNTRY string No Return address fields
Line Items (DETAIL)
Field Type Description
LINE_NUM_COL string Line number
ITEM_NUMBER_COL string PO line item number
ITEM_CODE_COL string Product code / part number
DESC_COL string Item description
QTY_ORDER_COL decimal Quantity ordered
QTY_SHIP_COL decimal Quantity shipped
QTY_BO_COL decimal Quantity backordered
UOM_COL string Unit of measure
ITEM_UNIT_PRICE_COL decimal Unit price
NET_UNIT_PRICE_COL decimal Net unit price
DISC_AMT_COL decimal Discount amount
NET_AMOUNT_COL decimal Extended / net amount
TAX_COL string Tax flag
LINE_ITEM_TAX_COL decimal Line item tax amount
LINE_ITEM_TAX_CODE_COL string Line item tax code
ITM_USER_DEFINE1_COL–7_COL string User defined line item data 1–7
COMMENT_COL string Comments
CMT_USER_DEFINE1_COL–7_COL string User defined comment data 1–7

Line Items (API)

Sent as a JSON array in the line_items field on the document object — separate from the Thick Billing fields above. See Line Item Object.


Closure

Field Type Required Description
closure_reason string Yes One of: paid, write_off, contra, adjustment, other
closure_date date (ISO 8601) No Date of closure. Defaults to current date if absent.
notes string No Free-text notes on the closure.