{"id":382778,"date":"2026-10-19T16:40:51","date_gmt":"2026-10-19T16:40:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/orderflow-manager\/"},"modified":"2026-10-19T22:33:29","modified_gmt":"2026-10-19T22:33:29","slug":"eliathis-order-operations-manager","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/eliathis-order-operations-manager\/","author":23509851,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.8.1","stable_tag":"3.8.1","tested":"7.1.3","requires":"6.2","requires_php":"8.0","requires_plugins":null,"header_name":"Eliathis Order Operations Manager","header_author":"Eliathis","header_description":"Order operations for WooCommerce: staff portal, live Kanban, order steps with customer emails, dashboard and CSV exports.","assets_banners_color":"393793","last_updated":"2026-10-19 22:33:29","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.linkedin.com\/in\/saint-pierre-kassi\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":110,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.3.2":{"tag":"3.3.2","author":"eliakimkassi","date":"2026-10-19 16:40:14","revision":3755206},"3.6.0":{"tag":"3.6.0","author":"eliakimkassi","date":"2026-10-19 17:54:24","revision":3755308},"3.6.1":{"tag":"3.6.1","author":"eliakimkassi","date":"2026-10-19 19:35:56","revision":3755433},"3.6.2":{"tag":"3.6.2","author":"eliakimkassi","date":"2026-10-19 19:59:35","revision":3755474},"3.7.0":{"tag":"3.7.0","author":"eliakimkassi","date":"2026-10-19 20:42:48","revision":3755524},"3.8.0":{"tag":"3.8.0","author":"eliakimkassi","date":"2026-10-19 21:23:03","revision":3755578},"3.8.1":{"tag":"3.8.1","author":"eliakimkassi","date":"2026-10-19 22:33:29","revision":3755635}},"upgrade_notice":{"3.2.0":"<p>New dashboard and redesigned staff portal; figures now cover all orders, not only the last 200.<\/p>","3.1.3":"<p>If the former OrderFlow Manager 1.x is still active, deactivate it: this plugin waits for it before starting.<\/p>","3.1.2":"<p>Important if you used OrderFlow Manager 1.x: its data is now merged with the current data instead of being skipped.<\/p>","3.0.0":"<p>First WordPress.org version. If you used a copy installed in another folder (orderflow-manager or eliathis-orderflow-manager): deactivate it, install this version, activate it, then delete the old folder. Your store, users, orders and settings are kept.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3755204,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3755204,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3755204,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500-fr_FR.png":{"filename":"banner-1544x500-fr_FR.png","revision":3755204,"resolution":"1544x500","location":"assets","locale":"fr_FR","width":1544,"height":500},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3755204,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250-fr_FR.png":{"filename":"banner-772x250-fr_FR.png","revision":3755204,"resolution":"772x250","location":"assets","locale":"fr_FR","width":772,"height":250},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3755204,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.3.2","3.6.0","3.6.1","3.6.2","3.7.0","3.8.0","3.8.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[7132,21484,16281,20710,286],"plugin_category":[39,45],"plugin_contributors":[284589],"plugin_business_model":[],"class_list":["post-382778","plugin","type-plugin","status-publish","hentry","plugin_tags-kanban","plugin_tags-order-status","plugin_tags-orders","plugin_tags-restaurant","plugin_tags-woocommerce","plugin_category-business","plugin_category-ecommerce","plugin_contributors-eliakimkassi","plugin_committers-eliakimkassi"],"banners":{"banner":"https:\/\/ps.w.org\/eliathis-order-operations-manager\/assets\/banner-772x250.png?rev=3755204","banner_2x":"https:\/\/ps.w.org\/eliathis-order-operations-manager\/assets\/banner-1544x500.png?rev=3755204","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/eliathis-order-operations-manager\/assets\/icon.svg?rev=3755204","icon":"https:\/\/ps.w.org\/eliathis-order-operations-manager\/assets\/icon.svg?rev=3755204","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Eliathis Order Operations Manager turns WooCommerce orders into a clear, real-time workflow for shops and restaurants that prepare and deliver orders.<\/p>\n\n<p>Every order follows the same steps: <strong>New order \u2192 Confirmed \u2192 Preparing \u2192 Ready \u2192 Out for delivery \u2192 Delivered<\/strong>, plus two exit steps (<strong>Cancelled<\/strong>, <strong>Delivery failed<\/strong>). Each step is a real WooCommerce order status, synchronised both ways, and the customer receives an email at every step.<\/p>\n\n<h4>Main features<\/h4>\n\n<ul>\n<li><strong>Your store<\/strong>: name, contacts and manager; every order and every team account is attached to it.<\/li>\n<li><strong>Staff portal<\/strong> at <code>\/orderflow\/<\/code>: a separate, lightweight space for your team, with its own sign-in screen. Staff accounts never see the WordPress administration.<\/li>\n<li><strong>Roles<\/strong>: Owner and Order agent.<\/li>\n<li><strong>Live Kanban<\/strong>: new orders appear without reloading, with a sound, a notification and optional desktop notifications. Drag and drop cards to change their status, with the mouse or on a tablet.<\/li>\n<li><strong>Customer emails<\/strong>: five new WooCommerce emails (Order confirmed, Order being prepared, Order ready, Order out for delivery, Delivery failed), fully editable in WooCommerce \u203a Settings \u203a Emails.<\/li>\n<li><strong>Dashboard<\/strong>: revenue of the day, month and year (delivered orders only), orders by status and today's orders.<\/li>\n<li><strong>CSV exports<\/strong> of the order list and of the statistics.<\/li>\n<li><strong>Payment display<\/strong>: payment method, state and reference on every order. Optional integration with the EliathisPay plugin (mobile money payments): an order cannot move forward until its payment is confirmed.<\/li>\n<li><strong>Delivery plugins<\/strong>: reads the delivery mode, zone and fee from your delivery plugin through configurable order meta keys, with built-in support for the Eliathis Delivery Zones and Pickup plugin.<\/li>\n<\/ul>\n\n<p>All these features are free and work without any licence, account or time limit.<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WooCommerce 8.0 or later (High-Performance Order Storage supported).<\/li>\n<li>Desktop notifications require an HTTPS site.<\/li>\n<\/ul>\n\n<h4>Privacy<\/h4>\n\n<p>The plugin does not send any data to external services and does not load any remote resource. It stores in your own database: the store details, the team accounts attached to the store and the tracking history of each order.<\/p>\n\n<h4>Translations<\/h4>\n\n<p>The plugin is translation-ready. Complete <strong>French, Spanish and German<\/strong> translations are included (regional variants such as fr_CA, es_MX or de_AT use them too).<\/p>\n\n<h4>About Eliathis<\/h4>\n\n<p>Eliathis Order Operations Manager is developed by Eliathis: <a href=\"https:\/\/www.linkedin.com\/in\/saint-pierre-kassi\/\">Saint-Pierre Kassi<\/a> and <a href=\"https:\/\/www.linkedin.com\/in\/mathis-alapini-302a72225\/\">Mathis Alapini<\/a>.<\/p>\n\n<h4>Credits<\/h4>\n\n<p>Icons: <a href=\"https:\/\/lucide.dev\/\">Lucide<\/a> (ISC licence, compatible with the GPL), embedded as inline SVG.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce.<\/li>\n<li>Install and activate Eliathis Order Operations Manager (Plugins \u203a Add New, or upload the zip file).<\/li>\n<li>Go to Eliathis \u203a Order Operations \u203a Store and fill in your store details.<\/li>\n<li>In Settings, choose where the delivery information comes from.<\/li>\n<li>In Users, create the accounts of your team.<\/li>\n<li>In Orders, click \"Sync recent orders\" to import your existing orders.<\/li>\n<li>Your team signs in at <code>https:\/\/your-site\/orderflow\/<\/code>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20does%20my%20team%20sign%20in%3F\"><h3>Where does my team sign in?<\/h3><\/dt>\n<dd><p>At <code>\/orderflow\/<\/code> on your site (for example <code>https:\/\/example.com\/orderflow\/<\/code>). Staff accounts created in the Users page are redirected there and have no access to the WordPress administration.<\/p><\/dd>\n<dt id=\"does%20it%20change%20my%20woocommerce%20orders%3F\"><h3>Does it change my WooCommerce orders?<\/h3><\/dt>\n<dd><p>The plugin adds five order statuses to WooCommerce (Confirmed, Preparing, Ready, Out for delivery, Delivery failed) and keeps the order status in sync with the step. \"Delivered\" uses the native \"Completed\" status and \"Cancelled\" the native \"Cancelled\" status.<\/p><\/dd>\n<dt id=\"can%20i%20manage%20several%20stores%20or%20delivery%20agents%3F\"><h3>Can I manage several stores or delivery agents?<\/h3><\/dt>\n<dd><p>This plugin manages one store and its team. Eliathis also offers a separate paid extension, sold outside WordPress.org, for businesses with several stores and delivery agents. This plugin works fully without it.<\/p><\/dd>\n<dt id=\"are%20the%20emails%20sent%20through%20my%20smtp%20plugin%3F\"><h3>Are the emails sent through my SMTP plugin?<\/h3><\/dt>\n<dd><p>Yes. All emails go through the WooCommerce mailer and <code>wp_mail()<\/code>, so an SMTP plugin such as WP Mail SMTP is used automatically. The Settings page shows which email is sent at each step.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20when%20i%20delete%20the%20plugin%3F\"><h3>What happens to my data when I delete the plugin?<\/h3><\/dt>\n<dd><p>By default, nothing is deleted. To remove all the plugin tables, options and roles, tick \"Uninstall\" in the Settings page before deleting the plugin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.8.1 - 2026-10-19<\/h4>\n\n<ul>\n<li>The Store and Personnel screens' forms (in the staff portal) are redesigned as a simple list of fields, one label above its field, instead of a two-column table \u2014 same spirit as Eliathis Fret's forms, easier to read on every screen size.<\/li>\n<\/ul>\n\n<h4>3.8.0 - 2026-10-19<\/h4>\n\n<ul>\n<li>\"Assignable roles\" (<code>RoleManager::assignable_roles()<\/code>, new <code>orderflow_assignable_roles<\/code> filter): lets an extension add custom roles to the account assignment screen without touching the plugin's own 3 built-in roles. Used by Eliathis Order Operations Pro for custom roles.<\/li>\n<li>Fix: with Eliathis Order Operations Pro installed but its trial\/licence over, the \"Ticket\" button disappeared everywhere \u2014 the free plugin deferred to the Pro, which itself had stopped registering it. The free, fixed customer ticket now correctly takes over again in that case.<\/li>\n<\/ul>\n\n<h4>3.7.0 - 2026-10-19<\/h4>\n\n<ul>\n<li>The Personnel screen (administration and staff portal) is redesigned as a list of people cards (avatar, name, role, store), each folded on its details \u2014 same spirit as the \"who does what\" cards of Eliathis Fret. \"Add a person\" is now a single, clearly marked entry point.<\/li>\n<li>New \"plus\" icon.<\/li>\n<\/ul>\n\n<h4>3.6.2 - 2026-10-19<\/h4>\n\n<ul>\n<li>New \"Tickets\" view in the staff portal: the on\/off switch for the customer ticket (moved from Settings for easier access) and a preview of the fixed layout. Eliathis Order Operations Pro replaces this view with its full template editor (customer, till, kitchen).<\/li>\n<li>Fix: a preview inside a page of the staff portal (such as the new Pro ticket editor) was stripped by the portal's HTML filter, which did not allow the <code>&lt;iframe&gt;<\/code> tag.<\/li>\n<li>The \"Receipts\" row of the free\/Pro comparison now reflects the free customer ticket instead of showing nothing.<\/li>\n<\/ul>\n\n<h4>3.6.1 - 2026-10-19<\/h4>\n\n<ul>\n<li>Fix: the new staff portal views that reuse an administration screen (Personnel, Stores, Exports) displayed without any styling (plain text, bare buttons and tables): they relied on styles only present in the WordPress administration, never loaded in the portal. Added the missing styles to the portal, matching the rest of its design, and the \"show\/hide password\" and \"show the password panel\" buttons, which did not work there either.<\/li>\n<\/ul>\n\n<h4>3.6.0 - 2026-10-19<\/h4>\n\n<ul>\n<li>New \"Ticket\" button on the orders (administration and staff portal): prints a fixed, non-customisable customer ticket for a thermal printer (80 mm). Eliathis Order Operations Pro replaces it with several customisable templates (customer, till, kitchen). New setting Order Operations \u203a Settings \u203a \"Customer ticket\" to turn it off.<\/li>\n<\/ul>\n\n<h4>3.5.0 - 2026-10-19<\/h4>\n\n<ul>\n<li>New \"Stores\" view in the staff portal: the Owner manages the store (or, with Eliathis Order Operations Pro, every store) without opening the WordPress administration.<\/li>\n<li>New \"Exports\" view in the staff portal: download the order list and the statistics as CSV files. Eliathis Order Operations Pro replaces this view with the full Excel exports.<\/li>\n<\/ul>\n\n<h4>3.4.0 - 2026-10-19<\/h4>\n\n<ul>\n<li>New \"Personnel\" view in the staff portal: the Owner can now create team accounts, assign them to the store and reset their password without opening the WordPress administration (same screen as Order Operations \u203a Users).<\/li>\n<li>The Owner role can now manage the team (new capability \"orderflow_manage_users\" granted by default), like it already could export the reports.<\/li>\n<\/ul>\n\n<h4>3.3.2 - 2026-10-19<\/h4>\n\n<ul>\n<li>Fix: a few tags used by an extension's portal view (definition list: dl\/dt\/dd) were stripped of their \"class\" attribute by the portal's HTML filter, breaking their layout.<\/li>\n<\/ul>\n\n<h4>3.3.1 - 2026-10-19<\/h4>\n\n<ul>\n<li>New action hook \"orderflow_portal_banner\", fired on every staff portal page before its content, so an extension (e.g. Eliathis Order Operations Pro) can show a banner such as a licence notice.<\/li>\n<\/ul>\n\n<h4>3.3.0 - 2026-10-19<\/h4>\n\n<ul>\n<li>The site administrator (manage_options) is no longer sent back to wp-admin when opening the staff portal: the portal is now reachable in the same browser session as wp-admin, with a link to open wp-admin from the portal sidebar, and a link to open the portal from the wp-admin dashboard.<\/li>\n<\/ul>\n\n<h4>3.2.1 - 2026-10-15<\/h4>\n\n<ul>\n<li>Fix: a status change made elsewhere (for example by a delivery agent) was not reflected live on another order agent's open Kanban or Orders table; it needed a page reload. The live refresh now also checks, every 15 seconds, whether the status of an order already on screen has changed, and updates the card or row in place (the Kanban card now moves to its new column).<\/li>\n<\/ul>\n\n<h4>3.2.0 - 2026-10-14<\/h4>\n\n<ul>\n<li>New dashboard (staff portal and admin): \"To handle now\" (orders waiting at each step, late orders, payments to verify), revenue, orders, average basket and cancellation rate compared with the previous period, period switch (today, 7 days, 30 days, this month, this year), chart, busy hours, best sellers, delivery or pickup, payment methods and team activity. Refreshed every minute.<\/li>\n<li>Each block follows the roles and capabilities; new capability \"orderflow_view_team_activity\" (given to the Owner role).<\/li>\n<li>Fix: figures were computed on the last 200 orders only; they now cover all orders.<\/li>\n<li>Redesigned staff portal: new sidebar, bottom tab bar on phones, time spent at the current step on Kanban cards (late orders in red), progress bar on the order page.<\/li>\n<li>New setting: number of minutes after which an order is late.<\/li>\n<\/ul>\n\n<h4>3.1.3 - 2026-10-13<\/h4>\n\n<ul>\n<li>Fix: when the former OrderFlow Manager 1.x was still active next to this plugin, both used the \/orderflow\/ address; the staff portal sent users back to the home page and every page became very slow. This plugin now stays idle while the former one is active and asks you to deactivate it; everything is taken over as soon as it is deactivated.<\/li>\n<li>Confirmations (delete, cancel an order, Kanban moves to Cancelled or Delivered) now open in a dialog of the plugin instead of the browser pop-up.<\/li>\n<\/ul>\n\n<h4>3.1.2 - 2026-10-13<\/h4>\n\n<ul>\n<li>Fix: data of OrderFlow Manager 1.x (stores, team, order assignments, order history, log, zones, settings) was not taken over when tables of a recent version already existed on the site, for example after a backup of the live site was imported. It is now merged without duplicates; the old tables are kept unchanged as a backup.<\/li>\n<li>The takeover runs again by itself when the old data changes, and can be run from the Settings page. A notice tells what was taken over.<\/li>\n<\/ul>\n\n<h4>3.1.1 - 2026-10-12<\/h4>\n\n<ul>\n<li>Security: every password field (team accounts, staff portal sign-in, reset and change of password) is now read through a single helper that sanitizes and validates it: control characters removed, invalid UTF-8 or more than 255 characters rejected. Passwords are never altered otherwise, so that valid passwords keep working.<\/li>\n<li>Staff portal: the password reset form reads the new password only after its security token is verified.<\/li>\n<\/ul>\n\n<h4>3.1.0 - 2026-10-12<\/h4>\n\n<ul>\n<li>Spanish (es_ES) and German (de_DE) translations included, in addition to French. Regional variants (es_MX, es_AR, de_AT, de_CH, fr_BE, fr_CA\u2026) use the main language of their family.<\/li>\n<li>French translation: consistent formal address everywhere.<\/li>\n<\/ul>\n\n<h4>3.0.2 - 2026-10-11<\/h4>\n\n<ul>\n<li>The staff portal has its own \"Forgot your password?\" and \"Choose your password\" pages, so the reset no longer depends on wp-login.php or on the store's account pages (some customer-account plugins redirect them). It still relies on WordPress's reset keys (single use, limited time), and no password is ever sent by email.<\/li>\n<li>Links sent from the Users page (new account, reset) open the portal page to choose the password.<\/li>\n<\/ul>\n\n<h4>3.0.1 - 2026-10-11<\/h4>\n\n<ul>\n<li>Security (WordPress.org review): passwords are never sent by email any more. Resetting a password now sends WordPress's own time-limited reset link, so the person chooses their password. An administrator can still type a password and hand it over personally; it is neither emailed nor shown again.<\/li>\n<li>New account without a password: WordPress emails a secure link to choose it (the form no longer suggests a generated password).<\/li>\n<li>Staff portal: \"Forgot your password?\" link (WordPress password reset).<\/li>\n<\/ul>\n\n<h4>3.0.0 - 2026-10-08<\/h4>\n\n<ul>\n<li>First version published on WordPress.org, under the name Eliathis Order Operations Manager (slug eliathis-order-operations-manager).<\/li>\n<li>One store and its team, live Kanban, staff portal, order steps with customer emails, dashboard and CSV exports.<\/li>\n<\/ul>","raw_excerpt":"Order operations for WooCommerce shops and restaurants: live Kanban, staff portal, order steps with customer emails, dashboard and CSV exports.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/382778","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=382778"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/eliakimkassi"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=382778"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=382778"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=382778"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=382778"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=382778"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=382778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}