The governing rule: every dollar of revenue carries every cost, COGS, shipping, payment fees, ad spend, returns, and the overhead from the books, before profit is computed, and the result is reconciled against payouts and the bank so it ties out. Refreshed daily, not monthly.
The decision that makes this its own build is right-sizing. A brand this size does not need a data warehouse and an analytics team; that would be over-engineering. The best fit is managed connectors for the standard tools, Postgres for the modest data, dbt for the P&L model, and an off-the-shelf dashboard, delivered lean.
One honest boundary, set up front: this produces a trustworthy, reconciled, automated profit number, not an exact-to-the-penny figure. It is only as precise as the bookkeeping behind it, so reconciliation and clearly stated assumptions are part of the build.
What we deliberately did not do: no enterprise data warehouse, no custom-built dashboard (Metabase does the job), no replacing Shopify or the accounting software, and no machine learning, this is aggregation and reconciliation done well.