Skip to main content

Government forms and statutory compliance

Everything the payroll data has to turn into for the agencies. The forms are generated from payslips that already exist, so the work here is mostly downstream: run the payroll first, then produce the month's or the year's paperwork from it.

One thing to be clear about before anything else. These are reproductions of the official formats, generated for your records — the application does not file anything. Actual submission still happens through the agency channels (eFPS, eBIRForms, the agency portals). Every generated document carries a disclaimer saying so, and the text of that disclaimer is yours to edit in Payroll Settings.

Set the employer profile first

Every form prints the company's registered details. Fill them in once.

Open Payroll → Government Forms (/government-forms) and select Employer Profile at the top right, or reach the same drawer from Payroll Settings' Employer Profile section. The drawer is headed Employer / Company Profile and holds:

  • Registered Name, TIN, Branch Code, RDO Code
  • Registered Address, ZIP Code, Phone Number
  • Contact Person and Contact Position
  • SSS Employer No., PhilHealth Employer No., Pag-IBIG Employer No.
  • Withholding Agent Category — Private or Government
  • Legal Entity Type — Sole Proprietorship, Partnership, Corporation or Cooperative
  • Business Size — BMBE, Micro, Small, Medium or Large
  • BMBE income tax exemption — withhold no compensation tax

The last switch changes the payroll calculation, not just the printed forms: with it on, no compensation withholding tax is withheld at all, though taxable income is still computed and reported. Only turn it on for a genuinely BMBE-registered, income-tax-exempt employer.

The Government Forms page warns you when the profile is missing its TIN or registered address, because both appear on every form.

The form catalogue

/government-forms is a grid of cards, each with the form's frequency, its deadline, and a button. Cards for the three EWT forms only appear if you hold payroll.ewt.manage.

CardFrequencyWhat it produces
BIR 1601-CMonthlyMonthly Remittance Return of Income Taxes Withheld on Compensation, pre-filled from payroll runs. Download PDF
SSS / PhilHealth / Pag-IBIGMonthlyContribution remittance reports with employee and employer shares. Download CSV
BIR 1604-C AlphalistAnnualAlphalist of employees (Schedule 1). Download PDF and Download .DAT for the BIR validation module and eSubmission
BIR 2316AnnualPer-employee Certificate of Compensation Payment/Tax Withheld. Download PDF for one, Download All (ZIP) for everyone
13th Month PayAnnualStatutory 13th month pay per employee with the non-taxable split. Download PDF or Download CSV
DOLE 13th Month ReportAnnualEstablishment details, total employment, workers benefited, total 13th month pay granted. Download PDF
Year-End Tax AdjustmentAnnualAnnual withholding reconciliation per employee — tax due against tax withheld. Download CSV
Payroll RegisterMonthlyGross pay, statutory deductions and net pay per employee for the month. Download PDF or Download CSV
Daily Time RecordsMonthlyPer-employee time-in/time-out and hours worked from timesheets. Download CSV
Filings & ReceiptsRecordsA log of what you filed and the proof of payment
BIR 0619-EMonthlyMonthly Remittance Form of Creditable Income Taxes Withheld (Expanded), from the EWT registry. Download PDF
BIR 1601-EQQuarterlyQuarterly Remittance Return of Creditable Income Taxes Withheld (Expanded), with the per-ATC schedule. Download PDF
BIR 2307QuarterlyCertificate of Creditable Tax Withheld at Source per payee. Download PDF

Each card also carries its filing deadline as printed on the page — the 10th of the following month for 1601-C, January 31 for the alphalist, and so on. Treat those as the reminder they are, not as legal advice.

Every card opens a dialog with period selectors at the top — a month and year, or a year alone, or a year and an employee — and a preview of the document below, rendered exactly as it will download. When the selected period has no payroll data the dialog says so plainly rather than producing an empty form.

The monthly cycle

After a run for the month has been marked Processed:

  1. BIR 1601-C. Pick the month and year, check the preview, Download PDF. The dialog carries a warning worth reading once: line 17 reports the full bonus paid in that month as non-taxable and does not apply the annual 13th-month/other-benefits exemption cap, because a single month has no view of an employee's year-to-date bonus total. The annual alphalist and BIR 2316 do apply the cap and are the authoritative figures. For an employee who crosses the cap during the year, the monthly form's non-taxable figure will legitimately differ from the year-end ones.
  2. SSS / PhilHealth / Pag-IBIG remittances. One dialog, with a dropdown to pick the agency. Each shows its own deadline. Download CSV.
  3. Payroll Register and Daily Time Records, for the audit file. The DTR is the legal proof of the hours behind overtime and holiday pay; DOLE expects it kept for at least three years.
  4. Record the filing. Open Filings & Receipts and log what you filed: the Form, the Month (blank for an annual filing), a Reference No. such as the eFPS or bank reference, the Amount Paid, the Date Filed / Paid, an uploaded Receipt (PDF or image), and Remarks. The receipt can be downloaded again from the row later.

The exact field-by-field derivation of the 1601-C is documented in BIR 1601-C.

