id | string | Required | Primary identifier for the document (UUID). Automatically generated when the invoice is created. | Response-only; not accepted in requests. |
org_id | string | Required | Unique identifier of the organization that owns this invoice. | Set by backend from your organization; not part of the create request body. |
document_number | string | Optional | The invoice number as displayed on the document. If not provided and auto-numbering is enabled, the system will generate this automatically. | Required for API-created invoices; must be unique within the organization when provided. |
document_sequence | long | Optional | Sequential number for the invoice within your organization. Used for compliance and tracking. | Server-calculated sequence; do not send on create. |
issue_date | string | Required | The date when the invoice was issued. | Format yyyy-MM-dd; must be a valid calendar date. |
issue_time | string | Optional | The time when the invoice was issued. | If present, format HH:mm:ss (e.g. 10:30:00). |
invoice_type_code | string | Required | The type of invoice. | Must be one of 380, 389, 480; Proforma Invoice API typically forces 380. |
due_date | string | Required | The date when payment is due. | Format yyyy-MM-dd. |
profile_execution_id | string | Required | Invoice transaction type code. See Profile execution ID below. | Exactly 8 characters; each character 0 or 1 (binary flags). |
document_currency_code | string | Required | ISO 4217 alpha-3 currency code for all monetary amounts (e.g. AED). | Must be a valid ISO 4217 currency (e.g. AED). See Get Currency Names and Codes. |
tax_currency_code | string | Optional | ISO 4217 currency code for tax when it differs from document currency. | If present: valid ISO 4217 code; consistent with document_currency_code and requires tax_exchange_rate when different. See Get Currency Names and Codes. |
accounting_cost | string | Optional | Accounting cost center / project cost identifier (if applicable). | Free text. |
buyer_reference | string | Optional | Buyer reference (customer reference) for the invoice. | Free text. |
invoice_period | object | Optional | Billing period covered by the invoice (start_date, end_date, description). | If present: start_date and end_date must be yyyy-MM-dd, with start_date ≤ end_date. |
note | string | Optional | Additional notes or terms displayed on the invoice. | Free text. |
tax_point_date | string | Optional | Tax point date per UAE VAT Law—when VAT liability arises. | If present: format yyyy-MM-dd; defaults to issue_date if omitted. |
accounting_supplier_party | object | Required | The supplier party issuing the invoice. See Party object below. | For Sales Invoice API, usually derived from the supplier profile; if sent, must be a valid Party. |
accounting_customer_party | object | Required | The customer party receiving the invoice. See Party object below. | Must be a valid Party object; required in create requests. |
buyer_customer_party | object | Optional | UAE e-invoicing field for Beneficiary ID (UBL BTAE-01). This is not a full party object. See Buyer customer party object below. | Required when Free Trade Zone applies (profile_execution_id first character is 1); id must be a valid Beneficiary ID (TIN). |
seller_supplier_party | object | Optional | UAE e-invoicing field for Principle ID (UBL BTAE-14). This is not a full party object. See Seller supplier party object below. | Required when Disclosed Agent Billing applies (profile_execution_id sixth character is 1); id must be a valid Principle ID TRN and must differ from accounting_supplier_party.party_tax_scheme.company_id. |
payee_party | object | Optional | The party to whom payment should be made, if different from the supplier. See Payee party object below. | If present, must be a valid Payee party object. |
tax_representative_party | object | Optional | Party authorized to represent the supplier for tax purposes. See Tax representative party object below. | If present, must be a valid Party (with correct tax scheme and address). |
delivery | object | Optional | Delivery details: location (and address), optional actual delivery date, party, and terms. See Delivery object below. | If present: delivery_location is required and must include address. Mandatory when the export transaction type applies (profile_execution_id). |
order_reference | object | Optional | Reference to the purchase order. See Order reference object below. | If present: id must be provided; issue_date as yyyy-MM-dd when used. |
billing_reference | array | Optional | References to other billing documents (e.g. previous invoices, credit notes). See Billing reference object below. | If present: each item requires id; issue_date as yyyy-MM-dd when provided. |
despatch_document_reference | object | Optional | Reference to despatch/delivery document. See Despatch document reference object below. | If present: id required; issue_date yyyy-MM-dd when provided. |
receipt_document_reference | object | Optional | Reference to receipt document. See Receipt document reference object below. | If present: id required; issue_date yyyy-MM-dd when provided. |
statement_document_reference | object | Optional | Reference to statement document. | If present: id required; issue_date yyyy-MM-dd when provided. |
originator_document_reference | object | Optional | Reference to originating document (when applicable). | If present: id required; issue_date yyyy-MM-dd when provided. |
contract_document_reference | object | Optional | Reference to contract. See Contract document reference object below. | If present: id required; issue_date yyyy-MM-dd when provided. |
project_reference | object | Optional | Project associated with the invoice. See Project reference object below. | If present: id must be provided. |
document_lines | array | Required | Invoice line items. See Document line object below. | Must contain at least one line; each line must satisfy the Document line object validation rules. |
charges | array | Optional | Document-level charges that increase the amount. See Charge object below. | If present: each charge must have a valid reason and amount/rate; tax category rules apply. |
allowances | array | Optional | Document-level discounts/allowances. See Allowance object below. | If present: each allowance must have a valid reason and amount/rate; tax category rules apply. |
payment_means | array | Optional | Payment method. See Payment means array below. | Required when profile_execution_id first bit is 0; optional when first bit is 1. Certain codes require card or mandate details. |
payment_terms | object | Optional | Payment terms and conditions. See Payment terms object below. | Free structure with date fields in yyyy-MM-dd when used. |
tax_exchange_rate | object | Optional | Exchange rate when tax currency differs from document currency. See Tax exchange rate object below. | Required when tax_currency_code differs from document_currency_code; must include source_currency_code, target_currency_code, and calculation_rate. |
prepaid_amount | number | — | Total prepaid amount applied to the invoice. | Optional numeric; typically non-negative. |
payable_rounding_amount | number | — | Rounding adjustment applied to payable amount. | Optional numeric; may be positive or negative depending on rounding direction. |
allowance_total_amount | number | — | Total of all document-level allowances. | Response-only, calculated from document-level allowances. |
charge_total_amount | number | — | Total of all document-level charges. | Response-only, calculated from document-level charges. |
line_extension_amount | number | — | Sum of all line amounts before charges, allowances, and taxes. UBL 2.1 LineExtensionAmount. | Response-only, derived from line net amounts. |
tax_exclusive_amount | number | — | Line extension plus charges minus allowances, before tax. UBL 2.1 TaxExclusiveAmount. | Response-only, calculated. |
tax_amount | number | — | Aggregated VAT amount in document currency. UBL 2.1 TaxTotal. | Response-only, calculated from tax breakdown. |
tax_amount_in_aed | number | — | Total tax amount converted to AED. | Response-only, calculated using tax exchange rate (if applicable). |
tax_inclusive_amount | number | — | Tax exclusive amount plus total tax. UBL 2.1 TaxInclusiveAmount. | Response-only, calculated. |
payable_amount | number | — | Final amount due. UBL 2.1 PayableAmount. | Response-only, calculated as tax inclusive minus prepayments/rounding. |
payable_amount_in_aed | number | — | Final amount payable in AED. | Response-only, calculated using exchange rates. |
total_item_allowances | number | — | Total of all line-level allowances. | Response-only, sum over line-level allowances. |
total_item_charges | number | — | Total of all line-level charges. | Response-only, sum over line-level charges. |
total_taxable_amount | number | — | Total taxable amount. | Response-only, derived from taxable lines and charges/allowances. |
total_non_taxable_amount | number | — | Total non-taxable amount. | Response-only, derived from non-taxable lines. |
tax_breakdown | array | — | Tax amounts by tax category (S, Z, E, O, AE, N) and rate. UBL 2.1 TaxSubtotal. | Response-only, generated from per-line tax categories. |
document_source | string | — | Indicates the origin of the e-invoice document. This identifies the specific external system, ERP, or platform that generated or transmitted the record. Examples: SAP_S4HANA, Oracle_NetSuite, Internal_Portal. | Optional. Accepts a string value. If not provided, the system assigns API as the default source. |
is_phase2_document | boolean | — | Whether the document is Peppol-enabled (Phase 2). | Response-only flag; controlled by backend/Peppol integration. |
meta_info | object | Optional | Additional metadata. See Meta info object below. | Response-only metadata (timestamps, Peppol status, etc.). |