Napojenie Magenta na ERP, sklad a účtovníctvo

Deedspan prenáša objednávky, stav skladu, ceny a produkty medzi Magentom a vašimi ďalšími systémami. Každá integrácia je súbor YAML vo vašom git repozitári.

Deedspan stojí medzi e-shopom a ostatnými systémami. Objednávky idú z e-shopu cez Deedspan do ERP a účtovníctva. Stav skladu, ceny, produkty, zásielky a čísla dokladov sa vracajú späť do e-shopu.

Váš e-shop

Magento tenký modul a štandardné API
Objednávky Sklad Ceny Produkty Kategórie
Administrácia Magentastav exportu a tlačidlo na opakovanie pri objednávke

Vaša inštalácia

deedspan

  1. Prevedie dáta do spoločného modelu
  2. Vyberie len to, čo sa zmenilo
  3. Posiela po dávkach, pri chybe to skúsi znova
  4. Pri každom zázname uloží výsledok

Nastavenie integrácií máte vo svojom git repozitári.

Vaše systémy

ERP a účtovníctvoPohoda, Helios, Fakturoid alebo iný systém
Sklady a dopravcoviaskladové súbory, zásielky, sledovanie
PIM, feedy, CRMcez REST, súbory, SQL alebo webhooky
  1. Zákazník vytvorí v Magente objednávku #1042.
  2. Deedspan ju prevedie a pošle do ERP.
  3. Číslo dokladu z ERP sa prepíše späť do objednávky.
  4. Zo skladu príde nový stav pri TENT-200.
  5. Pri BOOT-42 sa nič nezmenilo, takže sa nič neposiela.

Príklady

Integrácie, s ktorými e-shopy na Magente zvyčajne začínajú.

IntegráciaOdkiaľ kamČo robí
ObjednávkyMagento → ERPZaplatené objednávky založí v ERP. Číslo dokladu sa vráti do objednávky.
SkladERP → MagentoKaždých 15 minút, len zmenené množstvá, pre každý zdroj MSI.
CenyERP → MagentoZákladné, akciové a množstevné ceny pre jednotlivé store view.
KatalógERP alebo PIM → MagentoJednoduché a konfigurovateľné produkty, kategórie a súvisiaci tovar.
FaktúryMagento → FakturoidFaktúry, opravné doklady a dobropisy.
Zásielkysklad → MagentoDoplní do objednávky zásielku a sledovacie číslo.

Spoločný dátový model a konektory

Každý systém napojíte raz na spoločný model a potom ho môžu využiť všetky integrácie.

E-shopy

Magento WooCommerce PrestaShop Sylius

ERP a účtovníctvo

Pohoda Helios Fakturoid akékoľvek ERP cez REST, SQL alebo súbory

Spoločný dátový model

Dáta nezávislé od e-shopu, doplnené o vaše vlastné polia.

order order_update product category price stock_level

Sklady a dopravcovia

sklad, zásielky, sledovanie

PIM a feedy

produktové dáta dnu, feedy von

CRM a marketing

zákazníci a objednávky

Prenos dát
REST, SOAP, SFTP, FTP, MS SQL a ďalšie databázy, webhooky, e-mail, S3
Formáty
CSV v akomkoľvek kódovaní, XML, JSON, JSON lines, pevná šírka stĺpcov
Konektory
Magento (jadro); Pohoda, Helios, Fakturoid (doplnky); vlastné v YAML
Úpravy na mieru
Mapovanie v YAML, potom výrazy ako lookup(), nakoniec PHP hooky

Ukážka integrácie

Celý prenos skladu z ERP do Magenta v jednom súbore.

flows/stock-from-erp.yaml

flow: stock-from-erp
owner: erp
record: stock_level
1triggers:
  schedule: "*/15 * * * *"
2source:
  transport: sftp
  connection: erp-ftp
  path: /export/stock_*.csv
  format: { type: csv, delimiter: ";" }
3map:
  sku:      "trim(row['sku'])"
  location: "lookup('warehouses', row['warehouse'])"
  quantity: "max(0, int(row['qty']))"
