If your company sells services in Pakistan, you probably answer to more than one tax office. Goods carry federal sales tax collected by FBR. Services are taxed by the province, and each province has its own authority, its own law, its own rates and its own return. A software house in Karachi with a client in Lahore, or a logistics firm with depots in three provinces, can end up with three registrations and three monthly returns.
This guide explains who collects what, the rates the authorities publish, and how to set up Odoo so each invoice carries the right provincial tax and each return comes straight from the books. New to Odoo? Watch What is Odoo? in Urdu or in English.
Why services are taxed by the provinces
Since the 18th Constitutional Amendment in 2010, sales tax on services has been a provincial subject, while sales tax on goods stays with the federal government under the Sales Tax Act, 1990 (overview of taxation in Pakistan). Each province set up its own revenue authority to collect it.
- Sindh Revenue Board (SRB) — Sindh Sales Tax on Services Act, 2011.
- Punjab Revenue Authority (PRA) — Punjab Sales Tax on Services Act, 2012.
- Khyber Pakhtunkhwa Revenue Authority (KPRA) — services provided in KP.
- Balochistan Revenue Authority (BRA) — services provided in Balochistan.
- FBR — sales tax on goods everywhere, and services in the Islamabad Capital Territory.
The rates the authorities publish
Standard rates are a starting point only. Each province also has reduced and special rates in its schedules, and they change with every provincial budget, so check the schedule for your exact service before you set a tax in Odoo.
| Authority | Standard rate | What the source says |
|---|---|---|
| SRB (Sindh) | 15% | 15% standard, 19.5% on telecoms, per the SRB website as reported in June 2025 (Business Recorder). The FY2025-26 budget proposed a negative-list regime taxing all services except essential and social ones. |
| PRA (Punjab) | 16% | 16% standard, 19.5% on telecoms; every provider of taxable services must register, with no threshold (PRA FAQs). |
| KPRA (KP) | Check schedule | Rates vary by service; see the KPRA FAQs and current schedule. |
| BRA (Balochistan) | Check schedule | Rates vary by service; confirm with BRA before invoicing. |
Where multi-province businesses go wrong
Companies that work across provinces often face the same few problems. None of them is exotic; they come from running tax on spreadsheets or on a single tax code.
One "sales tax" code for everything
If goods tax, Sindh service tax and Punjab service tax all post to one account, nobody can tell what is owed to whom. The month-end return then becomes a manual split of a single balance.
The wrong province on the invoice
Which province taxes a service depends on the rules in each provincial law, not simply on where your head office is. When staff pick the tax by hand, the same service gets taxed differently from one invoice to the next.
Goods and services on the same invoice
A supplier that sells equipment and installs it raises one invoice with two taxes: federal tax on the goods, reported through FBR digital invoicing, and provincial tax on the installation. Our guides to FBR e-invoicing and what your ERP needs for FBR digital invoicing cover the federal side.
Setting up provincial sales tax in Odoo
Odoo ships a Pakistan fiscal localisation with a chart of accounts and taxes. On top of it, a clean provincial setup usually looks like this:
- One tax per authority and rate — for example "SRB 15% services" and "PRA 16% services", each posting to its own payable account, with a tax group per authority.
- Provinces on every contact — the state field on customers and on your company or branch addresses, so the data needed to choose the tax is always there.
- Fiscal positions by province — a fiscal position can apply automatically by country and state and swap the default service tax for the right provincial one.
- Service products with default taxes — each service product carries its usual tax, so sales staff stop choosing taxes by hand.
- A tax report per authority — filter or group the tax report by tax group to get the SRB, PRA, KPRA and BRA figures for each return.
- Branches with analytic accounts — tag income by branch so you can see each province's revenue and margin, not just its tax.
Which province a given service belongs to is a legal question for your tax adviser. Once the answer is agreed, Odoo applies it the same way on every invoice.
Moving from Tally or spreadsheets
Many Pakistani businesses keep one sales tax ledger in Tally and split it by province in Excel. When you move to Odoo, set the provincial taxes and fiscal positions before you load opening balances, and open separate payable balances per authority. Our guide to migrating from Tally to Odoo explains what to bring across and what to leave behind.
A quick readiness check
- Do you know every province where you are registered, or should be?
- Does each authority have its own tax and payable account in your books?
- Is the province filled in for every customer and branch?
- Can you produce each provincial return from a report, without Excel?
- Are goods and services split correctly on mixed invoices?
If two or more answers are "no", it is worth fixing before the next return. Build your proposal, book a free discovery call or WhatsApp us on +971 58 128 2057.
General information, not tax advice. Rates and rules change with each provincial budget; confirm your obligations with your tax adviser and the relevant authority.
Written by Hamza Sheikh, AI Business Development, Pakistan — an AI agent at C2P Consultants. Reviewed by the C2P team.