Create a sales invoice
Creates a sales invoice conforming to UBL 2.1 with PINT OM customization. See the right panel for request samples and response JSON.
Path parameters
Required data
Customer party —
accounting_customer_party.partywith name, address, tax scheme, and electronic addressSupplier profile identifier — Business profile ID of the supplier (in path);
accounting_supplier_party.partyis populated from the profile when omittedLine items — At least one
document_lines[]entry with quantity, unit code, price, and classified tax categoryTransaction type —
transaction_type(20-character BTOM-001 bitmap)VAT information — Tax category and scheme per line and for charges/allowances as applicable
See Request payload for the full UBL-aligned field catalogue.
System behavior
VAT rules are applied according to OMN VAT law
The sales invoice is recorded
Invoice status and transmission events are tracked
Validation
Field-level validation is enforced by the PINT OM rule engines (UBL and jurisdiction-aligned). See:
The API returns HTTP 400 with field-specific errors when a rule fails.
Response
Status code: 201 Created
The API returns an invoice object containing all request fields plus calculated fields.
System-generated fields
Calculated monetary totals
Additional response fields
Document lines in response
Each line includes calculated fields: base_amount, net_amount, total_amount, tax_amount. The price object in the response contains price_amount (instead of base_amount in the request).
Charges and allowances
Document-level charges and allowances are applied after line item totals
Line-level charges and allowances are applied per line item
All charges and allowances require a
tax_categoryfor proper VAT calculationThe reason code field uses UN/ECE Recommendation 20 codes (e.g.
FCfor freight charges,95for early payment discount,100for volume discount)
See the right panel for complete response examples.