Sources

Where each verified claim came from, and what still has no source behind it.

Read this first. Almost everything below is a secondary source — tax advisories, compliance vendors, trade press. Secondary sources are useful for finding out what to look for and which instrument governs it; they are not sufficient for compliance. Assume a claim needs confirmation against the primary source named alongside it unless it is marked otherwise.

The exceptions, where the link goes to the authority's own publication:

Note the difference in kind. A tax rate is somebody's current decision and can change next month; a code page definition is a fixed standard. The language files carry TODO: verify on printer-specific values for the opposite reason — those are vendor behaviour, which no standard binds.

Checked 2026-08, with the expiring rates re-checked 2026-08-14 and again on 2026-08-17. Rates and thresholds change; a source list with a date on it is worth more than one without.


Vietnam

VAT reduced to 8% through 31 December 2026 — Resolution 204/2025/QH15, passed 17 June 2025, implemented by Decree 174/2025/ND-CP issued 30 June 2025, running 1 July 2025 to 31 December 2026. Excludes telecommunications, real estate, finance, banking, securities, insurance; education, medical and vocational training were already exempt.

Re-checked 2026-08-17 — unchanged. No reporting of a further extension beyond 2026-12-31 was found. Treat 2027-01-01 as a return to 10% until something says otherwise, and re-check in November 2026; the 2025 extension was passed in June for a July start, so an equivalent decision would be visible well before the date.

→ Confirm against: the text of Resolution 204/2025/QH15 and Decree 174/2025/ND-CP, and the goods/services annexes that define coverage.

E-invoicing framework — Decree 70/2025/ND-CP amending Decree 123/2020/ND-CP, effective 1 June 2025. Cash-register e-invoices required for household and individual businesses at or above VND 1 billion annual revenue, plus retail, restaurants and catering, hotels, passenger transport and entertainment. Real-time transmission to the tax authority. Digital signature not mandatory for cash-register e-invoices.

→ Confirm against: Decree 70/2025/ND-CP text and the tax administration's implementing guidance.

Kenya

Standard VAT 16%; active rates 16% and 0%, with exempt supplies a separate category.

eTIMS — electronic invoicing mandatory since 30 November 2022; obligation extended January 2024 beyond VAT-registered businesses to taxpayers generally. An invoice without an eTIMS reference is invalid for tax purposes. Mandatory fields include the KRA item classification code, control unit serial number, Control Unit Invoice Number (CUIN) and a QR code verifiable on KRA's portal. Electronic signature required; five-year digital retention.

→ Confirm against: the Tax Procedures (Electronic Tax Invoice) Regulations and KRA's own eTIMS specification. The field list above is assembled from vendor guides and the labelling may differ from the regulation.

Peru

IGV 18% (16% IGV + 2% IPM), unchanged for 2026.

Reduced rate for micro and small restaurants, hotels and tourist lodging — 10.5% for 2026 (8% IGV + 2.5% IPM), stepping to 15% for 2027 (12% IGV + 3% IPM). Eligibility: annual sales at or below 1,700 UIT over the preceding 12 months, with the qualifying activity at least 70% of income.

Read on 2026-08-14 from SUNAT's own orientation site, which is the authority's publication rather than a commentary — the strongest source in this file for a rate. It states the composition and both years' figures but does not cite the enacting instrument.

Secondary, and the only place the instrument numbers appear (Ley 31556 as amended by Ley 32219, published 2024-12-29) — not confirmed against the published law:

Correction, 2026-08-14. Earlier revisions of this repository gave this rate as 10% (8% IGV + 2% IPM) reverting to 18% on 1 January 2027. Both halves were wrong. The IPM component moving from 2% to 2.5% within this regime is unusual enough to be worth re-confirming against the amending law itself.

Boleta de venta electrónica — customer identity document mandatory above S/ 700 (DNI, carné de extranjería or passport, with full name). Below that, customer fields are optional.

