Instrukcja

Import produktów z CSV/XML do sklepu krok po kroku

Import produktów z CSV/XML pozwala wgrać setki lub tysiące pozycji naraz zamiast klepać je pojedynczo. Pokazujemy, jak przygotować plik, poprawnie zmapować pola, dodać zdjęcia i warianty oraz ustawić cykliczne aktualizacje, żeby katalog był zawsze aktualny.

Import produktów z CSV/XML - po co i kiedy

Ręczne dodawanie produktów jeden po drugim ma sens przy kilkunastu pozycjach. Gdy katalog rośnie do setek albo tysięcy indeksów, każda ręczna zmiana ceny czy stanu to godziny pracy i pole do błędów. Import masowy z pliku CSV lub XML rozwiązuje ten problem: przygotowujesz jeden plik z całym katalogiem, mapujesz kolumny na pola produktu i wgrywasz wszystko naraz.

Import przyda Ci się w kilku typowych sytuacjach:

  • Start sklepu - masz katalog w arkuszu i chcesz go załadować od razu, zamiast wpisywać ręcznie.
  • Współpraca z hurtownią lub dostawcą - dostajesz gotowy feed XML z produktami, cenami i stanami.
  • Regularna aktualizacja - codziennie odświeżasz ceny i dostępność z pliku od dostawcy.
  • Migracja z innego systemu - eksportujesz katalog ze starego narzędzia i wgrywasz do nowego (o tym więcej w sekcji o migracji).

Zanim zaczniesz, warto wiedzieć, co powinno się znaleźć w danych produktu. Dobrze przygotowana karta produktu importuje się bez poprawek, bo od razu ma komplet informacji.

Przygotowanie pliku CSV lub XML

Jakość importu zaczyna się od pliku. Kilka zasad, które oszczędzą Ci nerwów:

Format i kodowanie. Zapisuj plik w kodowaniu UTF-8, żeby polskie znaki (ą, ć, ę, ł, ń, ó, ś, ź, ż) nie zamieniły się w krzaki. W CSV ustal jeden separator - w Polsce często jest to średnik, bo przecinek koliduje z liczbami dziesiętnymi.

Klucz unikalny w każdym wierszu. Każdy produkt musi mieć identyfikator, po którym system rozpozna, czy to nowa pozycja, czy aktualizacja istniejącej. Najczęściej jest to SKU (Twój wewnętrzny symbol) albo EAN (kod kreskowy). Bez klucza kolejny import stworzy duplikaty.

Spójne formaty danych. Ceny z kropką jako separatorem dziesiętnym (19.99, nie 19,99), stany jako liczby całkowite, waga w jednej jednostce. Puste pole zostaw puste, nie wpisuj myślnika ani „brak".

Minimalny zestaw kolumn, od którego warto zacząć:

KolumnaPrzykładUwaga
skuKOSZ-CZARNA-MKlucz unikalny, wymagany
nameKoszulka bawełniana czarnaNazwa produktu
price79.99Cena brutto lub netto, ustal jedną konwencję
stock42Stan magazynowy
ean5901234567890Kod kreskowy, przydatny na marketplace
categoryOdzież > KoszulkiKategoria wewnętrzna
image_urlhttps://...Publiczny adres zdjęcia
descriptionMiękka bawełna 100%...Opis, w XML lepiej w osobnym węźle

Jeśli produkty mają rozmiary lub kolory, potrzebujesz dodatkowej struktury - o tym w sekcji o wariantach.

Mapowanie pól - serce importu

Mapowanie to moment, w którym mówisz systemowi, że kolumna price z Twojego pliku to pole „cena", a stock to „stan magazynowy". Brzmi trywialnie, ale to tu powstaje większość problemów.

Kilka reguł, które warto zapamiętać:

  1. Mapuj tylko to, co chcesz zmienić. Jeśli import ma odświeżać wyłącznie ceny i stany, zmapuj tylko te dwie kolumny plus klucz (SKU). Reszta danych w sklepie (opisy, zdjęcia) zostanie nietknięta.
  2. Uważaj na typy danych. Cena musi trafić do pola liczbowego, nie tekstowego. Data w formacie, którego system się spodziewa. Zły typ to najczęstsza przyczyna odrzucenia wiersza.
  3. Zapisz szablon mapowania. Gdy dostawca zawsze przysyła plik w tym samym układzie, zapisujesz mapowanie raz i kolejne importy idą automatycznie po ustalonym schemacie.

Dobrą praktyką jest testowy import próbki. Zamiast wgrywać od razu 2000 wierszy, wgraj 10, sprawdź, czy dane wpadły na właściwe pola, i dopiero wtedy puść całość. Raport importu pokaże, ile wierszy przeszło, a ile zostało odrzuconych i dlaczego.

Zdjęcia, warianty i dane rozszerzone

Zdjęcia w imporcie masowym podajesz jako adresy URL, a nie same pliki. System pobiera obrazek spod linku podczas importu. Dla kilku zdjęć jednego produktu masz dwie drogi: rozdzielić adresy separatorem w jednej komórce CSV albo skorzystać z XML, gdzie każde zdjęcie to osobny węzeł. Linki muszą być publiczne (bez logowania) i prowadzić do plików w rozsądnej rozdzielczości.

Warianty to produkty z rozmiarami, kolorami lub innymi cechami. W CSV najczęściej modeluje się je tak, że każdy wariant to osobny wiersz z własnym SKU, a wspólny produkt nadrzędny wskazuje kolumna parent_sku albo group_id. XML radzi sobie z tym elegancko przez zagnieżdżenie wariantów wewnątrz produktu. Jeśli sprzedajesz odzież czy obuwie, zajrzyj do artykułu o zarządzaniu wariantami produktów, bo od modelu wariantów zależy, jak później działa magazyn i oferty.

