How these pages are made
Law pages are generated from official FBR files rather than written from memory. Question pages are written explanations, checked against the law before they are published. This page explains both, including their limits.
How law pages are made
- Collect. Official files are downloaded from FBR's listing pages, exactly as FBR publishes them. Each page links FBR's own copy, and only after checking that it is the same file, byte for byte, as the one the page was made from.
- Detect. Each file is checked page by page for a usable text layer, and for the script it is written in.
- Extract. Pages with a text layer are converted directly from the PDF. Scanned pages, which have no text layer, are transcribed from the page images with an AI model and marked as transcribed on the page. A small number of scanned pages that the model would not transcribe were read with OCR software instead, and those pages say so where they appear.
- Measure. Sections and amendment footnotes are counted, and each consolidated version of a law is compared against the one before it.
- Publish. One page per source document, carrying its own figures, checksum and link to the official file.
The corpus today
- Documents published: 191
- Source pages covered: 32,921
- Categories: 19
- Documents with section data extracted: 172
- Documents with pages transcribed from images: 47
- Question pages published: 539
How change pages are checked
A change page compares one consolidated version of a law with the one before it. Before a section is listed as added, the earlier version's text is searched for it, because a heading laid out unusually can be missed on a first pass. A section is listed as omitted only when the newer version's own text records it as omitted or deleted. Sections that were renumbered are shown as renumbered. Anything else that cannot be found under the same number is listed separately, with a prompt to check the official file.
How question pages are written
Each question page answers one question for one kind of taxpayer. It is drafted with AI tools from the text of the latest consolidated edition of the law, not from memory, and every legal point names the section it comes from. A separate check then goes through the page against the cited sections: each statement, each rate and threshold, and each worked example's arithmetic. Anything the text does not support is removed. Pages that have not had this check yet say so; currently 25 of 539 have. Worked examples use invented amounts with the real rates and say so. A page cannot be published if it cites a section that does not exist in that law: the site build fails instead.
Known limitations
Stating these plainly is more useful than implying the process is perfect.
- Counts are measurements, not an official tally. Headings are detected by pattern. A section formatted unusually can be missed.
- Tables are not reproduced in the law text. Rate schedules, forms and other tables are left out of the text on law pages, and each page that has them says so. Use the official file for rates.
- A missing section is not proof of repeal. See how change pages are checked, above. Treat any difference as a prompt to check the official file.
- Transcription can make mistakes. Pages transcribed from images are marked on the page, and words the model could not read are marked [illegible] rather than guessed. Check figures, dates and tables on those pages against the official file.
- Urdu text inside a PDF is often unreadable. Nastaliq Urdu PDFs store letters in visual order, and some fonts store only glyph codes, so text taken from the file comes out scrambled. Where that happens, the page says so and shows no text. Urdu documents transcribed from their page images are shown in full.
- Not every instrument is here. The site carries the Acts, Ordinances, Rules and SROs that FBR lists on its law pages. Other SROs, general orders, circulars and case law can change how a provision works in practice and are not included.
Corrections
Because law pages are generated, a defect is usually in the process rather than in one page. Fixing it corrects every affected page at once. A question page is corrected on its own and its review date changes. Report anything that looks wrong through thecontact page.