QR code mandatory on the printed representation since 1 January 2019. Pipe-separated payload: RUC | document type | series | number | total IGV | total amount | issue date | acquirer document type | acquirer document number | hash. Lower part of the document, max 2 cm × 6 cm, ≥1 mm quiet zone, black, QR Code 2005 per ISO/IEC 18004:2006.

Plastic bag tax (ICBPER) — S/ 0.50 per bag, the rate since 2023 after a scheduled ramp from 2019. Declared and paid monthly.

→ Confirm against: SUNAT's own resolutions. The two Anexo PDFs above are SUNAT-hosted and are the closest thing here to a primary source; the QR field order should be read from them directly rather than from this summary.

Standard rate composition — corrected 2026-08-20

The 18% total is unchanged. Its split into IGV and IPM changed on 2026-01-01 and this file recorded the old one.

Ley N.º 32387, published 2025-06-16 and in force from 2026-01-01, raises the municipal promotion component and lowers the IGV component by the same amount each year, holding the combined figure at 18%:

Year IGV IPM Combined
to 2025 16.0% 2.0% 18%
2026 15.5% 2.5% 18%
2027 15.0% 3.0% 18%
2028 14.5% 3.5% 18%
2029 14.0% 4.0% 18%

This settles the doubt recorded in the 2026-08-14 correction above. The reduced food service rate carries a 2.5% IPM component for 2026 and 3% for 2027, which that note called unusual enough to need re-confirmation against the amending law. It is not unusual — those are the general IPM rates for those years. The food service figures were right and the standard rate composition printed beside them was stale.

Read on 2026-08-20. SUNAT's own orientation pages cite Ley N.º 32387 by number as the basis for the gradual IPM increment, which is the authority naming the instrument; the year-by-year schedule below it is from secondary tax-practice sources and is not confirmed against the published law.

→ Confirm against: the published text of Ley N.º 32387 in El Peruano. Two secondary sources agree on the schedule and a third states only the 2029 endpoint; none of the three is the law.

Re-checked 2026-09-10 — the authority now states the split

SUNAT's own orientation page for the reduced restaurant, hotel and tourist lodging rate now gives the components rather than only the combined figure: 8% IGV + 2.5% IPM = 10.50% for 2026, and 12% IGV + 3.0% IPM = 15% for 2027. Those are the figures this repository already carried, and the source type for that row is confirmed at official-authority rather than inferred from the Ley 32387 schedule.

Secondary sources still in circulation disagree, and are not reconciled here. Tax-practice and e-invoicing vendor pages describing the same regime give 2% IPM rather than 2.5%, producing 10% for 2026 and 14% for 2027. Those figures apply the pre-Ley 32387 IPM to the post-reform IGV. The disagreement is recorded deliberately: a search on this rate returns both, and a 0.5-point gap reads like a rounding dispute rather than a stale number.

Still secondary: the 2028 and 2029 rows of the Ley 32387 schedule. SUNAT's page covers 2026 and 2027 only.

Indonesia

Statutory PPN 12%; effective 11% on non-luxury via a tax base of 11/12 of the selling price under PMK No. 131 of 2024. Luxury goods under PPnBM taxed at a full 12% on the unadjusted base.

→ Confirm against: PMK No. 131 of 2024 and the Directorate General of Taxes.

Malaysia

MyInvois phases: Phase 1 from 2024-08-01 (turnover above RM100m); Phase 2 from 2025-01-01 (RM25m–RM100m); Phase 3 from 2025-07-01 (RM5m–RM25m); Phase 4 from 2026-01-01 (RM1m–RM5m) with a relaxation period reported to 2027-12-31. Exemption threshold raised from RM500,000 to RM1,000,000 effective 2026-01-01. From 2026-01-01 individual e-invoices required above RM10,000.

→ Confirm against: LHDN's e-Invoice guidelines. SST rates were not researched and remain open.

Philippines

