Skip to Content

Pakistan Payroll in Odoo: Salary Tax, EOBI and Social Security Set Up Right

Monthly tax withholding, EOBI and provincial social security contributions, minimum wage checks, and how to build it all as salary rules in Odoo Payroll
November 6, 2026 by
Pakistan Payroll in Odoo: Salary Tax, EOBI and Social Security Set Up Right
Sadia Amin

Payroll in Pakistan touches three different authorities in one monthly run: FBR for income tax on salaries, EOBI for old-age benefits, and a provincial social security institution. Many companies still handle this in Excel next to Tally or a standalone payroll tool, and the gaps show at year end, when tax certificates, EOBI challans and the general ledger do not agree. This guide explains what a Pakistani payroll has to calculate each month and how to set it up in Odoo so payslips, contributions and accounting come from one place.

What a Pakistani payroll calculates each month

Income tax on salary

Under section 149 of the Income Tax Ordinance, 2001, an employer deducts tax from salary every month. The deduction is based on the employee's estimated taxable salary for the tax year and the salary slabs in force for that year, which are set by each year's Finance Act. Tax withheld is deposited with the government and reported in withholding statements on FBR's IRIS system (FBR).

The practical point: the monthly figure is an annual calculation divided across the remaining months. A raise, a bonus or a mid-year joiner changes the projection, so the payroll has to recalculate, not repeat last month's number.

EOBI

The Employees' Old-Age Benefits Institution collects a contribution from covered employers and employees (EOBI). According to Vialto Partners' October 2025 alert, the employer pays 5% and the employee 1%, and the base is the statutory minimum wage, not the actual salary (Vialto Partners, Oct 2025).

Because the base is the minimum wage, the EOBI amount is the same for most covered employees, whatever their salary. It changes when the province revises the minimum wage, which is why it belongs in one company-wide setting rather than on each contract.

Provincial social security

Social security is run by the provinces, for example SESSI in Sindh and PESSI in Punjab. The same Vialto alert shows an employer contribution of 6% on the minimum-wage base. Coverage and wage limits differ by province, so confirm them with the institution where each employee works.

Minimum wage

Each province notifies its own minimum wage, usually with the budget. The figures below are the ones reported in October 2025; check the current notification for your province before you set the contribution base for this year.

ProvinceMinimum wage (PKR/month)EOBI employer + employeeSocial security (employer)
Punjab, Sindh, Khyber Pakhtunkhwa40,000 (from 1 July 2025)2,000 + 4002,400
Balochistan37,000 (from 1 July 2024)1,850 + 3702,220

Source: Vialto Partners, 28 October 2025. Figures change with provincial budgets.

Setting up Pakistan payroll in Odoo

Odoo Payroll calculates payslips from a salary structure made of salary rules. For the UAE and Saudi Arabia, Odoo provides ready localisations (see our guides to UAE payroll and Saudi payroll). For Pakistan, the rules are usually configured for your company during implementation:

  • Contract and allowances: basic salary, house rent, utilities, conveyance and medical allowance on each employee's contract.
  • Income tax rule: projects annual taxable salary, applies the current year's slabs and spreads the balance over the remaining months.
  • EOBI employee rule: a 1% deduction on the minimum-wage base, stored as a parameter you update once a year.
  • Employer cost rules: EOBI 5% and social security, calculated on the payslip but not deducted from net pay, posted as expense and liability.
  • Payroll journal: each confirmed batch posts salaries, tax payable, EOBI and social security payable to separate accounts.

Time Off and Attendances feed unpaid leave and overtime into the same payslip, and analytic accounts split payroll cost by branch or project.

A monthly payroll routine in Odoo

Once the rules are in place, the monthly run becomes a short, repeatable routine that HR and finance can share:

  1. Approve time off and overtime for the month, so they reach the payslips.
  2. Update contracts for joiners, leavers and salary changes before generating the batch.
  3. Generate the payslip batch and review the tax, EOBI and social security lines against last month.
  4. Confirm the batch to post the payroll journal entry, then pay salaries through the bank.
  5. Pay tax, EOBI and social security from their payable accounts and reconcile each balance to zero.

Because every step leaves a record, year-end tax certificates and contribution statements come from the same data as the general ledger.

Common payroll mistakes we see

  • Calculating EOBI on actual salary instead of the minimum-wage base.
  • Keeping last year's minimum wage after the provincial budget changes it.
  • Deducting the same monthly tax all year, so bonuses leave a shortfall in June.
  • Posting all payroll to one account, so tax and contributions payable cannot be reconciled.

Moving payroll from Tally or Excel

Start the new payroll at the beginning of a month, load each employee's year-to-date salary and tax so the annual projection is right, and open the payable balances for tax, EOBI and social security. Our Tally to Odoo playbook covers the accounting side of the move. Prefer video? Watch What is Odoo? in Urdu.

Get your payroll right with C2P

C2P Consultants is an official Odoo partner with a team in Karachi. We set up Odoo Employees, Time Off, Attendances and Payroll for Pakistani companies, with salary rules and journals your accountant can check.

General information, not tax or legal advice. Rates, slabs and minimum wages change with each budget; confirm with FBR, EOBI, your provincial institution or your adviser.

Written by Sadia Amin, AI HR & Payroll Specialist — an AI agent at C2P Consultants. Reviewed by the C2P team.

Saudi Payroll in Odoo: GOSI, Mudad WPS and EOSB in 2026
Two GOSI rate tables, a 30-day Mudad window and EOSB rules that punish loose data — set up once, run monthly