The annual cycle

  1. Year-End Tax Adjustment. Open it before December's final payroll run. It reconciles each employee's annual tax due against the tax actually withheld. When Apply the BIR year-end tax adjustment is enabled in Payroll Settings — it is on by default — the year's final December cutoff applies the true-up automatically on the payslip: shortfalls are collected, over-withheld tax is refunded through that payslip.
  2. BIR 2316. Pick the year, then an employee to preview. Download PDF for one certificate, or Download All (ZIP) to render every employee's — the dialog shows a "Rendering n/total" counter while it works.
  3. BIR 1604-C Alphalist. Pick the year. Download PDF for the printed Schedule 1, and Download .DAT for the file the BIR validation module and eSubmission expect.
  4. 13th Month Pay and the DOLE 13th Month Report. The first is the per-employee computation with the non-taxable split; the second is the compliance report DOLE asks for.

Expanded withholding tax

Payroll → EWT Registry (/ewt-registry), permission payroll.ewt.manage. The page is headed Expanded Withholding Tax Registry.

This is a register entirely separate from compensation withholding: it covers creditable tax withheld from payments to suppliers, contractors and professionals. Transactions recorded here are what the BIR 0619-E, 1601-EQ and 2307 cards on the Government Forms page read.

The page holds two grids.

Payees — the contractors and suppliers you withhold from. Add Payee opens a drawer for Payee Name, TIN, Registered Address, ZIP Code, Default ATC Code, Default Rate (%) and an Active switch. The defaults are conveniences: the transaction form's ATC and rate fields are placeholdered Payee default, and a transaction that leaves them blank falls back to the payee's. The grid shows Payee, TIN, Default ATC, Default Rate (%) and Status, with Edit and Delete row actions.

EWT Transactions — one row per income payment. Record EWT Transaction asks for the Payee, Period Month, ATC Code, Tax Rate (%), Income Payment (PHP) and Remarks. There is no field for the tax withheld: it is computed from the income payment and the rate. The grid shows Payee, Period, ATC, Income Payment, Rate (%) and Tax Withheld, with Edit, Delete and bulk delete.

The Record Transaction button is hidden until at least one payee exists, since a transaction needs one.

TIN compliance

Payroll → TIN Compliance (/tin-compliance), permission payroll.tin.compliance.manage.

A register of employee Tax Identification Number registrations: Employee #, Employee Name, TIN Number and Date Registered. Add Record, Edit, Delete and bulk delete, plus the usual CSV and PDF export from the Table menu.

Keeping this complete matters at year-end, because a missing TIN is what stalls an alphalist submission.

Statutory rate tables

Payroll → Contribution Rates (/contribution-rates) opens a page headed Statutory Rate Tables, with a tab per agency: SSS, PhilHealth, Pag-IBIG and Withholding Tax. You only see the tabs your permissions cover — payroll.sss.rates.manage, payroll.philhealth.rates.manage, payroll.pagibig.rates.manage and payroll.withholdingtax.rates.manage respectively.

Tables are versioned by effective date, and a payroll run automatically applies the version in force on its period end date. Historical periods therefore resolve to the table that was correct at the time, without any action from you.

On a hosted installation these tables are read-only for you. They are shared across every company on the platform, so editing one would move everybody's payroll; only the platform operator holds the permission that changes them (platform.statutory.rates.manage). What you keep is Reset View, and Export on the SSS, PhilHealth and Pag-IBIG tabs — reading the rates your figures come from is not editing them. The page tells you which situation you are in: without the edit permission its description says the tables are maintained centrally and are the same for every company on the platform; with it, the description points at Duplicate Table for starting a new year's version, and Import, Duplicate Table and an Add button appear in the toolbar.

Compliance settings

Two sections of Payroll Settings (/payroll-settings) exist for this work.

The compliance checklist

The first card on the page, Payroll Compliance Checklist, runs automated checks of the current configuration against PH statutory requirements and flags outdated tables and risky settings before the next payroll run. Green ticks are fine; orange entries carry a short explanation of what is wrong. Read it before the first run of a new statutory year — it is cheaper than discovering the problem in a generated payslip.

Statutory clamps and table pins

The Statutory Clamps & Table Pins section holds:

  • PhilHealth Premium Floor / Ceiling and Pag-IBIG Employee / Employer Cap — clamps that apply when a bracket stores a percentage rate rather than a peso amount.
  • Current Statutory Year — informational, the year your loaded tables are expected to reflect. The compliance checklist compares the table cohorts against it.
  • SSS, PhilHealth, Pag-IBIG and Withholding Tax table pins. Each takes a four-digit year that forces lookups to that year's table. Leave them blank — they show Automatic — and the table is selected by the payroll period's end date, which is what you want almost always. A pin is a deliberate override for a specific situation, and leaving one behind is an easy way to compute a whole year's payroll against the wrong table.
  • Contribution Deduction Schedule — how a monthly SSS/PhilHealth/Pag-IBIG obligation is spread across the month's payslips: split evenly across cutoffs (the default and the most common practice), the full amount on the last cutoff, or the full amount on every payslip.
  • Apply the BIR year-end tax adjustment — the December true-up described above.

A Manage Rate Tables button at the bottom of the section jumps to the Contribution Rates page.

Form disclaimers

The Form Disclaimers section holds two blocks of text printed on every generated government document: the Format-Only Disclaimer, which marks the document as an internal reproduction, and the Professional Advice Notice. Both are required — the form will not save with either left empty. Edit them to match your own counsel's wording if you have one.

Reference

  • The rules the engine implements, with the current rates and brackets: Business Rules.
  • Field-by-field derivation of the monthly compensation return: BIR 1601-C.