Skip to Content

Eksport i import danych w Odoo — jak robić to bezpiecznie

W Odoo możliwe jest masowe wprowadzanie i aktualizowanie danych bez ręcznego przepisywania rekordów — służy do tego wbudowany mechanizm eksportu i importu plików XLSX oraz CSV. Poprawnie użyty pozwala w kilka minut zaktualizować cennik, uzupełnić kontakty czy przygotować dane do migracji. Użyty pochopnie — potrafiutworzyć duplikaty albo nadpisać dobre dane błędnymi. Poniżej opisujemy bezpieczny sposób pracy, który sprawdza się u początkujących użytkowników. 

Zasada podstawowa: najpierw eksport, potem import

Najczęstszym błędem jest budowanie pliku importowego od zera w Excelu. Zamiast tego należy wyeksportować istniejące dane i użyć otrzymanego pliku jako szablonu — nagłówki kolumn będą wtedy dokładnie takie, jakich Odoo oczekuje przy imporcie.

Aby wyeksportować dane:

  1. Przejść do widoku listy, np. Kontakty albo Sprzedaż → Produkty.
  2. Zaznaczyć rekordy polami wyboru (lub zaznaczyć wszystkie).

  1. Wybrać Akcja → Eksportuj.
  2. W oknie eksportu zaznaczyć opcję Chcę aktualizować dane (eksport kompatybilny z importem) — to kluczowe: Odoo doda do pliku kolumnę identyfikatora i ograniczy listę pól do tych, które da się zaimportować z powrotem.
  3. Wybrać pola z listy po lewej stronie i przenieść je do prawej kolumny.
  4. Wybrać format XLSX (wygodniejszy dla Excela) i potwierdzić.

[SCREENSHOT: okno eksportu z zaznaczoną opcją „Chcę aktualizować dane"]

Listę wybranych pól warto zapisać jako szablon eksportu — przy kolejnej aktualizacji tych samych danych wystarczy wybrać szablon z listy, zamiast klikać pola od nowa.

Identyfikator zewnętrzny — klucz do bezpiecznej aktualizacji

W pliku wyeksportowanym z opcją aktualizacji pierwsza kolumna to id — tzw. identyfikator zewnętrzny (ang. External ID). To unikalny, tekstowy identyfikator rekordu, niezależny od jego nazwy.

Dlaczego to ważne? Przy imporcie Odoo decyduje: utworzyć nowy rekord czy zaktualizować istniejący. Jeśli wiersz zawiera identyfikator zewnętrzny znanego rekordu — dane zostaną zaktualizowane. Jeśli kolumna jest pusta — powstanie nowy rekord. Import tego samego pliku bez identyfikatorów dwa razy pod rząd oznacza więc komplet duplikatów.

Identyfikatory zewnętrzne rozwiązują też problem powiązań między danymi. Przykład: importując produkty, trzeba wskazać kategorię każdego z nich. Po nazwie bywa to zawodne — wystarczą dwie kategorie o tej samej nazwie w różnych gałęziach drzewa. Kolumna categ_id/id z identyfikatorem zewnętrznym kategorii wskazuje ją jednoznacznie. Ta sama zasada dotyczy opiekuna klienta, cennika, jednostki miary czy dostawcy.

[SCREENSHOT: plik XLSX z kolumną id oraz kolumną powiązania /id]

Import krok po kroku
  1. Przygotować plik na bazie wcześniejszego eksportu — uzupełnić lub poprawić dane, nie zmieniając nagłówków kolumn.
  2. W widoku listy docelowego modułu wybrać ⚙ → Importuj rekordy.
  3. Wczytać plik. Odoo pokaże podgląd i automatycznie zmapuje kolumny na pola — mapowanie należy zweryfikować, szczególnie przy kolumnach powiązań.
  4. Kliknąć Testuj. Odoo sprawdzi plik bez zapisywania czegokolwiek i wypisze błędy z numerami wierszy.
  5. Poprawić zgłoszone błędy w pliku i powtarzać test aż do czystego wyniku.
  6. Dopiero wtedy kliknąć Importuj.

[SCREENSHOT: ekran importu z wynikiem testu]

Pułapki znane z praktyki

Import się udał. Problemy zaczęły się później.

Kilka lekcji z wdrożeń i migracji, które prowadziliśmy:

  • Separator dziesiętny. Excel z polskimi ustawieniami zapisuje kwoty z przecinkiem, Odoo oczekuje zgodności z formatem wybranym przy imporcie. Przy jednej z migracji kilka tysięcy rekordów weszło z błędnymi wartościami właśnie przez rozjazd przecinka i kropki — a poprawianie po fakcie kosztuje wielokrotnie więcej niż test na próbce.
  • Import ustawia pola, ale nie uruchamia procesów. Nie da się „zaimportować" potwierdzenia zamówienia czy statusu oferty — zmiana stanu dokumentu wymaga akcji systemowej, nie wpisu w kolumnie. Takie operacje wykonuje się masowo innymi narzędziami, już po imporcie danych.
  • Jakość danych wchodzi do systemu razem z plikiem. Zaimportowana cena zakupu równa zero potrafi wrócić po miesiącach jako zerowy koszt na dokumentach magazynowych i zafałszowana marża. Import to nie tylko technika — przed wczytaniem warto sprawdzić dane biznesowo: kompletność, wartości odstające, puste pola obowiązkowe.
  • Testuj na małej próbce. Pierwsze podejście najlepiej wykonać na 10–20 wierszach, a przy większych operacjach — na bazie testowej. Dopiero sprawdzony plik uruchamiamy na całości.
  • Daty i liczby. Bezpieczny format daty to RRRR-MM-DD; kolumny liczbowe nie mogą zawierać spacji ani symbolu waluty.

Różnice między wersjami

Mechanizm eksportu i importu działa tak samo w Odoo 16, 17 i 18 — różnice dotyczą głównie wyglądu okien. W wersji 19 interfejs częściowo przeprojektowano, jednak logika (eksport kompatybilny z importem, identyfikatory zewnętrzne, przycisk testu) pozostaje bez zmian.

Podsumowanie

Bezpieczny import w Odoo opiera się na trzech nawykach: plik zawsze zaczyna się od eksportu, rekordy rozpoznajemy po identyfikatorze zewnętrznym, a przed właściwym importem uruchamiamy test. Przy prostych aktualizacjach to wszystko, czego potrzeba. Przy migracjach z innych systemów dochodzi jeszcze świadome modelowanie danych pod logikę Odoo — i to zwykle ten etap, a nie sam import, decyduje o powodzeniu całej operacji.

Polecamy również zapoznanie się z materiałami przygotowanymi przez Odoo



RODO widziane od strony wdrożenia Odoo