AVAPAX IOF XML Exporter
CODE

AVAPAX IOF XML Exporter

Konwersja pełnych eksportów katalogu IOF 3.0 XML na arkusze z rozbitymi zestawami.

PROJECT
WEB-054
STOS
PYTHON · STREAMLIT
WEJŚCIE
IOF 3.0 XML
WYJŚCIE
CSV · XLSX
URUCHOMIENIE
JEDEN PLIK .BAT
STATUS
UKOŃCZONY
DATA
09 sierpnia 2026

Aplikacja przeglądarkowa wczytująca eksport IOF 3.0, pozwalająca wybrać dowolne kolumny (łącznie z technicznymi polami surowymi), wykrywająca zestawy po prefiksie SKU, rozbijająca sekcję składników na osobne wiersze i dociągająca ich dane z pełnych kart w tym samym pliku.

IOF.EXPORTEKSPORT KATALOGU IOF 3.0 XML
NARZĘDZIE
WEJŚCIEPRZETWARZANIEDECYZJAWYJŚCIE01XML IOF 3.002PARSER03WYBÓR KOLUMNtakże raw.*04DETEKCJAZESTAWÓWprefiks AN05ROZBICIE<bundled>06DOCIĄGNIĘCIESKŁADNIKÓW07SCALENIE08CSV / XLSX
ZESTAWY WYKRYWANE PO PREFIKSIE SKU · SKŁADNIKI POBIERANE Z ICH PEŁNYCH KART W TYM SAMYM XML
01

PROBLEM

Standard IOF 3.0 opisuje katalog produktowy w sposób kompletny, ale nieprzyjazny dla arkusza. Zestawy zawierają zagnieżdżoną sekcję składników, w której każdy element ma tylko identyfikator — pełne dane leżą gdzie indziej w tym samym pliku. Otwarcie takiego XML-a w Excelu daje kolumny bez sensu.

02

POMYSŁ

Narzędzie robiące dokładnie jedną rzecz: spłaszczające hierarchię do postaci tabelarycznej, z rozwinięciem zestawów na wiersze składników i dociągnięciem ich danych z kart macierzystych.

Do tego swobodny wybór kolumn — także pól technicznych, których normalnie się nie eksportuje, ale które bywają potrzebne przy diagnozowaniu rozbieżności między systemami.

03

PROJEKT

Parser wczytuje cały dokument i buduje indeks produktów po identyfikatorze, dzięki czemu dociąganie składników nie wymaga wielokrotnego przeszukiwania pliku. Wykrywanie zestawów opiera się na prefiksie SKU, domyślnie AN, ale konfigurowalnym — to reguła biznesowa, nie techniczna, więc nie powinna być zaszyta w kodzie.

Interfejs jest zbudowany w Streamlicie, co dla narzędzia uruchamianego okazjonalnie jest wyborem trafnym: nie ma tu warstwy prezentacji do utrzymania, a użytkownik dostaje tabelę z filtrami bez pisania frontendu.

Pola surowe zasługują na osobną wzmiankę. Standard pozwala przechowywać dane, których nie przewiduje model podstawowy, a producenci z tego korzystają. Możliwość wyciągnięcia ich do kolumny bywa jedynym sposobem, żeby dowiedzieć się, dlaczego dwa systemy widzą ten sam produkt inaczej.

04

REALIZACJA

Uruchomienie na Windowsie sprowadza się do jednego pliku wsadowego, który przy pierwszym starcie tworzy środowisko i instaluje zależności. To istotne, bo narzędzie ma trafiać do osób, które nie pracują z Pythonem na co dzień.

W repozytorium leży realny plik eksportu z systemu B2B — służy jako materiał testowy i jednocześnie dokumentuje, jak wygląda wejście w praktyce, a nie tylko w specyfikacji.

Rozbicie zestawu na wiersze składników wymaga decyzji, co zrobić z danymi nadrzędnymi: powtórzyć je przy każdym składniku, czy zostawić puste. Program powtarza, bo wynik trafia zwykle do tabeli przestawnej, a ta nie radzi sobie z komórkami dziedziczonymi z wiersza wyżej.

Streamlit ma tu jeszcze jedną zaletę: aplikacja działa w przeglądarce, więc da się ją uruchomić na jednym komputerze i udostępnić w sieci lokalnej, gdy z konwersji ma korzystać kilka osób. Bez pisania backendu i bez wdrażania czegokolwiek.

05

EFEKT

Konwersja katalogu do arkusza z poprawnie rozbitymi zestawami zajmuje chwilę i nie wymaga ręcznej pracy. Eksport wychodzi w CSV i XLSX, z zachowaniem wybranego zestawu kolumn.

07

WNIOSKI

Narzędzia jednozadaniowe mają w warsztacie lepszy stosunek wartości do kosztu niż systemy uniwersalne. Ten program robi jedną konwersję, mieści się w kilkuset linijkach i nie wymaga utrzymania — a oszczędza kilka godzin przy każdej aktualizacji katalogu.

Warunkiem jest jednak trzymanie się jednej odpowiedzialności. W momencie, w którym takie narzędzie zaczyna też walidować dane, poprawiać ceny i wysyłać raporty, przestaje być tanie w utrzymaniu — a wtedy lepiej wpiąć je do większego systemu.