Nepal's Finance Bill came from two computers. That explains the page count. It doesn't explain the missing provisions.
The two documents
The page count difference between the two Finance Bill PDFs traces back to Microsoft Word. The parliamentary version was produced in Word 2013. The website version came from a different machine running Word 2019. Different versions paginate the same source content differently. On that point, the Finance Minister was right.
What Word cannot explain is why certain provisions appear in one document and not the other. Most have plausible innocent explanations. One is harder to read that way. Whether deliberate intent was involved is a question these documents cannot settle, but they do narrow the field.
Two PDFs. The parliamentary version: 470 pages, Word 2013, Jestha 20, carrying an erratum appendix at pages 465–470 from the FM's office dated Jestha 17. The MoF website version: 450 pages, Word 2019, created the same day, with the corrections folded directly into the body text.
Each disputed provision — what the documents actually say
Parliament received an exemption for household consumption up to 50 units per month only. The website version adds B2B wholesale electricity trading — covering hydropower producers selling to NEA. The erratum also adds it, so parliament formally acknowledges the omission. No corresponding announcement in the FM's speech makes this the provision with the weakest evidence of innocent intent.
NOT in budget speechThe FM's Jestha 15 speech does not mention VAT on electricity, the 50-unit threshold, or B2B electricity trading exemptions. The erratum frames this as a correction of an omission, but there is no independent speech announcement to corroborate that intent.
Section 11 imposes a new Clean Infrastructure Levy. Parliament's version lacked a standard anti-double-taxation clause protecting importers who had already paid excise at the border. The MoF version adds it. No directional beneficiary.
NOT specifically in budget speechThe Clean Infrastructure Levy itself is referenced in the speech in the context of EV policy, but the anti-double-tax proviso is not mentioned.
Media reporting cited a "percent vs. rupees" discrepancy. The two PDFs do not support this between themselves.
Both PDFs say Rs. 10 per liter. Same rate, typographic variation only. Earlier reporting cited "10 percent" in the parliamentary version; our reading of page 19 finds Rs. 10 per liter. The likeliest explanation is that the "percent" wording was in an earlier internal draft. No substantive difference between these two documents.
In budget speech (concept)A 10-year income tax exemption for cinema halls outside major municipalities. The FM announced it near-verbatim in his budget speech. It is in the website version's operative body. Parliament never received it. It appears only in the erratum appendix. You don't publicly announce a provision and then introduce it as an unauthorized amendment. This was dropped by error.
In budget speech — near-verbatimSame pattern as the cinema provision: missing from parliament, present in the website version, acknowledged by erratum. No budget speech announcement. Payroll systems computing TDS from the parliamentary text would miss this deduction. The intent is harder to read than the cinema holiday.
NOT in budget speechMedia reporting stated the parliamentary version applied a flat 5% road construction duty to all EVs, and that the MoF version introduced a concessional 2.5% rate for EVs under NPR 20 lakh transaction value: a rate change, not an absent clause. We found the 2.5% concessional band present in both PDFs' operative body text.
The 2.5% concessional rate for EVs under NPR 20 lakh appears in the operative body of both documents. No difference here.
Not in budget speech4202.12.90 ---अन्य (handbags, travel bags) 15 15 ← wrong
Erratum (p470): "१५ अङ्कको सट्टा ३० अङ्क समावेश गरिएको"
4202.12.90 ---अन्य (handbags, travel bags) ३० ३० ← correct
Parliament received both bag subheadings at 15%. Vaccine carriers stay at 15%; regular bags were meant to be 30%. A copy-paste error put them both at 15%. The erratum corrects it. Clean error, clean fix.
NOT in budget speechSummary across all seven provisions
| Provision | Parliamentary (470pp) | MoF website (450pp) | In FM speech | Nature |
|---|---|---|---|---|
| Electricity B2B trading exemption | Erratum appendix only (p468) | Operative body (p39) | No | Added in MoF version |
| Clean infra levy — excise proviso | Absent entirely | Operative body (p6) | No | Clerical omission |
| Green tax rate petrol/diesel | Rs. 10/liter (p19) | Rs. 10/liter (p17) | Yes (concept) | No difference |
| Cinema hall 10-yr tax holiday | Erratum appendix only (p469) | Operative body (p220) | Yes — verbatim | Omitted from parliament |
| Tuition fee deduction | Erratum appendix only (p469) | Operative body (p234) | No | Omitted from parliament |
| EV road duty 2.5% clause | Operative body (p427) | Operative body (p411) | No | Same in both |
| Bag tariff HS 4202.12.90 | 15% — wrong (p286); erratum corrects to 30% (p470) | 30% — correct (p268) | No | Clerical rate error |
what needs to change
The simpler fix is upstream. The Ministry of Finance should either publish nothing until the bill passes, or label any pre-passage version explicitly as a draft under parliamentary consideration. Not the law, not the operative text, not a substitute for what parliament received. What gets posted on a ministry website should not be ambiguous about its own legal status. That ambiguity is what made this controversy possible.
Raw document metadata
Extracted using pdfinfo (poppler-utils) directly from
both files. Fields are embedded in the PDF document information
dictionary at export time from the source Word document.
| Field | Parliamentary tabled (470pp) | MoF website version (450pp) | Significance |
|---|---|---|---|
| Author | Yug Raj | Yug Raj | Same individual on both; produced on different machines |
| Creator / Producer | Microsoft® Word 2013 | Microsoft® Word 2019 | Different Word versions confirm different physical machines |
| Creation date | Jun 3, 11:28 UTC (Jestha 20) | May 31, 12:42 UTC (Jestha 17) | Website version was created 3 days before the parliamentary PDF |
| Tabling date | Jestha 15, 2083 (~May 29, 2026). Both PDFs created after tabling | ||
| Pages | 470 | 450 | Parliamentary version is 20 pages longer |
| File size | 9.5 MB | 5.1 MB | Difference reflects Word version image-handling, not content volume |
| PDF version | 1.5 | 1.7 | Older Word exports older PDF spec |
| Page dimensions | 381.6 × 612 pts | 381.6 × 612 pts | Identical: same document template used |
| Metadata stream (XMP) | Absent | Present | Parliamentary PDF missing extended metadata block |
| Encrypted / JavaScript | No / No | No / No | Both clean: no protection, no scripting |
Event timeline
| Date (BS) | Date (AD) | Event |
|---|---|---|
| Jestha 15, 2083 | ~May 29, 2026 | Finance Bill tabled in Federal Parliament. FM delivers budget speech announcing cinema tax holiday verbatim and green tax consolidation. |
| Jestha 17, 2083 | May 31, 2026 | FM's office issues formal erratum letter. MoF website version PDF created on this same day (12:42 UTC). It integrates all corrections directly into the operative body text. |
| Jestha 20, 2083 | Jun 3, 2026 | Parliamentary version PDF created (11:28 UTC) on a different machine. Appends erratum as a separate notice at pages 465–470 rather than integrating into body. This is the version formally associated with the tabled bill. |
| Jestha 28, 2083 | ~Jun 11, 2026 | FM appears before Finance Committee. States "not even a full stop changed." Media publishes detailed explainer listing seven specific changes. This analysis published. |
How this analysis was done
Document acquisition
The parliamentary tabled version (470 pages) was provided directly. The MoF website version (450 pages) was obtained from Ministry of Finance public circulation. Neither file was modified. Both are Word-exported PDFs with embedded text layers, not scans, so text extraction is reliable. The mof.gov.np and parliament.gov.np servers return 403 Forbidden to automated requests and could not be fetched directly.
Media reports indicate the MoF replaced its website PDF at least four times after tabling. Our analysis covers one version of the MoF PDF, the version in public circulation at the time of this analysis. We cannot speak to differences between earlier upload cycles.
Metadata extraction
We used pdfinfo (poppler-utils) to read document
properties from both files: creation and modification timestamps,
author, creator/producer application, page count, file size, PDF
version, page dimensions, encryption status, and XMP metadata
stream presence. Timestamps are set at PDF export time from the
Word source document. They can in principle be altered, but we
treat them as reliable. They are internally consistent with the
known event sequence and with the different Word versions embedded
in each file.
Text extraction and word-level diff
Full text was extracted from both PDFs using
pdftotext
(poppler-utils). We then ran a word-level diff using Python's
difflib.SequenceMatcher with
autojunk=False, producing 2,696 change blocks. Of
these, 2,677 are small changes of 1–5 words: Devanagari
word-spacing artifacts from different Word versions, HS code token
formatting differences (e.g. 2502.00. 00 vs
2502.00.00), and page-number shifts from different
pagination. We focused analytical attention on the 19 large change
blocks (>5 words), which contain all substantive content
differences.
Provision-level verification
For each of the seven provisions cited in media coverage of this
controversy, we: (1) located the relevant page in each PDF using
targeted Devanagari keyword search, (2) extracted and read that
page directly with pdftotext -f N -l N, (3) recorded
whether the provision appears in the operative body text or only
in the erratum appendix, and (4) searched the budget speech for a
corresponding announcement. Page citations in this article refer
to PDF page numbers, not printed page numbers (which are offset by
front matter).
Budget speech cross-reference
Budget speech text was sourced from
github.com/bibstha/nepal-budget-2083-2084, an OCR
reconstruction, not the official transcript. We searched using
multiple Devanagari keyword variants to account for OCR spacing
artifacts. Absence from the reconstructed speech does not
conclusively mean the FM did not announce a provision; the
reconstruction may have gaps. Where a provision was found in the
speech, we quote the matching passage directly.
Classification criteria
Honest clerical error: A provision where the correction intent is structurally inferable (anti-double-tax language, standard rate correction), has no directional beneficiary, and is confirmed by the erratum. The excise proviso and the bag tariff meet this test.
Intended but dropped: A provision confirmed by the FM's own public announcement in the budget speech, present in the website version, and acknowledged by the erratum. The cinema tax holiday meets this test. The tuition deduction partially meets it: erratum acknowledges the omission, but no speech announcement provides independent corroboration of pre-tabling intent.
Added without parliamentary basis: A provision absent from the parliamentary text, absent from the FM's speech, and present only in the post-tabling website version and erratum. The electricity B2B exemption meets this description. We make no assertion of improper intent. This provision simply lacks the independent corroborating evidence of intent that the other provisions have.
Limitations
We make no legal interpretation of whether the erratum provisions have operative force under Nepal's constitutional framework. That requires judicial determination.
The original source document physically presented to the Parliament Secretariat on Jestha 15. The Word file or PDF from which the parliamentary version was produced, is not publicly available. Both PDFs in this analysis were created after tabling. The parliamentary PDF (Jestha 20) postdates the erratum (Jestha 17).
PDF metadata timestamps can be altered by a motivated actor. We treat them as reliable but note this caveat explicitly.
We cannot verify the internal drafting history: which version of the Word source document had which provisions at which stage before Jestha 15.
Reproducibility
All tools are open source and freely available: poppler-utils
(pdfinfo, pdftotext) and Python 3
(difflib.SequenceMatcher). Any researcher with access
to the same two PDF files can reproduce every finding in this
analysis using these tools.