4hooks:
  before_send: Acme\Hooks\MergeConsignmentStock
5target:
  connector: magento
  operation: stock.update
  connection: shop
  locations: { main: default, east: east }
6rules:
  unknown_references: fail
  max_change_share: 0.3
  1. 1

    Spustenie

    Podľa cronu. Ďalšie tri možnosti nájdete nižšie.

  2. 2

    Zdroj

    CSV na SFTP. Môže to byť aj REST API, SQL dopyt alebo dáta z webhooku.

  3. 3

    Mapovanie

    Jeden výraz na pole. lookup() číta prevodovú tabuľku v CSV.

  4. 4

    Hook

    PHP na to, čo výrazy nezvládnu.

  5. 5

    Cieľ

    stock.update zapisuje sklad do Magenta (MSI).

  6. 6

    Pravidlá

    Mení sa viac ako 30 % položiek? Prenos počká na schválenie.

Ako to funguje

Kedy sa synchronizácia spustí

Podľa plánu
Cron, napríklad každých 15 minút.
Signál z e-shopu
Modul v Magente ohlási, ktoré objednávky alebo produkty sa zmenili.
Webhook
Iný systém zavolá podpísaný POST /webhooks/<name>. Pre istotu nechajte bežať aj pomalý plán.
Ručne
Z príkazového riadka alebo cez API, naprázdno alebo ako opakovanie.

Pri každej zmene

Kontrola
deedspan:flow:validate skontroluje nastavenie.
Skúška naprázdno
deedspan:flow:dry-run ukáže, čo by sa zapísalo.
Nasadenie
Najprv na staging, potom ten istý image na produkciu.
Spracovanie
Po dávkach 1 000 záznamov, posielajú sa len zmeny.

Monitoring a chyby

Každý záznam
Zapísané, bez zmeny, preskočené, chyba alebo zmazané, aj s chybovým hlásením.
Dáta
Uchovávajú sa 30 dní, história a výsledky zostávajú.
Zoznam chýb
Znova odošlete jeden záznam alebo celú synchronizáciu.
Upozornenia
E-mailom alebo webhookom, keď synchronizácia zlyhá, čaká na schválenie alebo sa prestane spúšťať.
Administrácia Magenta
Pri objednávke stav exportu a tlačidlo na opakovanie.
Telemetria
JSON logy, OpenTelemetry, heartbeaty, Sentry SDK.

stderr, jeden riadok JSON na udalosť

{
  "level_name": "WARNING",
  "message": "Record failed.",
  "context": { "event": "record.failed" },
  "extra": {
    "run_id": "01a1d668-1076-746d-9a19",
    "flow": "stock-from-erp",
    "stage": "send",
    "chunk": 3,
    "record_key": "STOVE-9|east"
  }
}

Licencia

Zdrojový kód máte k dispozícii a zostane vám (licencia FSL-1.1-MIT).

  1. Každá verziaFSL-1.1-MIT

    Môžete ju používať, upravovať a prevádzkovať sami. Len ju nesmiete ponúkať ako konkurenčnú hostovanú službu.

  2. Po dvoch rokochMIT

    Verzia prejde pod licenciu MIT, a to natrvalo.

  3. Keď od nás odídeteZostane vám

    Inštalácia ďalej beží a zdrojový kód jadra aj doplnkov máte u seba.

Ako začať

Kostra projektu obsahuje ukážkovú integráciu, prevodovú tabuľku a vzorový súbor.

terminál

$ composer create-project deedhold/deedspan-skeleton acme-integrations
$ docker compose up -d

$ bin/console deedspan:flow:validate
Record types: category, price, product, stock_level
Connectors: magento
Flows: stock-from-erp

$ bin/console deedspan:flow:dry-run stock-from-erp samples/stock.csv
TENT-200|main: sku=TENT-200, location=main, quantity=15
BOOT-42|east: sku=BOOT-42, location=east, quantity=3

$ bin/console deedspan:flow:run stock-from-erp --sync
Run 01a1d5f1 completed: written 2, unchanged 0, skipped 0, failed 0.

Časté otázky

Čo je Deedspan?

