Napojení Magenta na ERP, sklad a účetnictví

Deedspan přenáší objednávky, stav skladu, ceny a produkty mezi Magentem a vašimi dalšími systémy. Každá integrace je soubor YAML ve vašem git repozitáři.

Deedspan stojí mezi e-shopem a ostatními systémy. Objednávky jdou z e-shopu přes Deedspan do ERP a účetnictví. Stav skladu, ceny, produkty, zásilky a čísla dokladů se vracejí zpět do e-shopu.

Váš e-shop

Magento tenký modul a standardní API
Objednávky Sklad Ceny Produkty Kategorie
Administrace Magentastav exportu a tlačítko pro opakování u objednávky

Vaše instalace

deedspan

  1. Převede data do společného modelu
  2. Vybere jen to, co se změnilo
  3. Posílá po dávkách, při chybě to zkusí znovu
  4. U každého záznamu uloží výsledek

Nastavení integrací máte ve svém git repozitáři.

Vaše systémy

ERP a účetnictvíPohoda, Helios, Fakturoid nebo jiný systém
Sklady a dopravciskladové soubory, zásilky, sledování
PIM, feedy, CRMpřes REST, soubory, SQL nebo webhooky
  1. Zákazník vytvoří v Magentu objednávku #1042.
  2. Deedspan ji převede a pošle do ERP.
  3. Číslo dokladu z ERP se propíše zpátky do objednávky.
  4. Ze skladu přijde nový stav u TENT-200.
  5. U BOOT-42 se nic nezměnilo, takže se nic neposílá.

Příklady

Integrace, se kterými e-shopy na Magentu obvykle začínají.

IntegraceOdkud kamCo dělá
ObjednávkyMagento → ERPZaplacené objednávky založí v ERP. Číslo dokladu se vrátí do objednávky.
SkladERP → MagentoKaždých 15 minut, jen změněná množství, pro každý zdroj MSI.
CenyERP → MagentoZákladní, akční a množstevní ceny pro jednotlivé store view.
KatalogERP nebo PIM → MagentoJednoduché a konfigurovatelné produkty, kategorie a související zboží.
FakturyMagento → FakturoidFaktury, opravné doklady a dobropisy.
Zásilkysklad → MagentoDoplní do objednávky zásilku a sledovací číslo.

Společný datový model a konektory

Každý systém napojíte jednou na společný model a pak ho můžou využít všechny integrace.

E-shopy

Magento WooCommerce PrestaShop Sylius

ERP a účetnictví

Pohoda Helios Fakturoid jakékoli ERP přes REST, SQL nebo soubory

Společný datový model

Data nezávislá na e-shopu, doplněná o vaše vlastní pole.

order order_update product category price stock_level

Sklady a dopravci

sklad, zásilky, sledování

PIM a feedy

produktová data dovnitř, feedy ven

CRM a marketing

zákazníci a objednávky

Přenos dat
REST, SOAP, SFTP, FTP, MS SQL a další databáze, webhooky, e-mail, S3
Formáty
CSV v jakémkoli kódování, XML, JSON, JSON lines, pevná šířka sloupců
Konektory
Magento (jádro); Pohoda, Helios, Fakturoid (doplňky); vlastní v YAML
Úpravy na míru
Mapování v YAML, pak výrazy jako lookup(), nakonec PHP hooky

Ukázka integrace

Celý přenos skladu z ERP do Magenta v jednom souboru.

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

    Spuštění

    Podle cronu. Další tři možnosti najdete níže.

  2. 2

    Zdroj

    CSV na SFTP. Může to být i REST API, SQL dotaz nebo data z webhooku.

  3. 3

    Mapování

    Jeden výraz na pole. lookup() čte převodní tabulku v CSV.

  4. 4

    Hook

    PHP na to, co výrazy nezvládnou.

  5. 5

    Cíl

    stock.update zapisuje sklad do Magenta (MSI).

  6. 6

    Pravidla

    Mění se víc než 30 % položek? Přenos počká na schválení.

Jak to funguje

Kdy se synchronizace spustí

Podle plánu
Cron, třeba každých 15 minut.
Signál z e-shopu
Modul v Magentu ohlásí, které objednávky nebo produkty se změnily.
Webhook
Jiný systém zavolá podepsaný POST /webhooks/<name>. Pro jistotu nechte běžet i pomalý plán.
Ručně
Z příkazové řádky nebo přes API, nanečisto nebo jako opakování.

Při každé změně

Kontrola
deedspan:flow:validate zkontroluje nastavení.
Zkouška nanečisto
deedspan:flow:dry-run ukáže, co by se zapsalo.
Nasazení
Nejdřív na staging, pak stejný image na produkci.
Zpracování
Po dávkách 1 000 záznamů, posílají se jen změny.

Monitoring a chyby

