Shared Schemas & Currency Models¶
This page covers schemas that are shared across multiple resources and products. For product-specific field tables, see the individual schema pages:
Currency Models¶
Two mutually exclusive currency models are supported. The model is locked on the first document write and cannot be changed without engineering intervention. If both Basic and Extended fields are present in the same request, Extended takes precedence.
| Model | Required fields |
|---|---|
| Basic | currency, original_denomination, denomination — all three must be present together |
| Extended | original_currency, base_currency, original_denomination_in_original_currency, original_denomination_in_base_currency, denomination_in_original_currency, denomination_in_base_currency — all six must be present together |
Note
original_currency is the transaction currency as invoiced to the buyer (e.g. EUR for a sale denominated in euros). base_currency is the ERP or accounting system's reporting currency (e.g. USD). Both must be supplied together with their corresponding denomination fields.
Warning
Confirm the correct currency model before pushing the first document. Choosing the wrong model requires an engineering fix to correct.
Address Object¶
Used on accounts (billing_address, remit_to).
| Field | Type | Description |
|---|---|---|
| address1 | string | Street address line 1 |
| address2 | string | Street address line 2 |
| city | string | City |
| state | string | State / province |
| zip | string | Postal code |
| country | string | ISO 3166-1 alpha-2 |
Address with Contact Object¶
Used on document invoicing_detail. Same fields as Address, plus:
| Field | Type | Description |
|---|---|---|
| phone | string | Used for PDF rendering |
| fax | string | Used for PDF rendering |
Custom Fields Object (Collections)¶
Typed key-value pairs for Collections workflows. Available on accounts, documents, representatives, and contacts. Values are retained when a field is omitted from subsequent updates — submit the field with an empty value to clear it.
{
"custom_fields": {
"collections": {
"fields": {
"string": { "key": "value" },
"integer": { "key": 42 },
"boolean": { "key": 1 },
"double": { "key": 3.14 },
"date": { "key": "2026-05-12" },
"date_time": { "key": "2026-05-12T00:00:00Z" }
}
}
}
}
| Type key | Value format |
|---|---|
| string | Any string |
| integer | Integer number |
| boolean | 0 or 1 — not true/false |
| double | Decimal number |
| date | YYYY-MM-DD |
| date_time | YYYY-MM-DD hh:mm:ss or ISO 8601 |
Delivery Object¶
Used on documents to control how the document is delivered to the customer.
| Field | Type | Description |
|---|---|---|
| routing | string | Delivery routing code. Takes precedence over individual flags. S=Mail, V=Email, X=Fax, P/Q/R/T=Pull / Do Not Send |
| boolean | Send via email | |
| fax | boolean | Send via fax |
| boolean | Send via print/mail | |
| portal | boolean | Post to customer portal |
| email_address | string | Override email address for this document |
| fax_number | string | Override fax number |
| email_reply_override | string | Reply-to email override |
| email_business_name_override | string | Email sender name override |
| email_subject_override | string | Email subject line override |
Line Item Object¶
Used on documents as a JSON array in the line_items field.
| Field | Type | Description |
|---|---|---|
| sequence_number | integer | Line number |
| description | string | Item description |
| quantity | number | Quantity |
| quantity_shipped | number | Quantity shipped |
| quantity_backordered | number | Quantity backordered |
| unit_price | number | Unit price |
| net_unit_price | number | Net unit price |
| extended_price | number | Extended / net amount |
| unit_of_measure | string | Unit of measure |
| commodity_code | string | Commodity / product code |
| po_line_item_number | string | PO line item number |
| tax_rate | number | Tax rate |
| tax_amount | number | Tax amount |
| tax_flag | boolean | Tax flag |
| line_item_tax_code | string | Line item tax code |
| discount_amount | number | Discount amount |
| user_defined_data_1 – user_defined_data_7 | string | User-defined line item fields 1–7 |