Last reviewed: 7 October 2026. General information, not tax or customs advice. Your tax advisor or customs agent has the final word on classification.
Every line on an FBR Digital Invoice needs an HS code and a unit of measure, and FBR checks both. "Provide proper HS Code" and "UOM is not valid" are among the most common reasons invoices fail, both in sandbox testing and after go-live. This guide explains what the code is, where to look it up, and how to avoid the mistakes we see most.
HS code, PCT code: what's the difference?
The Harmonized System (HS) is the international product classification maintained by the World Customs Organization. Its first six digits are the same in every country. Pakistan extends it to eight digits in the Pakistan Customs Tariff (PCT), written like 8432.1010:
| Part | Example | Meaning |
|---|---|---|
| Chapter (2 digits) | 84 | Machinery and mechanical appliances |
| Heading (4 digits) | 8432 | Agricultural and soil-working machinery |
| Subheading (6 digits) | 8432.10 | Ploughs (international HS level) |
| National line (8 digits) | 8432.1010 | Pakistan's own split |
In FBR Digital Invoicing, the field is called "hsCode", and it expects the PCT code in this 4-dot-4 format, as in the sample "0101.2100" in PRAL's technical documentation. In everyday Pakistani usage, "HS code" and "PCT code" mean the same thing.
Electronic invoices must show the HS code and unit of measurement under rule 150R(13) of the Sales Tax Rules, inserted by SRO 69(I)/2025.
How to find the right code, step by step
- Start with what you already have. If you import, your goods declaration (GD) already shows the PCT code customs accepted. If you buy locally, your supplier's FBR invoice shows the code they used. These are the best starting points, though not proof that the code is right for your sale.
- Look it up in the tariff. FBR publishes the Pakistan Customs Tariff for each fiscal year, including a search. Search by product name, then read the chapter and heading notes; they decide edge cases.
- Check FBR's Digital Invoicing list. The DI system has its own HS code list (served by its "itemdesccode" reference API, which your software can query). If a code isn't on that list, FBR will reject it, however correct it is in the tariff. Good invoicing software lets you search this list directly.
- Check the allowed units. For each HS code, FBR allows specific units of measure (the "HS_UOM" reference API). Pick one of those.
- Confirm with someone who knows your product. For anything ambiguous, ask your tax advisor or a customs agent. Write the decision down so everyone in your office uses the same code.
- Save it on the product, not the invoice. Store the code, unit and sale type against each product so your team never types them again.
Pairing the code with the right unit of measure
FBR's units are descriptive text values, for example "Numbers, pieces, units", "KG", "Square Meter" or "KWH". The unit you send must be one FBR allows for that HS code, or the line fails with "UOM is not valid. UOM must be according to given HS Code". Some codes are strict: the technical documentation includes errors such as "For selected HSCode only KWH UOM is allowed" and "Provide UOM KG".
A practical tip: if you sell cement by the bag but FBR wants KG for that code, your quantity must be converted to KG on the FBR record, even if your printed invoice also shows bags. Do the conversion in the product setup, once.
Common mistakes
- Using a 4- or 6-digit code. FBR expects the full 8-digit PCT line, with the dot after the fourth digit.
- Dropping leading zeros. Chapters 01 to 09 start with a zero (0101.2100). Spreadsheets love to strip it. Format the column as text.
- Choosing a code that doesn't fit the sale type. FBR checks the code against the sale type (standard rate, reduced rate, Third Schedule, exempt and so on). An HS code that is valid in the tariff but doesn't match the sale type gives "Please provide valid HS Code against sale type".
- One generic code for everything. Using a single "miscellaneous" code for a mixed catalogue may pass validation but misdescribes your supplies, and the rate and SRO you claim depend on the code. It is a compliance risk, not a shortcut.
- Ignoring Third Schedule goods. Items under the Third Schedule are taxed on printed retail price. The 2026-27 budget was reported to move many more consumer goods into that regime. For these, the retail price field must be filled and tax computed on it.
- Copying last year's code. PCT lines change with the annual tariff. FBR also publishes transposition tables when codes are renumbered. Recheck codes each July.
What about services?
Services businesses are not exempt from the field. Pakistan's service tax laws classify services under Chapter 98 of the tariff. For example, the ICT (Tax on Services) Ordinance (FBR's consolidated text as amended to June 2025) lists management consultancy under 9815.4000 and 9819.9300. Use the heading your service falls under in the schedule that taxes it, and confirm it appears in FBR's DI list. Our guide on Digital Invoicing for Islamabad services businesses covers the rest.
A quick reference sheet for your office
Make a one-page sheet for your accountant or sales staff with one row per product:
| Product (your name) | PCT code | FBR unit | Sale type | Rate | SRO / serial (if any) |
|---|---|---|---|---|---|
| Your product A | xxxx.xxxx | e.g. KG | Goods at standard rate (default) | 18% | none |
| Your product B | xxxx.xxxx | e.g. Numbers, pieces, units | Goods at reduced rate | per SRO | SRO and serial no. |
Fill it with your own verified codes. Keep it next to the invoicing screen, and update it each July when the new tariff is out.
What is still unclear
- FBR's DI code list and the published tariff don't always line up exactly, and FBR does not publish the DI list as a document. If a code you believe is correct is rejected, raise a ticket with PRAL at dicrm.pral.com.pk.
- How strictly FBR audits classification on DI invoices, as opposed to rejecting invalid ones, is not yet clear from public sources.
Need help?
Choosing HS codes and units for your top items is part of our free readiness check. Our FBR Digital Invoicing setup service in Islamabad and Rawalpindi connects you via PRAL and gets your first FBR-numbered invoice out; we are independent and not affiliated with FBR or PRAL. If an invoice is already being rejected, see FBR Digital Invoicing error codes explained. For simple invoices that don't go to FBR, try the free invoice generator.
Frequently asked questions
Is an HS code the same as a PCT code in Pakistan?
In practice, yes. The PCT code is Pakistan's 8-digit version of the international HS code. The first six digits are the international HS subheading, and the last two are Pakistan's national split. FBR Digital Invoicing asks for it in the format 0101.2100.
Where can I find the HS code for my product?
Start with your import GD or your supplier's FBR invoice, then confirm in the Pakistan Customs Tariff on fbr.gov.pk and check that the code is on FBR's Digital Invoicing list. For anything ambiguous, ask your tax advisor or a customs agent.
Why does FBR say my UOM is not valid?
FBR allows only certain units for each HS code. Use one of the units it lists for that code (your software can look them up), and convert your quantity to that unit if necessary.
Do service providers need an HS code on FBR invoices?
Yes, the field is required on every line. Services are classified under Chapter 98 headings in the service tax schedules. Use the heading for your service and check it is accepted by the DI system.
Keep reading
- FBR Digital Invoicing Error Codes Explained (and How to Fix Them)What the most common FBR Digital Invoicing error messages mean and how to fix them, from wrong tokens and HS codes to rounding and buyer registration type.
- Sales Tax Invoice Format in Pakistan (2026): Required FieldsA field-by-field checklist for a valid sales tax invoice in Pakistan under the Digital Invoicing rules, with a worked example and the mistakes buyers reject.
- FBR Digital Invoicing: A Step-by-Step Setup Guide for Small BusinessesWho must integrate, the deadlines, and every step from logging in to IRIS to posting your first live invoice through PRAL, FBR's free licensed integrator.