Every store's day,on one page by morning.
marql reads the tills, the ledger and the web shop your locations already run, makes the stores comparable, and puts what is at stake today at the top — without changing anything inside them.
Network · demo chain
data as of 08:40 · 4 of 5 locations reporting
| location | revenue, yesterday | margin | vs its own normal |
|---|---|---|---|
| City Center | 4 820 € | 27.8% | +6% |
| Westside | 3 140 € | 24.1% | −11% |
| North Park | 1 960 € | 26.0% | −2% |
| Harbour | 2 470 € | 25.4% | +1% |
| Old Town | no data since 06:10till offline — excluded, not counted as zero | ||
| networkfour locations | 12 390 € | 26.1% | |
network margin is revenue-weighted, never an average of percentages
How a chain's morning gets assembled
Four steps, and none of them touch your tills.
Every location keeps the system it has. What marql cannot read, it says out loud instead of filling in.
Each store connects as it is
Cloud tills, accounting, the web shop and the marketplaces connect over their own APIs. A 1C or ecorg ERP that lives inside your network is read by a small on-prem agent instead. Read-only: no price, no stock level and no order is written back.
The chain becomes comparable
Two spellings of one product become one SKU, categories and VAT are mapped, and money is converted to one currency — so another country is a row in the same table rather than a separate report.
A location that sent nothing is named as not reporting, not shown as a complete total
The morning brief ranks what is at stake
Anomalies, margin drift and the problems that have been repeating for weeks are ranked by the money behind them and bundled into one manager-ready task, rather than forty alerts nobody opens. In beta, and labelled that way in the product.
What you act on gets measured
Commit to a decision and its baseline freezes; when the window closes the ledger writes what it was worth, with the comparison the number rests on.
Task never completed — inconclusive, and no money is written
The objection that decides this page
Different tills. One shelf.
Unify · demo chain
what the three systems sent
WizPOS
receipt line · in-store
LAPTE ZUZU 1,5% 1L
3 × 1.25 €
Shopify
online order
Zuzu Milk 1.5% 1L
2 × 1.45 €
SmartBill
purchase invoice
Lapte Zuzu 1.5% 1L, bax 12
0.92 € / unit
one line in the chain's model
| product | category | units | revenue | cost | margin |
|---|---|---|---|---|---|
| Zuzu milk 1.5% 1L | Dairy | 5 | 6.65 € | 4.60 € | 30.8% |
| White bread 500g | Bakery | 18 | 12.60 € | — | — |
no cost in any source — margin is left empty, not estimated
in-store and online stay separable · the same product is one SKU across every store
What a chain gets out of it
The questions a multi-store week actually asks.
Which store, which category, which product — and what it costs to leave any of them alone for another week.
Store P&L, not just revenue
Revenue, cost of goods, gross, operating expenses and net — per location and for the network, with OPEX broken out by category and imported from the ledger where it exists.
One store's bottom line before the month closes, drawn below.
SKU and category margin
Product-level performance across every location: what sells, what sits, inventory turnover, dead stock and transfers between stores.
The tail of the assortment stops being invisible.
Reports that name the action
Dead stock, working capital, store health, assortment, category P&L and replenishment — scheduled, and exportable as PDF.
A week of analyst work arrives as a file.
Like-for-like store comparison
Each location is placed against the locations that trade like it — revenue scale, average check, how many days it is actually open — and the distance to the peer median is priced per month.
A kiosk stops being measured against a flagship.
Anomalies, and problems that repeat
Robust statistics flag a store or a category that has broken its own pattern, and separately flag the ones that have been broken for weeks, with the cost accumulated so far.
The slow leak gets found, not only the spike.
Everyone sees their own stores
Owner, COO, analyst, store manager and franchise partner each get their own scope; a manager's view is their locations, not the network's books.
This can go in front of the shop floor.
P&L · one location
month to date
- Revenue
- 94 200 €
- Cost of goods
- − 71 500 €
- Gross profit
- 22 700 €24.1%
- Operating expenses
- − 19 400 €
- Net profit
- 3 300 €3.5%
Operating expenses
- Rent7 600 €
- Payroll9 300 €
- Utilities1 400 €
- Other1 100 €
same statement for one location or the whole network · OPEX comes from the ledger, or is entered by hand where it does not
Where the line is
What marql will not do in your stores.
A chain runs on systems that already work. The useful version of this product sits on top of them and is plain about what it cannot see.
- Read-only by default. marql does not change a price, a stock level or an order in your POS or your ERP.
- Margin needs cost. Where neither the till nor the accounting system carries a cost price, the product keeps its revenue and units and margin is left empty rather than estimated.
- A few tills — Toast, Fudo, Toteat and Lightspeed among them — connect at account level today, with a seven-day history window, so for those systems per-location history starts when you connect rather than reaching back.
- Replenishment is a recommendation. The report says what to move and how much; no order is placed automatically.
- The Decision Inbox and the Impact Ledger are in beta and labelled as such inside the product.
- Comparison happens inside your own network. marql does not rank your chain against other companies' data.
Retail FAQ
What chain operators pin down before they connect anything.
No. Every location keeps the till it has. marql reads it — over the vendor's API for cloud systems, or through a small on-prem agent for a 1C or ecorg ERP that lives inside your network — and by default writes nothing back: no prices, no stock levels, no orders.
It is the normal case, and the figure above is what it looks like: products, categories, VAT rates and currencies are mapped into one model, so two spellings of the same milk are one SKU and two countries are rows in one table. 150 connectors are live today across POS, accounting, e-commerce, delivery, payments and invoicing, and anything without one is mapped from a REST API or a scheduled CSV export without custom code — which is how most first connections start.
Wherever a cost price exists. When the till sends cost, or the accounting system carries it, margin is computed per SKU and per category, for one store and across the chain. Where no source has a cost for a product, that line shows revenue and units and its margin stays empty — we would rather leave a gap than print an estimate you would find out about later. Category margin usually lands first, because products get mapped before every cost source is connected.
An on-prem agent polls a 1C or ecorg ERP roughly every 30 seconds; cloud connectors poll on a schedule of about five minutes; the all-locations view refreshes about once a minute and analytics runs on an hourly grain. Every view stamps when the data landed and how many locations reported, so a till that stopped sending is visible rather than quietly averaged into the total.
Access is by role: the owner sees everything including billing, a COO everything except billing, an analyst has read-only access to the whole picture, a store manager sees their own locations, and a franchise partner gets a read-only portal for theirs. A manager can be shown where their store stands without being shown the network's finances.
Yes. Shopify and WooCommerce come in as their own channel, and in-store Shopify POS sales are attributed to the location rather than merged into online — so one product can be read on the shelf and on the web without the two cancelling out. eMAG is connected for Romania and Bulgaria.
Per location, on a graduated ladder: €200 a month for each of the first nine locations, €185 for locations 10 to 29 and €160 for 30 to 49. Each rate applies only to the locations inside its band, so twelve locations are €2,355 a month rather than 12 × €185. From 50 locations we map the stack first and then quote. The calculator is on /pricing.
Talk to us
Tell us about your business. We'll call you.
Tell us a bit about your business and your data sources. We'll tailor the walkthrough, then you pick a time that works for you.