FBR Digital Invoicing · Guide

SRO Schedule No. and Item Serial No. on an FBR Invoice: What to Fill and Where to Find It (2026)

FBR error 0077 and 0078 explained in plain words: when the SRO Schedule No. and Item Serial No. are compulsory, and the exact value to put in each.


What this guide tells you, in plain words

Two small boxes on an FBR invoice refuse more invoices than almost any other field: SRO Schedule No. and SRO Item Serial No. If the tax rate on your line is anything other than 18%, FBR usually wants both of them filled in. Leave the first one empty and FBR sends back error 0077. Fill the first but leave the second empty and it sends back error 0078.

This guide explains what those two boxes mean in everyday words, when FBR makes them compulsory, and how to look up the exact value FBR will accept. It also lists the real values FBR uses in its own sample invoices, so you can copy the pattern for your own goods instead of guessing.

What these two boxes actually are

SRO stands for Statutory Regulatory Order. An SRO (Statutory Regulatory Order — a legal notice the government issues to change or explain a tax rule) is how FBR tells the country that a certain item is taxed at a lower rate, at zero, or not at all.

A schedule is a numbered table attached to the Sales Tax Act 1990. The Sixth Schedule carries exempt goods. The Eighth Schedule carries goods at reduced rates. The Ninth Schedule carries mobile phones. The Third Schedule carries goods taxed on the printed retail price.

So SRO Schedule No. means one thing: which notice or which table gives you the special rate you are charging on this line. It is not your invoice number, and it has nothing to do with your own paperwork or your order number.

SRO Item Serial No. means which line inside that table your product sits on. The Eighth Schedule alone runs to hundreds of lines. Naming the table is not enough, so FBR asks for the line as well.

Think of a school register. The schedule is the class. The serial number is the roll number of one student in that class. FBR wants both, because the class on its own does not identify anybody.

In FBR's API (Application Programming Interface — a connection that lets two software systems talk to each other) the two boxes are named sroScheduleNo and sroItemSerialNo. Both are text fields. Neither is a number, and that matters more than it sounds.

When FBR makes them compulsory

FBR's own error guide states the rule in one line. Error 0077 reads: "Valid SRO/Schedule No. is mandatory where rate is not 18%." Its companion, error 0078, reads: "Valid Item Sr. No. is mandatory where SRO/Schedule No. is provided."

So the working rule for most sellers is short. Charging the standard 18%? Leave both boxes empty. Charging anything else — 1%, 5%, 0%, Exempt, or a fixed rupee rate — expect FBR to ask for both.

One thing confuses developers here. The field list in FBR's technical document marks both fields "Optional". That word describes the shape of the message, not the check FBR runs on it. A field can be optional to send and still compulsory for your rate.

There are real exceptions, and FBR's own sample invoices prove it. Third Schedule goods are taxed at 18% on the printed retail price and carry no SRO at all. Cement and concrete blocks are billed at a fixed "Rs.3" rate, and FBR's sample still leaves both boxes empty. Steel melting, ship breaking and toll manufacturing are all at 18% and carry nothing either.

That is why the safe test is not to guess from the rate alone. Ask FBR's own lookup for your rate. If it hands back a list of schedules, you must pick one from that list. If it hands back nothing, leave the boxes empty.

Where to find the right value: two lookups, in order

FBR publishes free lookup services for exactly this. You never have to invent a value, and you should never copy one off another company's invoice.

Step one is your rate. The SaleTypeToRate service returns the rates allowed for your sale type, your province and your invoice date. Every rate comes back with an id number.

Step two is the schedule. Send that rate id to the SroSchedule service at gw.fbr.gov.pk/pdi/v1/SroSchedule. You pass three things: rate_id, date, and your province id. It answers with a short list, such as id 7 "Zero Rated Gas" and id 8 "5th Schedule". The description it returns is what goes in your SRO Schedule No. box.

Step three is the serial. Take the schedule id you picked and send it to the SROItem service at gw.fbr.gov.pk/pdi/v2/SROItem, along with the date. It answers with the serial numbers that exist inside that schedule. Pick the one that matches your product, and that value goes in SRO Item Serial No.

One detail trips up nearly every developer. The two services want the date written differently. SroSchedule, which is version 1, wants DD-MMM-YYYY, like 21-Apr-2026. SROItem, which is version 2, wants YYYY-MM-DD, like 2026-04-21. Send the wrong shape and you get an empty list back, which looks exactly like "no schedule applies" — so the invoice goes out blank and is refused.

These lists change when the law changes. That is why the date is part of every request. An SRO that was valid last year may not be valid for an invoice dated today.

Real values FBR accepts, taken from its own samples

