Provjera OIB-a tvrtke

Upišite OIB tvrtke (11 znamenki) ili njezin naziv. Kontrolna znamenka provjerava se odmah u vašem pregledniku, a pretraga u podacima Sudskog registra pokazuje čija je to tvrtka: naziv, pravni oblik, status i sjedište.

OIB tvrtke (11 znamenki) ili naziv tvrtke

curl "https://api.prometiam.com/functions/v1/risk-api/companies/search?oib=27759560625&country=HR" \
  -H "Authorization: Bearer YOUR_API_KEY"

Dvije provjere u jednoj

Provjera OIB-a tvrtke zapravo su dva pitanja. Je li broj dobro napisan? Ima li 11 znamenki i slaže li se jedanaesta, kontrolna znamenka, s prvih deset. To se izračunava bez registra, pa alat to radi u vašem pregledniku dok tipkate; broj odlazi API-ju tek kad pokrenete pretragu. Čiji je to broj? Kojoj je pravnoj osobi OIB dodijeljen te je li ona upisana u Sudski registar i aktivna. To se ne može izračunati, nego se čita iz registra.

  • Kontrolna znamenka nije ispravna: alat piše kolika bi trebala biti. Gotovo uvijek je posrijedi pogreška pri prepisivanju; API takav OIB odbija s greškom 400.
  • Kontrolna znamenka je ispravna i tvrtka je pronađena: dobivate naziv, MBS, pravni oblik, status i grad. Usporedite naziv s onim na ponudi ili računu.
  • Kontrolna znamenka je ispravna, a tvrtka nije pronađena: broj je dobro napisan, ali ga nijedna tvrtka u našim podacima ne nosi. Razlog može biti OIB fizičke osobe ili obrtnika (njih ne poslužujemo), tek upisana tvrtka ili pogreška koju kontrolna znamenka ne otkriva. Konačan odgovor daje Sudski registar, uključujući popis brisanih subjekata.

Što je OIB tvrtke

OIB (osobni identifikacijski broj) ima 11 znamenki: deset ih je određeno slučajnim odabirom i ne nosi nikakvu informaciju o tvrtki, a jedanaesta je kontrolna znamenka (Zakon o osobnom identifikacijskom broju, članak 3.). Porezna uprava ga dodjeljuje na temelju upisa nove pravne osobe u službenu evidenciju; ne mijenja se kad tvrtka promijeni naziv ili adresu i ne dodjeljuje se ponovo (članci 4. i 8.). Služi i kao porezni broj. OIB nije MBS i jedan se ne može izračunati iz drugoga:

BrojŠto jePrimjer (INA d.d.)
OIB11 znamenki; dodjeljuje ga Porezna uprava27759560625
MBS9 znamenki; broj upisa u Sudski registar080000604
PDV brojHR i OIB; za Hrvatsku izveden pravilom, registraciju potvrđuje VIESHR27759560625

Tvrtku po MBS-u tražite u pretrazi Sudskog registra, a o tome što registar sadrži čitajte u vodiču o Sudskom registru.

Kontrolna znamenka OIB-a: ISO 7064, Modul 11,10

Pravilnik o osobnom identifikacijskom broju (Narodne novine 1/09, članak 3.) propisuje da se kontrolna znamenka određuje po međunarodnoj normi ISO 7064 »Modul 11,10«. Korake ne navodi Pravilnik, nego norma; za OIB izgledaju ovako:

  • 1. Pomoćni broj t postavite na 10.
  • 2. Za svaku od prvih deset znamenki, redom: zbrojite znamenku i t i uzmite ostatak pri dijeljenju s 10 (ostatak 0 zamijenite s 10); taj broj pomnožite s 2 i uzmite ostatak pri dijeljenju s 11. Rezultat je novi t.
  • 3. Nakon desete znamenke kontrolna znamenka je 11 - t; ako je to 10, kontrolna znamenka je 0.

Primjer: OIB tvrtke INA d.d.

OIB 27759560625 evidentiran je za INA-Industriju nafte d.d. Prvih deset znamenki je 2775956062; jedanaesta, 5, mora se slagati s izračunom:

Znamenkat + znamenkamod 10 (0 postaje 10)× 2, mod 11 = novi t
210 + 2 = 1224 → 4
74 + 7 = 1112 → 2
72 + 7 = 9918 → 7
57 + 5 = 1224 → 4
94 + 9 = 1336 → 6
56 + 5 = 1112 → 2
62 + 6 = 8816 → 5
05 + 0 = 5510 → 10
610 + 6 = 16612 → 1
21 + 2 = 336 → 6

Na kraju je t = 6, pa je kontrolna znamenka 11 - 6 = 5: broj je ispravno napisan. Kod OIB-a Hrvatskog Telekoma d.d., 81793146560, na kraju je t = 1, 11 - 1 = 10, pa je kontrolna znamenka 0.

Testni vektori

