Skip to main content
Holdings
Industry Finance
Jul 20269 min

Profit First for Ecommerce: Why Revenue Isn't Real Revenue

Ecommerce sellers confuse revenue with real revenue and go broke growing. Here's a Profit First system with a dedicated Inventory account so COGS never disguises a loss as a win.

There's a special kind of heartbreak in ecommerce: a record sales month, a scary-low bank balance, and a tax bill you can't pay. It happens because online sellers confuse revenue with real revenue. When 40–60% of every sale is cost of goods, plus platform fees, shipping, and ad spend, the top-line number lies to you. Grow fast on that lie and you can scale yourself straight into insolvency.

Profit First fixes this by forcing one rule: real revenue = sales minus COGS, and you allocate everything off that number — never off gross. The ecommerce twist is a dedicated Inventory account so restock cash is always waiting when your bestseller sells out.

The two numbers that kill ecommerce sellers

  1. Gross revenue — what your store dashboard shouts about.
  2. Real revenue — sales minus cost of goods sold (product + inbound freight + the direct cost to fulfill a unit).

A $100,000 month at 45% COGS is only $55,000 of real revenue. If you'd allocated profit, pay, and tax off the $100k, you'd have committed money that belongs to your supplier and freight forwarder. Off real revenue, the percentages are honest — and honest is what keeps you solvent while scaling.

The Inventory trap

The most dangerous ecommerce cash pattern: sales come in, you feel flush, you dump the cash into a bigger reorder, and then payroll, ads, and taxes all arrive with an empty account. The Inventory account breaks this cycle. A fixed slice of every sale is quarantined for restock before you allocate anything else, so growth funds itself instead of bankrupting you.

The ecommerce account structure

   Payout (Stripe/  ┌────────────────────────────┐
   Shopify/Amazon) →│   INCOME (holding)         │
                    │   all payouts land here     │
                    └────────────┬───────────────┘
                                 │ Step 1: quarantine COGS
                                 ▼
                    ┌────────────────────────────┐
                    │        INVENTORY           │  (~45% of sales)
                    │  restock + inbound freight  │
                    └────────────────────────────┘
                                 │
                    remaining = REAL REVENUE
                                 │ Step 2: allocate by %
     ┌──────────────┬───────────┴────┬──────────────┬─────────────┐
     ▼              ▼                ▼              ▼             ▼
 ┌────────┐   ┌──────────┐    ┌──────────┐   ┌──────────┐  ┌──────────┐
 │ PROFIT │   │  OWNER   │    │   TAX    │   │   OPEX   │  │   ADS    │
 │  10%   │   │   PAY    │    │   15%    │   │  30%     │  │  (from   │
 │        │   │   30%    │    │          │   │          │  │   OpEx)  │
 └────────┘   └──────────┘    └──────────┘   └──────────┘  └──────────┘
   (percentages apply to REAL REVENUE = sales − COGS, not gross)

The Inventory account sits between Income and everything else. It's the ecommerce equivalent of the contractor's job-costs account: your biggest, lumpiest cost gets its own home so it can't masquerade as profit.

Suggested percentages (of real revenue)

AccountStartTarget
Profit5%10–15%
Owner's Pay25%30–40%
Tax15%15–25%
OpEx (incl. ads, fees, software)55%25–40%

Ad spend lives inside OpEx (or a sub-account) so your customer-acquisition cost is disciplined by a fixed budget rather than "whatever the account balance allows."

Running the system with marketplace payouts

Ecommerce cash arrives on payout schedules — Stripe every two days, Amazon every two weeks — often net of fees. Adapt like this:

  1. All payouts land in Income.
  2. Quarantine Inventory first. Move your COGS percentage of gross sales into the Inventory account the moment a payout clears.
  3. Allocate real revenue into Profit, Owner's Pay, Tax, and OpEx twice a month.
  4. Reorder stock only from Inventory. If Inventory can't cover a reorder, that's a signal your COGS percentage is set too low — or your prices are too low.
  5. Run ads from a capped OpEx sub-account so a bad ROAS week can't drain the business.

Because fees come out before payout, reconcile them into your COGS/OpEx math. Getting real revenue right is the whole ballgame — nail your unit economics with a profit margin calculator and set prices with a markup calculator so every SKU funds its buckets after COGS, fees, and shipping.

Pricing so growth is profitable

Ecommerce sellers often price to beat competitors and forget that fees, shipping, and returns quietly erode margin. Before you launch or discount a product:

If a SKU can't fund at least a 10% profit allocation after COGS and fees, it's a volume trap. Cut it or reprice it.

Cash flow, restocks, and lead times

The Inventory account only works if it's sized for your reorder lead time. If your supplier needs 60 days, your Inventory account has to hold enough to restock before you sell out — otherwise you stock out during your best season. Model this with a cash flow forecast, mapping payout timing against reorder points, so you never face the "sold out during a viral moment with no cash to reorder" nightmare.

For wholesale or B2B orders, invoice with clear terms using an invoice generator and lock large custom orders with a quote generator so B2B revenue funds Income predictably.

Frequently asked questions

How is Profit First different for ecommerce?

Ecommerce adds a dedicated Inventory account and calculates all allocation percentages off real revenue (sales − COGS), not gross sales. This prevents the classic trap of scaling revenue while quietly running at a loss because COGS, fees, and shipping eat the margin.

What counts as COGS for an online store?

Product cost, inbound freight/duties, and the direct per-unit cost to fulfill (pick, pack, ship). Platform and payment fees are usually treated as OpEx, but some sellers fold merchant fees into COGS — just be consistent.

How many bank accounts does an ecommerce business need?

Five to six: Income, Inventory, Profit, Owner's Pay, Tax, and OpEx (with an optional Ads sub-account). Sub-accounts on a modern banking platform make this fast to set up.

Why do profitable-looking ecommerce brands run out of cash?

Because they reinvest gross revenue into inventory without reserving for taxes, owner pay, and profit. The Inventory account plus real-revenue allocation stops this by quarantining restock cash and the government's share before anything gets reinvested.

Stop scaling into a loss

Ecommerce rewards the sellers who know the difference between revenue and real revenue. Quarantine COGS in an Inventory account, allocate off what's actually yours, reserve taxes and profit first, and cap ad spend to a budget. Do that and every growth month adds cash instead of anxiety.

Holdings brings together business banking, accounting, and invoicing, so your Income, Inventory, and Tax accounts — and your wholesale invoices — live in one dashboard. Read the Profit First Small Business Playbook for the complete system, then restructure your accounts before your next big restock.

Related in this guide

Earn 1.75% Annual Percentage Yield (APY)† on every dollar

FDIC insured up to $3M*, zero fees^, instant sub-accounts. Open in minutes.

Open Your Account

*Holdings is a financial technology company, not a bank. Banking services provided by i3 Bank, Member FDIC. The Holdings Visa Debit Card is issued by i3 Bank pursuant to a license from Visa U.S.A. Inc. No account or domestic transaction fees; some foreign transaction fees may apply. Annual Percentage Yield (APY) is variable and subject to change. Deposits insured up to $3M through i3 Bank and program banks.

Liked this? Calm Finance goes deeper — a quarterly letter on building businesses that last.

This article is for informational purposes only and does not constitute financial, tax, or legal advice. Consult a qualified professional for advice specific to your situation.

Holdings is a financial technology company and is not a bank. Banking services are provided by i3 Bank, Member FDIC. The Holdings Visa Debit Card is issued by i3 Bank pursuant to a license from Visa U.S.A. Inc. APY is variable and subject to change. Deposits are insured up to $3 million through a combination of i3 Bank, Member FDIC, and additional program banks.