Przejdź do treści

Integracja Magento (Adobe Commerce) z ERP, kurierami i programem do faktur

Magento daje sklepom dużą swobodę, ale każda instalacja jest trochę inna: własne moduły, kilka widoków sklepu, kilka magazynów. Połączenie z ERP, BaseLinkerem, programem do faktur i kurierami projektuję dopiero po przejrzeniu tego, co w sklepie już działa.

Autor: Szymon Łakomy. Aktualizacja:

Przegląd sklepu przed pierwszą linijką kodu

Zanim cokolwiek zaproponuję, sprawdzam, na czym stoi sklep: edycję Magento, listę rozszerzeń, liczbę widoków sklepu i walut, sposób prowadzenia stanów oraz to, czy jakiś moduł już wymienia dane z ERP. Nierzadko okazuje się, że część połączeń działa, tylko nikt nie pamięta, kto i jak je ustawił.

Magento Open Source i Adobe Commerce mają wspólne jądro i API. Różnice w funkcjach i hostingu sprawdzam w dokumentacji Adobe dla Twojej edycji.

Jeśli rozważasz wyjście z Magento, integracje buduję tak, żeby dało się je przepiąć na nową platformę, a samą przeprowadzkę omawiam osobno przy migracji i przeprojektowaniu strony.

REST, GraphQL czy moduł w sklepie

REST API

Do wymiany z ERP, BaseLinkerem i programem do faktur. Działa z zewnątrz, przez token integracji z uprawnieniami tylko do potrzebnych zasobów, i nie wymaga zmian w kodzie sklepu.

GraphQL

Głównie dla frontu sklepu i aplikacji, które pobierają dane katalogu. Przy wymianie danych z zapleczem firmy używam go rzadziej.

Własny moduł

Gdy logika musi działać w samym sklepie, na przykład dodatkowa walidacja koszyka na podstawie danych z ERP albo nowe pole w panelu. Piszę go zgodnie z zasadami Magento, bez modyfikowania plików rdzenia.

Droga zamówienia z Magento do ERP, faktury i kuriera

  1. Klient płaci, a Magento zmienia status zamówienia.
  2. Integracja przekazuje zamówienie do ERP lub BaseLinkera z danymi klienta, pozycjami po SKU i formą dostawy.
  3. Program do faktur wystawia dokument, a jego numer wraca do zamówienia w panelu Magento.
  4. System kurierski tworzy etykietę, a numer przesyłki trafia do klienta w mailu ze sklepu.
  5. Po wysyłce zamówienie dostaje status zrealizowanego, a ilości w Magento zgadzają się z ERP.

Generowanie etykiet opisuje strona integracja z InPost i kurierami, a obowiązki sklepu związane z KSeF strona KSeF w sklepie internetowym.

Kilka magazynów i kilka źródeł stanów

Magento potrafi liczyć dostępność z wielu źródeł towaru, na przykład magazynu własnego, magazynu dostawcy i sklepu stacjonarnego. Integracja musi wiedzieć, do którego źródła zapisać ilość z ERP i które z nich wliczać do tego, co widzi klient. Ustalam to na początku, bo źle skonfigurowane źródła potrafią pokazać w sklepie towar, którego fizycznie nie ma.

Gdy część asortymentu pochodzi od hurtowni udostępniającej plik z ofertą, pomocna będzie strona integracja z hurtownią XML. Sklepy na WordPressie opisuje z kolei strona integracja WooCommerce.

Najczęstsze pytania

Czy integracja wymaga instalowania modułu w Magento?

Nie zawsze. Wymiana zamówień, produktów i stanów z ERP czy programem do faktur zwykle działa przez REST API z zewnątrz. Moduł piszę dopiero wtedy, gdy logika musi działać w samym sklepie albo w panelu administratora.

Czy połączę Magento z BaseLinkerem?

Tak, BaseLinker ma połączenie z Magento, a jego zakres sprawdzam w dokumentacji obu stron. Gdy sklep ma niestandardowe atrybuty albo kilka widoków, dobudowuję brakujące mapowania. Więcej o tej drodze na stronie integracja BaseLinker.

Co z aktualizacjami Magento?

Integracja przez API jest na nie mniej wrażliwa niż zmiany w kodzie sklepu. Własne moduły testuję na kopii sklepu po każdej większej aktualizacji, zanim trafi ona do wersji, z której korzystają klienci.

Ile kosztuje integracja Magento z programem do faktur?

Prosty przepływ, czyli opłacone zamówienia do programu do faktur i numer dokumentu z powrotem, zaczyna się od około 800 zł netto. Połączenie z ERP, kilka magazynów i własne moduły wyceniam po przeglądzie sklepu.

Powiązane strony

Sklep na Magento i ręczne przenoszenie zamówień?

Napisz, której edycji Magento używacie, z jakim ERP lub programem do faktur ma się łączyć i jakie moduły są już zainstalowane.