Home PIB Serbia

Serbia PIB validator

How the PIB format works

Format
9 digits with an ISO 7064 MOD 11,10 check digit
Example
104052135

Things to watch for

  • Uses the same check-digit scheme as the Croatian OIB, applied to 8 payload digits instead of 10
  • Serbian companies also have a separate 8-digit registration number (matični broj) — it is a different number from the PIB
  • Checksum only — a pass doesn't confirm the taxpayer is registered or active
Regex for PIB
^[0-9]{9}$

A PIB (poreski identifikacioni broj, tax identification number) is the 9-digit number Serbia’s Tax Administration (Poreska uprava) uses to identify a taxpayer — companies and entrepreneurs (preduzetnici) among them — for example 104052135. It’s the number quoted on invoices, tax returns and contracts, and its ninth digit is a check digit calculated from the first eight. This page is for accountants, procurement teams and anyone checking Serbian invoices or supplier records.

How the check digit is calculated

ISO 7064 MOD 11,10 is a running checksum: rather than multiplying each digit by a fixed weight, it carries a value forward from one digit to the next. Start at 10. For each of the first eight digits, add the digit to the running value and keep the last digit of the sum (counting 0 as 10), double it, and take the remainder after dividing by 11. The check digit is 11 minus the final running value, keeping only its last digit.

For 104052135 the running value moves 10 → 2 → 4 → 5 → 10 → 10 → 4 → 10 → 6, and 11 − 6 = 5 — the PIB’s last digit. Change any one of the first eight digits and the chain ends somewhere else.

PIB, matični broj and JMBG

Number Digits Identifies Checked here?
PIB 9 Taxpayers such as companies and entrepreneurs Yes — MOD 11,10
Matični broj 8 A business’s entry in the business register No
JMBG 13 Individuals No — use the JMBG validator

The three differ in length, so an 8-digit or 13-digit number fails here at the format stage — only a 9-digit PIB belongs in this checker.

What a pass doesn’t tell you

The calculation runs in your browser and confirms only that the nine digits agree with each other — not that the Poreska uprava has assigned the number, that the taxpayer is active, or which business holds it.

Scope: this page and tool cover Serbian PIB format and checksum validation only — not taxpayer status or VAT registration.

Content last reviewed 2026-10-11.

PIB FAQ

What's the difference between a PIB and a matični broj?

The PIB (poreski identifikacioni broj) is the 9-digit tax identification number; the matični broj is a separate 8-digit registration number. Serbian invoices and contracts often show both, and they aren't interchangeable — an 8-digit matični broj will fail this 9-digit check.

Is a Serbian PIB checked the same way as a Croatian OIB?

Yes — both use ISO 7064 MOD 11,10. The difference is length: a PIB runs the calculation over 8 digits before its check digit, while a Croatian OIB runs it over 10.

Does a valid PIB mean the business is registered for VAT?

No. The checksum only shows the 9 digits are internally consistent. Whether the taxpayer is registered, active, or in the VAT system has to be confirmed with the Tax Administration of Serbia (Poreska uprava).

← More PIB validators