Mandatory data fields for e-invoicing in the Philippines are the exact data points every BIR e-invoice must carry to pass validation. Miss one, and the file is rejected. The BIR EIS checks each JSON invoice against a fixed schema, so these fields are not optional suggestions.
Key Takeaways
- A BIR-compliant e-invoice must be a system-generated JSON file, digitally signed, and transmitted to the EIS.
- The CAS JSON schema carries complete BIR e invoice mandatory fields.
- Every invoice needs a 24-digit EIS Unique ID built from the issuance date, certification ID, and a control value.
- Split VATable, zero-rated, and VAT-exempt sales into different invoices.
- A missing or malformed field triggers a schema error, and the invoice does not count as issued.
A BIR-compliant e-invoice is a sales document generated by an accredited system, in JSON, digitally signed, and accepted by the EIS. It also includes sales invoices, credit and debit memos, and service billings.
A BIR-compliant e-invoice must be:
Fail any one, and it is not compliant. I have seen teams assume a CAS accreditation alone is enough. It is not. EIS certification is separate.
These are the required invoice fields Philippines businesses must populate in the CAS JSON, the fuller of the two schemas. Grouped by block below.
Header. CompInvoiceId (internal control number), IssueDtm (issuance date), EisUniqueId (24-digit ID), DocType, TransClass (VATable, zero-rated, or exempt), CorrYN (correction flag).
Seller. TIN (9 digits), BranchCd (HQ is 00000), Type (VAT or non-VAT), RegNm, BusinessNm. These must match your BIR registration exactly.
Buyer. TIN (use 000000000 if unregistered or foreign), BranchCd, BusinessNm.
Line items. Nm, Qty, UnitCost, SalesAmt, RegDscntAmt, SpeDscntAmt, NetSales. Up to 1,000 lines per invoice.
Summary and tax. TotNetItemSales, RegAmt, SpeAmt, OtherTaxRev, TotNetSalesAftDisct, VATAmt, WithholdIncome, WithholdBusVAT, WithholdBusPT, OtherNonTaxCharge, NetAmtPay.
Currency. Currency (ISO code), ExchangeRate, ForexAmt. Populate these only for foreign-currency deals.
Correction (conditional). When CorrYN is Y, add CorrectionCd and PrevUniqueId.
One thing worth flagging on the Philippines e-invoicing data requirements: VATAmt must be 0 on zero-rated or exempt invoices. Put a figure there by mistake, and you get an ERR004.
Group | Field | JSON key | CAS | POS |
| Basic | Invoice control no. | CompInvoiceId | Yes | Yes |
| Basic | Issuance date | IssueDtm | Yes | Yes |
| Basic | EIS Unique ID | EisUniqueId | Yes | Yes |
| Basic | Document type | DocType | Yes | Yes |
| Basic | Transaction class | TransClass | Yes | Yes |
| Seller | TIN | Tin | Yes | Yes |
| Seller | Branch code | BranchCd | Yes | Yes |
| Seller | Registered name | RegNm | Yes | Yes |
| Buyer | TIN | Tin | Yes | Optional |
| Buyer | Business name | BusinessNm | Yes | Optional |
| Line item | Name, qty, unit cost | Nm, Qty, UnitCost | Yes | Aggregated |
| Tax | VAT amount | VATAmt | Yes | Yes |
| Tax | VATable/exempt/zero sales | via TransClass | Yes | Yes |
| Net | Net amount payable | NetAmtPay | Yes | Yes |
| Currency | ISO, FX rate, forex amt | Currency, ExchangeRate, ForexAmt | Yes | Yes |
| Correction | Code, previous ID | CorrectionCd, PrevUniqueId | Conditional | Conditional |
CAS carries full accounting detail. POS aggregates and drops the line-item array. That is the main split in the BIR invoice data structure.
The BIR EIS invoice format is JSON, sent over a REST API to eis.bir.gov.ph. XML is allowed for storage, not transmission. A few rules that catch people out:
On the e-invoice data validation Philippines side, EIS runs its own checks: signature, duplicate IDs, seller TIN, date consistency, and the VAT sign rules. Codes worth knowing:
Code | Meaning |
| SUC001 | Passed all checks |
| SYN002 | Invalid signature |
| SYN003 | Duplicate EIS Unique ID |
| SYN004 | Schema error (missing field, wrong type) |
| ERR001 | Seller TIN not registered |
| ERR004 | VAT sign mismatch, or VAT on an exempt invoice |
A quick note on the law. The v2.01 schema still uses the older SI/OR/DM/CM/SB document split. Under RA 11976 (EOPT), the OR and SI distinction was folded into a single "Invoice" from January 2024, so read the DocType codes with that in mind and check bir.gov.ph before go-live. This shapes your invoice reporting requirements Philippines end to end.