POS registration via Acknowledgement Certificate (replaced the Permit to Use), through eAccReg; BIR Form 1907. Machines must support sequential numbering, Z-reading and SC/PWD discount handling. EIS compliance for Group 1 due 2026-12-31 under RR 26-2025 (issued 2025-09-05), extending RR 11-2025. CAS accreditation and EIS compliance are separate. POS users described as Group 2 with no confirmed deadline.

→ Confirm against: BIR. The SC/PWD computation was not resolved and must not be implemented from inference.

Thailand

VAT 7% against a statutory 10%. The statute prescribes 10% and permits reduction by royal decree; each decree runs one year.

Decree Gazetted Reduced rate through
No. 790 B.E. 2567 2024-09-20 2025-09-30
No. 799 B.E. 2568 2025-09-14 2026-09-30

A further extension to 2027-09-30 is approved but not confirmed enacted. Cabinet approved it on 2026-07-27; a Revenue Department notice dated 2026-08-02 confirms the decision. No gazetted royal decree covering 2026-10-01 onward was found on 2026-08-14, and the Revenue Department's English site carried no announcement of one. Secondary sources only.

E-Tax Invoice and e-Receipt is voluntary, no B2B mandate reported for 2026–2027; XML with PDF/A-3 under RD STD 03-2566, qualified digital signature or ETDA time stamp, monthly transmission by the 15th. Tax invoices require the 13-digit TIN of both buyer and seller, date, description and VAT as a separate line.

Re-checked 2026-08-17 — unchanged. Sherrings' decree table still lists only Nos. 790 and 799, gazetted 2024-09-20 and 2025-09-14 and running to 2025-09-30 and 2026-09-30 respectively. The most recent reporting still describes a draft royal decree approved in principle by cabinet, with no gazette publication mentioned. A Thai-language search returned Royal Gazette coverage of decree No. 799 only — that is the 2025 decree, not a new one. The extension remains expected and not in force.

→ Confirm against: the Royal Gazette for the decree covering 2026-10-01 onward — this is the single open question in this file, and it should be answerable by mid-September 2026. The Revenue Department is the authority for everything else here.

7% rate — resolved 2026-09-10, primary source

The open question above is answered. The decree exists.

Royal Decree issued under the Revenue Code on the reduction of value added tax (No. 807) B.E. 2569. Given 20 August 2026. Published in the Royal Gazette, volume 143, part 50 Ko, pages 20–22, 23 August 2026. In force from 1 October 2026. Reduces the section 80 rate to 6.3% — 7% including local tax — for supplies through 30 September 2027.

Read from the decree, not from reporting about it. The Revenue Department publishes the gazetted text as a PDF from its own new-legislation index, and the citation above is transcribed from the page footer of that PDF, which carries the volume, part, page and date in Thai numerals. The operative rate is written out in Thai words rather than digits, which is why the figure does not appear as "6.3" in the document text.

One discrepancy, recorded rather than resolved. The gazette page footer in the decree PDF reads 23 August 2026; the Revenue Department's index page dates the entry 24 August 2026. Most likely a gazette date against a listing date. It does not affect the operative dates — in force 1 October 2026, running to 30 September 2027 — and no attempt has been made here to reconcile it.

What this closes and what it does not. It closes TH-01, which was the single open question in this file, against a primary source. It does not change the shape of the problem: the rate is still temporary, still one decree per year, and the gazette date is not fixed — 2024-09-20, 2025-09-14, then 2026-08-23. The next check belongs in mid-2027.

→ Confirm against: the Royal Gazette itself if a citation of record is needed; the PDF above is the Revenue Department's copy of it.

South Africa

VAT remains 15%. Proposed increases to 15.5% (2025-05-01) and 16% (2026-04-01) were reversed by the Rates and Monetary Amounts Bill introduced 2025-04-24; the 2026 Budget confirmed 15% for 2026/27. Compulsory registration threshold rising from R1m to R2.3m, reported effective 2026-04-01.

→ Confirm against: SARS. Invoice thresholds and lay-by rules under the Consumer Protection Act were not researched.

Nigeria

