UoM in FBR Digital Invoicing: Picking the Right Unit of Measurement (2026)
UoM is how you count an item. Pick the unit FBR allows for your HS code, stop error 0099, and see which trades must use MT, KG, KWH or SqY.
What UoM means, in plain words
UoM is short for Unit of Measurement. It is simply how you count the thing you are selling: pieces, kilograms, litres, metres. This page explains where FBR's list of allowed units comes from, which trades are forced to use one exact unit, and the quantity rules that travel with the unit.
It matters because FBR checks it. The rules come from SRO 1852(I)/2025, the notification FBR issued on 24 September 2025 that set who must join and by when. Under it the last group of registered businesses had to be in by 31 December 2025, and the penalty for staying out starts at Rs 1 million. A bill that passes comes back with an IRN (Invoice Reference Number — the unique number FBR gives each invoice) and a QR code (the square barcode a buyer can scan to check the bill is real). A bill that carries a unit FBR does not accept for that product comes back rejected with error 0099.
The good news: this is a lookup problem, not a judgement call. There is one correct answer for each product, and it is published. You do not have to guess.
The unit belongs to the HS code, not to your habit
Every goods line on an FBR digital invoice (the real-time billing system, meaning FBR checks and saves each bill the moment you make it) carries an HS code (Harmonised System code — the international product number that tells FBR exactly what you sold). The unit is tied to that code.
FBR publishes two lists through its reference APIs (an API is a connection that lets two software systems talk to each other). The first is the master list of every unit FBR knows, with entries such as 'Numbers, pieces, units', 'KG', 'MT', 'Square Metre' and 'KWH'. The second, and the one that actually decides your invoice, is the HS-to-UoM list: give it an HS code and it returns the short list of units allowed for that code. Anything outside that short list is rejected.
So the order of work is fixed: choose the HS code first, then choose the unit from what FBR allows for it. Never the other way round. Our guide 'HS Codes in FBR Digital Invoicing' shows how to find the right code for your product, and 'FBR Digital Invoicing Error Codes' lists every rejection FBR can send back.
This is where most shops trip. A karyana store counts in bori, a distributor counts in cartons, a cloth shop counts in than, a jeweller counts in tola. FBR's list has none of those words. Convert to a unit that is on the list — kilograms, pieces, metres — and keep the pack detail in the product description instead. The description is free text; the unit is not.
Trades where FBR forces one exact unit
For most shops the everyday answer is 'Numbers, pieces, units'. Spectacle frames, footballs, tyres, notebooks, medicine packs — all counted as pieces. Our sector pages for opticians, sports goods and toy shops, tyre and battery shops, book shops and pharmacies show how the lines look in practice.
But some trades have no choice at all. Steel melting and re-rolling must be billed in MT (metric tonnes). Send kilograms or pieces and FBR replies with error 0062, so software should lock the unit to MT and convert before posting — see 'FBR Digital Invoicing for the Steel Sector'.
Three more forced units follow the same pattern. Potassium Chlorate must be in KG, or you get error 0097. Electricity supply under its own HS codes accepts only KWH, or you get error 0096. And two service rates are pinned to their unit: a rate of 50 or 100 per square yard needs the unit SqY (error 0060), and the 200-per-bill rate under FED in sales tax mode needs 'Bill of lading' (error 0061).
Fuel is measured in litres, and FBR accepts the decimals a dispenser produces — our guide 'FBR Digital Invoicing for Petrol Pumps' covers that case. If your trade is not on this list, you are almost certainly in the ordinary group: pick from the HS-to-UoM short list and move on.
Quantity: the number that sits next to the unit
The unit and the quantity are checked together. For a sale of goods, quantity is compulsory — leave it blank and FBR answers with error 0098, 'Quantity is empty. Quantity is mandatory for sales of goods.' It is one of the most common rejections on a first live invoice.
There are limits on the numbers themselves. Quantity accepts up to four decimal places, so 37.4250 litres or 1.5000 MT post cleanly. Money fields accept up to two decimal places. Going past those limits gives error 0302. Sending a negative, blank or non-numeric value in a number field gives error 0300, so make sure empty boxes send a real zero rather than nothing.
One exception is worth knowing. For printed-price goods the tax is worked out on the printed retail price rather than on quantity times rate, and FBR's own sample for a retail reduced-rate sale even shows quantity as 0. That is a special case, not a general licence to leave quantity out — our guide 'Third Schedule Goods in FBR Digital Invoicing' explains when printed price takes over.
The unit also feeds the tax check. When a rate is a fixed rupee amount per unit — for example Rs 3 per block or Rs 200 per unit — FBR recalculates the tax as quantity times that rate and rejects the line if your figure does not match (error 0105). Our guide 'FBR Invoice Sales Tax Calculation Formulas' walks through each formula.
A 60-second check before you post
Four questions, in this order. One: is the HS code right for this exact product? Two: is the unit one FBR allows for that HS code? Three: is the quantity filled in, positive, and within four decimal places? Four: does the tax figure match FBR's own formula for the rate you used?
If you send invoices in batches, check the unit column before the batch, not after. One wrong unit repeated across 300 rows becomes 300 rejections in a single click — our guide 'FBR Digital Invoicing Bulk Upload from Excel' shows how to run a dry-run pass first.
On Digi Invoice you do not look any of this up by hand. Pick the product, and the unit list you see is the list FBR allows for that HS code, so an unacceptable unit never reaches the invoice. Create a free account and post a test invoice in the sandbox (FBR's free practice system where test invoices do not count as real) before you go live.
Difficult words in this guide
UoM (Unit of Measurement) — how you count the item you are selling, such as pieces, KG, MT or litres. It must be a unit FBR allows for that product.
HS code (Harmonised System code) — the international product number that tells FBR exactly what you sold. It decides which units are allowed.
Reference API — a lookup service FBR runs so your software can fetch approved values, such as the units allowed for one HS code, instead of guessing.
MT (metric tonne) — 1,000 kilograms. The compulsory unit for steel melting and re-rolling sales.
Error code — the short number FBR sends back when a bill is rejected. 0099 means the unit is not allowed for that HS code.
Sandbox — FBR's free practice system where test invoices do not count as real sales.