Więcej

Bezpłatna rozmowa
Stała cena na piśmie przed startem

NIP, biała lista i KRS w jednym wierszu: wzbogacanie danych firm w n8n

Masz w arkuszu same NIP-y, a potrzebujesz nazwy, REGON-u, formy prawnej, zarządu, PKD i rachunków. Ten workflow n8n pyta dwa publiczne rejestry, białą listę VAT i KRS, i wpisuje wynik z powrotem do tego samego wiersza.

Autor

Opublikowano:
Ostatnia weryfikacja:
Wersja n8n:
2.8.4

W skrócie

Co robi

  • Czyta NIP-y z Google Sheets i sprawdza ich sumę kontrolną
  • Pobiera status VAT, REGON, adres i rachunki z białej listy
  • Bierze numer KRS z odpowiedzi białej listy i pobiera odpis z KRS
  • Wyciąga formę prawną, zarząd, główne PKD i adres siedziby
  • Zapisuje wszystko z powrotem do tego samego wiersza arkusza

Czego nie robi

  • Nie obsługuje jednoosobowych działalności poza danymi z białej listy (CEIDG wymaga klucza)
  • Nie pyta rejestru stowarzyszeń i fundacji
  • Nie ocenia kontrahenta, tylko zbiera dane
  • Nie obejdzie limitu 100 zapytań dziennie do API Ministerstwa

Czego wymaga

  • n8n (sprawdzone na 2.8.4)
  • Konto Google z dostępem do arkusza
  • Kolumna z NIP-em w arkuszu

NIP, biała lista i KRS w jednym wierszu: wzbogacanie danych firm w n8n

Lista leadów, kontrahentów albo dostawców często zaczyna się od samego NIP-u. Reszta, czyli nazwa, REGON, forma prawna, kto zasiada w zarządzie, czym firma się zajmuje i na jakie rachunki przyjmuje płatności, leży w dwóch publicznych rejestrach. Oba mają darmowe API.

Ten workflow n8n łączy je w jeden wiersz arkusza. Nie wymaga klucza do żadnego z rejestrów.

Canvas workflow wzbogacania firm po NIP: odczyt z arkusza, walidacja NIP, zapytania do białej listy VAT i KRS, scalenie odpowiedzi i zapis z powrotem do arkusza
Dwa publiczne rejestry, jeden wiersz na firmę. Numer KRS do drugiego zapytania pochodzi z odpowiedzi białej listy.

Numer KRS bierzemy z białej listy

API KRS przyjmuje numer KRS, nie NIP. Zamiast prosić użytkownika o drugi identyfikator, workflow najpierw pyta białą listę VAT, która w odpowiedzi zwraca pole krs, i dopiero wtedy idzie do KRS po aktualny odpis:

kolejność zapytań
wl-api.mf.gov.pl/api/search/nip/{NIP}?date={dziś}
api-krs.ms.gov.pl/api/krs/OdpisAktualny/{KRS z odpowiedzi}?rejestr=P&format=json

Firma bez wpisu w KRS (na przykład jednoosobowa działalność) dostaje dane z białej listy, a pola z KRS zostają puste.

Odpis z KRS nie ma jednego kształtu

Struktura odpisu zależy od formy prawnej. Zarząd spółki z o.o. i wspólnicy spółki jawnej siedzą pod innymi kluczami, a imiona bywają tablicą obiektów albo zwykłym tekstem. Zamiast mapować każdą ścieżkę osobno, kod szuka kluczy w głąb drzewa:

merge-api-responses.js
const dane   = odpis ? findDeep(odpis, 'danePodmiotu') : null;
const header = odpis ? findDeep(odpis, 'naglowekA') : null;
const pkd    = odpis ? findDeep(odpis, 'przedmiotDzialalnosci') : null;

Osoby są zbierane z działu 2 odpisu jako „imię nazwisko (funkcja)”, bez duplikatów, maksymalnie 12.

Dwa szczegóły, przez które Google Sheets odrzuca zapis