Deedspan je integračný framework pre e-shopy na Magente. Prenáša objednávky, stav skladu, ceny, produkty a doklady medzi e-shopom a ERP, skladom alebo účtovníctvom. Každá integrácia je súbor YAML v git repozitári obchodníka.

Je Deedspan open source?

Nie. Zdrojový kód Deedspanu je k dispozícii pod licenciou FSL-1.1-MIT (source-available). Môžete ho používať, upravovať a prevádzkovať sami, len ho nesmiete ponúkať ako konkurenčnú hostovanú službu. Dva roky po vydaní prejde každá verzia aj pod licenciu MIT.

Aké systémy Deedspan prepojí?

Akýkoľvek systém, ktorý si vymieňa dáta cez REST, SOAP, súbory na SFTP alebo FTP, databázy typu MS SQL, webhooky, e-mail alebo S3. Magento je priamo v jadre, pre Pohodu, Helios a Fakturoid sú doplnkové konektory.

Funguje Deedspan s Pohodou, Heliosom a Fakturoidom?

Áno. Každý má vlastný doplnkový konektor: Pohoda cez XML doklady, Helios cez MS SQL a Fakturoid cez REST API. Napojiť ich ide aj všeobecnými prostriedkami jadra, konektor len ušetrí prácu s mapovaním.

Môže synchronizáciu spustiť webhook, alebo len cron?

Môže. Synchronizáciu spustí plán (cron), signál z modulu v Magente, podpísaný webhook z iného systému, alebo ju spustíte ručne. K webhooku nechajte bežať aj pomalý plán, lebo webhook sa môže stratiť.

Potrebujem na Deedspan programátora?

Väčšinou nie. Integrácia je hlavne mapovanie a prevodové tabuľky v YAML a skúška naprázdno na vzorovom súbore ukáže výsledok skôr, než sa čokoľvek odošle. PHP programátora potrebujete len na hooky a nové konektory.

Kde Deedspan beží?

Na linuxovom serveri vedľa vášho e-shopu, ako jeden projekt v Docker Compose s aplikáciou, MariaDB a RabbitMQ. Každý obchodník má vlastnú inštaláciu. Hostovať ju môžete sami, alebo to zariadi Deedhold.

Čo ak s Deedholdom prestanem spolupracovať?

Inštalácia pobeží ďalej. Nastavenie integrácií aj hooky máte vo svojom git repozitári, export k nim pridá zálohu databázy a archív súborov a zdrojový kód doplnkov vám zostane. Skončia len aktualizácie.

Čím sa Deedspan líši od iPaaS alebo jednoúčelového pluginu?

Plugin prepojí dva konkrétne systémy. iPaaS beží na zdieľanej platforme a často sa platí podľa objemu dát. Deedspan napojí každý systém raz na spoločný model, beží ako vaša vlastná inštalácia a za objem sa v ňom neplatí.

Ako Deedspan bráni duplicitným objednávkam a chybám v sklade?

Každý záznam má kľúč, napríklad číslo objednávky, a podľa neho sa nič nezapíše dvakrát. Posiela sa len to, čo sa zmenilo, takže dvakrát poslaný súbor ani opakovaný pokus nezaloží druhú objednávku ani nepohne skladom dvakrát.

Ako zistím, čo sa stalo s konkrétnou objednávkou?

Pozrite sa na výsledok jej záznamu. Pri každom zázname sa ukladá, či sa zapísal, nezmenil, preskočil, zmazal, alebo skončil chybou, a pri chybe aj prečo. Dáta sa uchovávajú 30 dní a neúspešný záznam môžete poslať znova.

Koľko Deedspan stojí?

Samotné jadro je zadarmo. Správa od Deedholdu je pevný mesačný poplatok za každý napojený systém a zahŕňa integrácie, hosting, monitoring aj priebežné úpravy. Za objem dát sa neplatí a zavedenie nacenime pevnou cenou.

Integrácie vám nastavíme a postaráme sa o prevádzku

Pevný mesačný poplatok za každý napojený systém, žiadne poplatky za objem dát. Kód zostáva vám.