VAT 7.5%. E-invoicing via the FIRS Merchant-Buyer Solution (FIRSMBS), a clearance model returning an Invoice Reference Number and cryptographic stamp. Large taxpayers from 2025-11-01.

Sources conflict on the later phases — one describes mandatory compliance for all remaining VAT-registered businesses from 2026-01-01; another describes medium businesses by July 2026 and small businesses by July 2027. This is recorded as open rather than resolved.

→ Confirm against: FIRS directly. Do not rely on the phase dates above.

Australia

Tax invoice within 28 days of request, except for sales of $82.50 including GST or less. Under $1,000 a tax invoice must show that it is a tax invoice, the seller's identity, the seller's ABN, the date, and a description including quantity and price. Lay-by under the ACL: three or more instalments including deposit, goods withheld until paid in full, no interest; agreement must be in writing with a copy to the customer, covering goods, total price, deposit, payment schedule, termination rights and any termination fee.

→ Confirm against: ATO and ACCC. GST attribution timing on lay-by was not resolved.


Hebrew

Character encoding behaviour, which is standards-governed rather than authority-governed. This is the one section here that does not need confirming against a regulator — but every printer-specific value in the Hebrew file still does, and those are marked TODO: verify rather than sourced here.

Windows-1255 is a near-superset of ISO-8859-8 and carries the shekel sign ₪ (U+20AA) at byte 0xA4, where ISO-8859-8 has a generic currency sign. Windows-1255 is in logical order and supports vowel points.

CP862 (DOS Hebrew) text was normally stored in visual order, because DOS had no bidirectional support. The encoding survives in thermal printer firmware, which is why byte order is a live question for a POS rather than a historical footnote.

ISO-8859-8 is visual order; ISO-8859-8-I is logical order. The two are byte-identical — the suffix declares the order and nothing else, so the distinction cannot be recovered from the data.

