| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Employees (hr) |
| Community Apps Dependencies | Show |
| Lines of code | 2978 |
| Technical Name |
wt_hrms_payroll_pk |
| License | OPL-1 |
| Website | https://way4tech.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Employees (hr) |
| Community Apps Dependencies | Show |
| Lines of code | 2978 |
| Technical Name |
wt_hrms_payroll_pk |
| License | OPL-1 |
| Website | https://way4tech.com |
WT HRMS Payroll — Pakistan Localization
Drop-in Pakistan payroll: FBR Income Tax slabs (Finance Act 2024), EOBI employee + employer, Provident Fund (8.33%), Sindh / Punjab Social Security, plus a ready-made "Pakistan Standard" salary structure with Basic, HRA, Medical, Conveyance and auto-computed Net.
pakistan payroll · FBR · income tax · EOBI · provident fund · PF · SESSI · PESSI · finance act 2024 · salary structure pakistan · HRMS Odoo 19 · Odoo 19 · Odoo 18 · community edition · enterprise alternative · open hrms · HR software · HR automation · way4tech
Live Preview
A real screenshot from a working WT HRMS install on Odoo 19.
The Problem This Solves
Pakistani SMBs running Odoo Community do payroll in Excel because no localized package exists.
No FBR slabs in vanilla Odoo
FBR tax slabs change every year. Hand-coding 6 brackets in Excel and remembering to update them annually is asking for trouble.
EOBI + PF + SESSI missing
Employer + employee EOBI, Provident Fund matching, Sindh / Punjab Employee Social Security — all standard PK payroll items that no module ships out of the box.
Allowance ratios vary by company
HRA at 45% of Basic, Medical at 10%, Conveyance flat — common Pakistan splits. You shouldn't have to invent each ratio from scratch.
The Solution — 12 Pre-Loaded Rules + 1 Ready Structure
Every rule lives as data — clone, edit and version it in your own module.
- ✓ BASIC — reads
wagefromhr.version - ✓ HRA — House Rent Allowance, 45% of Basic
- ✓ MED — Medical Allowance, 10% of Basic
- ✓ CONV — Conveyance Allowance, fixed PKR 5,000
- ✓ GROSS — sum of BASIC + HRA + MED + CONV
- ✓ EOBI_EMP — Employee Old-Age Benefit (employee), PKR 390/month (1% of min wage)
- ✓ EOBI_ER — Employer EOBI, PKR 1,950/month (5% of min wage), employer-only category
- ✓ PF_EMP — Provident Fund (employee), 8.33% of Basic
- ✓ PF_ER — Provident Fund (employer match), 8.33% of Basic
- ✓ TAX — FBR Income Tax (Finance Act 2024) — 6 slabs: 0% / 5% / 15% / 25% / 30% / 35%
- ✓ SESSI — Sindh / Punjab Social Security (employer), 6% of Gross
- ✓ NET — Gross − (EOBI_EMP + PF_EMP + TAX)
- ✓ "Pakistan Standard" salary structure bundling all 12 rules — ready to assign to a payslip batch
- ✓ Employer-only rules hidden from payslip via
appears_on_payslip = False— books stay clean for the employee
Step-by-Step User Guide
Install (depends on WT HRMS Payroll)
If WT HRMS Payroll is not yet installed, Odoo will install it automatically as a dependency. After install, all 12 PK rules and the "Pakistan Standard" structure are seeded as noupdate="1" data — safe across upgrades.
Inspect the seeded rules
Go to WT HRMS → Configuration → Payroll Config → Payroll Rules. You'll see BASIC, HRA, MED, CONV, GROSS, EOBI_EMP, EOBI_ER, PF_EMP, PF_ER, TAX, SESSI, NET. Review each rule's formula on the form.
Set wages on employees
Open Employees → pick employee → HR Settings tab → Wage on the current hr.version. Wage flows directly into the BASIC rule, then HRA, MED & PF compute as % of Basic.
Run the monthly batch
Go to WT HRMS → Payroll → Batches → New. Pick "Pakistan Standard" as the structure. Set Date From / Date To. Click Generate Payslips → Compute All → Confirm All → Mark All Paid.
Customize for your company
Need HRA at 50% instead of 45%? Conveyance at PKR 8,000? Open the rule & change the percentage / fixed amount. Need Sindh-only social security? Edit SESSI's percentage. Want to update FBR slabs next year? Edit the Python code on the TAX rule — everything else flows through.
FBR Income Tax Slabs (Finance Act 2024)
| Annual Taxable Income (PKR) | Tax Rate | Tax on Bracket Start |
|---|---|---|
| Up to 600,000 | 0% | 0 |
| 600,001 – 1,200,000 | 5% | 0 |
| 1,200,001 – 2,200,000 | 15% | 30,000 |
| 2,200,001 – 3,200,000 | 25% | 180,000 |
| 3,200,001 – 4,100,000 | 30% | 430,000 |
| Above 4,100,000 | 35% | 700,000 |
Tax is calculated on annualized monthly Gross and then divided by 12. Edit the TAX rule's Python code to update slabs for future Finance Acts.
Every Feature That Matters
FBR Tax (FA 2024)
All 6 slabs encoded in the TAX rule's Python expression. Annualizes monthly gross then divides by 12.
EOBI Employee + Employer
PKR 390/month employee deduction, PKR 1,950/month employer contribution. Editable per company.
Provident Fund
8.33% employee deduction with matching employer contribution — both pre-configured.
SESSI / PESSI
6% of Gross employer contribution (Sindh / Punjab social security). Hidden from payslip.
HRA / Medical / Conveyance
Pakistan-norm splits: HRA 45% of Basic, Medical 10% of Basic, Conveyance flat PKR 5,000.
Pakistan Standard Structure
Single salary structure bundling all 12 rules — ready to assign to any payslip batch.
noupdate-Safe Data
All rules & structure are seeded with noupdate="1" — your customizations survive module upgrades.
Hidden Employer Lines
EOBI_ER, PF_ER and SESSI are flagged appears_on_payslip = False — clean employee payslip, full record in DB.
Editable Code
Slabs change every Finance Act — just open the TAX rule, edit the Python expression, save.
Compatibility & Requirements
| Odoo Edition | Community & Enterprise |
| Odoo Version | 19.0 |
| Dependencies | wt_hrms_payroll (auto-installed) |
| Python Packages | None — uses only stdlib |
| External Services | None |
| License | LGPL-3 |
About Waqas Riasat & Way4Tech
Built for Pakistani SMBs running Odoo 19 Community. Pair with WT HRMS Payroll — Bank Disbursement Files for HBL / MCB / UBL / Meezan upload-ready CSV.
way4tech.com · info@way4tech.com · WhatsApp +92 315 411 4748
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module