Shopify reconciliation, explained

Margin Reports vs Profit Dashboards: What Each Number Can Prove

Short answer

Profit dashboards like Triple Whale, TrueProfit, BeProfit and Lifetimely estimate quickly. They connect to your store and ad accounts and keep a profit view current, so you can decide what to spend today. That is a real job and a genuinely hard one.

ProfitRoot does the slow half. It reconciles a period from files you export, traces every figure to the rows behind it, and gates any layer your data cannot prove instead of modeling around it. It updates nothing continuously and attributes nothing to a channel.

One number is built to be current; the other is built to be questioned. Most stores need both, and the trouble starts only when a number built for speed is asked to do the other job.

What each number is built from

The first row is the one that matters and the rest follow from it. A continuous profit view exists to be current, which means it must produce a figure before every input has arrived. A reconciled report exists to be checked, which means it can afford to wait and to refuse. Scoring them against each other would grade two designs on the criteria of one.

Profit dashboardsProfitRoot
What it's forOperating pulse. A profit view that updates as the day goes, so you can steer spend without waiting.Verification. A margin report where every figure names the source file it came from.
How the number is producedBlended from connected accounts -- store, ad platforms, payment processor -- with attribution modeled across channels.Computed from files you export, in your browser, with each layer tied to the rows that produced it.
CadenceContinuous. The point is that today's number exists today.Per report run. The point is that the number holds still and can be re-derived from the same files.
When the data cannot support a layerThe view stays complete; modeling fills what direct measurement cannot see.The layer is gated and the missing source is named, rather than published as a figure the file cannot carry.
What it connects toYour store and ad accounts, by permission, on an ongoing basis.Nothing. It reads an export you already have and asks for no credentials.
Ad-channel attributionA core feature -- deciding which channel gets credit for a sale is much of the job.Not attempted at all. ProfitRoot has nothing to say about which channel earned a sale.

The vendors describe this themselves

This is not a gap anyone is hiding. Dashboard vendors document how their numbers are produced, in their own help pages, in plain language.

AMP’s documentation for Lifetimely explains why its reporting and Shopify’s do not tie: Shopify cannot retroactively reassign refunds to the original order date and Lifetimely can, so results will never fully align. That is a design choice about which question the report answers, not a defect -- and it is the same class of choice that makes two honest tools disagree about one month.

AMP Help Docs: Lifetimely vs. Shopify Reporting -- Understanding Timing in Financial Reports

Triple Whale describes the inputs to its Total Impact attribution model as click data, survey data, and proprietary modeling used to credit the most impactful channels. That is the feature working as designed: assigning credit across channels is a question no export can answer by tracing, which is exactly why it takes a model -- and exactly why ProfitRoot does not attempt it.

Triple Whale Help Center: The Total Impact Attribution Model

Where the two numbers get confused

The failure mode is not the dashboard. It is a number built for a Tuesday decision being carried into a room that expects a traced one -- a lender, a buyer, a board, an accountant closing a year. At that point the question changes from “roughly where are we” to “show me where this came from”, and a figure that was never built to answer the second question cannot start doing so retroactively.

Shopify documents the same separation from its own side: the payout reconciliation report "isn’t a statement of revenue for accounting purposes". Different surfaces answer different questions, and a tool that answers one well is not failing at the other.

Shopify Help Center: Payout reconciliation report

For the method itself -- tie to the source, name every exclusion, gate what the data cannot prove -- see how to make a Shopify number defensible.

What a reconciled report costs

A single report is $399, and Margin Proof is $299/mo for stores that need one every period. One login, and a saved workspace per client that you name and switch between. Dashboard pricing is not listed here: four vendors across several volume tiers would be stale within weeks, and this page is about what a number is built from rather than what it costs.

Common questions

Can I keep my dashboard and use ProfitRoot?

Yes, and that is the expected setup. They do different jobs: the dashboard tells you what today looks like so you can act on it, and ProfitRoot produces a reconciled report for the moment someone asks where a margin figure came from. Neither replaces the other, and nothing about running ProfitRoot changes what your dashboard does -- it connects to nothing and posts nothing anywhere.

Why would a dashboard's profit number and a reconciled report differ?

Because they are built from different inputs for different purposes. A continuous view blends connected sources and models what direct measurement cannot see, which is what lets it be current. A reconciled report waits for the files, ties each figure to the rows behind it, and leaves a layer gated when the data cannot carry it. Vendors document this directly: AMP's help pages for Lifetimely explain that because Shopify cannot retroactively reassign refunds to the original order date while Lifetimely can, its own documentation states that results will never fully align with Shopify's own reports.

What does ProfitRoot do when a figure cannot be proven?

It names what is missing and gates the layer that depends on it. If a period's product costs cover only part of the units sold, the gross margin layer stays gated and the report says which source would close it -- rather than publishing a margin figure that is quietly wrong by the size of the gap. A gated layer is more useful than a filled one, because a filled one gets quoted as a fact three slides later.

Can I see it before signing up?

Yes. The demo runs on a sample store with no account, and you can upload your own Shopify Orders export to it the same way. There is no signup to see a reconciled figure, and no account connection at any point.

What this does not tell you

This page is not a review, a ranking or a test. It describes what each kind of number is built from, using each vendor’s own published material and the ProfitRoot code that implements our side. It does not evaluate how well any dashboard performs its job, and nothing here is a claim that ProfitRoot is more accurate than any product named on it.

ProfitRoot attributes nothing to a marketing channel, forecasts nothing, and shows you no number for today. If what you need is to decide this afternoon’s ad spend, a reconciled report is the wrong tool and a dashboard is the right one.

Vendor documentation is quoted as it read on 2026-08-19. These are living help pages and their wording changes without notice; both links are given so you can check them yourself rather than take our reading of them.

Workspaces belong to the account that created them -- there are no team seats or shared logins yet, so each person at your firm works from their own account.

Run your own file -- no signup, no account.

Upload your Shopify Orders export and see which figures reconcile to it, which are excluded and why, and which layers your data cannot prove yet. Your first report is free.

Reconcile my Orders export

CSV uploads are parsed in your browser. Shopify orders you sync are stored on our servers.

Related
ProfitRoot vs A2X vs Link My Books: Which Does What?QuickBooks and Shopify: why the numbers still don't match after you syncHow to make a Shopify number defensibleAll Shopify reconciliation guides

Sources last checked 2026-08-19.