Každý záznam
Zapsáno, beze změny, přeskočeno, chyba nebo smazáno, i s chybovou hláškou.
Data
Drží se 30 dní, historie a výsledky zůstávají.
Seznam chyb
Znovu odešlete jeden záznam nebo celou synchronizaci.
Upozornění
E-mailem nebo webhookem, když synchronizace selže, čeká na schválení nebo se přestane spouštět.
Administrace Magenta
U objednávky stav exportu a tlačítko pro opakování.
Telemetrie
JSON logy, OpenTelemetry, heartbeaty, Sentry SDK.

stderr, jeden řádek JSON na událost

{
  "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"
  }
}

Licence

Zdrojový kód máte k dispozici a zůstane vám (licence FSL-1.1-MIT).

  1. Každá verzeFSL-1.1-MIT

    Můžete ji používat, upravovat a provozovat sami. Jen ji nesmíte nabízet jako konkurenční hostovanou službu.

  2. Po dvou letechMIT

    Verze přejde pod licenci MIT, a to natrvalo.

  3. Když od nás odejdeteZůstane vám

    Instalace dál běží a zdrojový kód jádra i doplňků máte u sebe.

Jak začít

Kostra projektu obsahuje ukázkovou integraci, převodní tabulku a vzorový soubor.

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

Co je Deedspan?

Deedspan je integrační framework pro e-shopy na Magentu. Přenáší objednávky, stav skladu, ceny, produkty a doklady mezi e-shopem a ERP, skladem nebo účetnictvím. Každá integrace je soubor YAML v git repozitáři obchodníka.

Je Deedspan open source?

Ne. Zdrojový kód Deedspanu je k dispozici pod licencí FSL-1.1-MIT (source-available). Můžete ho používat, upravovat a provozovat sami, jen ho nesmíte nabízet jako konkurenční hostovanou službu. Dva roky po vydání přejde každá verze i pod licenci MIT.

Jaké systémy Deedspan propojí?

Jakýkoli systém, který si vyměňuje data přes REST, SOAP, soubory na SFTP nebo FTP, databáze typu MS SQL, webhooky, e-mail nebo S3. Magento je přímo v jádru, pro Pohodu, Helios a Fakturoid jsou doplňkové konektory.

Funguje Deedspan s Pohodou, Heliosem a Fakturoidem?

Ano. Každý má vlastní doplňkový konektor: Pohoda přes XML doklady, Helios přes MS SQL a Fakturoid přes REST API. Napojit je jde i obecnými prostředky jádra, konektor jen ušetří práci s mapováním.

Může synchronizaci spustit webhook, nebo jen cron?

Může. Synchronizaci spustí plán (cron), signál z modulu v Magentu, podepsaný webhook z jiného systému, nebo ji spustíte ručně. K webhooku nechte běžet i pomalý plán, protože se webhook může ztratit.

Potřebuji k Deedspanu programátora?

Většinou ne. Integrace je hlavně mapování a převodní tabulky v YAML a zkouška nanečisto na vzorovém souboru ukáže výsledek dřív, než se cokoli odešle. PHP programátora potřebujete jen na hooky a nové konektory.

Kde Deedspan běží?

Na linuxovém serveru vedle vašeho e-shopu, jako jeden projekt v Docker Compose s aplikací, MariaDB a RabbitMQ. Každý obchodník má vlastní instalaci. Hostovat ji můžete sami, nebo to zařídí Deedhold.

Co když s Deedholdem přestanu spolupracovat?

Instalace poběží dál. Nastavení integrací i hooky máte ve svém git repozitáři, export k nim přidá zálohu databáze a archiv souborů a zdrojový kód doplňků vám zůstane. Skončí jen aktualizace.

Čím se Deedspan liší od iPaaS nebo jednoúčelového pluginu?

Plugin propojí dva konkrétní systémy. iPaaS běží na sdílené platformě a často se platí podle objemu dat. Deedspan napojí každý systém jednou na společný model, běží jako vaše vlastní instalace a za objem se v něm neplatí.

Jak Deedspan brání duplicitním objednávkám a chybám ve skladu?

Každý záznam má klíč, třeba číslo objednávky, a podle něj se nic nezapíše dvakrát. Posílá se jen to, co se změnilo, takže dvakrát poslaný soubor ani opakovaný pokus nezaloží druhou objednávku ani nepohne skladem dvakrát.

Jak zjistím, co se stalo s konkrétní objednávkou?

Podívejte se na výsledek jejího záznamu. U každého záznamu se ukládá, jestli se zapsal, nezměnil, přeskočil, smazal, nebo skončil chybou, a u chyby i proč. Data se drží 30 dní a neúspěšný záznam můžete poslat znovu.

Kolik Deedspan stojí?

Samotné jádro je zdarma. Správa od Deedholdu je pevný měsíční poplatek za každý napojený systém a zahrnuje integrace, hosting, monitoring i průběžné úpravy. Za objem dat se neplatí a zavedení naceníme pevnou cenou.

Integrace vám nastavíme a postaráme se o provoz

Pevný měsíční poplatek za každý napojený systém, žádné poplatky za objem dat. Kód zůstává vám.