OIBKontrolna znamenka treba bitiRezultat
277595606255ispravan (INA d.d.)
817931465600 (11 - 1 = 10)ispravan (Hrvatski Telekom d.d.)
189285232522ispravan (Podravka d.d.)
277595606265neispravan: zadnja znamenka je 6

Isto u kodu

import re

def oib_ok(oib: str) -> bool:
    if not re.fullmatch(r'[0-9]{11}', oib):
        return False
    t = 10
    for ch in oib[:10]:
        t = (int(ch) + t) % 10 or 10
        t = t * 2 % 11
    return (11 - t) % 10 == int(oib[10])

Kontrolna znamenka otkriva svaku pogrešku u jednoj znamenki i većinu zamjena susjednih znamenki, ali ne sve. Za bilo kojih prvih deset znamenki točno jedna jedanaesta znamenka prolazi provjeru, pa nasumičan jedanaestoznamenkasti broj prolazi u jednom slučaju od deset.

Što ispravan OIB ne dokazuje

Ispravna kontrolna znamenka ne dokazuje da je broj nekome dodijeljen: provjeru prolazi svaki deseti nasumični broj. Ne dokazuje ni da je to OIB tvrtke, jer se OIB dodjeljuje i pravnim i fizičkim osobama. Ne dokazuje ni da tvrtka postoji i posluje: i tvrtka u likvidaciji, u stečaju ili brisana iz registra ima broj koji prolazi provjeru. Zato prije prve uplate ili potpisa ugovora usporedite naziv i OIB iz dokumenta s onim što vraća registar.

Službeni izvori za provjeru OIB-a

Dva javna izvora odgovaraju na dva različita pitanja:

  • Sudski registar, pretraga subjekata: subjekt se traži po nazivu, MBS-u ili OIB-u, uz filtre za status (aktivan ili brisan), postupak (stečaj, likvidacija, predstečajni postupak), pravni oblik i sud. Rezultat navodi MBS, OIB, sud, status, naziv i adresu, a na stranici subjekta nalaze se zbirka isprava, izvadci i osobe ovlaštene za zastupanje.
  • Porezna uprava, usluga »Uvid u podatke o osobnom identifikacijskom broju«: za pravnu osobu traži naziv i MB (DZS) ili MBS i odgovara koji je OIB evidentiran za tog obveznika. Radi dakle od naziva i MBS-a prema OIB-u, a ne obrnuto.

OIB tvrtke nalazi se i na njezinim računima (Zakon o OIB-u u članku 6. obvezuje da se OIB navodi na računima i drugim ispravama), u Sudskom registru i na Potvrdi o OIB-u; kako se OIB partnera koristi na e-računima, opisuje stranica E-računi i Fiskalizacija 2.0. Ovaj alat ne zamjenjuje nijedan od tih izvora: nismo Sudski registar ni Porezna uprava, a odgovor nije ovjereni izvadak.

Što naša pretraga dodaje, a što ne

Za jednokratnu provjeru jedne tvrtke dovoljna je javna pretraga Sudskog registra. Naša pretraga dodaje:

  • Obje provjere u jednom koraku, iz samog OIB-a, bez naziva i MBS-a.
  • Isti zapis kao JSON, u istom obliku kao za 28 drugih država, pa ga ERP ili obrazac za unos dobavljača mogu dohvatiti izravno.
  • PDV broj u polju vat_number (HR + OIB, izvor rule: oblik je ispravan, registracija nije potvrđena); potvrdu daje GET /vat/HR27759560625, koji provjerava broj u sustavu VIES.
  • Događaje promjena u registru (naziv, status, pravni oblik, sjedište i temeljni kapital) i praćenje (webhook od plana Professional). Događaji su datirani od 30. rujna 2026.; ranijih nema.

Što ne dobivate:

  • Samo podaci o tvrtkama: nema članova uprave ni osoba ovlaštenih za zastupanje i nema signala usklađenosti s registrom; njih nalazite u Sudskom registru.
  • Trgovci pojedinci i obrtnici nikada se ne poslužuju, a OIB fizičke osobe ovdje se ne traži: nemojte ga upisivati.

Ista provjera putem API-ja

Parametar oib prima 11 znamenki i provjerava kontrolnu znamenku prije pretrage: neispravan OIB vraća 400 validation_error, a ne prazan odgovor, pa pogreška pri prepisivanju ne izgleda kao »tvrtka ne postoji«. Ispravan OIB koji nijedna tvrtka ne nosi vraća 200 s praznim popisom data. Tvrtka je u polju data: company_name, company_number (MBS), identifiers (mbs, oib, vat), status, legal_form i adresa.

# po OIB-u (kontrolna znamenka se provjerava prije pretrage)
curl 'https://api.prometiam.com/functions/v1/risk-api/companies/search?country=HR&oib=27759560625' \
  -H 'Authorization: Bearer rk_live_...'

# isti zapis po MBS-u ili po PDV broju
curl 'https://api.prometiam.com/functions/v1/risk-api/companies/search?country=HR&company_number=080000604' \
  -H 'Authorization: Bearer rk_live_...'
