Reconciled margin for Shopify brands

Know which D2C margin numbers you can actually trust.

ProfitRoot reconciles Shopify Orders to Net Sales, checks cost coverage, and shows which margin layers are ready, gated, or scenario-only — before you make decisions from the numbers.

Run a Margin Readiness CheckTry the sample demo
Net Sales reconciled to ShopifyMissing sources namedCSV uploads are parsed in your browser. Shopify orders you sync are stored on our servers.
Commerce BoardSample data
ReconciledNet Sales
$41,304.04
+19.45% MoM
Orders
271
+11.52%
AOV
$164.35
+4.32%
GatedContribution Margin — add cost sources to unlock
Shopify Orders — reconciled
Product Cost — needs source
Carrier / 3PL — needs source
Shopify Payments — needs source
14 months reconciled — synthetic Shopify store, not real data.
No signup requiredNo credit cardCSV files you upload are parsed in your browser.
How it works

Three steps to a defensible margin number.

1Upload your Shopify Orders export
2ProfitRoot reconciles Net Sales and names what's missing
3Get a margin readiness read you can use in a review.
See it run

Forty-nine seconds, on a sample store.

Your dashboard shows profit. It often can't prove it.

Your Shopify Orders export proves Net Sales — reconciled to the file, discounts and refunds netted. Contribution Margin needs more than that: product cost, fulfillment and shipping, payment fees. ProfitRoot shows which layers are ready, which are gated, and exactly which source unlocks the next one.

Claim
"Revenue is up 18%."
CheckReconciled
Net Sales reconciled to your Orders export — discounts and refunds netted, test and void orders excluded by name, tied to the file's own total.
Claim
"Margin looks healthy."
CheckDerived
Gross Margin derived from your uploaded unit costs — and gated loud if any SKU is missing a cost. A partial margin is never shown as a whole one.
Claim
"Shipping ate our profit?"
CheckCoverage-checked
Logistics coverage-checked against your carrier file — every order matched, or the gap is named. Contribution Margin, before returns handling.
The ProfitRoot difference

Every metric earns a status. No false precision.

Reconciled
ties back to a source total.
Derived
computed from your inputs, with no external control to check against.
Calibrated
checked against an external control.
Coverage-checked
present and mapped, may still need a control.
Gated
the required source is missing or incomplete.
Scenario
depends on assumptions; not reconciled actuals.
What your margin is made of

Every layer is source-backed — or honestly gated.

Shopify Orders
Reconciled
Net Sales, reconciled to source (order grain)
Product Cost
Derived
Product COGS + Gross Margin, derived from your costs
Carrier / 3PL
Coverage-checked
Fulfillment + shipping, coverage-checked (period)
Shopify Payments
Coverage-checked
Processor fees -> Contribution Margin
Returns handling
Gated
The last CM lane — not yet a source (honestly gated)

This is a composition — what your margin is made of, source by source. A source with a gap is named, never guessed.

Founding-store pricing

Pay for the layers you can prove.

Flat pricing — your growth doesn't raise your bill.

Readiness Check
Free
See what your Shopify data can prove — reconciled, free.
The full in-browser demo on sample data
Upload your Shopify Orders and see Net Sales reconciled
The source readiness map — what your exports can prove
The product-cost coverage check
Try the demo
Margin Proof
$299/mo
The margin ladder — Gross Margin through source-checked CM.
Everything in the free Readiness Check
Product COGS coverage
The full margin ladder — Gross Margin through CM
CM% composition, source by source
Start Margin Proof
Commerce Finance
$799/mo
Full cost-to-serve Contribution Margin.
Everything in Margin Proof
Payments and payouts reconciliation
Carrier / 3PL cost-to-serve
Get early access
Roadmap:Multi-storeAPI + Excel exportBoard-ready packsScheduled reportingPeriod-over-period movementAsk Root (AI analyst)

Margin you can put in front of anyone — because it ties to source.

Run a Margin Readiness CheckTry the sample demo

Two paths, handled differently. CSV files you upload are parsed in your browser and are not sent to us unless you save a workspace. Orders synced from a connected Shopify store are transmitted to and stored on our servers so they can be recomputed on later visits.

How we handle your data