FBR Digital Invoicing · Guide

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.

Frequently asked questions

What is UoM in an FBR digital invoice?

UoM stands for Unit of Measurement — how you count the item on that line, such as pieces, KG, MT, litres or KWH. Every goods line on an FBR digital invoice must carry one, and it cannot be free text. FBR publishes a master list of units and, more usefully, a list of which units are allowed against each HS code. Your software should pick the unit from that second list, because that is the list FBR validates against when the invoice is posted.

Why does FBR reject my invoice with error 0099?

Error 0099 means the unit you sent is not allowed for the HS code you sent. The two are linked: FBR keeps a short list of acceptable units for each HS code, and anything outside it fails. Fix it by confirming the HS code first, then choosing the unit from FBR's allowed list for that code. Related unit errors are 0062 (steel melting and re-rolling must use MT), 0097 (Potassium Chlorate must use KG), 0096 (electricity HS codes accept only KWH) and 0060 or 0061 for the square-yard and per-bill service rates.

Can I use my own unit like carton, bori, than or darzan?

No. FBR only accepts units from its own published list, so trade words like carton, bori, than, darzan or tola will be rejected. Convert to a unit that is on the list — kilograms, pieces or metres — and put the pack detail in the product description, which is free text. For example, sell 10 cartons of 12 pieces as 120 pieces and write 'carton of 12' in the description. Your own records can still be kept in cartons; only the line that goes to FBR has to use FBR's unit.

Start issuing FBR-compliant invoices today

Digi Invoice validates, posts and QR-stamps your sales tax invoices through FBR's Digital Invoicing API — no development required.