Drugi szczegół: aktualizacja z automatycznym mapowaniem nie lubi mieszanych typów. Wartość logiczna w jednej kolumnie i tekst w drugiej potrafią dać błąd. Wszystko idzie więc jako tekst, a puste wartości jako puste komórki, a nie słowo „null”.

Co ląduje w arkuszu

KolumnaŹródło
vat_status, name_vat, regon, address_vatbiała lista
bank_accountsbiała lista, do 5 rachunków, reszta jako „+N more”
legal_form, name_krs, krs_registered_sinceKRS
peopleKRS, dział 2
pkd_mainKRS, przeważająca działalność
checked_atdata sprawdzenia

Ograniczenia

Jednoosobowe działalności nie mają wpisu w KRS. Ich dane rejestrowe są w CEIDG, której API wymaga tokenu, więc ten workflow go nie używa.

Zapytanie idzie tylko do rejestru przedsiębiorców (rejestr=P). Stowarzyszenia i fundacje są w rejestrze S i zostaną bez danych z KRS.

Każda firma to dwa zapytania. Limit API Ministerstwa wynosi 100 zapytań dziennie, więc dłuższe listy trzeba dzielić na kilka dni. NIP z błędną sumą kontrolną i tak trafia do zapytania (kończy się błędem i jest pomijany), więc warto go odfiltrować wcześniej.

Wyszukiwanie kluczy w głąb to heurystyka. Przy nietypowej formie prawnej któreś pole może zostać puste, mimo że informacja jest w odpisie.

Kiedy to nie ma sensu

Przy kilku firmach szybciej sprawdzić je w wyszukiwarkach rejestrów. Workflow przydaje się przy listach liczonych w setkach, na przykład przy przygotowaniu bazy do sprzedaży albo przeglądzie dostawców. Przed samą płatnością lepiej sprawdza się osobny workflow, który weryfikuje kontrahentów na białej liście. Gdy dane z rejestrów mają trafiać prosto do CRM albo systemu zakupowego, to już zadanie dla automatyzacji procesów.

Weź to do siebie

Jak to zacytować

Adrian Hunia (2026). NIP, biała lista i KRS w jednym wierszu: wzbogacanie danych firm w n8n. SEVENEDGE. https://sevenedge.pl/pl/workflows/nip-krs-biala-lista-wzbogacanie-firm (dostęp: 5 listopada 2026)

Źródła

  1. Ministerstwo Finansów — Jak korzystać z wykazu podatników VATdokumentacja API
  2. Portal Rejestrów Sądowych — API KRSdokumentacja API
  3. n8n docs — Google Sheetsdokumentacja n8n

Kto za tym stoi

Adrian Hunia

Współzałożyciel SEVENEDGE

Współzałożyciel SEVENEDGE. Projektuje i wdraża systemy biznesowe dla małych firm — od zarządzania produkcją po rejestrację czasu pracy. Pracuje na Next.js, FastAPI i PostgreSQL. SEVENEDGE działa bez podwykonawców: kod piszą dwaj właściciele.

Powiązane dokumenty

Inne przepływy, które opisaliśmy tak samo dokładnie.

7SVENAsystent AI, nie człowiek

Rozmawiasz z asystentem AI. Odpowiedzi generuje sztuczna inteligencja (Cerebras) i mogą zawierać błędy. Nie podawaj w czacie danych wrażliwych.

Administratorem Twoich danych jest SEVENEDGE ADRIAN HUNIA. Wiadomości z czatu wykorzystamy, żeby odpowiedzieć na pytania, a jeśli poprosisz, umówić spotkanie. Szczegóły i Twoje prawa: Polityka prywatności.

Cześć! Jestem SVEN, asystent AI SEVENEDGE. Robimy apki, SaaS i automatyzacje AI. W czym pomóc?
SVEN, maskotka SEVENEDGE, analizuje zgłoszenieSVEN, maskotka SEVENEDGE, zastanawia się przy kawieSVEN, maskotka SEVENEDGE, pracuje przy laptopie
Masz pomysł na apkę?