FAQ
Before you trust the numbers
The questions a finance lead asks before relying on a profit figure — answered with how the product actually computes it. Every answer links to the glossary entry that shows the formula.
What the numbers mean
What does “true profit” include — and what does it leave out?
Two figures, kept apart on purpose. Contribution margin is net revenue minus the costs that scale with each order: cost of goods sold, the carrier cost of shipping it, and payment fees. It answers whether selling one more unit makes money. Net operating profit then takes advertising spend and your operating expenses off that margin. Neither figure is a statutory result: it contains exactly the costs you have connected or entered, and the terms say plainly that analytics are decision support, not accounting or tax advice.
Is revenue shown gross or net of VAT, and how are refunds and cancellations handled?
Revenue is net of VAT everywhere, and revenue and order counts always follow the same net-sale rule: cancelled, fully refunded and refund-gap orders are excluded, so a KPI, a product ranking and a country split can never disagree on what counts as a sale. Margin has two populations, though. The per-product, brand, category and customer margin figures share revenue's net-sale population. The P&L, net operating profit, and the store, channel and geographic-opportunity margin breakdowns instead book every non-cancelled order, fully refunded ones included, because their shipping and payment fees were already spent and are not coming back. The revenue-by-country table counts net sales only, its margin included. A partial refund is different from either case: the order stays a sale, and the refunded amount is reported in the refunds metric by the date the refund happened. VAT collected is reported on its own line.
Where do product costs (COGS) come from?
From you, in three ways, each with an effective-from date so a cost change applies to the right orders. You can enter a cost per SKU by hand — purchase price, freight, duty and handling, in any currency. You can import a CSV or Excel sheet. Or you can upload a supplier price list or invoice as a PDF: a deterministic pipeline (learned supplier templates, table parsing, local OCR, SKU matching against your own catalogue) extracts the costs, and nothing enters margin until you confirm it. An AI model is consulted only when that pipeline finds nothing; it sees at most one page plus a shortlist of candidate SKUs, and can be switched off per organisation.
What happens to orders whose products have no cost on file?
They are excluded from margin, not counted at zero cost. A missing cost used to be the most common way a dashboard overstates profit — revenue in full, COGS at zero, a 92% margin on a product nobody costed. So an uncosted line contributes no margin, an order with any uncosted line is treated as uncosted in its entirety, and wherever a margin figure appears it says what share of revenue has a confirmed cost behind it. Closing that gap is one cost entry per SKU.
Which costs beyond COGS are in the margin?
Shipping: you define carrier cost tiers by carrier, destination country, weight and order value, and every order is priced against them — what the customer paid for shipping and what the carrier charged you are both kept, per carrier. Advertising spend, pulled from the ad platforms, and messaging send costs. Operating expenses — rent, salaries, software — entered or imported per period with their own currency. Marketplace commissions and fulfilment fees come off the margin of the order they arrived with, though no marketplace connection has run yet. Payment-processor fees are the gap: we read no payment fee from any platform, so contribution margin does not carry one and is optimistic by exactly that amount. Enter your processor's invoice as an operating expense — the import already recognises the category — and it reaches net operating profit, just not the per-order margin.
Currencies
How are foreign currencies converted?
Every amount is stored twice: as reported, in its original currency, and converted to euro. The euro is the base for all reporting. Conversion uses the European Central Bank's reference rates, applied per transaction at the rate of the day it happened — an order in March and one in September are not converted at the same rate, and there is no monthly average. If the ECB has no rate for a day (a weekend, a holiday), the most recent earlier rate is carried forward. A freshness widget reports how old the newest rate is, and the rate and its source are kept beside every converted amount. You can choose another display currency for the dashboards; the books underneath stay in euro.
Can a euro figure be silently wrong because of FX?
The two failure modes we designed against are a missing rate and a hidden conversion. A cost or expense in a currency without an ECB rate on or before its date is rejected at entry rather than saved with a guess. And the euro amount is written once, at the warehouse, with the rate that produced it — dashboards read it rather than re-converting, so two widgets showing the same order show the same euros. A display currency you choose is applied on top of those euro figures, for reading, and never changes what is stored.
Marketing
Why does your ROAS differ from what Meta or Google report?
Three reasons, each visible separately. Platform ROAS divides revenue the platform claims for itself by its own spend. Blended ROAS and MER divide your total net revenue by your total ad spend, so the platforms cannot all claim the same order. True ROAS goes one step further and divides attributed contribution margin — not revenue — by spend: a campaign that sells low-margin products looks worse under true ROAS than under any revenue-based figure, which is the point.
Attribution or marketing-mix modelling — which one should I believe?
They answer different questions and are shown side by side. Attribution follows individual journeys: the storefront pixel records a purchase, and the engine traces it back through the UTM-tagged visits of the 30 days before, one touch per session, then splits credit under a rule you choose — last touch, first touch, linear or time decay. Orders with no paid touch in the window are credited to organic. A marketing-mix model never looks at a single order: it fits weekly totals of margin against per-channel spend over a year or more, so it also sees channels that cannot be tracked. Two estimation methods, a ridge regression and a Bayesian model, are fitted on the same data and compared. Attribution is recomputed daily and the mix model weekly; when they disagree on a channel, that disagreement is the finding.
How are marketplace orders, such as Amazon, treated?
The money counts everywhere; the buyer counts nowhere — that is the design, and none of it has run yet. A marketplace order is built to enter revenue, margin, MER and every profit-and-loss line like any other, with the referral commission and fulfilment fee netted from its margin. The marketplace holds the customer relationship and we request no buyer identity from it, so the order contributes nothing to lifetime value, cohorts or repeat rate — by design, and the customer page says so. Advertising bought on the marketplace is scoped to marketplace sales, so it does not distort the ROAS of your own storefront. Amazon is the only marketplace we have built for and its API access is not granted yet: every rule above has been exercised against test fixtures, never against a real Amazon account.
Data, platforms and retention
Which platforms and ad channels are supported?
Store platforms: PrestaShop and WooCommerce through a plugin you install; Shopware and a direct PrestaShop database connection for self-hosted deployments. Both plugins have been taken through the whole path — pairing, backfill, warehouse — against a real shop, WooCommerce on both of its order-storage layouts, but not yet on a working merchant's; and the two newest WooCommerce pieces, product variants as rows of their own and re-syncing a single entity on demand, are tested offline only. Amazon as a marketplace over the Selling Partner API is written and fixture-tested but not live: Amazon has not granted API access, so an Amazon store cannot be connected today. Advertising: Meta Ads, Google Ads, TikTok Ads and Pinterest Ads. Email and SMS: Klaviyo. Further sources are added as design partners need them.
What data leaves my server, and how?
Only what your store sends outbound. The plugin pushes orders, customers, products and costs to our endpoint over HTTPS, in batches — a full history once, then changes as they happen. Nothing connects into your network: we hold no database credentials and no shop admin access. Pairing uses an authorisation code with a verifier that never leaves your server, so an intercepted code is useless. Ad and email platforms are read through their own APIs with credentials you supply, stored encrypted and never returned to a browser. Everything runs in Scaleway's Paris region, in the EU, and each organisation is isolated at the database layer by row-level security.
How fresh are the numbers?
Rows your store pushes are processed every five minutes. Ad, email and marketplace platforms are synced every six hours. Attribution is recomputed nightly and the marketing-mix model weekly. A freshness widget grades every connection by the time since its last successful sync — fresh within 26 hours, stale to 72, critical beyond — and the same widget reports the age of the newest ECB rate, because a stale rate ages every conversion.
How long is data kept?
Your commerce data stays for as long as your account exists and is exportable and deletable at any time. The raw payloads your store pushes are deleted three days after processing; payloads that failed permanently are scrubbed after thirty days. Uploaded cost documents are kept for a per-organisation window, ninety days by default, and the extracted text is not stored unless you turn that on. Storefront pixel events are anonymised in place after a per-organisation window, 365 days by default and never shorter than 31: identifiers are erased, the aggregate funnel and geography remain. The privacy policy lists every window and every sub-processor.
Demo and terms
How does the demo differ from real data?
The demo is a seeded, fictional store: generated orders, customers, ad spend, product costs and multi-currency transactions for a brand that does not exist. What is not simulated is the arithmetic — the demo runs through the same warehouse, the same views and the same margin, FX and attribution rules as a connected store, so a figure you see there is computed exactly as it would be on yours. No real merchant's data is in it, and it is regenerated from its seed rather than synced from a working shop, so its most recent days can trail today's date.
What does it cost, and what does a design partner commit to?
Nothing, during early access: there is no billing in the product, no credit card, no trial clock. Design partners get every feature with no seat or store limits, onboarding from the people who build it and a real say in what ships next; what we ask for is feedback. Pricing is published before general availability, no fee applies without your explicit agreement, and your data stays exportable and deletable throughout.
Still unsure about a figure?
Ask us how a specific number was computed. During early access the answer comes from the people who wrote the SQL, usually within one business day.
Contact us