These pairs come from the sample invoices FBR publishes for sandbox testing (sandbox — FBR's free practice system, where test invoices do not count as real). They show the shape of a correct answer for each kind of goods.

Reduced-rate goods at 1%: schedule "EIGHTH SCHEDULE Table 1", serial "82".

Exempt goods: schedule "6th Schd Table I", serial "100".

Zero-rated goods: schedule "327(I)/2008", serial "1".

Mobile phones: schedule "NINTH SCHEDULE", serial "1(A)".

Petroleum products at 1.43%: schedule "1450(I)/2021", serial "4".

Electricity supplied to retailers at 5%: schedule "1450(I)/2021", serial "4".

IT and consultancy services at 5%: schedule "ICTO TABLE I", serial "1(ii)(ii)(a)".

Electric vehicles at 1%: schedule "6th Schd Table III", serial "20".

Potassium chlorate: schedule "EIGHTH SCHEDULE Table 1", serial "56".

CNG: schedule "581(1)/2024", serial "Region-I".

Goods under SRO 297: schedule "297(I)/2023-Table-I", serial "12".

Medicines at a fixed rate: schedule "EIGHTH SCHEDULE Table 1", serial "81".

Standard 18% goods, sold to registered and unregistered buyers alike, carry an empty value in both boxes.

Copy the pattern, not the value. Your serial number is the line that matches your goods, not the line in FBR's example. 'Reduced-Rate Goods in FBR Digital Invoicing' and 'Zero-Rated vs Exempt Invoices in FBR Digital Invoicing' explain which category your goods fall into before you start looking anything up.

Four mistakes that get invoices refused

Treating the serial as a number. Look again at "Region-I", "1(A)" and "1(ii)(ii)(a)". Serials carry letters, brackets and roman numerals. If your software stores this field as a number, those values are destroyed inside your own system before they ever reach FBR.

Filling one box and leaving the other. Error 0078 exists only for this. Once you name a schedule, FBR wants the line inside it. The two travel together or not at all.

Reusing last year's SRO. Both lookups take a date because the answer depends on it. An SRO can be withdrawn or replaced. Check again when the law moves, and after every budget.

Copying a schedule from a different rate or province. The lookup is keyed to the rate id and the province id. A value that works for a Sindh seller at 1% can return nothing for a Punjab seller at 5%.

If an invoice is being refused and you are not sure which rule broke, 'FBR Digital Invoicing Error Codes: The Complete Reference (0001–0402)' lists every code FBR can send back. The two neighbouring fields that fail for the same reason are the unit and the code for the goods: 'UoM in FBR Digital Invoicing: Picking the Right Unit of Measurement (2026)' and 'HS Codes in FBR Digital Invoicing: A Practical Guide' cover those. All three are worth testing together in the sandbox — 'FBR Digital Invoicing Sandbox Testing Scenarios (SN001–SN028) Explained' shows how.

Digi Invoice pulls both lists from FBR live, shows them as a dropdown instead of a blank box, and stops the invoice before posting if the pair does not match the rate you chose. Create a free account and post a practice invoice before you go live. If you have not registered with FBR yet, 'How to Register for FBR Digital Invoicing (Step by Step)' is the step before this one.

Difficult words in this guide

SRO: Statutory Regulatory Order — a legal notice the government issues to change or explain a tax rule.

Schedule: a numbered table attached to the Sales Tax Act 1990 listing goods that get special treatment, such as exemption or a lower rate.

Serial number (inside a schedule): the line number of one item in that table. It can contain letters and brackets, not only digits.

Lookup service: a free FBR web address your software can ask for the current valid list, instead of keeping an old copy that goes stale.

Error 0077 and 0078: the codes FBR sends back when the SRO Schedule No. or the Item Serial No. is missing, empty or wrong for your rate.

Frequently asked questions

What is SRO Schedule No. in an FBR invoice?

It is the name of the notice or the table in the law that gives your goods their special tax rate. SRO stands for Statutory Regulatory Order, a legal notice issued by the government. A schedule is a numbered table attached to the Sales Tax Act 1990 — the Sixth Schedule for exempt goods, the Eighth for reduced rates, the Ninth for mobile phones. It is not your invoice number and it is not anything your own office creates. In FBR's system the field is called sroScheduleNo, it holds text, and its value comes from FBR's own SroSchedule lookup for your rate, your province and your invoice date.

How do I fix FBR error 0077?

Error 0077 says a valid SRO or Schedule No. is compulsory where the rate is not 18%. Fix it in three steps. First, confirm the rate on the line — if it really is 18% standard-rate goods, the error usually means the wrong sale type was picked, not a missing schedule. Second, call FBR's SroSchedule service with your rate id, the invoice date in DD-MMM-YYYY form, and your province id, and take the schedule description it returns. Third, call the SROItem service with that schedule id and the date in YYYY-MM-DD form, and pick the serial that matches your product. Put both values on the line, then post again. Filling only the schedule will replace error 0077 with error 0078.

What do I put in SRO Schedule No. for normal 18% goods?

Nothing. Leave both SRO Schedule No. and SRO Item Serial No. empty for standard-rate goods at 18%, whether the buyer is registered or unregistered. FBR's own sample invoices for standard-rate sales show both fields blank. The same is true for several other categories that are not at a reduced rate — Third Schedule goods taxed on retail price, steel melting and re-rolling, ship breaking and toll manufacturing all carry empty values in FBR's samples. If you are unsure, ask FBR's SroSchedule lookup for your rate: if it returns no schedules, the correct entry is an empty box, not a made-up value.

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.