---
title: "Kontrahenci"
description: "Rejestr dostawców i odbiorców w Numify — wyszukiwanie po NIP z Białej Listy, automatyczne uzupełnianie danych, weryfikacja statusu VAT i numeru VAT UE (VIES), przechowywanie rachunków bankowych do weryfikacji MPP."
url: https://numifyai.com/docs/korzystanie-z-numify/kontrahenci
review_status: internal
updated: 2026-04-16
---


**Kontrahenci** to rejestr firm, z którymi spółka prowadzi rozliczenia — zarówno
**dostawców** (od których kupuje), jak i **odbiorców** (którym sprzedaje). Dane
z tego rejestru są używane przy parsowaniu <PolishTerm pl="dokumentów przychodzących" en="incoming documents" />,
wystawianiu własnych faktur oraz dopasowywaniu wyciągów bankowych.

<ComplianceDisclaimer />

{/* SCREENSHOT: ekran /contractors — lista kontrahentów z kartami (nazwa, NIP, miasto) */}

## Po co to w Numify [#po-co-to-w-numify]

Spółka z o.o. musi na każdej fakturze umieścić **nazwę i adres oraz NIP
podatnika i nabywcy** (<LegalRef act="VAT" art="106e" paragraph="1" /> pkt 3–5).
Przechowywanie tych danych w jednym miejscu eliminuje błędy przepisywania
i pozwala:

* **automatycznie uzupełniać** dane nowego kontrahenta po wpisaniu samego NIP — z rejestru publicznego (Biała Lista);
* **dopasowywać** fakturę przychodzącą do już istniejącego dostawcy (zamiast tworzyć duplikat);
* **weryfikować rachunek bankowy** przed zapłatą (→ <FeatureRef slug="/docs/zgodnosc-z-prawem/ustawa-o-vat/biala-lista">Biała Lista</FeatureRef>);
* **walidować numer VAT UE** dla transakcji wewnątrzwspólnotowych (VIES).

## Model danych [#model-danych]

Każdy kontrahent ma następujące pola widoczne w formularzu:

| Pole                    | Przeznaczenie                                                     |
| ----------------------- | ----------------------------------------------------------------- |
| Nazwa                   | Pełna nazwa firmy (pojawia się na fakturach).                     |
| Skrót (opcjonalnie)     | Krótka etykieta na listach.                                       |
| NIP                     | 10-cyfrowy numer identyfikacji podatkowej.                        |
| Kraj                    | 2-literowy kod ISO (PL domyślnie).                                |
| Adres                   | Ulica, kod pocztowy, miasto.                                      |
| Rachunek bankowy (IBAN) | Używany do weryfikacji Białej Listy przy płatnościach.            |
| E-mail, telefon         | Dane kontaktowe.                                                  |
| Typ                     | `supplier` (dostawca), `customer` (odbiorca), `both` (obie role). |

Pole `taxId` w bazie to NIP dla kontrahentów polskich; dla unijnych może
zawierać numer VAT UE (np. `DE123456789`) — wtedy walidujemy go przez VIES.

## Automatyczne uzupełnianie z Białej Listy [#automatyczne-uzupełnianie-z-białej-listy]

Wpisując NIP w formularzu **Dodaj kontrahenta** i klikając ikonę ✨
(Sparkles) Numify odpytuje publiczne API Ministerstwa Finansów i uzupełnia:

* nazwę firmy,
* adres siedziby (ulica, kod, miasto),
* numer KRS (jeśli nadany),
* status VAT (czynny / zwolniony / niezarejestrowany),
* zarejestrowane rachunki bankowe.

Podstawą prawną wykazu jest <LegalRef act="VAT" art="96b" /> — Szef Krajowej
Administracji Skarbowej prowadzi elektroniczny wykaz podatników VAT, który
każdy przedsiębiorca może sprawdzić na wybrany dzień z okresu ostatnich 5 lat.

<ServiceRef path="src/lib/services/krs-lookup.ts">
  krs-lookup.ts
</ServiceRef>

### Fallbacki [#fallbacki]

1. **Biała Lista niedostępna** (np. awaria API MF) — pole pozostaje puste, pokazujemy toast z informacją. Nie blokujemy tworzenia kontrahenta.
2. **NIP nieznany** (firma w likwidacji, cudzoziemiec bez PL-NIP) — formularz pozwala wypełnić dane ręcznie.
3. **Kontrahent zagraniczny (UE)** — zamiast NIP podaje się pełny numer VAT UE; weryfikujemy go przez VIES (<ServiceRef path="src/lib/services/vies-validation.ts">vies-validation.ts</ServiceRef>).

## Weryfikacja rachunku bankowego [#weryfikacja-rachunku-bankowego]

Numify przechowuje IBAN kontrahenta, ale **nie sprawdza go automatycznie przy
każdej płatności** — to krok ręczny lub wykonywany w kontekście księgowania
płatności. Zobacz <FeatureRef slug="/docs/zgodnosc-z-prawem/ustawa-o-vat/biala-lista">Biała Lista</FeatureRef>
dla pełnej procedury weryfikacji i konsekwencji zapłaty na rachunek
niezarejestrowany.

<ServiceRef path="src/lib/services/white-list.ts">
  white-list.ts
</ServiceRef>

Kluczowe progi:

