A build-to-order Business Central AL extension that lets your point of sale keep selling through internet outages by caching transactions locally, then idempotently replaying and reconciling them to BC the moment connectivity returns. One-time license from $499.00 USD for Dynamics 365 BC (build-to-order) — includes 12 months of updates and support.

A build-to-order Business Central AL extension that lets your point of sale keep selling through internet outages by caching transactions locally, then idempotently replaying and reconciling them to BC the moment connectivity returns.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Local transaction cache per register so checkout continues fully offline with zero blocked sales during an internet or VPN outage
Offline price, promotion and on-hand inventory snapshot synced down from Business Central, refreshed automatically whenever the register is online
Automatic conflict-free replay and reconciliation to BC the moment connectivity returns, draining the queue oldest-first
Idempotent posting to Business Central via a client-generated unique transaction key enforced by an AL event subscriber on the sales posting routine — no duplicate sales entries on retries
Per-device sync-status dashboard delivered as a BC page extension showing queued, synced, failed and stuck counts per register
Stuck-transaction alerts with configurable thresholds, optionally surfaced through Dataverse / Power Automate notifications
Most Business Central POS integrations assume a live connection. When the link drops, the register either freezes or — worse — staff fall back to paper and you reconcile by hand later. The Offline-First POS Sync Engine removes that failure mode. It is a build-to-order per-tenant AL extension that ECOSIRE designs, builds, installs and supports directly on your Business Central environment (online or on-prem) — not an instant AppSource download.
Each register holds a local transaction cache plus a point-in-time snapshot of item prices, active promotions and on-hand inventory pulled from BC. Checkout continues fully offline against that snapshot. The moment connectivity returns, a queued sync worker replays every offline transaction into Business Central through the BC REST/OData v4 API and posts the resulting sales documents.
Posting is idempotent: each offline transaction carries a client-generated unique key, and an AL event subscriber on the sales posting routine rejects any replay that has already landed — so a flaky connection that retries three times still produces exactly one sales entry, never duplicates.
We deliver real BC objects, not a bolt-on: table extensions for the offline queue and sync ledger, page extensions surfacing a per-device sync-status dashboard, a Job Queue entry that drains the replay queue on a schedule, dedicated permission sets, and event subscribers for conflict-free reconciliation. Optional Dataverse / Power Platform wiring lets you alert on stuck transactions from Power Automate.
ECOSIRE handles the AL development, the per-tenant install, UAT against your live catalog, and ongoing support and BC version-update compatibility. You get the source-aligned extension running in your own tenant — honestly scoped, honestly delivered.
Runs several branches on Business Central where at least one site has unreliable broadband. Needs every till to keep selling during outages and to trust that the day's sales reconcile into BC exactly once, with a clear dashboard showing which registers are behind.
Sells at fairs, markets and temporary locations where Wi-Fi and mobile signal are intermittent or absent for hours. Wants checkout that never stops, working off a local price and promo snapshot, then auto-syncs to BC the instant a connection appears.
Owns the Business Central tenant across franchised stores and is accountable for clean financials. Needs idempotent posting, per-device permission control, an auditable sync ledger and stuck-transaction alerts rather than late-night manual reconciliation.
Buy the license on ecosire.com and download the Offline-First POS Sync Engine module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Offline-First POS Sync Engine, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Continues selling fully offline during an internet outage | ||||
| Idempotent posting that prevents duplicate sales on retry | ||||
| Per-device sync-status dashboard and stuck-transaction alerts | ||||
| Built as native BC objects (AL extensions, event subscribers, Job Queue, permission sets) | ||||
| Tailored to your exact catalog, register topology and conflict rules | ||||
| Installed and supported on your tenant with BC version-update compatibility | ||||
| Auditable sync ledger linking each offline sale to its BC document | ||||
| No in-house AL development team required to build or maintain it |
This is a build-to-order extension, not an instant download. After a short scoping call we confirm your register topology, catalog size and BC version, then build and install the per-tenant AL extension. Typical delivery is two to four weeks depending on how many register configurations and conflict rules you need. The flow is: scope and fixed quote, build, install into a sandbox, UAT against your live price/promo/inventory data, then promotion to production with sign-off.
Because we install the extension in your own tenant, ECOSIRE provides post-launch support and keeps it compatible across Business Central updates. Microsoft ships major BC releases twice a year; we test the extension against each relevant update and ship any required AL fixes under your support agreement. Support covers reprocessing stuck transactions, tuning the Job Queue cadence and offline caps, and adjusting conflict rules as your catalog evolves. Support terms and response times are agreed in writing before go-live.
No. Every offline transaction carries a client-generated unique key. An AL event subscriber on the sales posting routine checks that key against the sync ledger before posting, so a transaction that the connection retries multiple times still produces exactly one BC sales entry. Failed or partial replays are flagged in the dashboard for review, never silently re-posted.
Each register sells against a snapshot captured when it was last online. At replay time the engine detects drift — for example a price change or an item that went out of stock centrally — and flags those transactions for store-manager review rather than overwriting silently. You decide the conflict policy during scoping (accept-as-sold, adjust, or hold), and we encode it into the reconciliation event subscribers.
Both. The extension is delivered as a per-tenant AL extension that installs into a BC SaaS environment or an on-premises deployment. It integrates through the standard BC REST/OData v4 API and standard BC objects (table/page extensions, event subscribers, Job Queue, permission sets), so it lives inside your environment under your governance rather than depending on external middleware.
A build-to-order Business Central AL extension that lets your point of sale keep selling through internet outages by caching transactions locally, then idempotently replaying and reconciling them to BC the moment connectivity returns.