Dashboard for an online store
It walks revenue down through returns, cost of goods, platform commissions and ad spend, source by source. What stays on the screen is what actually stays with you.
- Buildfrom $1,700
- Timeline2–4 weeks
- Supportfrom $420/mo
Who this suits: Stores where turnover in the marketplace account is one figure, the money in the bank another, and the cost of goods sits in a spreadsheet reconciled by hand.
What is in the first version
- revenue after returns
- cost of goods
- ad spend
- margin by channel
The figures above are the package this sits on: Dashboard and analytics. Anything past its edges the calculator adds before the work starts, not after.
How the path goes
- 01
The order arrives whole
Not the order total but its contents: items, discount, delivery, payment and source tag, so margin breaks down per item.
- 02
Costs settle onto the order
Purchase cost at the order date, platform commission, logistics, acquiring and ad spend by source: the order carries its margin.
- 03
A return rewrites the past
Booked weeks later to the order date, it moves a closed period, which is marked final or still waiting.
What decides whether this works or annoys people
Returns arrive after the month closes
A margin that never changes after close knows nothing about returns, so every month says whether it is final or still waiting.
Ad accounts claim the same orders
The store is the only truth for an order, ad accounts supply spend alone, and the source comes from the link tag.
Marketplace turnover is not your money
The platform withholds commission, logistics, storage and penalties, so the screen shows the payout, turnover beside it, and the deductions itemised.
What to measure once it is live
- margin by channel after returns and ad spend
- share of orders with an identified source
- share of items with a current cost
- gap between the report and the bank statement
Why this comes out faster
The shape of this one is known: the states, the edge cases and the things that usually go wrong have been decided before. Nothing here is a template, and the saving is not in your half of the work. It goes into your process, your content and the systems this has to talk to, which is the part nobody can have solved in advance.
A likely stack for this
Picked against the task when we scope it, not decided in advance. This is the shelf it usually comes off.
- Collection from the store and the accountsPythonFastAPIPlaywrightn8n
- Storage and computationPostgreSQLClickHouseRedisS3
- The screen and the alertsTypeScriptReactNext.jsTelegram Bot APIDockerGrafana
Price it yourself, right here
Five steps, and you can see the number without leaving a contact. The estimate accounts for the kind of work, what you already have and what it will need inside.
These bills do not come from us
- paid tiers on marketplaces and ad accounts
- proxies and anti-bot services for accounts without export
- storage for the order and ad-spend history
- paid access to accounting or inventory systems
Asked before the first call
- Why will the numbers not match the ad account?
- They count different things: the platform reports conversions inside its own attribution window, we count orders the store recorded. We show both numbers, label their source, and do not quietly pick the flattering one.
- Our cost of goods lives in a spreadsheet, where will it come from?
- From the spreadsheet at the start, or from the accounting system, and you edit it afterwards. Every purchase price carries a start date, and an item with no cost shows as unknown, not full margin.
- Who on the team gets to see the cost of goods?
- Whoever you allow: access to purchase prices and margin is a role of its own, set before launch. A marketer still sees sources, spend and orders, and can work without ever seeing what stock costs.