curl 'https://api.prometiam.com/functions/v1/risk-api/companies/search?country=HR&vat=HR27759560625' \
  -H 'Authorization: Bearer rk_live_...'
import os, requests

API = 'https://api.prometiam.com/functions/v1/risk-api'
HEAD = {'Authorization': f'Bearer {os.environ["PROMETIAM_API_KEY"]}'}

def tvrtka_po_oibu(oib):
    r = requests.get(f'{API}/companies/search', headers=HEAD,
                     params={'country': 'HR', 'oib': oib})
    if r.status_code == 400:  # neispravan OIB: duljina ili kontrolna znamenka
        return None
    r.raise_for_status()
    podaci = r.json()['data']
    return podaci[0] if podaci else None

Uspješna pretraga košta 1 kredit, i kad ne nađe tvrtku; pogreške, uključujući 400 zbog neispravne kontrolne znamenke, ne naplaćuju se. Provjera PDV broja (GET /vat/{broj}) košta 1 kredit, a događaji promjena u registru (GET /company-events/search) 2 kredita. Za popis dobavljača POST /companies/lookup prima do 100 stavki po 1 kredit; OIB se u stavci šalje u polju vat s prefiksom HR.

Da saznate kad se tvrtka promijeni, uključite praćenje (id je iz rezultata pretrage):

curl -X POST 'https://api.prometiam.com/functions/v1/risk-api/monitor' \
  -H 'Authorization: Bearer rk_live_...' \
  -H 'Content-Type: application/json' \
  -d '{"company_id": 10000080000604, "country": "HR", "webhook_url": "https://example.com/hook"}'

Praćenje obuhvaća do 25 tvrtki u planu Starter (9,99 € mjesečno, 1.000 kredita), 250 u planu Professional i 2.500 u planu Scale. Probno razdoblje traje 14 dana i uključuje 500 kredita; kartica je obavezna, a tijekom probnog razdoblja ništa se ne naplaćuje, nakon čega slijedi Starter ako ne otkažete.

Izvor: Sudski registar, Ministarstvo pravosuđa, uprave i digitalne transformacije (Otvorena dozvola). Prometiam standardizira podatke; odgovor nije ovjereni izvadak iz registra.

Posljednji pregled: 16. listopada 2026. Navodi o Zakonu, Pravilniku, Sudskom registru i usluzi Porezne uprave provjereni su toga dana.

Povezane stranice

Pokreni besplatno probno razdoblje od 14 dana · Dokumentacija API-ja

Probno razdoblje traje 14 dana i uključuje 500 kredita. Kartica je obavezna, tijekom probnog razdoblja ništa se ne naplaćuje; nakon toga slijedi paket Starter (9,99 € mjesečno) ako ne otkažete.

Frequently asked questions

Kako provjeriti je li OIB tvrtke ispravan?
Upišite ga u alat na vrhu stranice. OIB mora imati točno 11 znamenki, a jedanaesta mora odgovarati kontrolnoj znamenki izračunanoj iz prvih deset (ISO 7064, Modul 11,10). Ako se ne slaže, alat piše kolika bi trebala biti.
Kako se računa kontrolna znamenka OIB-a?
Počnite s t = 10. Za svaku od prvih deset znamenki: t = (znamenka + t) mod 10, pri čemu se 0 zamjenjuje s 10, pa t = (t × 2) mod 11. Kontrolna znamenka je 11 - t, a rezultat 10 postaje 0. Tablica s primjerom i testni vektori nalaze se iznad.
Dokazuje li ispravna kontrolna znamenka da tvrtka postoji?
Ne, samo da je broj dobro prepisan: provjeru prolazi svaki deseti nasumični jedanaestoznamenkasti broj. Postojanje, naziv i status provjeravate u registru, pretragom na ovoj stranici ili u javnoj pretrazi Sudskog registra.
Kako saznati kojoj tvrtki pripada OIB?
Upišite OIB u alat: ako ga nosi tvrtka iz Sudskog registra, vidjet ćete njezin naziv, MBS, pravni oblik, status i grad. Isto možete u javnoj pretrazi Sudskog registra (polje OIB). Usluga Porezne uprave radi obrnuto: iz naziva i MBS-a daje OIB.
Mogu li ovdje provjeriti OIB fizičke osobe ili obrtnika?
Ne. Poslužujemo samo pravne osobe iz Sudskog registra; trgovci pojedinci i obrtnici nikada se ne poslužuju, a OIB fizičke osobe ovdje se ne traži, pa ga nemojte upisivati.
Je li PDV broj isto što i OIB?
Hrvatski PDV broj čine slova HR i OIB, na primjer HR27759560625. U našem zapisu vat_number_source je rule: oblik je ispravan, ali registracija nije potvrđena. Potvrdu daje GET /vat/HR27759560625 (VIES, 1 kredit).