A store that doubles its ad spend pays for the ads now, pays for the product when the order ships, and gets paid only when Stripe pays out — days later, minus refunds and chargebacks. Scaling into a long payout delay, rising refunds or a delivery backlog is how a store that looks profitable runs out of cash. The Cash cycle card on the Dashboard shows those numbers, and PlatformDTC warns you when growth is outrunning them. It is alert only: nothing here changes a budget, a price or a payout schedule. What to do about a cash squeeze is your call.

The Cash cycle card

The card covers the last 30 full days (today is left out, because a partial day makes every comparison read low) against the 30 days before. Each line appears only when there is data behind it; a store with no data for a line does not see that line, and a store with none at all does not see the card. The payout measurement needs a connected Stripe account with automatic payouts. It is refreshed at most every 6 hours; on the first load it may still be running, in which case the payout lines appear on the next load.

Know your numbers

Under the cash lines, the card shows what a new customer costs you and what they earn you. It counts every buyer, not only subscribers. Earnings are the contribution margin: what an order leaves after tax, product cost, shipping, handling, payment fees and refunds (ads are not taken off, because they are the cost you compare against). A line shows only when there is enough data behind it. These need product costs (recorded costs, or a default product cost in Settings → Costs). Without them every earnings line stays hidden, because sales without costs are not earnings.

Report for your bank

On Analytics → Profit & Efficiency, Download report for your bank saves a spreadsheet (CSV) to send to a lender. It covers the last 12 full months:
  • one row per month: revenue, refunds, cost of goods, ad spend, contribution margin, new customers and cost per new customer;
  • a table by the month customers first bought, showing what each customer has earned you so far, month by month.
A cell is empty when that number cannot be measured — for example, cost of goods when the store records no product costs. It is never filled with a guess.

Growth is outrunning your cash

The alert fires only when both halves are true:
  1. You are scaling fast — ad spend is up at least 50% on a prior 30 days of at least $500, or revenue is up at least 50% on a prior 30 days of at least $1,000 (in store currency). Growth off a tiny base is not scale.
  2. At least one back-end signal is bad:
    • Refunds + chargebacks rising — 5% of revenue or more, and higher than the 30 days before
    • Product cost share rising — up 5 percentage points or more
    • Slow payouts — a cash cycle of 7 days or longer
    • Negative estimated cash position
    • Delivery backlog growing — 10% or more of shipped parcels stalled, late or in exception, and higher than the 30 days before
    • Slow payback — new customers take more than 90 days to earn back what they cost, or do not earn it back within 180 days
Stores are checked every 6 hours. When the alert fires you get an email and a notification in the bell (Growth is outrunning your cash, linking to the card), listing which signals tripped. Each signal alerts at most once per store per day.

Delivery digests in the bell

The daily delivery digest emails — parcels that have not moved in a week, are past their promised delivery date, need attention, were marked shipped but never scanned, or have a label but were never handed to the carrier — now also appear in the bell on the day they are sent, with the parcel count. View parcels opens the matching list under Analytics → Delivery → Shipments. The bell shows exactly what was emailed, so the two never disagree. Related: Manage an order, Shipping labels.