Invoice Payload Reference

This is the full field-by-field reference for the FIRS/UBL-style invoice document — the schema behind Create Invoice (Full) on the Taxpayer API. The Access Point Provider's Submit Invoice and Validate Invoice endpoints accept the same document with a handful of differences, called out on their own pages.

1. Core invoice details

Field Type Required Description
invoice_no string Yes Your unique invoice number
invoice_category string Yes B2B, B2C or B2G
irn string Yes Invoice Reference Number, format {invoice_no}-{service_id}-{YYYYMMDD}. The service-id segment must match your account's firs_service_id
issue_date date Yes Cannot be in the future
due_date date No Must be on or after issue_date, if supplied
issue_time string No HH:mm:ss
invoice_type_code string Yes Must exist in Invoice Types
payment_status string No PENDING, PAID, or CANCELLED — defaults to PENDING
note string No Max 1000 characters. Encrypted at rest
tax_point_date date No Date tax liability arises — defaults to issue_date
document_currency_code string (ISO-4217) Yes Must exist in Currencies
tax_currency_code string (ISO-4217) No Defaults to document_currency_code
accounting_cost number No Internal accounting reference amount — defaults to 0
buyer_reference string No Buyer's internal reference, max 255 characters

2. Invoice delivery period

Field Type Required Description
invoice_delivery_period object No Period covered by the invoice
invoice_delivery_period.start_date date No Must be on or before end_date
invoice_delivery_period.end_date date No Must be on or after start_date

3. Document references

Used to reference related invoices or documents.

Billing reference (multiple)

Field Type Required Description
billing_reference array No
billing_reference[].irn string Conditional Required if billing_reference is present
billing_reference[].issue_date date Conditional Required if billing_reference is present

Single document references (optional)

Each of the following is an optional object with the same two sub-fields: dispatch_document_reference, receipt_document_reference, originator_document_reference, contract_document_reference.

Field Type Required Description
{reference}.irn string No
{reference}.issue_date date No

Additional document references (multiple)

Field Type Required Description
additional_document_reference array No
additional_document_reference[].irn string Conditional Required if additional_document_reference is present
additional_document_reference[].issue_date date Conditional Required if additional_document_reference is present

4. Accounting customer party (buyer)

Field Type Required Description
accounting_customer_party object Yes Buyer details
customer_no string Yes Buyer customer number
party_name string Yes Buyer legal name
tin string Conditional Required when invoice_category is B2B
email string (email) Yes Buyer email
telephone string No Contact phone number
business_description string Conditional Required when invoice_category is B2B or B2G — min 5 characters

Postal address (required)

Field Type Required Description
postal_address object Yes
street_name string Yes
city_name string Yes
postal_zone string Yes
country string (ISO-3166-1 alpha-2) Yes

5. Actual delivery date

Field Type Required Description
actual_delivery_date date No

6. Payment means

Field Type Required Description
payment_means array No
payment_means[].payment_means_code string Conditional Required if payment_means is present — must exist in Payment Means
payment_means[].payment_due_date date Conditional Required if payment_means is present
payment_terms_note string No Max 1000 characters

7. Allowance / charge

Field Type Required Description
allowance_charge array No
allowance_charge[].charge_indicator boolean Conditional Required if allowance_charge is present
allowance_charge[].amount number Conditional Required if allowance_charge is present, min 0

8. Tax totals

Field Type Required Description
tax_total array No
tax_total[].tax_amount number No Min 0
tax_total[].tax_subtotal array No
tax_subtotal[].taxable_amount number Conditional Required if tax_subtotal is present
tax_subtotal[].tax_amount number Conditional Required if tax_subtotal is present
tax_subtotal[].tax_category.id string Conditional Required if tax_subtotal is present — must exist in Tax Categories
tax_subtotal[].tax_category.percent number Conditional Required if tax_subtotal is present — 0 to 100
Field Type Required Description
legal_monetary_total object Yes
line_extension_amount number Yes Min 0.01. Must equal tax_exclusive_amount, and must equal the sum of every line's line_extension_amount
tax_exclusive_amount number Yes Min 0
tax_inclusive_amount number Yes Min 0. Must be greater than or equal to tax_exclusive_amount
payable_amount number Yes Min 0

10. Invoice lines (at least one required)

Field Type Required Description
invoice_line array Yes Minimum 1
hsn_code string No PRODUCT lines — format 9999.99
isic_code string No SERVICE lines — format 9999
product_category string Conditional Required when item.type is PRODUCT — format 9999.99, must exist in Product Codes
service_category string Conditional Required when item.type is SERVICE — format 9999, must exist in Service Codes
discount_rate number No 0 to 100
discount_amount number No Min 0
fee_rate number No 0 to 100
fee_amount number No Min 0
invoiced_quantity number Yes Min 0.01
line_extension_amount number Yes Min 0.01
tax_category string Yes Must exist in Tax Categories
total_tax number Yes Min 0

Item details

Field Type Required Description
item.name string Yes Max 255 characters
item.description string Yes Max 500 characters
item.sellers_item_identification string No
item.type string No PRODUCT or SERVICE

Price details

Field Type Required Description
price.price_amount number Yes Greater than 0. Up to 8 decimal places, so a price below 0.01 is allowed
price.base_quantity number Yes Min 0.01
price.price_unit string Yes Max 3 characters — must exist in Invoice Quantity Codes (e.g. C62)

Summary

Required top-level objects:

  • accounting_customer_party
  • legal_monetary_total
  • invoice_line

Fully optional sections:

  • Document references
  • Payment means
  • Allowance / charge
  • Tax totals

Continue As

Choose your account type to proceed

Don't have an account? Sign up here