
Every FBR digital invoicing rejection carries a four digit error code, and the codes are published: sections 7 and 8 of PRAL's DI API Technical Specification version 1.12 list 86 sales error codes and 22 purchase error codes. This page reproduces all of them, with the message text as the specification words it, so you can look up the number on your screen rather than guess from the wording.
Two practical notes before the tables. First, look up the code, not the sentence. The string that reaches your screen is not always identical to the one in the specification, and a small difference in wording sends people down the wrong path. Second, several messages contain placeholders written as {0} and {1}. Those are filled in at run time, so the version you see will have a document type or a number where the specification shows a bracket.
How to read the response before you look up the code
FBR's response to a submitted invoice is a JSON object with a validation block inside it. The fields that matter are these:
- statusCode, where 00 means Valid and 01 means Invalid.
- status, the same thing in words.
- errorCode and error, the code and the message.
- invoiceStatuses, an array with one entry per line item, each carrying its own itemSNo, statusCode, status, invoiceNo, errorCode and error.
That structure tells you where the problem is. If the invoice was rejected as a whole, the specification's own example shows the error at the top level with invoiceStatuses returned as null. If a single line failed, the top level can still report the invoice while the item entry carries statusCode 01 and its own code. Fixing the wrong layer is the most common wasted hour on an integration.
At the transport layer the specification documents only three HTTP responses: 200 for OK, 401 for Unauthorized, and 500 for an internal server error with an instruction to contact the administrator. Anything that never reaches validation, a blocked source address for example, will show up there rather than as one of the numbered codes below. We cover that case in which IP address you whitelist for FBR digital invoicing.
Error 0052 and the HS code against sale type family
This is the single most searched rejection in Pakistani digital invoicing, and it is worth setting out precisely because the wording varies.
In the sales error code table, 0052 is published with the message "Please provide valid HS Code against invoice no:" and the explanation "HS Code that does not match with provided sale type, Please provide valid HS Code against sale type". The phrase people quote to us, HS Code does not match with provided sale type, comes from that explanation column rather than from the message the API returns. To make it more confusing, the specification's own worked example of a rejected invoice shows errorCode 0052 arriving with the text "Provide proper HS Code with invoice no. null". Three different strings, one code.
What it means in practice is that the HS code and the saleType on the same line are checked against each other, not just individually. A code that is perfectly valid on its own will still be rejected against the wrong sale type. Because the HS code normally lives on the product record rather than on the invoice, a single bad product will produce this rejection on every invoice that includes it until the catalogue is corrected. The valid combinations come from the reference APIs published in section 5 of the same specification, which is what a well built integration should be reading rather than a spreadsheet somebody typed. We explain the codes themselves in HS codes on an FBR invoice.
Four neighbours belong to the same family and are frequently confused with it:
- 0019 and 0044, both of which mean the HS code is simply missing rather than mismatched.
- 0099, where the unit of measurement is not one that is allowed for the HS code you sent.
- 0096, where the HS code permits only KWH as the unit, and 0097, where it must be KG.
The codes that come up most often in practice
0002 and 0108, registration number format
0002 covers the buyer and 0108 covers the seller. The explanation for 0002 is specific about what the system will accept: a buyer registration number in 13 digits, or an NTN in 7 or 9 digits. A number that is correct but padded, spaced or hyphenated fails here.
0113 and 0005, the date format
Both point at the same fix. The explanation for each states that the date must be provided in "YYYY-MM-DD" format, and gives 2025-05-25 as the example. Note that the message text for 0113 mentions dd-MMM-yy and the message for 0005 mentions 01-DEC-2021, which are examples of the wrong thing rather than instructions.
0046 and 0020, the rate
0020 is an empty rate field. 0046 is the one that catches people, because its explanation adds a condition: the rate must be valid as per the selected sales type. As with 0052, the value is being validated against another field rather than on its own.
0026, 0027 and 0028, correction documents
These three are about debit and credit notes. 0026 is a missing invoice reference number, 0027 is a missing reason, and 0028 is triggered specifically when the reason is set to "Others" and no remarks were supplied. The relationship between these documents and what your accounting software calls them is set out in what FBR means by a debit note.
0034 and 0035, the 180 day window
0034 is published with placeholders, as "{0} only allowed within {1} days of invoice date of the original invoice", and its explanation fills them in: a debit or credit note can only be added within 180 days of the original invoice date. 0035 is the mirror image, the note dated before the invoice it adjusts.
0102 to 0105, calculated tax mismatches
This group fails when the tax you sent does not equal the tax FBR computes from the values you sent. 0102 is the Third Schedule formula, 0103 is potassium chlorate, 0104 is a plain percentage mismatch against the rate, and 0105 is a quantity based calculation. These are rounding and formula errors far more often than they are rate errors.
0401 and 0402, the token
These two are the closest thing in the list to an access problem rather than a data problem. Each means the registration number provided, seller for 0401 and buyer for 0402, either is not in the expected 13 digit or 7 digit form, or has no authorised token against it.
Complete list of FBR sales error codes
All 86 codes from section 7 of the specification, in the order the document lists them. The middle column is the message the system carries, and the right column is the specification's own explanation of it.
| Code | Message | What it means |
|---|---|---|
| 0001 | Seller not registered for sales tax, please provide valid registration/NTN. | Seller is not registered for sales tax, please provide valid seller registration/NTN. |
| 0002 | Invalid Buyer Registration No or NTN : | Buyer Registration Number or NTN is not in proper format, please provide buyer registration number in 13 digits or NTN in 7 or 9 digits |
| 0003 | Provide proper invoice type. | Invoice type is not valid or empty, please provide valid invoice type |
| 0005 | please provide date in valid format 01-DEC-2021 | Invoice date is not in proper format, please provide invoice date in "YYYY-MM-DD" format. For example: 2025-05-25 |
| 0006 | Sale invoice not exist. | Sales invoice does not exist against STWH |
| 0007 | Wrong Sale type is selected with invoice no (Invoice no) | Selected invoice type is not associated with proper registration number, please select actual invoice type |
| 0008 | ST withheld at source should either be zero or same as sales tax/fed in st mode. | ST withheld at source is not equal to zero or sales tax, please enter ST withheld at source zero or equal to sales tax |
| 0009 | Provide Buyer registration No. | Buyer Registration Number cannot be empty, please provide proper buyer registration number |
| 0010 | Provide Buyer Name. | Buyer Name cannot be empty, please provide valid buyer name |
| 0012 | Provide Buyer Registration Type | Buyer Registration type cannot be empty, please provide valid Buyer Registration type |
| 0011 | Provide invoice type. | Invoice type cannot be empty, please provide valid invoice type |
| 0013 | Provide valid Sale type. | Sale type cannot be empty/null, please provide valid sale type |
| 0018 | Please provide Sales Tax/FED in ST Mode | Sales Tax/FED cannot be empty, please valid provide Sales Tax/FED |
| 0019 | Please provide HSCode | HS Code cannot be empty, please provide valid HS Code |
| 0020 | Please provide Rate | Rate field cannot be empty, please provide Rate |
| 0021 | Please provide Value of Sales Excl. ST /Quantity | Value of Sales Excl. ST /Quantity cannot be empty, Please provide valid Value of Sales Excl. ST /Quantity |
| 0022 | Please provide ST withheld at Source or STS Withheld | ST withheld at Source or STS Withheld cannot be empty, Please provide valid ST withheld at Source or STS Withheld |
| 0023 | Please provide Sales Tax | Sales Tax cannot be empty, Please provide valid Sales Tax |
| 0024 | Please provide ST withheld | Sales Tax withheld cannot be empty, Please provide valid Sales Tax withheld |
| 0026 | Invoice Reference No. is required. | Invoice Reference No. is mandatory requirement for debit/credit note. Please provide valid Invoice Reference No. |
| 0027 | Reason is required. | Reason is mandatory requirement for debit/credit note. Please provide valid reason for debit/credit note |
| 0028 | Reason Remarks are required. | Reason is selected as "Others". Please provide valid remarks against this reason |
| 0029 | Invoice date must be greater or equal to original invoice no. | Debit/Credit note date should be equal or greater from original invoice date |
| 0030 | Unregistered distributer type not allowed before date | Unregistered distributer type not allowed before system cut of date |
| 0031 | Provide Sales Tax | Sales Tax is not mentioned, please provide Sales Tax |
| 0032 | STWH can only be created for GOV/FTN Holders. | User is not FTN holder, STWH can only be created for GOV/FTN Holders without sales invoice. |
| 0034 | {0} only allowed within {1} days of invoice date of the original invoice | Debit/Credit note can only be added within 180 days of original invoice date |
| 0035 | {0} date must be greater or equal to original invoice date. | Note Date must be greater or equal to original invoice date |
| 0036 | Total {1} value of {0} invoice(s) is greater than {1} of original invoice. Value of Sales | Credit Note Value of Sale must be less or equal to the value of Sale in original invoice. |
| 0037 | Total {1} value of {0} invoice(s) is greater than {1} of original invoice.ST Withheld as WH Agent | Credit Note Value of ST Withheld must be less or equal to the value of ST Withheld in original invoice. |
| 0039 | Sale invoice not exist. | For registered users, STWH invoice fields must be same as sale invoice |
| 0041 | Provide invoice No. | Invoice number cannot be empty, please provide invoice number. |
| 0042 | Provide invoice date. | Invoice date cannot be empty, please provide invoice date. |
| 0043 | Provide valid Date. | Invoice date is not valid, please provide valid invoice date. |
| 0044 | Provide HS Code. | HS Code cannot be empty, please provide HS Code |
| 0046 | Provide rate. | Rate cannot be empty, please provide valid rate as per selected Sales Type. |
| 0050 | Please provide valid Sales Tax withheld. For sale type 'Cotton ginners', Sales Tax Withheld must be equal to Sales Tax or zero | Please provide valid Sales Tax withheld. For sale type 'Cotton ginners', Sales Tax Withheld must be equal to Sales Tax or zero |
| 0052 | Please provide valid HS Code against invoice no: | HS Code that does not match with provided sale type, Please provide valid HS Code against sale type |
| 0053 | Provided buyer registration type is invalid | Buyer Registration Type is invalid, please provide valid Buyer Registration Type |
| 0055 | Please Provide ST Withheld as WH Agent | Sales tax withheld cannot be empty or invalid format. Please provide valid sales tax withheld. |
| 0056 | Buyer not exists in steel sector. | Buyer does not exist in steel sector |
| 0057 | Reference Invoice does not exist. | Reference invoice for debit/ credit note does not exists. Please provide valid Invoice Reference No. |
| 0058 | Self-invoicing not allowed | Buyer and Seller Registration number are same, this type of invoice is not allowed |
| 0064 | Reference invoice already exist. | Credit note is already added to a invoice |
| 0067 | {1} of {0} invoice is greater than {1} of original invoice. | Sales Tax value of Debit Note is greater than original invoice's sales tax |
| 0068 | {1} of {0} invoice is less than {1} of original invoice. | Sales Tax value of Credit Note is less than original invoice's sales tax according to the rate. |
| 0070 | STWH cannot be created for unregistered buyers. | User is not registered, STWH is allowed only for registered user |
| 0071 | Entry of {0} against the declared invoice is not allowed. | Credit note allowed to add only for specific users |
| 0073 | Provide Sale Origination Province of Supplier | Sale Origination Province of Supplier cannot be empty, please provide valid Sale Origination Province of Supplier. |
| 0074 | Provide Destination of Supply | Destination of Supply cannot be empty, please provide valid Destination of Supply |
| 0077 | Provide SRO/Schedule No. | SRO/Schedule Number cannot be empty, please provide valid SRO/Schedule Number |
| 0078 | Provide Item Sr. No. | Item serial number cannot be empty, please provide valid item serial number |
| 0079 | If Value of Sales Excl. ST greater than {0}. Rate {1} not allowed. | If sales value is greater than 20,000 than rate 5% is not allowed |
| 0080 | Please provide Further Tax | Further Tax' cannot be empty, please provide valid Further Tax |
| 0081 | Please provide Input Credit not Allowed | 'Input Credit not Allowed' cannot be empty, please provide ‘Input Credit not Allowed' |
| 0082 | The Seller is not registered for sales tax. Please provide a valid registration/NTN. | The Seller is not registered for sales tax. Please provide a valid registration/NTN. |
| 0083 | Mismatch Seller Registration No. | Seller Reg No. doesn’t match. Please provide valid Seller Registration Number |
| 0085 | Please provide Total Value of Sales (In case of PFAD only) | Total Value of Sales is not provided, please provide valid Total Value of Sales (In case of PFAD only) |
| 0086 | You are not an EFS license holder who has imported Compressor Scrap in the last 12 months. | You are not an EFS license holder who has imported Compressor Scrap in the last 12 months. |
| 0087 | Petroleum Levy rates not configured properly. | Petroleum Levy rates not configured properly. Please update levy rates properly |
| 0088 | Alphanumeric and (-) contained invoice No. is allowed. (-) should be in between Alphanumeric string. | Invoice number is not valid, please provide valid invoice number in alphanumeric format. For example: Inv-001 |
| 0089 | Please provide FED Charged | FED Charged cannot be empty, please provide valid FED Charged |
| 0090 | Please provide Fixed / notified value or Retail Price | Fixed / notified value or Retail Price cannot be empty, please provide valid Fixed / notified value or Retail Price |
| 0091 | Extra tax must be empty. | Extra tax must be empty. |
| 0092 | Provide Valid Sale Type. | Purchase type cannot be empty, please provide valid purchase type |
| 0093 | Selected Sale Type are not allowed to Manufacturer. | Selected Sale is are not allowed to Manufacturer. Please select proper sale type |
| 0095 | Please provide Extra Tax | Extra Tax cannot be empty, please provide valid extra tax |
| 0096 | For selected HSCode only KWH UOM is allowed. | For provided HS Code, only KWH UOM is allowed |
| 0097 | Provide UOM KG. | Please provide UOM in KG |
| 0098 | Please provide Quantity / Electricity Units | Quantity / Electricity Unit cannot be empty, please provide valid Quantity / Electricity Unit |
| 0099 | Provide uom. | UOM is not valid. UOM must be according to given HS Code |
| 0100 | Cotton Ginners allowed against registered buyers only. | Registered user cannot add sale invoice. Only cotton ginner sale type is allowed for registered users. |
| 0101 | Please Use Toll Manufacturing Sale Type for Steel Sector. | Sale type is not selected properly, please use Toll Manufacturing Sale Type for Steel Sector. |
| 0102 | Calculated tax not matched in 3rd schedule | The calculated sales tax not calculated as per 3rd schedule calculation formula |
| 0103 | The calculated tax for Potassium Chlorate does not match. | Calculated tax not matched for potassium chlorate. Calculated value doesn’t match according to potassium chlorate for sales potassium invoices. |
| 0104 | The calculated percentage sales tax does not match. | Calculated percentage of sales tax not matched. Calculation must be correct with respect to provided rate |
| 0105 | The calculated sales tax for the quantity is incorrect. | The calculated sales tax for the quantity is incorrect. |
| 0106 | The Buyer is not registered for sales tax. Please provide a valid registration/NTN. | The Buyer is not registered for sales tax. Please provide a valid registration/NTN. |
| 0107 | Mismatch Buyer Registration No. | Buyer Reg No. doesn’t match. Please provide valid Buyer Registration Number |
| 0108 | Invalid Seller Registration No or NTN | Seller Reg No. is not valid. Please provide valid Seller Registration Number/NTN |
| 0109 | Wrong invoice type is selected in invoice no | Invoice type is not selected properly, please select proper invoice type |
| 0111 | Wrong purchase type is selected with invoice no | Purchase type is not selected properly, please provide proper purchase type |
| 0113 | System is unable to parse date. Please provide date in valid format dd-MMM-yy. | Date is not in proper format, please provide date in "YYYY-MM-DD" format. For example: 2025-05-25 |
| 0300 | Provided decimal value is not valid at field | Discount Value is not valid at item 1 | Total Value is not valid at item 1 | Fed Payable Value is not valid at item 1 | Extra Tax Value is not valid at item 1 | Further Tax Value is not valid at item 1 | SalesTaxWithheldAtSource Value is not valid at item 1 | Quantity Value is not valid at item 1 |
| 0401 | The provided seller NTN/CNIC does not have a valid or authorized access token | Unauthorized access: Provided seller registration number is not 13 digits (CNIC) or 7 digits (NTN) or the authorized token does not exist against seller registration number |
| 0402 | The provided buyer NTN/CNIC does not have a valid or authorized access token | Unauthorized access: Provided buyer registration number is not 13 digits (CNIC) or 7 digits (NTN) or the authorized token does not exist against buyer registration number |
Reproduced from section 7 of the PRAL DI API Technical Specification version 1.12. Wording, including its inconsistencies, is FBR's own.
Purchase error codes
Section 8 lists a separate, shorter set for purchase side submissions. Several of them duplicate a sales code with a different number, which is why looking up a code without knowing which side you are on can mislead you.
| Code | Message | What it means |
|---|---|---|
| 0156 | Invalid NTN / Reg No. provided. | NTN/Reg. No is invalid/Null, please provide valid NTN/Reg. No. |
| 0157 | The Buyer is not registered for sales tax. Please provide a valid registration/NTN. | The Buyer is not registered for sales tax. Please provide valid Registration/NTN. |
| 0158 | Mismatch Buyer Registration No. | Buyer Reg No. doesn’t match. Please provide valid Buyer Registration Number |
| 0159 | FTN holder as seller not allowed for purchases. | FTN Holder as Seller is not allowed for purchases |
| 0160 | Provide Buyer Name. | Buyer Name cannot be empty, please provide valid buyer name |
| 0161 | Invoice Date must be greater or equal to {0} | Invoice Date must be greater or equal to original sale invoice date |
| 0162 | Provide Sale Type. | Sale Type cannot be empty/Invalid, please provide valid Sale Type |
| 0163 | Selected Sale Type are not allowed to Manufacturer. | Provided Sale Type is not allowed for Manufacturer. |
| 0164 | For selected HSCode only KWH UOM is allowed. | For provided HS Code, only KWH UOM is allowed |
| 0165 | Provide UOM KG. | Please provide UOM in KG |
| 0166 | Please provide Quantity / Electricity Units | Quantity / Electricity Unit cannot be empty, please provide valid Quantity / Electricity Unit |
| 0167 | Provide Value of Sales Excl. ST | Value of Sales Excl. ST cannot be empty/Invalid, please provide valid Value of Sales Excl. ST |
| 0168 | Cotton Ginners allowed against registered buyers only. | Only cotton ginner purchase type is allowed for registered users. |
| 0169 | STWH can only be created for GOV/FTN Holders. | User is not FTN holder, STWH can only be created for GOV/FTN Holders without purchase invoice. |
| 0170 | If Value of Sales Excl. ST greater than {0}. Rate {1} not allowed. | If Value of Sales Excl. ST greater than 20000 than rate 5% is not allowed. |
| 0171 | You are not an EFS license holder who has imported Compressor Scrap in the last 12 months. | You are not an EFS license holder who has imported Compressor Scrap in the last 12 months. |
| 0172 | Petroleum Levy rates not configured properly. | Petroleum Levy rates not configured properly. Please update levy rates properly |
| 0173 | Alphanumeric and (-) contained invoice No. is allowed. (-) should be in between Alphanumeric string. | Invoice number is not valid, please provide valid invoice number in alphanumeric format. For example: Inv-001 |
| 0174 | Please provide Sales Tax | Sales Tax cannot be empty, please provide valid Sales Tax |
| 0175 | Please provide Fixed / notified value or Retail Price | Fixed / notified value or Retail Price cannot be empty, please provide valid Fixed / notified value or Retail Price |
| 0176 | Please provide ST withheld at Source | ST withheld at Source cannot be empty, please provide valid ST withheld at Source |
| 0177 | Please provide Further Tax | Further Tax cannot be empty, please provide valid further tax |
Codes that circulate online but are not in the specification
We checked the widely copied lists against the document and there are differences worth flagging, because a wrong meaning costs more time than no meaning at all.
- 0059, 0060, 0061 and 0062 do not appear in either table in version 1.12. They are quoted on several integrator blogs with detailed meanings about minimum notified price and unit of measurement rules. We cannot source them and therefore do not list them.
- Some real codes are given the wrong meaning elsewhere. 0100 is often described as the buyer not being registered. In the specification its message reads "Cotton Ginners allowed against registered buyers only." and its explanation concerns cotton ginner sale types. Where a third party list and the specification disagree, we have published the specification.
- There is no code for a source address that is not whitelisted, and no code for a network failure. Those never reach the validation stage.
- The numbering has gaps by design. The sales list jumps from 0003 to 0005, from 0013 to 0018, from 0058 to 0064, and ends with 0300, 0401 and 0402. Missing numbers are not codes you have failed to find.
What to do with a rejection
The sequence that works is short. Read the statusCode at both levels so you know whether the invoice failed or one line failed. Take the code, not the sentence. Fix the data at its source, which for HS codes, units and rates means the product record rather than the invoice screen. Then resubmit.
That last step is manual by design. PRAL's Digital Invoicing User Manual states that the system does not feature automatic retries for failed uploads, so an invoice interrupted by a connectivity failure has to be sent again through the system rather than left to recover itself. An integration that quietly drops failed submissions will produce a gap in your reported sales that nobody notices until a return is being filed.
The broader patterns behind these codes, and the handful of causes that produce most of them, are set out in why FBR invoices get rejected. If you would rather not maintain this validation yourself, that is what our FBR digital invoicing service does.
Catch these before FBR does
AxiomSquare validates buyer registration, HS code against sale type, units, rates and required fields as the invoice is created, so a rejection is the exception rather than something you discover afterwards.
See FBR digital invoicingLast verified: 27 August 2026. Primary source read directly for this page: the PRAL Technical Specification for DI API, document version 1.12, last updated 24 July 2025, privacy level marked Public and published by the Federal Board of Revenue at download1.fbr.gov.pk. Every code and every message string on this page is transcribed from section 7, Sales Error Codes, and section 8, Purchase Error Codes, of that document, together with the response structure in sections 4.1.3 to 4.1.6 and the reference APIs in section 5. The counts of 86 sales codes and 22 purchase codes, and the absence of codes 0059 to 0062, were established by reading the tables in full rather than from any secondary list. The PRAL Digital Invoicing User Manual, document version 1.6, was read for the statement that the system does not retry failed uploads. Error codes and messages are FBR's own and may be revised by FBR at any time. General information, not tax advice.