* **≥ 15 000 zł (brutto)** w płatności do czynnego podatnika VAT — zapłata na rachunek spoza wykazu skutkuje ryzykiem NKUP oraz solidarną odpowiedzialnością za VAT (szczegóły → <FeatureRef slug="/docs/zgodnosc-z-prawem/ustawa-o-vat/biala-lista">biala-lista</FeatureRef>).
* **Faktury z załącznika nr 15** — dodatkowo obowiązkowy MPP (<LegalRef act="VAT" art="106e" paragraph="1 pkt 18a" />).

## Kontrahenci UE i weryfikacja VIES [#kontrahenci-ue-i-weryfikacja-vies]

Dla firm spoza Polski, ale z UE, używamy **numeru VAT UE** (np. `DE123456789`,
`FR12345678901`). Walidacja następuje przez publiczny serwis VIES Komisji
Europejskiej i daje potwierdzenie, że numer jest aktywny w danym dniu.

To istotne dla dokumentowania **WDT / WNT** — zobacz
<FeatureRef slug="/docs/zgodnosc-z-prawem/ustawa-o-vat/vat-ue">VAT-UE</FeatureRef>
i <FeatureRef slug="/docs/zgodnosc-z-prawem/ustawa-o-vat/wnt-wdt">WNT/WDT</FeatureRef>.

<ServiceRef path="src/lib/services/vies-validation.ts">
  vies-validation.ts
</ServiceRef>

## Automatyczne tworzenie przy imporcie faktury [#automatyczne-tworzenie-przy-imporcie-faktury]

Gdy prześlesz fakturę przez <FeatureRef slug="dokumenty">Dokumenty</FeatureRef>,
parser AI wyodrębnia NIP wystawcy i — jeśli nie ma jeszcze kontrahenta o tym
NIP — tworzy go automatycznie z danych z faktury. Dane z Białej Listy są
używane do uzupełnienia brakujących pól (adres, status VAT).

Dzięki temu rejestr **rośnie z użytkiem**, zamiast wymagać wypełniania
z góry.

{/* SCREENSHOT: formularz "Dodaj kontrahenta" z podświetlonym przyciskiem ✨ Wyszukaj po NIP */}

## Dezaktywacja vs usunięcie [#dezaktywacja-vs-usunięcie]

Kontrahent po utworzeniu **nie może zostać usunięty**, jeśli ma powiązane
dokumenty lub transakcje — to wymóg <LegalRef act="UoR" art="25" /> (ślad
rewizyjny — żaden zapis księgowy nie może „stracić" kontekstu, w którym
powstał).

Zamiast tego używa się flagi `isActive`. Nieaktywni kontrahenci:

* pozostają widoczni na historycznych dokumentach i fakturach,
* nie pojawiają się w domyślnych listach wyboru przy tworzeniu nowych transakcji,
* są wyszarzeni w widoku listy.

## Ograniczenia [#ograniczenia]

1. **Brak automatycznej synchronizacji** ze zmianami w Białej Liście — po utworzeniu kontrahenta dane nie są odświeżane cyklicznie. Jeśli kontrahent zmienił adres lub status VAT, trzeba odświeżyć dane ręcznie (wpisując NIP ponownie i klikając ✨).
2. **Brak historii zmian na poziomie kontrahenta** — jeśli zmienisz nazwę lub NIP, Numify nie wersjonuje tej zmiany. Dla audytu zmiany danych polegamy na globalnym `auditLog` repozytorium.
3. **Brak pełnego importu masowego** (CSV) w UI — jest na roadmapie; dziś masa kontrahentów tworzy się przez import faktur.
4. **Walidacja NIP** sprawdza tylko format (10 cyfr) — nie sumę kontrolną. Zamiast tego polegamy na Białej Liście jako źródle prawdy (nieistniejący NIP nie zwróci odpowiedzi).

## Rekomendowany workflow [#rekomendowany-workflow]

1. **Nie wypełniaj rejestru z góry.** Pozwól, by rósł w miarę przetwarzania dokumentów — to szybsze i obarczone mniejszym ryzykiem błędu.
2. **Przy pierwszej fakturze od nowego dostawcy** sprawdź, czy dane z Białej Listy są kompletne (IBAN, adres) — uzupełnij brakujące pola ręcznie.
3. **Dla płatności ≥ 15 000 zł** upewnij się, że IBAN w rejestrze kontrahentów zgadza się z wykazem — zobacz <FeatureRef slug="/docs/zgodnosc-z-prawem/ustawa-o-vat/biala-lista">biała lista</FeatureRef>.
4. **Dla kontrahentów UE** wprowadź NIP z prefiksem kraju (`DE…`, `FR…`) i zweryfikuj przez VIES — wynik ma znaczenie dla <FeatureRef slug="/docs/zgodnosc-z-prawem/ustawa-o-vat/wnt-wdt">WNT/WDT</FeatureRef>.

## Powiązane [#powiązane]

* <FeatureRef slug="dokumenty">dokumenty</FeatureRef> — parser tworzy/łączy kontrahentów automatycznie.
* <FeatureRef slug="faktury">faktury</FeatureRef> — nabywca wystawianej faktury pobierany jest z rejestru.
* <FeatureRef slug="transakcje">transakcje</FeatureRef> — każda transakcja jest powiązana z kontrahentem.
* <FeatureRef slug="/docs/zgodnosc-z-prawem/ustawa-o-vat/biala-lista">ustawa o VAT — Biała Lista</FeatureRef>.
* <FeatureRef slug="/docs/zgodnosc-z-prawem/ustawa-o-vat/vat-ue">ustawa o VAT — VAT-UE</FeatureRef>.
