Every figure is transcribed from — and cited to — the primary government document (the actual circular, gazette, or regulation), not a summary site. Government issuances across SE Asia are often scanned image PDFs that AI tools can't reliably OCR; this hand-verified, QA-gated reference is both faster and more accurate than fetching the source.
Covers 6 countries — Philippines, Singapore, Malaysia, Thailand, Indonesia, Vietnam — as human-readable markdown and typed JSON (data/). Each country: income tax tables, mandatory contribution rates, labour law (hours, leave, severance), and minimum wages. Philippines adds a linked catalog of 894 BIR issuances (2022–2026) and 142 SSS circulars.
Built so an AI agent (Claude, ChatGPT, Gemini, …) answers a SE Asia payroll question correctly in one or two hops — without scraping government sites or OCR-ing PDFs.
| Country | Income tax | Contributions | Labour law | Min wage | Machine-readable data/ |
|
|---|---|---|---|---|---|---|
| 🇵🇭 | Philippines | ✅ TRAIN/BIR | ✅ SSS · PhilHealth · Pag-IBIG | ✅ DOLE | ✅ NWPC | ✅ 9 JSON tables |
| 🇸🇬 | Singapore | ✅ IRAS | ✅ CPF · SDL | ✅ MOM | ✅ LQS/PWM | ✅ 2 JSON tables |
| 🇲🇾 | Malaysia | ✅ LHDN MTD/PCB | ✅ EPF · SOCSO · EIS · HRD Corp | ✅ EA | ✅ RM1,700 | ✅ 2 JSON tables |
| 🇹🇭 | Thailand | ✅ Revenue Dept PIT | ✅ SSF · Workmen's Comp | ✅ LPA | ✅ provincial | ✅ 2 JSON tables |
| 🇮🇩 | Indonesia | ✅ PPh 21 + TER | ✅ BPJS TK · BPJS Kesehatan | ✅ PP 35/2021 | ✅ UMP/UMK | ✅ 2 JSON tables |
| 🇻🇳 | Vietnam | ✅ PIT Law 109/2025 | ✅ Social · Health · Unemployment | ✅ Labour Code 2019 | ✅ 4-region | ✅ 2 JSON tables |
Each country has an answer router ({cc}/INDEX.md) that maps any question to the exact file — 2 hops maximum.
| You need… | Headline figure | File |
|---|---|---|
| SSS employee contribution | 5% of MSC (MSC ₱5,000–₱35,000); ₱25k salary → ₱1,250/mo | ph/sss/contribution_table_2025.md |
| Income tax / withholding (2023+ TRAIN) | 0–35% graduated; first ₱250k exempt; ₱500k → ₱42,500 | ph/bir/income_tax_table_2025.md |
| PhilHealth premium | 5% of basic (2.5% employee + 2.5% employer); floor ₱10k / ceiling ₱100k | ph/philhealth/contribution_rate_2025.md |
| Pag-IBIG contribution | 2% + 2%; max ₱200 each (MFS ₱10k) | ph/pagibig/contribution_table_2025.md |
| 13th-month pay | tax-free up to ₱90,000 | ph/benefits/13th_month_pay.md |
| Minimum wage by region | NCR ₱695/day (WO NCR-26) | ph/min-wage/by_region_2025.md |
| Premium pay (OT / holiday / night-diff) | OT +25%; regular holiday worked 200% (260% if also a rest day); night +10% — full matrix in file | ph/labor/premium_pay.md |
| Leaves (maternity / paternity / SIL …) | Maternity 105 days; SIL 5/yr; paternity 7 | ph/labor/leaves.md |
| Final pay / separation pay | Final pay within 30 days; COE within 3 | ph/labor/final_pay.md |
| A specific BIR issuance (RR/RMO/RMC, 2022–2026) | 894 catalogued, each with the official PDF | ph/bir/issuances/INDEX.md |
Full question→file router: ph/INDEX.md — maps any question to the one file that answers it.
| Gross | SSS | PhilHealth | Pag-IBIG | Withholding tax | Net pay |
|---|---|---|---|---|---|
| ₱50,000 | −₱1,750 | −₱1,250 | −₱200 | −₱4,568.40 | ₱42,231.60 |
Employee-side, non-MWE, no other bonuses. Computed from the rate files and validated against the tables so it can't drift — see data/examples.json (also ₱25k and ₱80k).
{ "comp_min": 24750, "comp_max": 25249.99, "msc": 25000,
"employee": 1250, "employer": 2500, "ec": 30, "total_incl_ec": 3780 }Typed, source-cited, all 61 brackets — fetch() it instead of parsing the markdown table. See data/.
Install it (Node):
npm install philippines-payroll-dataimport { sss2025, premiumPay } from 'philippines-payroll-data';
sss2025.brackets.find(b => b.msc === 25000).employee; // 1250Every table conforms to schemas/payroll-data.schema.json (JSON Schema 2020-12), enforced on every push.
- AGENTS.md / CLAUDE.md / llms.txt — how to navigate + the trust & accuracy contract. Same content, three entry points so any tool finds one.
- Country answer routers — map any question to the exact file (don't scan the repo):
ph/INDEX.md·sg/INDEX.md·my/INDEX.md·th/INDEX.md·id/INDEX.md·vn/INDEX.md - BIR issuance catalog → — every RR / RMO / RMC (2022–2026) with a direct link to the official BIR PDF.
- Building software / RAG ingestion? Use the JSON, not the markdown tables:
data/— 19 typed, source-cited rate tables across all 6 countries (generated from + validated against the verified markdown). Plusmanifest.json(file index of all 77 files).
Why use this instead of the source? SE Asia government issuances are frequently scanned image PDFs with no text layer — AI OCR has been observed fabricating a wrong tax table from one of these. Every figure here was rendered, read, and transcribed from the primary source, then adversarially QA-verified against that source. The markdown is the more accurate artifact — and far faster to read.
| Topic | File | Primary source | Verified |
|---|---|---|---|
| Income tax & withholding tables (2023+ TRAIN) | income_tax_table_2025 | BIR RR 8-2018 | ✅ |
| How to compute / withhold / remit / file WHT | withholding_tax_procedures | BIR (1601-C, 1604-C, 2316) | ✅ |
| TRAIN law overview | train_law_summary | RA 10963 | ✅ |
| SSS contribution table | sss/contribution_table_2025 | SSS Circular 2024-006 | ✅ |
| PhilHealth premium | philhealth/contribution_rate_2025 | PhilHealth Advisory 2025-0002 | ✅ |
| Pag-IBIG contribution | pagibig/contribution_table_2025 | HDMF Circular 460 (via DBM CL 2024-2) | ✅ |
| 13th-month pay | benefits/13th_month_pay | PD 851 / TRAIN | ✅ |
| De minimis benefits & ceilings | benefits/de_minimis_benefits | BIR RR 11-2018 | ✅ |
| Non-taxable pay items | benefits/non_taxable_benefits | NIRC / TRAIN | ✅ |
| Minimum wage by region | min-wage/by_region_2025 | NWPC wage orders | ✅ |
| Premium pay (OT / holiday / night-diff) | labor/premium_pay | DOLE Handbook + Labor Code | ✅ |
| Statutory leaves (maternity, paternity, SIL …) | labor/leaves | RA 11210 / 8187 / 11861 / 9710 / 9262 | ✅ |
| Final pay, COE, separation pay | labor/final_pay | DOLE LA 06-2020 / Labor Code | ✅ |
| 894 BIR issuances (RR/RMO/RMC, 2022–2026) | bir/issuances | bir.gov.ph | catalog + PDF links |
| 142 SSS circulars (2020–2026) | sss/circulars.md | sss.gov.ph | catalog + PDF links |
Every file opens with YAML frontmatter (rates, effective dates, source, source_tier, last_verified) and a one-line summary — read those first. Machine-readable index: manifest.json + per-archive JSON.
- Primary sources only — each file cites the actual government issuance (circular/regulation number + direct PDF link), never a summary blog.
- Self-verifying — frontmatter carries
source_tier,verified_from, andlast_verified; key files include a Verification & provenance block stating which figures are verbatim from the source vs. computed by us. - Honest about limits — anything not fully verified is labelled (
source_tier: secondary, heuristic tags marked "confirm"). The absence of a caveat means it was checked.
See CLAUDE.md → Trust & accuracy for the full decision rule on when to use this vs. fetch the source.
The BIR catalog is maintained by an automated job — tools/bir-capture — a headless-browser crawler that re-reads every BIR issuance page, rewrites these files, and reports new issuances since the last run. Monitoring sources for rate changes (SSS / PhilHealth / Pag-IBIG / BIR / regional wage boards) are listed in SCHEMA.md → Golden sources.
- 🇵🇭 Philippines — complete (BIR, SSS, PhilHealth, Pag-IBIG, benefits, minimum wage, labor standards + 894 issuances 2022–2026).
- 🇸🇬 Singapore — core complete (
sg/: IRAS income tax, CPF + Skills Development Levy, Employment Act leave/hours/overtime/termination, wage floors) + machine-readabledata/sg_*.json. Issuance archive pending. - 🇲🇾 Malaysia — core complete (
my/: LHDN income tax + MTD/PCB, EPF, SOCSO + EIS, HRD Corp levy, Employment Act, RM1,700 minimum wage) + machine-readabledata/JSON. - 🇹🇭 Thailand — core complete (
th/: Revenue Dept PIT + PND.1 withholding, SSF + Workmen's Comp, Labour Protection Act hours/leave/severance, provincial minimum wage) + machine-readabledata/JSON. - 🇮🇩 Indonesia — core complete (
id/: PPh 21 + the TER monthly method, BPJS Ketenagakerjaan + Kesehatan, PP 35/2021 hours/leave/THR/severance, UMP/UMK minimum wage) + machine-readabledata/JSON. - 🇻🇳 Vietnam — core complete (
vn/: PIT + 2026 personal deductions, Social/Health/Unemployment insurance, Labour Code 2019 hours/leave/severance, 4-region minimum wage) + machine-readabledata/JSON. - 🌏 Southeast Asia core set (PH, SG, MY, TH, ID, VN) complete.
- 🇺🇸 United States — planned (federal payroll taxes, FICA).
- Extensions: pre-2022 BIR archive, deep full-text ingestion of payroll-relevant digests.
Adding a country? Follow
PLAYBOOK.md— the country-agnostic 7-step process distilled from the PH build (golden-source index → verified curated files → issuance archives → answer router → machine-readable data layer → verify → monitor), with reusable tactics, a per-country checklist, and the pitfalls already learned.
MIT. The underlying government figures are public information; the license covers the compilation, curation, verification, and tooling.
This repository reorganizes public government information from 6 SE Asia countries for accuracy and machine-readability. For high-stakes decisions, confirm against the cited primary source. Not legal or tax advice.