Standards/russia-fns-receipt-qr
Russia FNS Receipt QR
Overview
The FNS receipt QR code is the two-dimensional code printed on Russian cash receipts and strict-reporting forms (БСО). Federal Law No. 54-FZ lists "QR-код" among the mandatory details of a receipt 1, and an order of the Federal Tax Service (FNS, ФНС) sets the content 4.
The payload is not a URL. It is a query-style text string of six fields, t, s, fn, i, fp and n, which together let the FNS checking software look up one fiscal document 4. The fields carry the date and time, the amount, the fiscal drive's serial number, the fiscal document number, the fiscal sign and the type of settlement 4.
History
- 22 May 2003. Federal Law No. 54-FZ, on the use of cash register equipment (ККТ) in settlements, is adopted. Its current edition was last amended by Law No. 158-FZ of 24 June 2025 34 1.
- 3 July 2016. Federal Law No. 290-FZ sets out the new cash register procedure 18. Under it, registers send electronic copies of receipts to the tax authority online from 1 July 2017, and taxpayers on the ENVD and patent regimes follow from 1 July 2018 17.
- 21 March 2017. FNS Order ММВ-7-20/229@ approves additional fiscal document details and formats 13. An FNS page from October 2017 already says the register prints a QR code on the receipt 17. The order's last edition, of 29 August 2019, carries the six-field string, the CP866 rule and the ban on URLs 13.
- 3 July 2018. Federal Law No. 192-FZ adds the QR code to the mandatory details of receipts and strict-reporting forms, as reported at the time by the accounting press 22. ConsultantPlus gives 3 July as the day the law took effect 23.
- 6 June 2019. Federal Law No. 129-FZ adds receipts obtained by scanning a QR code shown on a screen, and gives them the same standing as paper or electronic receipts 24.
- 1 February 2020. The duty to show the code on vending machine displays applies, according to Garant's news summary of Article 1.2(5.1) as amended by Law 192-FZ 25.
- 14 September 2020. FNS Order ЕД-7-20/662@ cancels Order 229@ and its three amending orders, and introduces format version 1.2 (ФФД 1.2) 10 14. It was registered by the Ministry of Justice on 9 December 2020 under No. 61361 10.
- 26 March 2025. FNS Order ЕД-7-20/236@ adds minimum print and display requirements for the code, in force from 1 September 2025 11 12.
Technical specification
Symbol
The order defines the symbol as QR Code Model 2, at least 20 × 20 mm, with error correction L or higher 5. In the document model it is detail tag 1196, a text value that is printed but not stored as a TLV structure in the electronic document 6. It must appear in its own separated area of the receipt 8.
Order 236@ added these limits 12:
| Medium | Size | Contrast | Other |
|---|---|---|---|
| Paper | at least 20 × 20 mm | at least 40 % | Must stay legible for at least 6 months from issue (Law 54-FZ, Article 4.7(8)) 1 |
| Display | at least 20 × 20 mm | 250:1 | Backlit screens at least 250 cd/m²; shown until the next settlement or for at least 40 seconds |
Payload
Paragraph 15 of Annex 2 requires a text string of Latin letters, digits and the separators = and &, encoded in CP866 4. CP866 is the DOS Cyrillic code page; its printable range 0x20–0x7E matches ASCII, so a conforming string has the same bytes in either encoding 32.
| Field | Meaning | Format | Source tag |
|---|---|---|---|
t |
Date and time of settlement | YYYYMMDDTHHMM, no seconds |
1012 |
s |
Settlement amount | Roubles and kopecks, separated by a dot | 1020 |
fn |
Fiscal drive serial number | Tag value is 16 digits | 1041 |
i |
Fiscal document number | Decimal, not zero-padded; tag value is a UInt32 | 1040 |
fp |
Fiscal sign of the document | Decimal, not zero-padded | 1077 |
n |
Settlement type | 1, 2, 3 or 4 | 1054 |
The field list and formats are from paragraph 15 4; the tag properties are from the order's table of detail values 6. The tag numbers beside the fields are this article's mapping by name, since paragraph 15 does not cite them.
nvalues: 1 приход (receipt of funds), 2 возврат прихода (refund of a receipt), 3 расход (expenditure), 4 возврат расхода (refund of an expenditure) 7.fp: tag 1077 is a 6-byte array. Only bytes 2–5 are printed, read as a big-endian UInt32 and shown in a 10-digit format 6 9. Law 54-FZ defines the fiscal sign as a value formed with the fiscal drive to check that fiscal data is reliable, and the drive as a sealed cryptographic device 2. Annex 2 gives the byte layout but no derivation algorithm.- Literal
T: the format template in paragraph 15 is written in Russian (ГГГГММДДТЧЧММ, with a Cyrillic Т), but paragraph 15 allows only Latin letters and its sample uses a LatinT9.
The authority's own sample 4:
t=20150720T1638&s=9999999.00&fn=000110000105&i=12345678&fp=123456&n=2
No URL
Paragraph 14 of Annex 2 says the code on a printed receipt must not contain address data in URL format. It must instead allow the FNS receipt-checking software to verify the six details 4. The string therefore points nowhere by itself; it needs software that knows the format.
Size
The sample is 69 characters. Lowercase letters rule out alphanumeric mode, so it encodes in byte mode [qr-ref]. Computed with segno 1.6.6, with no error-level boost:
| Level | Version | Modules |
|---|---|---|
| L | 4 | 33 × 33 |
| M | 5 | 37 × 37 |
| Q | 6 | 41 × 41 |
| H | 8 | 49 × 49 |
At the minimum 20 mm, version 4 gives a module of about 0.6 mm (arithmetic from the figures above).
When the code may be absent or moved
- Correction receipts: the code may be left off a correction receipt 9.
- Electronic receipts: in the format versions 1.1 and 1.2 tables, tag 1196 is included when the receipt goes to the buyer's email, and may be included when it goes to a phone number 9. This reading is from the order's original 2020 text on the FNS site.
- Screen instead of paper: Article 1.2(3.1) of the law lets a user meet the duty by showing the code on a device's display or printing it on a form. The buyer then scans it and collects the electronic receipt through the FNS service or app, free of charge 3.
- Other cases in the law: Article 1.2 also refers to the code on automatic payment devices (5.1), for sales away from the place of settlement (5.7), and in paragraph 5.8 3.
Verification
The buyer has two routes:
- Mobile app. Scan the code, or enter the details by hand, to see whether the receipt reached the FNS 26 27. The app compares the data with the FNS revenue accounting system 18. A receipt that passes shows "Чек корректен" 15.
- Website. The FNS service at kkt-online.nalog.ru takes the ФН, ФД and ФП values, the total and the date, and all fields must be filled in 19.
Verification is a look-up against FNS records, not an offline signature check by the reader. The data reaches the FNS from the register through the fiscal drive and a fiscal data operator (ОФД) 17. If a receipt is missing from the system, the buyer can file a complaint through the app with a photo of the paper receipt 21.
Use cases
- Consumer checks. Buyers confirm that a receipt was registered, and can report the seller when it was not 15 21.
- Receipts without paper. Under Article 1.2(3.1), a code on a screen or form replaces handing over a receipt, and the scan delivers the electronic one 3.
- Household records and tax deductions. An FNS regional office describes the app as a place to store receipts, keep a family budget and use electronic receipts for tax deductions 20.
- Enforcement. Issuing a document without the code, such as a card terminal slip in place of a receipt, or an incorrect receipt, is a violation under Part 2 of Article 14.5 of the Code of Administrative Offences, according to a 2019 FNS article 15. A receipt missing any mandatory detail is treated as non-compliant 16.
- Software integrations. Open-source clients parse the string to request receipt data from the FNS 28 29.
Implementations
No reference implementation from the FNS was found, and the open-source parsers found are small and no longer active. Star counts and dates below were read from the repository pages.
| Repository | Language | Stars | Last commit | Notes |
|---|---|---|---|---|
| kosov/fns-check | PHP | 29 | July 2020 | FnsCheckHelper::fromQRCode converts the string into request data. Archived on 31 July 2023 29 |
| spiritofsim/fns | Go | 6 | January 2020 | ParseQrStr parses the string. MIT licence. Below the usual 10-star bar, kept because little else exists 28 |
| sergelevin/pyofd | Python | 23 | December 2018 | Queries receipts from fiscal data operators by field values; its README does not cover QR parsing 30 |
| zxing/zxing | Java | 34,185 | October 2026 | General QR encoder and decoder; it has no knowledge of the format 31 [url-ref] |
No dedicated encoder library turned up. The string is short, so any QR library can carry it, set to Model 2 and error correction L or higher 5.
Comparison
| FNS receipt QR | Spain VeriFactu QR | SBP Universal QR | Chestny ZNAK | |
|---|---|---|---|---|
| Purpose | Check one fiscal document | Validate one invoice with the tax agency | Pay | Mark one product |
| Payload | Six-field text string, not a URL | HTTPS URL on the agency's host | Payment QR on the SBP rail | Marking code |
| Seller ID in the code | No | Yes (nif) |
Not compared | Not compared |
| Issuer | FNS | Spanish tax agency (AEAT) | NSPK under the Bank of Russia | CRPT |
The closest relative is VERI*FACTU, whose code is a URL with four parameters, nif, numserie, fecha and importe 33. A URL can open in an ordinary browser, while the Russian code needs software that knows the format 4. The Russian string identifies the document by fiscal drive and document number, and has no field for the seller's tax number 4.
The other two Russian codes do different jobs. The SBP Universal QR starts a payment [sbp-ref], and a receipt code proves one afterwards. Chestny ZNAK codes identify individual goods [cz-ref], and format 1.2 was introduced in part to pass their data through the fiscal data operator and to require sellers to verify them with the register 14. A choice between these formats does not arise, since each is required for its own purpose.
Fun facts
- The authority's sample is dated 20 July 2015 and still appears unchanged in the 2025 edition of the order 4. Its
fnhas 12 digits, although tag 1041 is fixed at 16 6, so the sample would not match a real drive number. - The mandated character set dates from Russian MS-DOS 4.01 (1990) 32, for a string that uses none of its Cyrillic characters 4.
Status
Active and mandatory. Article 4.7(1) of Law 54-FZ lists the QR code in the edition of 24 June 2025, in force from 2 September 2025 1. An organisation or sole proprietor must give the buyer a receipt or strict-reporting form that meets the article 16.
Order ЕД-7-20/662@ applies in its edition of 8 December 2025 and is valid until 1 September 2031 10. Its amending orders are No. ЕД-7-20/239@ (12 April 2023), No. ЕД-7-20/1038@ (15 November 2024), No. ЕД-7-20/236@ (26 March 2025) and No. ЕД-7-20/1050@ (8 December 2025) 10. Paragraphs 14 and 15 read the same in that edition as in the 2020 text 4 9. The order keeps format versions 1.05, 1.1 and 1.2 side by side 10.
The FNS app is maintained by АО ГНИВЦ and was last updated on 6 October 2026 26. Its name varies between FNS pages: "Проверка чеков", "Проверка кассового чека" and "Проверка чеков ФНС России" 18 20 26.
Sources
1 Federal Law 54-FZ, Article 4.7: requirements for the cash receipt and strict-reporting form — ConsultantPlus, edition of 24.06.2025, accessed 2026 2 Federal Law 54-FZ, Article 1.1: basic concepts — ConsultantPlus, edition of 24.06.2025, accessed 2026 3 Federal Law 54-FZ, Article 1.2: scope and rules for using cash register equipment — ConsultantPlus, edition of 24.06.2025, accessed 2026 4 FNS Order ЕД-7-20/662@, Annex 2, paragraphs 14 and 15 (page of Table 10) — ConsultantPlus, edition of 08.12.2025, accessed 2026 5 FNS Order ЕД-7-20/662@, Annex 2, I. General provisions — ConsultantPlus, edition of 08.12.2025, accessed 2026 6 FNS Order ЕД-7-20/662@, Annex 2, Table 5: general values of fiscal document details — ConsultantPlus, edition of 08.12.2025, accessed 2026 7 FNS Order ЕД-7-20/662@, Annex 2, Table 9: settlement type values (tag 1054) — ConsultantPlus, edition of 08.12.2025, accessed 2026 8 FNS Order ЕД-7-20/662@, Annex 2, Table 96: cash receipt in format 1.2 — ConsultantPlus, edition of 08.12.2025, accessed 2026 9 Order of 14.09.2020 No. ЕД-7-20/662@, with Annex 2 as a DOCX download — Federal Tax Service of Russia, published 2020, accessed 2026 10 FNS Order ЕД-7-20/662@, operative text — ConsultantPlus, edition of 08.12.2025, accessed 2026 11 Order of the FNS of Russia of 26.03.2025 No. ЕД-7-20/236@ — Federal Tax Service of Russia, published 27.06.2025, accessed 2026 12 Annex to Order ЕД-7-20/236@ (DOCX) — Federal Tax Service of Russia, 2025, accessed 2026 13 FNS Order ММВ-7-20/229@, Table 49 and its notes 61 and 62 (repealed) — ConsultantPlus, edition of 29.08.2019, accessed 2026 14 Additional details and new fiscal document formats approved — Federal Tax Service of Russia, 15.09.2020, accessed 2026 15 QR code: a mandatory detail of the cash receipt — FNS regional office, reprint from Tambovskaya Zhizn, 24.12.2019, accessed 2026 16 What requirements apply to a cash receipt — FNS regional office, 02.09.2024 (archived page), accessed 2026 17 Online cash registers: how it all works — FNS regional office, 16.10.2017 (archived page), accessed 2026 18 Cash receipts can be checked on the FNS site — FNS regional office, 04.08.2017 (archived page), accessed 2026 19 An FNS service will help check a receipt — FNS regional office, 08.08.2023 (archived page), accessed 2026 20 The authenticity of a cash receipt can be checked online — FNS regional office, 12.09.2025 (archived page), accessed 2026 21 A cash receipt can be checked with a mobile app — FNS regional office, 27.10.2025 (archived page), accessed 2026 22 The list of mandatory cash receipt details has been extended — BUH.RU (third party), 11.07.2018, accessed 2026 23 The law clarifying the duty to use cash registers took effect on 3 July — ConsultantPlus, 04.07.2018, accessed 2026 24 Buyers may support expenses with receipts obtained by QR code — BUH.RU (third party), 10.06.2019, accessed 2026 25 From 1 February the QR code must appear on a vending machine's display — Garant (third party), 03.02.2020, accessed 2026 26 Проверка чеков ФНС России — RuStore listing, updated 06.10.2026, accessed 2026 27 Проверка чеков ФНС России — App Store listing, accessed 2026 28 spiritofsim/fns — GitHub, accessed 2026 29 kosov/fns-check — GitHub, accessed 2026 30 sergelevin/pyofd — GitHub, accessed 2026 31 zxing/zxing — GitHub, accessed 2026 32 Code page 866 — Wikipedia, accessed 2026 33 Detalle de las especificaciones técnicas del código QR de la factura — Agencia Tributaria, accessed 2026 34 Federal Law of 22.05.2003 No. 54-FZ — ConsultantPlus, accessed 2026
Deployments
No country reports mention this standard by name.