Five mandated regimes, five validators
🇲🇾 Malaysia — MyInvois (LHDN / IRBM)
Official OASIS XSD, mandatory fields, LHDN code lists (MSIC, classification, state, tax type), totals math and the enveloped XAdES signature — verified keyless.
🇩🇴 Dominican Republic — e-CF (DGII)
e-CF v1.0 structure, DGII code lists, e-NCF consistency, ITBIS/totals math, and the enveloped signature verified cryptographically — proven on genuinely DGII-signed documents.
🇳🇬 Nigeria — NRS / FIRS (FIRSMBS)
UBL 2.1 + Peppol BIS base rules, plus the Nigeria layer free validators miss: TIN on both parties, per-line VAT, and the IRN/CSID/QR clearance blocks.
🇧🇴 Bolivia — SFV / SIAT (SIN)
Official SIN XSDs, parametric code ranges, totals per Documento Sector, XML-DSig — and the CUF rebuilt digit by digit (Módulo 11 + Base16, CUFD recovered).
🇨🇷 Costa Rica — Comprobantes v4.4 (Hacienda)
All 8 v4.4 document types incl. the new REP, the 50-digit clave decomposed and cross-checked, CABYS, ProveedorSistemas, totals/IVA and XAdES-EPES.
Quickstart
curl --request POST \
--url https://malaysia-myinvois-e-invoice-validator.p.rapidapi.com/validate \
--header 'Content-Type: application/xml' \
--header 'x-rapidapi-host: malaysia-myinvois-e-invoice-validator.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' \
--data-binary @invoice.xml
Always HTTP 200 with a JSON verdict: "valid": true|false, plus rule-coded findings (ruleId, level, human-readable text, location) you can assert on in CI. Every API has a free plan on RapidAPI and a 7-day free trial on Zyla.
What gets checked
- Structure — the official XSDs published by each authority
- Country business rules — TINs, per-line VAT, mandatory nodes, document-type consistency
- Control codes — Bolivia's CUF rebuilt from the header, Costa Rica's 50-digit clave decomposed
- Code lists — CABYS, MSIC, ISO-4217, payment means, unit codes…
- Totals math — line and document-level reconciliation (VAT, IVA, ITBIS)
- Digital signature — enveloped XAdES / XAdES-EPES / XML-DSig verified against the embedded certificate; tampered documents are caught
Design principles
Stateless. Documents are validated in-memory and discarded — no PII stored.
Honest scope. Informative pre-flight only: trust chains, live registries and the actual clearance remain with the authority. valid: true means "ready to submit", not "accepted".
Read more
Technical write-ups per country on dev.to/chatwiti · project overview on GitHub.