The IPN (ІПН) / РНОКПП is the 10-digit individual taxpayer number Ukraine assigns to each person on their tax registration card. It is used in HR onboarding, payroll systems, and Diia digital-identity workflows. Because it carries a modulo-11 check digit, transcription errors can be caught instantly without any network call. This validator runs the official algorithm in your browser.
What IPN and РНОКПП mean
ІПН (індивідуальний податковий номер) is the older, commonly used abbreviation — “individual tax number.” РНОКПП (реєстраційний номер облікової картки платника податків) is the current official term — “registration number of the taxpayer card.” Both names refer to the same 10-digit identifier printed on the tax registration card (картка платника податків) issued by the State Tax Service of Ukraine.
Information encoded in the IPN
The IPN is not just a random serial number. Three things are encoded within it:
- Digits 1–5 represent the number of days elapsed since 31 December 1899 up to the holder’s date of birth. For example, 1 January 1970 is day 25,568 (counting from 31 Dec 1899), so an IPN beginning
25568…belongs to someone born on that date. - Digit 9 encodes sex: an odd ninth digit indicates male; an even digit indicates female.
- Digit 10 is the check digit, computed from digits 1–9 using a modulo-11 algorithm.
This validator focuses on the check digit. It does not decode the birth date or sex.
How the check digit algorithm works
- Strip all non-digits. The number must be exactly 10 digits.
- Multiply digits 1–9 by the weights −1, 5, 7, 9, 4, 6, 10, 5, 7 and sum the products. (Note: the first weight is negative, which makes the algorithm non-trivial to implement by hand.)
- Take the weighted sum modulo 11.
- The check digit is that remainder — except a remainder of 10 maps to 0.
- The IPN is valid when the computed check digit equals digit 10.
Worked example
For body digits 1 2 3 4 5 6 7 8 9 with weights −1, 5, 7, 9, 4, 6, 10, 5, 7:
(1×−1) + (2×5) + (3×7) + (4×9) + (5×4)
+ (6×6) + (7×10) + (8×5) + (9×7)
= −1 + 10 + 21 + 36 + 20 + 36 + 70 + 40 + 63
= 295
295 mod 11 = 9 → check digit = 9
So an IPN of 1234567899 passes the check.
Common reasons for failure
- Digit transposition. Swapping any two adjacent digits changes the weighted sum unpredictably, and the check fails. This is the most common data-entry error.
- Wrong digit count. The number must be exactly 10 digits. Leading zeros matter and must not be dropped.
- OCR errors. Scanning or photographing the tax card can confuse 0 and 8, or 1 and 7, in some print styles.
- Not an IPN. The ЄДРПОУ is a separate 8-digit company code (also called ЄДРПОУ or ОКПО), not an IPN. Do not validate one with this tool.
A valid check digit confirms the number is internally consistent, not that the taxpayer is actively registered. For authoritative status queries, use the official tax authority or Diia services. Everything runs locally — the IPN never leaves your device.
Practical notes for payroll and compliance teams
Store the IPN as text (a leading zero is possible and must survive), strip spaces before validating, and log which check failed — length, non-digit characters, or the control digit — because each points to a different upstream problem. For authoritative confirmation that a number is registered and active, use the State Tax Service of Ukraine’s official channels (tax.gov.ua) or the Diia e-government services; the checksum here proves internal consistency only. One more edge case worth coding for: individuals who refused a tax number on religious grounds (a legally recognised option in Ukraine) have a passport-based marker instead of an IPN, so a compliance workflow needs a documented exception path rather than a hard requirement that every person supplies ten digits.
The IPN, RNTRC and INN: three names, one number
Documents translate the same identifier inconsistently, which confuses cross-border teams. The modern official name is RNTRC (реєстраційний номер облікової картки платника податків — registration number of the taxpayer’s record card); IPN (індивідуальний податковий номер) is the older name that remains in everyday use; English-language paperwork often says INN by analogy with other post-Soviet systems. All three refer to the same 10-digit personal number validated here. If a Ukrainian counterparty supplies an 8-digit number instead, that is the ЄДРПОУ company code — a different registry with different rules — and it should be routed to a company-code validator, not this one.
For bulk data work, validate before you deduplicate: two records with the same name but different valid IPNs are two people, while two records whose IPNs differ only by a failing check digit are usually one person plus one typo — the checksum result changes which merge decision is correct.
Citizens can view and manage their own tax-number record through the Diia e-government platform, which is also the fastest way to resolve a mismatch between a document and the register — useful when a number fails here and the document is suspected rather than the typing.