Dwunastego października 2026 przeszliśmy weryfikację organizacji w środowisku testowym unijnego Rejestru Cyfrowych Paszportów Produktów (acceptance, wersja 1.0.12). Rejestr odpowiedział „Verification Request Successful” i włączył naszej organizacji rejestrację paszportów. W sierpniu ta sama ścieżka skończyła się odrzuceniem, które opisaliśmy ekran po ekranie. To jest ciąg dalszy: co się zmieniło, co naprawdę działa przy jednoosobowej działalności gospodarczej i na czym potknęliśmy się za pierwszym razem. Jedno na początek: to środowisko testowe, nie produkcja. Podręcznik Komisji mówi, że weryfikacja jest tam taka sama jak na produkcji i wymaga prawdziwych danych organizacji oraz prawdziwych podpisów, i dlatego wynik jest wart opisania. To nie jest konto produkcyjne i nie twierdzimy, że je mamy.
Co się zmieniło od sierpnia
- Zgłoszenie organizacji działa. W sierpniu zakładanie i edycja organizacji raz po raz kończyły się ogólnym błędem systemu, który helpdesk potwierdził jako usterkę po swojej stronie. W wersji 1.0.12 formularz organizacji się zapisuje i całą ścieżkę da się przejść.
- Jest nowy podręcznik. Wersja 1.03 DPP Registry User Guide for Economic Operators ukazała się 16 września 2026 i ma 63 strony. Wersja 1.01 z 28 lipca miała 56. Komisja linkuje go na swojej stronie o Rejestrze DPP.
- Limit adresu poszedł w górę. Unikalny identyfikator produktu (UPI), który zgłaszasz, może mieć teraz do 2000 znaków zamiast 50. Sprawdziliśmy to, szczegóły niżej.
- Rejestracja paszportu nadal nie jest możliwa. Dla nikogo. O tym też niżej.
Dlaczego za pierwszym razem dostaliśmy odrzucenie
Nasz wniosek z 21 sierpnia odrzucono z dwóch powodów i oba były po naszej stronie. Wgraliśmy deklarację bez żadnego własnego podpisu, a typ organizacji ustawiliśmy na Legal Person, chociaż DPPera działa jako jednoosobowa działalność gospodarcza.
Raport odrzucenia wymieniał siedem błędów. Czytany po fakcie, każdy z nich wynika z braku podpisu: pusty format podpisu tam, gdzie miał być PAdES, niezaufany certyfikat, brak kontrasygnaty, jeden podpis zamiast dokładnie dwóch, niezgodność danych i zdanie „Legal persons must use a qualified electronic seal”. Jak pisaliśmy wtedy, raport jest listą wszystkiego, co może pójść źle, a nie diagnozą. Znajdź jedną przyczynę, zanim zaczniesz leczyć siedem objawów.
Krok pierwszy: JDG to osoba fizyczna
To decyzja, od której zależy cała reszta, a formularz jej nie tłumaczy. Rejestr ma dwa typy organizacji i każdy wymaga innego kwalifikowanego środka.
- Natural Person to osoba fizyczna działająca we własnym imieniu. JDG jest dokładnie tym: firma nie ma osobowości prawnej odrębnej od właściciela. Osoba fizyczna podpisuje deklarację kwalifikowanym podpisem elektronicznym (QES), a rejestr porównuje imię, nazwisko, kraj i identyfikator z formularza z certyfikatem.
- Legal Person to organizacja z własną osobowością prawną. Potrzebuje kwalifikowanej pieczęci elektronicznej (QSeal), a pola organizationName i organizationIdentifier w certyfikacie pieczęci muszą się zgadzać z tym, co wpisano w formularzu.
Podręcznik 1.03 mówi to teraz wprost: podpis kwalifikowany, gdy operator gospodarczy „is a Natural Person acting as sole trader”, czyli jest osobą fizyczną prowadzącą jednoosobową działalność. Wybierając Legal Person przy JDG, potrzebujesz certyfikatu pieczęci z danymi organizacji zgodnymi z formularzem. Wybierając Natural Person, wystarczy Ci osobisty podpis kwalifikowany. W sierpniu helpdesk napisał nam, że przełączanie między tymi typami ma być możliwe na każdym etapie zgłoszenia. W październiku to zadziałało: typ zmieniliśmy w tym samym zgłoszeniu (Organisation Information, Edit), bez zakładania organizacji od nowa. Nasz październikowy wniosek poszedł jako osoba fizyczna.
Krok drugi: zdobądź podpis kwalifikowany. W Polsce jest darmowy, z haczykiem
Podpisaliśmy się darmowym podpisem kwalifikowanym w aplikacji mObywatel. Od października 2025 r. pełnoletni posiadacz e-dowodu może nim podpisać pięć dokumentów PDF miesięcznie, jak opisuje to Ministerstwo Cyfryzacji. Dostawcę wybiera się z listy. Wybraliśmy mSzafir od KIR.
Czego to wymagało w praktyce:
- e-dowodu, czyli dowodu osobistego z warstwą elektroniczną, i wydrukowanego na nim numeru CAN;
- telefonu z NFC do odczytu dowodu;
- pliku PDF, bo usługa podpisuje tylko PDF, i to w formacie PAdES, którego wymaga rejestr;
- żadnego PIN-u. U nas tożsamość potwierdził odczyt dowodu.
Pułapka: mObywatel ma dwie usługi o podobnych nazwach. Potrzebna jest usługa „Podpis kwalifikowany”. Usługa „Podpisz dokument” daje podpis osobisty, który nie jest podpisem kwalifikowanym, a rejestr wymaga kwalifikowanego.
Haczyk: rząd opisuje darmowe podpisy jako przeznaczone do spraw prywatnych. Deklaracja firmy nie jest oczywistą sprawą prywatną, więc zanim użyjesz go do konta produkcyjnego, przeczytaj regulamin. Płatne opcje nie są drogie. Na stronach dostawców w październiku 2026 r. znaleźliśmy jednorazowy podpis mSzafir za 15 zł netto, długoterminowy certyfikat mSzafir od 238 zł netto oraz Certum SimplySign za 299 zł netto plus 199 zł netto za weryfikację tożsamości przez wideo.
Krok trzeci: najpierw podpisz atrapę PDF i przeczytaj swój certyfikat
To ten trik sprawił, że drugie podejście przeszło, a kosztuje jeden z pięciu darmowych podpisów. Zanim wypełnisz formularz organizacji, podpisz tą samą usługą dowolny, niepotrzebny PDF i zajrzyj do certyfikatu w środku. Rejestr porówna z formularzem cztery atrybuty z pola podmiotu certyfikatu: givenName, surname, countryName i serialNumber.
Dwa szczegóły naszego certyfikatu wyłożyłyby nas, gdybyśmy wypełniali formularz z pamięci:
- Imię i nazwisko są wielkimi literami, z polskimi znakami. W certyfikacie stoją WERSALIKAMI, z ogonkami. Dokładnie tak wpisaliśmy je w formularz. Nie sprawdzaliśmy, czy porównanie ignoruje wielkość liter, i prawdziwy wniosek to złe miejsce, żeby się o tym przekonać.
- Identyfikator to nie sam numer. Atrybut serialNumber ma postać „PNOPL-”, a po nim numer PESEL. PNO to kod numeru osobowego, PL to kraj, potem sam numer.
W formularzu wybraliśmy typ identyfikatora PNO i wpisaliśmy pełną wartość, „PNOPL-” plus PESEL, dokładnie tak, jak stoi w certyfikacie. Przeszło. Podręcznik mówi, że identyfikator musi zgadzać się z atrybutem certyfikatu w całości, nie częściowo, więc nie eksperymentowaliśmy z samym numerem PESEL.
Certyfikat przeczytasz tak, jak radzi podręcznik: w czytniku PDF otwórz panel podpisów, potem szczegóły certyfikatu, zakładkę Szczegóły i pole Podmiot. Albo poleceniem openssl z naszej sierpniowej relacji, które wypisuje cały wiersz podmiotu. W sierpniu pisaliśmy też, że osoba fizyczna w Polsce wybierze między TIN (NIP) a PNO (PESEL) i że zgodzi się tylko jeden z nich. Przy naszym podpisie był to PNO. Swój sprawdź na atrapie, bo właśnie po to ją podpisujesz.
Krok czwarty: podpisz deklarację i sprawdź plik przed wgraniem
Kolejność z sierpnia obowiązuje dalej: najpierw doprowadź do porządku rekord organizacji, dopiero potem zamów opieczętowaną deklarację, bo zamówienie blokuje dane. Potem:
- Pobierz deklarację opieczętowaną przez Komisję i nie otwieraj jej do ponownego zapisu w żadnym edytorze. Jedyna dozwolona zmiana to dodanie Twojego podpisu.
- Podpisz ją podpisem kwalifikowanym. Nasz plik wrócił w PAdES: SubFilter ETSI.CAdES.detached, poziom B, bez znacznika czasu. Rejestr go przyjął. Podręcznik akceptuje PAdES Baseline B, T, LT i LTA.
- Sprawdź podpisany plik w darmowym narzędziu walidacyjnym DSS Komisji, które poleca sam podręcznik. Format podpisu musi być jednym z poziomów PAdES-BASELINE, a pole Qualification musi pokazywać QESig dla osoby fizycznej. Jeśli pokazuje AdESig-QC, podpis powstał z certyfikatu programowego i weryfikacja się nie uda.
- Wgraj plik, wyślij go i obserwuj status w Activity Dashboard.
Podręcznik ostrzega też, że Adobe Acrobat może domyślnie osadzać podpis w formacie innym niż PAdES, i każe ustawić w preferencjach podpisu Default Signing Format na CAdES-Equivalent. Jeśli podpisujesz w Acrobacie certyfikatem innego dostawcy, zrób to najpierw i sprawdź wynik w DSS.
Komisja nadal nie drukuje litery Ł
Błąd, który zgłosiliśmy w sierpniu, jest w wersji 1.0.12 na swoim miejscu. PDF deklaracji generowany przez Komisję drukuje literę Ł jako krzyżyk, więc nazwisko w naszej deklaracji brzmi „#UKASZ G#UCH”. Formularz w przeglądarce pokazuje je poprawnie.
Dobra wiadomość: to nie blokuje weryfikacji. Nasza przeszła z krzyżykami w dokumencie, bo rejestr porównuje dane z formularza z atrybutami certyfikatu, a nie z tekstem wydrukowanym w PDF. To nadal dokument, który człowiek podpisuje podpisem kwalifikowanym, więc zachowaj kopię tego, co w nim stoi.
Wynik i co się dzięki niemu włącza
Po wgraniu i wysłaniu pulpit pokazał „Verification Request Successful”, a rejestr ogłosił „DPP registration is now available”. Konto, które złożyło wniosek, zostało administratorem organizacji. To cała ścieżka weryfikacji, przebyta do końca, w środowisku testowym.
Potem spróbowaliśmy zarejestrować paszport
Weryfikacja włącza zakładkę DPP Registration. Są dwie drogi: formularz online dla jednego paszportu i wgranie pliku dla wielu.
- Formularz online pyta o poziom szczegółowości (dla baterii jest tylko Item, czyli sztuka), o UPI oraz opcjonalnie o identyfikator partii i identyfikator modelu.
- Wgranie pliku korzysta z szablonu w JSON albo XML, schemaVersion 1.0.0. Jest minimalny: productGroup BATTERIES i lista pozycji, każda z polem uniqueProductIdentifier. Element główny XML to dppRegistrationBatch w przestrzeni nazw urn:eu:europa:ec:dpp:registry:batch:v1. Jeden plik mieści do 100 UPI, a jeden zły UPI odrzuca cały plik.
Co się stało:
- Prawdziwy adres paszportu DPPery, https://dppera.com/p/ z identyfikatorem paszportu, skończył się wynikiem FAILURE z kodem SEMANTIC_VALIDATION_UNAVAILABLE, i w formularzu, i w pliku. To oczekiwana odpowiedź, dopóki brakuje katalogu semantycznego.
- Przykładowe adresy z samego szablonu, w domenie eo.example.eu, skończyły się inaczej: „The UPI is not resolvable”, kod VALIDATION_RETRY_EXHAUSTED, po około czterech minutach. Rejestr naprawdę odpytuje każdy UPI, zanim dojdzie do walidacji semantycznej. Nasz adres to sprawdzenie przeszedł, zmyślone nie.
- UPI o długości 98 znaków i adres https://www. z jednym przekierowaniem 301 na domenę bez www przeszły sprawdzenie adresu i zatrzymały się dopiero na błędzie semantycznym. Limit 2000 znaków z podręcznika 1.03 jest prawdziwy.
Nasza rada się nie zmienia: zgłaszaj adres https w domenie bez www, który odpowiada bezpośrednio. Jedno przekierowanie przeszło w naszym teście, ale podręcznik nadal odrzuca nadmiarowe przekierowania i nie mówi, gdzie zaczyna się „nadmiar”, a ostateczna walidacja jeszcze nie działa.
Czego nadal nie zrobi nikt
- Nie zarejestruje paszportu. Komisja nie opublikowała katalogu semantycznego dla baterii, jedynej dostępnej grupy produktów, więc każda rejestracja kończy się na walidacji semantycznej. Zweryfikowany czy nie, nikt nie dojdzie dalej.
- Nie zarejestruje przez API. Rejestracji system-system nie opisuje podręcznik 1.03. Helpdesk mówił nam w sierpniu, że jest planowana na czwarty kwartał 2026 r.
- Nie zarządzi identyfikatorami operatora. Strona główna rejestru wymienia „Register and Manage Unique Operator Identifiers (UOIs)” wśród dostępnych operacji. Takiej pozycji w menu nie ma, a podręcznik 1.03 o niej nie wspomina. Obserwujemy.
Co zmieniliśmy w DPPerze
Dwie drobne rzeczy, bo szablon okazał się prostszy, niż się spodziewaliśmy. Paszporty baterii na poziomie sztuki można teraz wyeksportować z listy paszportów jako „Plik do Rejestru DPP”, w JSON albo XML według szablonu Komisji, podzielone na pliki po maksymalnie 100 UPI. A edytor liczy teraz adres paszportu względem limitu 2000 znaków zamiast 50. Żadna z tych funkcji niczego za Ciebie nie rejestruje. Rejestracji dokonuje Twoja organizacja, na własnym koncie, kiedy Komisja to umożliwi.
Lista kontrolna dla JDG
- Załóż konto EU Login i zacznij zgłoszenie z typem organizacji Natural Person.
- Zdecyduj, jakim podpisem kwalifikowanym się podpiszesz. W mObywatelu to „Podpis kwalifikowany”, nie „Podpisz dokument”. Do spraw firmowych przeczytaj regulamin albo kup płatny certyfikat.
- Podpisz atrapę PDF i przeczytaj pole podmiotu certyfikatu: givenName, surname, countryName, serialNumber.
- Wypełnij formularz dokładnie tak, jak mówi certyfikat: imię i nazwisko tymi samymi literami i tą samą wielkością, typ identyfikatora PNO, wartość w całości, „PNOPL-” plus numer.
- Dopiero wtedy zamów opieczętowaną deklarację, bo blokuje dane.
- Podpisz pobrany PDF bez ponownego zapisywania, sprawdź go w DSS, wgraj i wyślij.
Czego jeszcze nie wiemy
- Jak darmowy podpis z mObywatela pasuje do konta produkcyjnego. Technicznie przeszedł w środowisku testowym. Czy deklaracja firmy mieści się w regulaminie usługi, to pytanie do regulaminu, nie do rejestru.
- Jak działa odnowienie. Podręcznik mówi, że raport sukcesu podaje datę wygaśnięcia podpisu albo pieczęci, a status weryfikacji kończy się razem z nią. Rozporządzenie wykonawcze (UE) 2026/1778 dodaje górny limit 3 lat - liczy się to, co nastąpi wcześniej. Odczytaj tę datę w swoim raporcie i wpisz ją do kalendarza. Odnowienie opiszemy, kiedy do niego dojdziemy.
- Co sprawdzi walidacja semantyczna, gdy katalog już będzie. Do tego czasu nikt nie zna pełnej listy powodów, dla których paszport może zostać odrzucony.
FAQ
Czy DPPera ma konto w produkcyjnym Rejestrze DPP?
Nie. Przeszliśmy weryfikację organizacji w środowisku testowym rejestru, które stosuje tę samą weryfikację co produkcja. To nie jest konto produkcyjne i takiego konta nie mamy.
Czy JDG przejdzie weryfikację bez kwalifikowanej pieczęci?
Tak. JDG zgłasza się jako Natural Person i podpisuje deklarację kwalifikowanym podpisem elektronicznym. Kwalifikowana pieczęć jest wymagana przy typie Legal Person.
Jaki identyfikator wpisać przy JDG?
Ten, który jest w Twoim certyfikacie. W naszym serialNumber miał postać „PNOPL-” i numer PESEL, więc wybraliśmy PNO i wpisaliśmy pełną wartość. Przeszło. Najpierw podpisz atrapę PDF i przepisz to, co widzisz.
Czy wystarczy darmowy podpis z mObywatela?
Technicznie wystarczył: kwalifikowany, PAdES, przyjęty w środowisku testowym. Rząd opisuje darmowe podpisy jako przeznaczone do spraw prywatnych, więc przy deklaracji firmy na produkcji rozważ płatny, od 15 zł netto za jednorazowy podpis mSzafir.
Czy krzyżyki w deklaracji blokują weryfikację?
Nie. Nasza deklaracja wydrukowała Ł jako # i weryfikacja mimo to przeszła, bo sprawdzenie porównuje formularz z certyfikatem.
Czy po weryfikacji zarejestruję paszport baterii?
Jeszcze nie. Każda próba kończy się kodem SEMANTIC_VALIDATION_UNAVAILABLE, dopóki Komisja nie opublikuje katalogu semantycznego dla baterii. Weryfikacja oznacza, że będziesz gotowy, kiedy to zrobi.


