The money layer
The supplier invoices Shopify never tracked
Knowing what is on the shelf is half the job. The other half is knowing what you owe for it, when it is due, and what it truly cost you. Purser keeps all three in the admin — no export, no accounting detour, no spreadsheet that only one person understands.
Shopify Admin
Accounts payable: aging
Current
$18,420.00
7 invoices
1–30 days
$6,180.50
3 invoices
31+ days
$2,740.00
1 invoice
| Supplier | Due | Balance | Status |
|---|---|---|---|
| Nike Corp | 12 Aug | $9,240.00 | Unpaid |
| Alden & Co | 28 Jul | $4,180.50 | Partial |
| Verity Goods | 02 Jul | $2,740.00 | Overdue |
The maths, made visible
What last price paid actually costs you
Shopify records the last price you paid on a purchase order and treats it as the cost of every unit you hold. Purser weights the stock you already had against the stock arriving. Put your own numbers in and see the gap.
Your figures
Stock held before this delivery arrives.
What those units actually cost, per unit.
Units on the purchase order being received.
The price paid on this purchase order.
What the unit sells for.
Shopify: last price paid
$52.50
Recorded unit cost
- Reported margin
- 47.5%
Purser: weighted average
$47.50
True unit cost
- Actual margin
- 52.5%
The gap
Shopify overstates the cost of every one of these 180 units, misvaluing the inventory on the balance sheet by $900.00 and reporting margin 5.0% lower than reality.
Purser recalculates the weighted-average cost automatically on receipt, so this correction happens without anyone rebuilding a spreadsheet at month end.
Shopify is not doing any kind of average costing that I can tell. The price seems to just be updated with the last price you paid on a PO, leading to margin tracking errors.
What it does
Three things that protect the margin
Weighted-average cost
Recalculated on every receipt, part-deliveries included, using the stock you already hold and the stock arriving. It is the number your margin reports should have been using all along.
The payables ledger
Invoice number, invoice date, due date, amount, and whether it is paid, part-paid or unpaid. Record payments against a bill and watch the supplier's balance come down.
Aging, and an export
See what is current, what is overdue, and by how long, per supplier. When the bookkeeper asks, export the whole payables ledger as a CSV rather than reading it out over the phone.
Accounts payable aging
Know what is owed, and when
Outstanding bills sit in the standard aging buckets, so you can see what must be paid this week and what has been sitting too long.
Current
- Not yet due
- Invoices awaiting their due date
1–30 days
- Past the due date
- The supplier is about to ring
31+ days
- Seriously overdue
- The relationship is the risk now
Credit notes, when the supplier gets it wrong
Charged for twelve and sent ten? Raise a credit note against the bill. What you owe comes down, the history shows why, and the cost of the stock you did receive stays correct.
Learn more
Purchase orders and receiving
Build an order in one pass, then scan it in when it lands — quantity, cost, margin and on-hand on a single row.
Transition path
Get your history out of Stocky
What to export before the shutdown, and how the costs you have paid become the starting point for every average that follows.
Shopify shuts Stocky down on 31 August 2026
Stocky stops working on 31 August 2026
The supplier records, costs and purchase-order history you built up over years do not move to Shopify by themselves. Export them, bring them into Purser, and keep the ledger you have been running your shop on.
Free plan, five purchase orders a month. Pro is $37.99 a month, flat.
Questions
Frequently asked questions
How is weighted-average cost calculated?
The stock you already hold, at the cost you already hold it at, is weighted against the units arriving at the price on this delivery. The result becomes the new unit cost. It is recalculated on each receipt, so a part-delivery at a new price moves the average by exactly its share and no more.
Can I track unpaid invoices in the app?
Yes. Each bill carries its invoice number, invoice date, due date and amount, and is marked paid, partly paid or unpaid as you record payments against it. The supplier's outstanding balance and the aging view both follow from that.
What about suppliers who invoice in another currency?
A bill is held in the supplier's currency, because that is what you actually owe them — you owe a British mill £500, not roughly $640. You enter the rate, and Purser stores the amount in your shop's currency too, frozen at that rate, so your totals add up and do not drift every time you refresh the page.
Does Purser handle freight, duty and landed cost?
Not yet, and we would rather say so than imply otherwise. Shipping costs recorded on a purchase order are not currently spread across the individual items. Landed-cost allocation is planned, and it is not in the app today.
Can my bookkeeper get the data out?
Yes. The payables ledger exports as a CSV on every plan, including the free one. Your books are yours.
