Skip to content

How annualised salary tax withholding works

Why the tax on a salaried payslip changes from month to month, how the annualised projection is computed, and what payroll needs after an increment.

4 min read

A twelve-month bar chart with one tax slab line rising across it.

The most common payroll question an employee asks is not "why is my salary this much" but "why is my tax different from last month when my salary did not change". The answer is that salaried income tax in most progressive systems is not a monthly tax at all. It is an annual liability, collected monthly, and the monthly amount is a forecast that gets corrected as the year unfolds.

The tax is annual; the deduction is a forecast

A progressive slab table defines tax on annual taxable income: nothing up to the first threshold, a low rate on the band above it, a higher rate on the next band, and so on. An employer withholding tax each month therefore has to guess what the year’s total income will be, work out the tax on that guess, subtract what has already been deducted, and spread the rest over the months that remain. When the guess changes, so does the monthly figure.

Written out, the rule that most payroll teams follow is short:

  1. Projected annual income = gross paid so far this tax year + current monthly gross × months remaining.
  2. Annual liability = the slab table applied to that projection (fixed amount for the band, plus the band rate on the excess).
  3. This month’s deduction = (annual liability − tax already deducted this year) ÷ months remaining.

Everything that makes the number move follows from those three lines.

Why it changes after an increment

Suppose the tax year runs July to June and an employee on 250,000 a month gets a raise to 275,000 in October. From October the projection is three months at the old salary plus nine at the new one, so the annual figure rises, the liability rises, and the shortfall between what should have been deducted so far and what actually was is recovered over the remaining nine months. The October payslip shows a jump that is bigger than the raise alone would suggest, then settles. That is correct behaviour, not an error.

Why it changes for a mid-year joiner

Someone who joins in March has only four months of income in that tax year. If payroll treats them like a full-year earner, it projects twelve months of salary and over-deducts heavily. If it uses only the months they will actually be paid, the projection is right but the slab still applies to the whole tax year, so a joiner on a high monthly salary can pay very little tax in year one and a lot in year two. Both outcomes are legitimate; the important thing is that the system knows the joining date and that finance can see which assumption it used.

Why the first month on a new system matters most

Moving payroll to new software mid-year is the moment this goes wrong most often. If the system knows nothing about the months already paid, September looks like the first month of the year: the projection is twelve months of current salary, and the deduction is computed as if nothing had been withheld yet. The result is an under- or over-deduction that only surfaces when the annual certificate is produced.

The fix is an opening balance per employee for the current tax year: gross paid to date, tax deducted to date and the number of periods already paid. With those three numbers the projection picks up exactly where the previous sheet left off. In Ledgr they sit on the pay profile’s tax card, next to the tax id and the regime, and they are the one thing a payroll migration cannot infer from anywhere else.

What a payroll system needs to get this right

  • The slab table as data, with the year it applies to, editable when the budget changes the rates, and kept per country so one product serves more than one tax authority.
  • A tax ledger per employee and tax year: one entry per pay period with taxable pay and tax deducted, written when the sheet is disbursed and never recomputed afterwards.
  • Exemptions and credits as rules, such as a medical allowance exempt up to a percentage, applied before the slab rather than by hand.
  • A visible explanation on every line: projected annual income, liability, deducted to date and months remaining, so a reviewer can check the arithmetic without a calculator.
  • An override with a note, because the tax office occasionally issues a certificate that changes an individual’s deduction and the system must record why the number differs from the engine.

From ledger to certificate

The same ledger that drives the monthly forecast is what the year end needs. Each deposit to the treasury is recorded against the periods it covers, so reconciliation is a comparison of two columns rather than a hunt through bank statements. The annual salary certificate an employee hands to the tax office is a report over the ledger, and the withholding statement the employer files is another. None of it is a separate workbook, which is the point of holding the fact once — the theme of moving payroll off spreadsheets.

This matters most to software companies with salaries spread across several slabs and frequent increments, and to professional services firms whose staff expect a clean certificate every year. The employee-facing side is simple: their own payslip shows the projection, so the "why did it change" question answers itself.

FAQ

Questions this post gets asked

Why did my tax go up when my salary did not change?

Because the deduction is a forecast of an annual liability. Anything that changes the projected annual income — an arrears payment, a bonus, a change in the slab table, or a correction to what was deducted earlier in the year — changes the amount spread over the remaining months, even when the monthly gross stays the same.

What are opening balances and who enters them?

Gross paid to date, tax deducted to date and the periods already paid in the current tax year, entered once per employee by finance when payroll moves to a new system mid-year. They let the projection continue from the previous sheets instead of treating the first month as the start of the year.

Can finance override the computed tax for one person?

Yes. A line-level override with a mandatory note replaces the engine’s figure for that sheet, is shown on the payslip and in the review, and is recorded so the certificate at year end still reconciles.

Keep reading

All posts
  • The words Reimbursement claims without the register beside the Ledgr payroll icon, on a deep blue background.
    GuidesPlatform

    Expense reimbursement policy: a template

    Categories, limits by grade, receipt rules, deadlines, approval and payment: a reimbursement policy template for a small company, and how claims run in Ledgr.

    Zain Khalid Malik · · 11 min read
  • The Cadence mark beside the words "AI and all-in-one business software, without the hype".
    AI assistantsPlatformGuides

    AI in all-in-one business software: what to check

    AI in an all-in-one business suite depends on where the data is and what an assistant may do. Two honest models, what three suites say, and what to check.

    Zohaib Khalid · · 10 min read
  • The HRMS mark beside the words "Odoo vs ERPNext, compared honestly".
    GuidesPlatform

    Odoo vs ERPNext for a small business

    Odoo vs ERPNext for a small business: what each costs from its own pricing page, what is free, who implements it, and when neither is the tool you need.

    Zohaib Khalid · · 6 min read

Want to see this working in your organisation?

Every tool in this post is included in every plan. Tell us your team size and we set up a working organisation for you to try.