Dane rozszerzone - parametry (materiał, wymiary), oznaczenia (nowość, promocja), przypisania do kategorii marketplace. Im więcej z tego jest już w pliku, tym mniej ręcznej pracy po imporcie. Pamiętaj o stanach magazynowych i buforze bezpieczeństwa - warto zaimportować realny stan pomniejszony o rezerwę, żeby nie sprzedać towaru, którego fizycznie już nie ma.

Cykliczne aktualizacje i integracja katalogu

Jednorazowy import to dopiero początek. W praktyce katalog żyje: ceny się zmieniają, stany spadają po każdej sprzedaży, dochodzą nowe produkty. Dlatego warto rozdzielić dwa scenariusze:

  • Import pełny - cały katalog, rzadziej (przy większych zmianach asortymentu, nowej kolekcji, migracji).
  • Import różnicowy - tylko ceny i stany, często (codziennie lub kilka razy dziennie), po kluczu SKU/EAN, mapując wyłącznie zmieniane kolumny.

Gdy dostawca udostępnia feed XML pod stałym adresem URL, aktualizacja może pobierać ten plik automatycznie zamiast ręcznego wgrywania. To standardowy model przy współpracy z hurtowniami.

W NavyFlame katalog jest centralnym miejscem, z którego zasilasz magazyn i wystawiasz oferty. Zaimportowane produkty stają się źródłem prawdy dla wielu kanałów jednocześnie - Allegro, eBay, Erli czy własnego sklepu. Naturalnym kolejnym krokiem po imporcie jest eksport katalogu na wiele marketplace, gdzie z jednego zestawu danych tworzysz listingi na wybranych platformach, z mapowaniem kategorii i cenami per kanał. Po publikacji synchronizacja stanów pilnuje, żeby sprzedaż na jednym kanale zdejmowała ilość na pozostałych i nie doszło do oversellingu.

Import to fundament porządku w katalogu. Dobrze przygotowany plik, przemyślane mapowanie i regularne aktualizacje zamieniają godziny ręcznej dłubaniny w kilka minut przy dobrze wydeptanej ścieżce.

Najczęstsze błędy przy imporcie

Na koniec lista pułapek, na których potyka się większość sprzedawców:

  • Zły separator lub kodowanie - krzaki zamiast polskich znaków albo cały wiersz w jednej komórce. Zawsze UTF-8 i jeden ustalony separator.
  • Brak klucza unikalnego - import bez SKU/EAN tworzy duplikaty przy każdym powtórzeniu.
  • Przecinki w cenach - 19,99 zamiast 19.99 rozjeżdża kolumny w CSV.
  • Martwe linki do zdjęć - obrazek za logowaniem albo usunięty plik nie pobierze się.
  • Nadpisanie opisów przez pusty import - jeśli mapujesz kolumnę opisu, a w pliku jest pusta, możesz skasować gotowe treści. Nie mapuj pól, których nie chcesz ruszać.
  • Import bez testu na próbce - wgranie 2000 wierszy naraz bez sprawdzenia mapowania to prosta droga do bałaganu w całym katalogu.

Regularny, powtarzalny import z jednego stałego formatu pliku to jedna z najprostszych rzeczy, które oszczędzają czas w codziennej pracy sklepu i redukują ryzyko pomyłek przy wielu kanałach sprzedaży.

Najczesciej zadawane pytania

CSV to prosty plik tekstowy z wierszami i kolumnami oddzielonymi separatorem (najczęściej przecinkiem lub średnikiem). XML ma strukturę drzewiastą i lepiej radzi sobie z zagnieżdżonymi danymi, na przykład wieloma zdjęciami czy wariantami w jednym produkcie. CSV jest wygodniejszy do ręcznej edycji w arkuszu, XML częściej stosują hurtownie i dostawcy feedów jako gotowe źródło danych.

W pliku podajesz nie same obrazki, tylko publiczne adresy URL do zdjęć (kolumna typu image_url), a system pobiera je podczas importu. Dla wielu zdjęć jednego produktu rozdziel adresy separatorem albo użyj XML z powtarzalnymi węzłami. Upewnij się, że linki są dostępne bez logowania i prowadzą do plików JPG lub PNG w rozsądnej rozdzielczości.

Zacznij od małej próbki, na przykład 10 wierszy, i sprawdź raport importu. Najczęstsze przyczyny to zły separator, brak kolumny klucza (SKU/EAN), złe kodowanie znaków oraz przecinki w cenach zamiast kropek. Popraw plik źródłowy, a nie pojedyncze rekordy w sklepie, żeby przy kolejnym imporcie problem nie wrócił.

To zależy od trybu. Import po unikalnym kluczu (SKU lub EAN) aktualizuje istniejące pozycje i dodaje nowe, więc nie tworzy duplikatów. Jeśli chcesz zmieniać tylko wybrane pola (na przykład ceny i stany), mapuj tylko te kolumny i zostaw resztę pustą, żeby nie nadpisać opisów czy zdjęć.

Ceny i stany magazynowe warto odświeżać codziennie lub nawet częściej, jeśli sprzedajesz szybko rotujący towar. Opisy, zdjęcia i nowe produkty można importować rzadziej, na przykład raz w tygodniu lub przy każdej dostawie. Kluczowa jest regularność i jeden stały format pliku, żeby mapowanie działało za każdym razem.

Zapanuj nad katalogiem z jednego miejsca

Zobacz demo bez rejestracji i sprawdź, jak import, magazyn i eksport ofert działają razem.

Zobacz demo