StoreQL
The platform for running a retail business — stock, stores, and sales, online and in person, for as many independent businesses as want to use it. One live picture of inventory shared by the storefront, POS, and back office. Engineered under the codename Shelf-J.
Tenant → Store → Zone
Every business is modelled three levels deep — stores and warehouses with internal zones that pin down exactly where stock sits.
Product Catalog
Variants, brands, categories, barcodes, and bulk import — one shared truth behind both the storefront and POS.
Inventory & Warehouse
Batch/lot/serial tracking with expiry and genealogy, plus cycle counts, ABC analysis, and EOQ reorder planning.
Pricing & VAT
Channel-scoped price lists, time-bound promotions, and UK-style VAT modelling with Making Tax Digital returns.
Storefront & POS
A public online storefront and a full point-of-sale, scanning to till reconciliation, sharing one order pipeline.
25 Screens, Four Shells
Admin back office, storefront, POS, and platform console — one Flutter codebase, four distinct experiences.
What it does
A business selling physical goods usually stitches together separate systems for inventory, the till, and an online store — none of which agree about what's actually in stock. StoreQL is built to be all three at once: one catalog, one set of stock levels, one set of orders, whether the sale happened on a phone at home or at a counter in the shop.
Tenant → Store → Zone
Every business is modelled three levels deep — a tenant owns stores/warehouses, each with an address, geo, hours, and internal zones (aisle, rack, cold room) that pin down exactly where stock sits.
Product catalog
Products with variants, brands, categories, barcodes, and bulk CSV import — the shared truth behind both the storefront and POS, entered once.
Inventory & warehouse
Batch/lot/serial tracking with expiry, splits, merges, and genealogy; cycle counts, ABC analysis, reorder-point/EOQ planning, kanban and PAR replenishment.
Pricing, promotions & VAT
Channel-scoped price lists, time-bound promotions, one-call price resolution with tax breakdown, and UK-style VAT modelling with Making Tax Digital returns.
Purchasing
Suppliers, purchase orders, and goods receipt that turns deliveries into receivable stock — with intercompany invoices and a read-only nominal ledger.
Storefront & POS
A public online storefront (browse, cart, checkout, pickup or delivery) and a full point-of-sale — scanning, split tender, holds, till reconciliation — sharing one order pipeline.
Orders & returns
One order model for both channels: placed → confirmed → fulfilled, with returns, layaway, gift cards, and special orders all built on the same lifecycle.
Customers & loyalty
Profiles and addresses, automatic loyalty accrual and redemption, store credit, and a right-to-be-forgotten anonymization flow.
Reporting
On-hand inventory, supply-vs-demand coverage, movement statistics, and sales summaries — refreshable, whole-tenant snapshots.
Inside the app
One Flutter codebase, four different experiences — each shell signs in on its own and talks to the same dozen services behind the gateway.
Admin back office 14 screens
Dashboard, products & catalog, categories, inventory, pricing, procurement, orders, sales, customers, staff, stores, bulk CSV import, and tenant-wide reports — the full operator toolkit, plus a shared sign-in screen for staff.
Storefront 4 screens
Product list, product detail, cart, and order history — the public buying flow, pickup or delivery.
Point of sale 3 screens
Cart, cash drawer, and split-tender checkout — built for a till, not a browser tab.
Platform console 3 screens
Its own sign-in, a cross-tenant dashboard, and tenant management — for us to operate the platform itself.
Under the hood
Strict microservices behind a single API gateway, with Consul for discovery and a centralized config service — pattern borrowed from red2n/home, re-implemented on Helidon MP. Twelve business services (identity, tenants, catalog, inventory, pricing, cart, orders, payments, purchasing, customers, notifications, reporting) sit behind that gateway, each owning its own schema and talking over REST and Kafka events.
Want the full service breakdown, database schema, or deployment model? Email us — happy to walk through it.
Also from FeatureFragment
EzeePMS — a command-driven Property Management System for hotels