[{"data":1,"prerenderedAt":516},["ShallowReactive",2],{"page-\u002Fbezpieczny-import-csv-dpp":3,"sources":398},{"id":4,"title":5,"answer":6,"body":7,"cta":361,"description":362,"extension":363,"eyebrow":364,"legal":361,"meta":365,"metaTitle":366,"navigation":367,"path":368,"planFree":369,"relatedPages":370,"seo":390,"sources":391,"stem":395,"updatedAt":396,"__hash__":397},"pages\u002Fbezpieczny-import-csv-dpp.md","Bezpieczny import CSV do DPP – preflight, diff i rollback","Bezpieczny import danych DPP powinien najpierw pokazać, co zostanie utworzone, zmienione, pominięte lub wyczyszczone. Dopiero zaakceptowany diff może zostać zapisany. Historia zmian musi pozostać audytowalna, a rollback powinien tworzyć zmianę kompensującą zamiast usuwać wcześniejsze rewizje.",{"type":8,"value":9,"toc":347},"minimark",[10,15,19,22,26,29,35,38,127,131,134,144,147,156,160,163,188,191,195,198,212,215,219,222,225,229,232,235,257,260,264,267,270,273,277,280,303,306,310,337,341],[11,12,14],"h2",{"id":13},"dlaczego-poprawny-csv-może-nadal-być-niebezpieczny","Dlaczego poprawny CSV może nadal być niebezpieczny?",[16,17,18],"p",{},"Walidacja pliku odpowiada na pytanie, czy dane można odczytać. Nie potwierdza jeszcze, że zapis da oczekiwany efekt biznesowy. Plik może mieć prawidłowe kodowanie, nagłówki i typy, a mimo to wyczyścić istniejącą wartość, zmienić identyfikator, połączyć niewłaściwy wariant albo nadpisać dane nowsze od danych źródłowych.",[16,20,21],{},"Ryzyko rośnie, gdy jeden import aktualizuje wiele produktów lub łączy dane z kilku systemów. Dlatego import DPP trzeba traktować jak kontrolowaną zmianę katalogu, a nie zwykłe wgranie arkusza.",[11,23,25],{"id":24},"pięć-kroków-bezpiecznej-zmiany-danych","Pięć kroków bezpiecznej zmiany danych",[16,27,28],{},"Rekomendowany proces to:",[16,30,31],{},[32,33,34],"code",{},"Preflight → Diff → Approve → Apply → Rollback",[16,36,37],{},"Nie jest to literalna sekwencja narzucona przez ESPR. To praktyczny wzorzec projektowy, który pomaga chronić integralność, historię i dostępność danych DPP.",[39,40,41,57],"table",{},[42,43,44],"thead",{},[45,46,47,51,54],"tr",{},[48,49,50],"th",{},"Etap",[48,52,53],{},"Co powinien zrobić system",[48,55,56],{},"Decyzja użytkownika",[58,59,60,75,88,101,114],"tbody",{},[45,61,62,69,72],{},[63,64,65],"td",{},[66,67,68],"strong",{},"Preflight",[63,70,71],{},"Odczytać plik, znormalizować dane i wykryć konflikty bez zmiany produktów",[63,73,74],{},"Czy wejście i mapowanie są właściwe?",[45,76,77,82,85],{},[63,78,79],{},[66,80,81],{},"Diff",[63,83,84],{},"Pokazać wartości przed i po oraz klasy ryzyka",[63,86,87],{},"Czy każda zmiana jest zamierzona?",[45,89,90,95,98],{},[63,91,92],{},[66,93,94],{},"Approve",[63,96,97],{},"Zatwierdzić dokładny, niezmienny plan zmian",[63,99,100],{},"Kto bierze odpowiedzialność za wykonanie?",[45,102,103,108,111],{},[63,104,105],{},[66,106,107],{},"Apply",[63,109,110],{},"Zapisać nowe rewizje idempotentnie i z audytem",[63,112,113],{},"Czy raport wykonania jest kompletny?",[45,115,116,121,124],{},[63,117,118],{},[66,119,120],{},"Rollback",[63,122,123],{},"Utworzyć zmianę kompensującą do wcześniejszego stanu",[63,125,126],{},"Czy od importu nie powstały nowsze zależności?",[11,128,130],{"id":129},"co-powinien-pokazać-preflight-importu-csv","Co powinien pokazać preflight importu CSV?",[16,132,133],{},"Dobry podgląd nie kończy się na liczbie poprawnych wierszy. Powinien podsumować rzeczywisty wpływ, na przykład:",[135,136,142],"pre",{"className":137,"code":139,"language":140,"meta":141},[138],"language-text","250 rekordów\n184 zostaną utworzone\n51 zostanie zaktualizowanych\n12 jest zablokowanych\n3 zawierają potencjalnie destrukcyjne zmiany\n","text","",[32,143,139],{"__ignoreMap":141},[16,145,146],{},"Dla każdej pozycji użytkownik powinien móc zobaczyć produkt, pole, wartość obecną, wartość proponowaną, źródło oraz przyczynę ostrzeżenia. Preflight pozostaje read-only: nie tworzy produktu, nie rezerwuje miejsca w limicie i nie zmienia wyniku gotowości.",[16,148,149,150,155],{},"Jeżeli dane od dostawcy wymagają tłumaczenia nazw pól, słowników lub jednostek, normalizacja powinna zakończyć się przed wyliczeniem diffu. ",[151,152,154],"a",{"href":153},"\u002Fnormalizacja-danych-dostawcow-dpp","Zobacz, jak rozdzielić mapowanie pól, wartości i jednostek",".",[11,157,159],{"id":158},"field-level-diff-które-zmiany-wymagają-uwagi","Field-level diff: które zmiany wymagają uwagi?",[16,161,162],{},"Nie wszystkie aktualizacje mają takie samo ryzyko. System powinien odróżniać:",[164,165,166,170,173,176,179,182,185],"ul",{},[167,168,169],"li",{},"utworzenie nowego produktu",[167,171,172],{},"uzupełnienie pustego pola",[167,174,175],{},"zmianę istniejącej wartości",[167,177,178],{},"brak rzeczywistej zmiany",[167,180,181],{},"konflikt z nowszą rewizją",[167,183,184],{},"operację zablokowaną",[167,186,187],{},"zmianę potencjalnie destrukcyjną",[16,189,190],{},"Do ostatniej kategorii należą przede wszystkim zmiana stabilnego identyfikatora, wyczyszczenie danych, zmiana kategorii lub profilu wymagań, odłączenie evidence oraz modyfikacja informacji użytej w publicznym DPP.",[11,192,194],{"id":193},"pusta-komórka-nie-może-automatycznie-znaczyć-usuń","Pusta komórka nie może automatycznie znaczyć „usuń”",[16,196,197],{},"W imporcie trzeba rozdzielić co najmniej cztery przypadki:",[164,199,200,203,206,209],{},[167,201,202],{},"kolumna nie istnieje — import nie zarządza tym polem",[167,204,205],{},"komórka jest pusta — znaczenie zależy od jawnie wybranego trybu",[167,207,208],{},"wartość ma być wyczyszczona — potrzebna jest wyraźna operacja i ostrzeżenie",[167,210,211],{},"pole nie dotyczy produktu — to odrębny stan, nie pusty tekst",[16,213,214],{},"Domyślny import nie powinien usuwać produktu, wariantu ani dokumentu. Jeżeli organizacja potrzebuje archiwizacji, musi to być osobna operacja z właściwym uprawnieniem i raportem wpływu.",[11,216,218],{"id":217},"zatwierdzenie-i-próg-dużej-zmiany","Zatwierdzenie i próg dużej zmiany",[16,220,221],{},"Kliknięcie „Importuj” powinno zatwierdzać konkretną checksumę planu zmian. Jeżeli od podglądu produkt, profil albo mapowanie uległy zmianie, wykonanie musi zostać zatrzymane i ponownie przeliczone.",[16,223,224],{},"Dodatkowa akceptacja jest potrzebna, gdy import przekracza uzgodniony próg, np. aktualizuje znaczną część katalogu, czyści wiele pól, zmienia identyfikatory albo dotyka danych publicznych. Próg powinien być wersjonowaną polityką, a nie ukrytą stałą interfejsu.",[11,226,228],{"id":227},"idempotencja-i-raport-wykonania","Idempotencja i raport wykonania",[16,230,231],{},"Idempotency key chroni przed podwójnym wykonaniem tego samego żądania po timeoutach i ponowieniach. Nie zastępuje jednak kontroli wersji. Apply powinien także sprawdzić, czy rekord bazowy nadal ma rewizję używaną w preflight.",[16,233,234],{},"Końcowy raport musi pokazywać każdy produkt jako:",[164,236,237,242,247,252],{},[167,238,239],{},[32,240,241],{},"success",[167,243,244],{},[32,245,246],{},"failed",[167,248,249],{},[32,250,251],{},"skipped",[167,253,254],{},[32,255,256],{},"conflict",[16,258,259],{},"Częściowego wykonania nie wolno przedstawiać jako pełnego sukcesu. Użytkownik musi wiedzieć, które rekordy wymagają poprawienia i bezpiecznego ponowienia.",[11,261,263],{"id":262},"jak-działa-undo-import","Jak działa Undo import?",[16,265,266],{},"Rollback nie powinien kasować historii. Bezpieczny mechanizm zapisuje checkpoint przed wykonaniem, a następnie tworzy nowe rewizje przywracające poprzednie wartości.",[16,268,269],{},"Automatyczne cofnięcie trzeba zatrzymać, jeżeli po imporcie ktoś ręcznie zmienił produkt, powstała nowa wersja DPP albo dodano inną zależność. System powinien wtedy pokazać konflikt do review, zamiast nadpisać nowszą pracę.",[16,271,272],{},"Opublikowany paszport pozostaje niezmienny. Rollback danych produktu może przygotować nowy draft lub ponowną ocenę, ale nie przepisuje historycznej wersji dostępnej z kodu QR.",[11,274,276],{"id":275},"ten-sam-wzorzec-dla-api-erp-i-pim","Ten sam wzorzec dla API, ERP i PIM",[16,278,279],{},"Integracja ciągła wymaga tych samych zabezpieczeń co CSV, tylko udostępnionych maszynowo:",[164,281,282,285,288,291,294,297,300],{},[167,283,284],{},"endpoint dry-run zwracający plan i diff",[167,286,287],{},"obowiązkowy klucz idempotencji dla operacji zapisu",[167,289,290],{},"expected version i ochrona przed starszym źródłem",[167,292,293],{},"limit wielkości oraz próg zmiany",[167,295,296],{},"kolejka ponowień i dead-letter queue",[167,298,299],{},"status zdrowia integracji i ostatniego poprawnego przetworzenia",[167,301,302],{},"możliwość ponowienia wyłącznie błędnych rekordów",[16,304,305],{},"Decyzja wykonawcza Komisji (UE) 2026\u002F1736 publikuje odniesienia m.in. do EN 18216:2026 dla protokołów wymiany danych, EN 18222:2026 dla API cyklu życia DPP i EN 18223:2026 dla interoperacyjności systemu. Same tytuły norm nie potwierdzają zgodności konkretnego importera — szczegółowy zakres trzeba ocenić względem tekstu normy i właściwych wymagań produktowych.",[11,307,309],{"id":308},"checklista-przed-uruchomieniem-importu-dpp","Checklista przed uruchomieniem importu DPP",[311,312,313,316,319,322,325,328,331,334],"ol",{},[167,314,315],{},"Pobierz szablon dla właściwej domeny i wersji profilu.",[167,317,318],{},"Ustal, które kolumny tworzą rekord, aktualizują go lub pozostają bez wpływu.",[167,320,321],{},"Wykonaj preflight bez zapisu.",[167,323,324],{},"Przejrzyj wszystkie blokady i potencjalnie destrukcyjne różnice.",[167,326,327],{},"Potwierdź dokładny plan zmian, a nie tylko nazwę pliku.",[167,329,330],{},"Zachowaj raport wykonania oraz checkpoint.",[167,332,333],{},"Ponownie oblicz readiness dla zmienionych produktów.",[167,335,336],{},"Sprawdź drafty przed utworzeniem kolejnej publicznej wersji DPP.",[11,338,340],{"id":339},"safe-import-w-dpp-compliance","Safe Import w DPP Compliance",[16,342,343,344,346],{},"Import CSV jest elementem planu Starter, ale pełny workflow ",[32,345,34],{}," jest zakresem rozwoju produktu. Nie deklarujemy dry-run API, automatycznego rollbacku ani Integration Health jako funkcji dostępnych obecnie. Ta strona opisuje wymagany model bezpieczeństwa, według którego należy rozwijać kolejne ścieżki aktualizacji danych.",{"title":141,"searchDepth":348,"depth":348,"links":349},2,[350,351,352,353,354,355,356,357,358,359,360],{"id":13,"depth":348,"text":14},{"id":24,"depth":348,"text":25},{"id":129,"depth":348,"text":130},{"id":158,"depth":348,"text":159},{"id":193,"depth":348,"text":194},{"id":217,"depth":348,"text":218},{"id":227,"depth":348,"text":228},{"id":262,"depth":348,"text":263},{"id":275,"depth":348,"text":276},{"id":308,"depth":348,"text":309},{"id":339,"depth":348,"text":340},true,"Jak bezpiecznie importować dane DPP z CSV, API i ERP: preflight, field-level diff, zatwierdzenie, idempotencja, progi zmian oraz cofnięcie importu.","md","Import CSV • API • ERP\u002FPIM",{},"Bezpieczny import CSV DPP – preflight i rollback",false,"\u002Fbezpieczny-import-csv-dpp",null,[371,374,378,382,386],{"title":372,"href":153,"description":373},"Normalizacja danych dostawców do DPP","Mapowanie pól, słowników i jednostek przed walidacją oraz diffem.",{"title":375,"href":376,"description":377},"Integracja DPP z ERP i API","\u002Fbaza-wiedzy\u002Fdpp-api-i-wymiana-danych","Systemy źródłowe, mapowanie, idempotencja i monitoring integracji.",{"title":379,"href":380,"description":381},"Jak zmienić dostawcę DPP?","\u002Fjak-zmienic-dostawce-dpp-bez-utraty-danych","Exit Pack, przenoszalność danych i ciągłość kodów QR.",{"title":383,"href":384,"description":385},"Jak wybrać oprogramowanie DPP","\u002Foprogramowanie-dpp","Kryteria oceny platformy, integracji, bezpieczeństwa i eksportu.",{"title":387,"href":388,"description":389},"Plan wdrożenia DPP","\u002Fwdrozenie-dpp","Mapowanie danych i przygotowanie integracji do pilotażu.",{"title":5,"description":362},[392,393,394],"espr","dppStandardsDecision","standardisation","bezpieczny-import-csv-dpp","2026-09-14","fkzKJJfyV1LK0ctWsLpzS3x15HFiWvFBswexdMjY3Ws",{"id":399,"extension":400,"items":401,"meta":513,"stem":514,"__hash__":515},"sources\u002Fdata\u002Fsources.yml","yml",[402,406,410,415,419,423,427,431,435,439,443,447,451,455,459,463,466,470,474,478,482,486,490,494,498,502,506,510],{"key":392,"name":403,"url":404,"type":405},"Rozporządzenie (UE) 2024\u002F1781 (ESPR)","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg\u002F2024\u002F1781\u002Foj","prawo-ue",{"key":407,"name":408,"url":409,"type":405},"batteries","Rozporządzenie (UE) 2023\u002F1542 w sprawie baterii i zużytych baterii","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg\u002F2023\u002F1542\u002Foj",{"key":411,"name":412,"url":413,"type":414},"batteryPassportCommission","Komisja Europejska — Battery Passport","https:\u002F\u002Fsingle-market-economy.ec.europa.eu\u002Fsingle-market\u002Fdigital-product-passport\u002Fbatteries_en","komisja-europejska",{"key":416,"name":417,"url":418,"type":414},"batteryPassportDataPoints","Komisja Europejska — Digital Batteries Passport, 71 data points by category, wersja 2.0","https:\u002F\u002Fsingle-market-economy.ec.europa.eu\u002Fdocument\u002Fdownload\u002Fcd1e5e6c-4a4a-4b99-995a-49eb6916187e_en?filename=Digital+Batteries+Passport+-+data+point+by+category.pdf",{"key":420,"name":421,"url":422,"type":414},"steelDppCommission","Komisja Europejska — Digital Product Passport for Iron and Steel","https:\u002F\u002Fsingle-market-economy.ec.europa.eu\u002Fsingle-market\u002Fdigital-product-passport\u002Firon-steel_en",{"key":424,"name":425,"url":426,"type":414},"steelDppJrcProposal","JRC — ESPR Steel DPP Content Proposal, projekt do konsultacji z 23 marca 2026 r.","https:\u002F\u002Fsusproc.jrc.ec.europa.eu\u002Fproduct-bureau\u002Fsites\u002Fdefault\u002Ffiles\u002F2026-03\u002FSubmission_ESPR%20Steel%20DPP%20Content%20Proposal_0.pdf",{"key":428,"name":429,"url":430,"type":414},"steelJrcDocuments","JRC Product Bureau — dokumenty badania przygotowawczego dla żelaza i stali","https:\u002F\u002Fsusproc.jrc.ec.europa.eu\u002Fproduct-bureau\u002Fproduct-groups\u002F642\u002Fdocuments",{"key":432,"name":433,"url":434,"type":414},"textileDppCommission","Komisja Europejska — Textile Apparel and the Digital Product Passport","https:\u002F\u002Fsingle-market-economy.ec.europa.eu\u002Fsingle-market\u002Fdigital-product-passport\u002Ftextile-apparel_en",{"key":436,"name":437,"url":438,"type":414},"textileDppJrcStudy","JRC — Study on DPP content for textile apparel products under ESPR, 13 maja 2026 r.","https:\u002F\u002Fsusproc.jrc.ec.europa.eu\u002Fproduct-bureau\u002Fsites\u002Fdefault\u002Ffiles\u002F2026-05\u002FTextiles_DPP_20260513.pdf",{"key":440,"name":441,"url":442,"type":414},"textileJrcDocuments","JRC Product Bureau — dokumenty badania przygotowawczego dla tekstyliów","https:\u002F\u002Fsusproc.jrc.ec.europa.eu\u002Fproduct-bureau\u002Fproduct-groups\u002F467\u002Fdocuments",{"key":444,"name":445,"url":446,"type":414},"dppJrcMethodology","JRC — Methodology for defining data requirements for the Digital Product Passport under the ESPR framework","https:\u002F\u002Fpublications.jrc.ec.europa.eu\u002Frepository\u002Fhandle\u002FJRC145830",{"key":448,"name":449,"url":450,"type":405},"detergents","Rozporządzenie (UE) 2026\u002F405 w sprawie detergentów i środków powierzchniowo czynnych","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg\u002F2026\u002F405\u002Foj",{"key":452,"name":453,"url":454,"type":405},"toys","Rozporządzenie (UE) 2025\u002F2509 w sprawie bezpieczeństwa zabawek","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg\u002F2025\u002F2509\u002Foj",{"key":456,"name":457,"url":458,"type":405},"constructionProducts","Rozporządzenie (UE) 2024\u002F3110 w sprawie wyrobów budowlanych","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg\u002F2024\u002F3110\u002Foj",{"key":460,"name":461,"url":462,"type":414},"dppRoadmap","Digital Product Passport — harmonogram Komisji Europejskiej","https:\u002F\u002Fsingle-market-economy.ec.europa.eu\u002Fsingle-market\u002Fdigital-product-passport_en",{"key":393,"name":464,"url":465,"type":405},"Decyzja wykonawcza Komisji (UE) 2026\u002F1736 — sześć norm zharmonizowanych DPP","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Fdec_impl\u002F2026\u002F1736\u002Foj",{"key":467,"name":468,"url":469,"type":414},"dppStandardsFaq","Digital Product Passport — oficjalne FAQ Komisji Europejskiej","https:\u002F\u002Fsingle-market-economy.ec.europa.eu\u002Fsingle-market\u002Fdigital-product-passport\u002Fexplore-our-faqs_en",{"key":471,"name":472,"url":473,"type":414},"dppEconomicOperators","Digital Product Passport — obowiązki operatorów gospodarczych i sprzedaż na odległość","https:\u002F\u002Fsingle-market-economy.ec.europa.eu\u002Fsingle-market\u002Fdigital-product-passport\u002Feconomic-operators_en",{"key":475,"name":476,"url":477,"type":414},"dppPublicAuthorities","Digital Product Passport — kontrole celne i nadzór rynku","https:\u002F\u002Fsingle-market-economy.ec.europa.eu\u002Fsingle-market\u002Fdigital-product-passport\u002Fpublic-authorities_en",{"key":479,"name":480,"url":481,"type":414},"publicProcurementActProposal","COM(2026) 590 final — projekt unijnego rozporządzenia o zamówieniach publicznych i koncesjach","https:\u002F\u002Feur-lex.europa.eu\u002Flegal-content\u002FEN\u002FTXT\u002F?uri=COM:2026:590:FIN",{"key":483,"name":484,"url":485,"type":405},"esprUnsoldDisclosure","Rozporządzenie wykonawcze Komisji (UE) 2026\u002F2 — ujawnianie danych o niesprzedanych produktach","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg_impl\u002F2026\u002F2\u002Foj",{"key":487,"name":488,"url":489,"type":405},"esprUnsoldDerogations","Rozporządzenie delegowane Komisji (UE) 2026\u002F296 — wyjątki od zakazu niszczenia","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg_del\u002F2026\u002F296\u002Foj",{"key":491,"name":492,"url":493,"type":414},"workingPlan","ESPR and Energy Labelling Working Plan 2025–2030","https:\u002F\u002Feur-lex.europa.eu\u002Flegal-content\u002FPL\u002FTXT\u002F?uri=CELEX:52025DC0187",{"key":495,"name":496,"url":497,"type":414},"registry","DPP Registry — European Commission","https:\u002F\u002Fsingle-market-economy.ec.europa.eu\u002Fsingle-market\u002Fdigital-product-passport\u002Fdpp-registry_en",{"key":499,"name":500,"url":501,"type":405},"registryImplementingRegulation","Rozporządzenie wykonawcze Komisji (UE) 2026\u002F1778 — zasady działania DPP Registry","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg_impl\u002F2026\u002F1778\u002Foj",{"key":503,"name":504,"url":505,"type":414},"registryLaunch","Komisja Europejska — DPP Registry działa od 20 lipca 2026 r.","https:\u002F\u002Fsingle-market-economy.ec.europa.eu\u002Fnews\u002Fdigital-product-passport-registry-now-live-2026-07-20_en",{"key":507,"name":508,"url":509,"type":414},"registryUserGuide","DPP Registry User Guide for Economic Operators, wersja 1.01","https:\u002F\u002Fsingle-market-economy.ec.europa.eu\u002Fdocument\u002Fdownload\u002F079a45e2-469f-4eec-b1e5-32e8e05d1357_en?filename=dpp_registry_user_guide_for_economic_operators.pdf",{"key":394,"name":511,"url":512,"type":414},"JRC — Digital Product Passport","https:\u002F\u002Fjoint-research-centre.ec.europa.eu\u002Fprojects-and-activities\u002Fdigital-product-passport_en",{},"data\u002Fsources","G8uMT0QC2Jjs5t7hyRPPvjjwZy3TEHYQBDnXeNIL8uY",1790144106965]