The five final forms, the bidirectional algorithm (UAX #9) and the zero-width behaviour of nikud are specified in the Unicode Standard.

→ Confirm against: the Unicode Standard and the code page definitions themselves. The encyclopaedia links above are convenience references for tabulated byte values, not the normative text.


Cyrillic

Mostly standards-governed, like the Hebrew section, with one time-sensitive currency fact that is not.

Codepoint-level claims were checked against the Unicode Character Database rather than against a description of it — the canonical decompositions of Ё, Й, Ў and Ї, the East Asian Width class of every character in the Cyrillic block, and the codepoint ordering that files Ё before А and ё after я. The check used the UCD as distributed with CPython (version 13.0.0), which is the Unicode Consortium's own data rather than a secondary account of it.

UAX #11 assigns Ambiguous width to U+0401, U+0410–U+044F and U+0451, and Narrow to the rest of the Cyrillic block. Ambiguous characters are defined as those that "can be sometimes wide and sometimes narrow", rendering full-width in an East Asian font context. This is the authority's own publication.

CLDR records a comma decimal separator and a space group separator for ru, uk and kk. Also the authority's own publication.

Code page coverage and layout. Windows-1251 covers Russian, Ukrainian, Belarusian, Bulgarian, Serbian and Macedonian, with uppercase at 0xC0–0xDF and lowercase at 0xE0–0xFF, and does not cover Kazakh, Tatar, Mongolian, Tajik or Uzbek — Kazakhstan standardised its own altered variant, STRK1048. CP866 carries letters at 0x80–0xAF and 0xE0–0xEF with box-drawing characters at 0xB0–0xDF, covers Russian and Bulgarian fully and Ukrainian partially, and has Ukrainian and Belarusian variants in CP1125 and CP1131. KOI8-R orders its letters in a pseudo-Latin sequence rather than an alphabetical one, so stripping the high bit yields a rough Latin transliteration; KOI8-U adds Ukrainian.

These are the source of the mojibake signature table in the file, which is derived from the byte layouts rather than reported by anyone.

The ruble sign ₽ U+20BD was added in Unicode 7.0 (2014), after every code page above was fixed, which is why it is absent from all of them by construction. The som sign U+20C0 is absent from Unicode 13.0.

→ Confirm against: the Unicode Standard, CLDR, and the code page definitions themselves. The encyclopaedia links are convenience references for tabulated byte values, not the normative text. Every printer-dependent value in the Cyrillic file is marked TODO: verify and is not sourced here, because no published source can answer it.

Bulgaria — currency change, secondary only

Not a language fact, but it reached the Cyrillic file's currency section because there is no Bulgaria country file.

Bulgaria adopted the euro on 2026-01-01 at a fixed rate of 1.95583 BGN to 1 EUR. The European Commission's own market-access notice is the strongest source here; the changeover detail — lev and euro circulating together during January 2026, the lev ceasing to be legal tender on 2026-02-01 — is secondary.

Mandatory dual lev/euro price display, and its end date — sources disagree. The most recent reporting places the end at 2026-08-08, after which the euro price is the payable one and any lev figure may appear only as information. A banking site gives 2026-06-30 instead, which may be describing the end of free bank exchange rather than of dual pricing. This is unresolved here.

→ Confirm against: Българска народна банка and the Bulgarian consumer protection authority. Nothing above is a primary source for what a till must display today. Recorded as CYRL-10 in the verification queue.


Indic scripts

Entirely standards-governed on the Unicode side and entirely unsourced on every other side, which the file states plainly.

Codepoint-level claims were checked against the Unicode Character Database rather than against a description of it: the general category and canonical combining class of the prepended vowel signs U+093F, U+09BF, U+0BBF and U+0DD9; the canonical combining class of the ten viramas listed; the canonical decompositions of the two-part vowels U+09CB, U+09CC, U+0B4B and U+0B4C; and the composition-exclusion behaviour of the nukta letters. The check used the UCD as distributed with CPython (version 13.0.0), which is the Unicode Consortium's own data rather than a secondary account of it.

NFC decomposes the nukta letters and does not recompose them. Verified by normalising both spellings and comparing, not read from a description. This is the file's least obvious claim and the one most likely to be doubted, so the method matters: NFC applied to U+0958 yields U+0915 U+093C, and both spellings converge on that form.

Codepoint and byte counts in the counting table were measured, not estimated.

The Indian 2-2-3 digit grouping is recorded in CLDR for the relevant locales. Cited as the authority's own publication; the individual market conventions built on it are not verified.

Not sourced, and marked as such throughout the file: every statement about printer behaviour, font coverage on target devices, market conventions for currency display and digit grouping, and anything with a legal character. The argument in section 6 that no code page can express conjuncts is reasoning from the definition of a code page, not a survey of printers, and the file says so.

→ Confirm against: the target printer's own command reference, and a local accountant for anything touching tax. This collection has no country file for India, Nepal, Bangladesh or Sri Lanka, so nothing here has been checked against GST rules, invoice content requirements or e-invoicing mandates.

Khmer, Lao and Burmese

Standards-governed on the Unicode side, vendor-dependent on the printer side, and entirely unresearched on the tax side, which the file states plainly.

Code point claims were checked against the Unicode Character Database rather than against a description of it, using the UCD as distributed with CPython (version 13.0.0): the general category of the pre-posed vowels in all four scripts of the group — U+0E40–U+0E44, U+0EC0–U+0EC4, U+17C1–U+17C3 and U+1031 — which is what separates Lao from Khmer and Burmese; the category and combining class of U+17D2 KHMER SIGN COENG; the absence of a canonical decomposition on U+17C4 and U+17C5; the four digit ranges; the distinctness and categories of U+1040 and U+101D; and the contents of U+1050–U+105F.

The claim that Unicode encodes no currency sign for the Myanmar kyat was established by enumeration, not by failing to find one: every character of general category Sc in the UCD was listed and searched. Riel (U+17DB) and kip (U+20AD) are present; nothing carries the kyat's name.

Code point and byte counts in the stacking table were measured, and NFC/NFD were applied to the sample clusters and compared, not read from a description.

The absence of a code page is read from a published list, not inferred:

Thai appears three times in that list, Vietnamese once and the Indic scripts as ten ISCII pages; Khmer, Lao and Burmese appear nowhere in it. This is vendor documentation and authoritative for that vendor's platforms rather than for printer firmware, which the file says. ISO/IEC 8859 has no part for any of the three, which is a property of the standard's published parts.

Zawgyi. The structural facts — that it reuses Myanmar-block code points with different meanings, that both conventions are well-formed UTF-8, that rule-based detection misclassifies Shan and Mon, and that conversion follows the CLDR transliteration rules — are taken from the project that implements the detection:

No claim is made here about how widespread Zawgyi is today. The file says text created under it is still in circulation and stops there, because the prevalence figures available are secondary and dated.

Not sourced, and marked as such throughout the file: every statement about printer behaviour, ROM fonts, raster width, shaping engines on target devices, whether ICU dictionaries survive on the till, market conventions for digits and for writing the kyat, whether a given font renders U+1040 and U+101D alike, and Cambodia's dual-currency handling at the counter.

→ Confirm against: the target printer's own command reference, a sample print on the target hardware read by someone who reads the language, and a local accountant for anything touching tax. This collection has no country file for Cambodia, Laos or Myanmar, so nothing here has been checked against any of their tax rules, receipt content requirements or e-invoicing mandates.

Expiring rates — re-checked 2026-09-24

Thailand — not re-searched. Royal Decree No. 807 runs 7% to 2027-09-30; see the Thailand section. Nothing is due until mid-2027.

Vietnam — unchanged. A search in English and Vietnamese found no successor to Resolution 204/2025/QH15 and no published proposal to extend the 8% rate beyond 2026-12-31. Commentary found still treats 2026-12-31 as the end date and calls for the end to be announced early. The National Assembly's autumn session is where an extension would appear; re-check in November 2026, as already planned.

Peru — rate unchanged, eligibility conditions incomplete in this repository, and one press report of an enforcement dispute.

Cambodia

Researched 2026-09-24. Secondary sources throughout, with one exception: the KHQR items, read from the National Bank of Cambodia's Bakong site. Nothing below was read in the Khmer text of the governing instrument.

Invoice rules — Prakas No. 723 MEF (2019-08-14), implemented by GDT Notification No. 3218 (2020-02-06), effective 2020-01-01. Tax invoice to registered buyers and commercial invoice to end users for medium and large taxpayers; commercial invoices only for small taxpayers. Field lists for each. Khmer required, any foreign language below it. Sequential numbering per year, per branch, per invoice type, stated to apply to POS users. Riel disclosure of the invoice total at the NBC daily rate, previous day's rate permitted on non-working days or before working hours. Retention 10 years for medium and large taxpayers, 3 for small. No input VAT credit for medium or large buyers on purchases from small taxpayers.

Khmer language on invoices, 2016 — GDT Instruction No. 1127, 2016-01-26: Khmer, or Khmer and English with the English below.

VAT rate, other taxes. VAT 10%; Public Lighting Tax 5% on alcohol and tobacco; Accommodation Tax 2%.

Riel price tags — Prakas No. 172 MOC, 2017-07-07, amending Prakas No. 047.

KHQR — authority's own site.

CamInvoice. Prakas No. 075 MEF, 2025-01-22, launching the Cambodia E-Invoicing System; Circulars No. 003 (2025-01-22), 012 (2025-07-14) and 017 (2025-11-20) extending the business-to-government mandate. Business-to-business voluntary; consumer invoices out of scope; UBL XML.

Not sourced, and marked as such in the country file: everything about how change is given at the counter and at what rate, the smallest note in practical use, symbol and separator conventions, service charge and tips, whether a POS slip is a commercial invoice, TIN format, taxpayer size thresholds, and any private-sector CamInvoice mandate in 2026.

Still unsourced

Nothing below has been checked. These remain open in data/verification-queue.json.

Last updated: 2026-09