michalper / ordo
B2B + B2C marketing automation for Magento Open Source — reorder, offer expiry, credit limit, and order approval triggers alongside abandoned cart and lifecycle emails, no Adobe Commerce B2B or external MA subscription required.
Requires
- php: >=8.4 <8.6
- magento/framework: ^103.0.8
- magento/module-customer: ^103.0.8
- magento/module-eav: ^102.1.8
- magento/module-email: ^101.1.8
- magento/module-quote: ^101.2.8
- magento/module-sales: ^103.0.8
- magento/module-store: ^101.1.8
- twilio/sdk: ^8.0
Requires (Dev)
- bitexpert/phpstan-magento: ^0.43
- friendsofphp/php-cs-fixer: ^3.95
- infection/infection: ^0.35
- magento/magento-coding-standard: ^41
- magento/magento2-functional-testing-framework: ^5.0 || ^6.0
- phpstan/phpstan: ^2.0, <2.2.10
- phpunit/phpunit: ^13.0
- rector/rector: ^2.6
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-18 21:26:33 UTC
README
Marketing automation that runs inside stock Magento Open Source — no Adobe Commerce B2B license, no external MA subscription. Triggers are computed from data Magento already has (orders, quotes, customers, carts), or from a small first-party data model added alongside it.
Covers both classic B2C lifecycle automation and the B2B triggers most external MA tools can't see.
Features
B2B
- Reorder reminders based on a customer's own purchase history.
- Offer/quote expiry reminders (
ordo_offer). - Credit limit alerts (cron +
GET /V1/ordo/credit-limit/mine), with an optional hard checkout block at 100% utilization. - Order approval workflow — orders above a per-customer spend limit are held for a token-based admin approve/reject email, with escalation for unresolved approvals.
- Free gift above a cart threshold — admin-defined gift pool with cascading cart-subtotal tiers, selected via REST.
B2C
- Abandoned cart recovery, capped per cart.
- Welcome email on registration.
- Win-back / re-engagement email after N days of inactivity, self-clearing once the customer orders again.
- SMS recovery (Twilio) — a
send_smscampaign action, with delivery-status tracking and opt-out handling. - WhatsApp (Meta Cloud API) — a
send_whatsappcampaign action sending pre-approved templates, with its own admin-managed template approval lifecycle and delivery-status webhook. - Web Push notifications — a
send_pushcampaign action delivering real browser/OS notifications (RFC 8291/8292, no vendor SDK), to every device a customer has subscribed from. - Price-drop / back-in-stock alerts — a customer/visitor watches a product from its PDP, two scan crons dispatch
price_drop/back_in_stockcampaign triggers on the first real change.
Shared foundation
- Behavioral tagging — the segmentation primitive every trigger above reads or writes.
- Sales-rep signature on automated emails; a weekly digest groups inactive customers by rep.
- Campaign engine — a "when X happens and Y is true, do Z" rule engine, with conditions/actions as
di.xml-registered plug-ins and a full REST service contract. - Predictive send-time optimization — opt-in per
send_emailaction, defers to each customer's own historically-best email open/click hour (email-only: the only channel with open/click data). - On-site behavior tracking — a dependency-free JS snippet turning page/product/category views into campaign-engine tags.
- Admin UI — dashboard, campaign builder (editable Drawflow trigger(s) → conditions → actions canvas, multiple triggers per campaign), campaign calendar (trigger/action timing across all campaigns), free gift offer builder, reorder-cycles diagnostic grid.
Every feature has its own config toggle under Stores → Configuration → Ordo Automation and its own cron job.
Install
composer require michalper/ordo bin/magento module:enable Ordo_Automation bin/magento setup:upgrade bin/magento cache:flush
Documentation
- ROADMAP.md — what's still open.
- docs/CHANGELOG.md — implementation history.
- docs/ARCHITECTURE.md — directory/class map.
- VERIFICATION.md — install/test checklist run against a real Magento instance.
- API.md — REST service contract reference.
- CONTRIBUTING.md — quality/testing requirements for changes.
- Localization:
i18n/CSVs, keyed offen_US.csv. Shipped:en_US,pl_PL(native-reviewed),de_DE,fr_FR,es_ES,it_IT,pt_BR,zh_Hans_CN,ja_JP,ru_RU,uk_UA,nl_NL(machine-translated, pending native review).
License
MIT — see LICENSE.
Copyright (c) 2026 Michał Per.