Monthly account statements · Shopify wholesale
On the 1st, every customer knows their balance.
StatementClerk turns your Shopify orders into a branded account statement for each wholesale customer — invoiced, paid, open, overdue — and emails it on your schedule. Every statement is re-checked against Shopify before it goes out.
Free up to 5 companies · Pro $24/mo · 14-day trial · billed through Shopify
SEP 1
08:08
How it works
Ten minutes to set up. Near zero after that.
StatementClerk reads your companies, terms, orders and payments. Read-only — it never touches money.
Monthly on the 1st, 15th or last day — or weekly. Add your logo, accent and payment instructions.
One PDF per company, attached to a short branded email. The first cycle waits for your review.
Outstanding, overdue and days past due for every company — on one dashboard inside Shopify.
The document
The customer statement their bookkeeper pays from.
A statement of account per company, in your branding, not ours. Prints clean in black and white, on A4 and Letter.
The summary
Opening + corrections + invoiced ± order changes − paid + refunds = closing. The identity holds on every statement.
The audit trail
Every invoice, payment and refund of the period, and every edit or return on its own day, with a running balance.
Changes, labelled
An old order returned or edited shows up as a labelled line on the day it happened — never a silently different number.
accounts@cedarandpine.example
Activity · 1–31 August 2026
| Date | Type / reference | PO | Due | Amount | Balance |
|---|---|---|---|---|---|
| Opening balance — carried forward | $1,240.00 | ||||
| 1 Aug | Correction relating to a prior period (ref #1029) | MS-PO-2291 | −$38.00 | $1,202.00 | |
| 2 Aug | Invoice #1042 | MS-PO-2318 | 1 Sept | $612.00 | $1,814.00 |
| 5 Aug | Payment · #1031 | MS-PO-2297 | −$802.00 | $1,012.00 | |
| 12 Aug | Invoice #1047 | 11 Sept | $378.00 | $1,390.00 | |
| 26 Aug | Payment · #1042 | MS-PO-2318 | −$300.00 | $1,090.00 | |
| Closing balance | $1,090.00 |
Open items · what to pay, as of 31 August 2026
| Ref | PO | Issued | Due | Amount | Paid | Outstanding | Days overdue |
|---|---|---|---|---|---|---|---|
| #1029 | MS-PO-2291 | 20 Jun 2026 | 20 Jul 2026 | $400.00 | $0.00 | $400.00 | 42 |
| #1042 | MS-PO-2318 | 2 Aug 2026 | 1 Sept 2026 | $612.00 | $300.00 | $312.00 | — |
| #1047 | 12 Aug 2026 | 11 Sept 2026 | $378.00 | $0.00 | $378.00 | — | |
| Total outstanding | $1,090.00 | ||||||
Days past due
The statement is wider than this screen — scroll it sideways for the amounts.
Your branding
Your logo — or your store's name set in type — and your accent colour. StatementClerk appears only as a small "sent with" line.
Open items
Every unpaid invoice with what's left to pay and days overdue — one glance, one payment.
Days past due
Five buckets that always sum to the closing balance. Checked before sending.
Inside Shopify
One dashboard: who still owes you.
Your receivables on net terms, live: total outstanding, total overdue, days past due per company — and a flag whenever something needs you: a bounced email, a possible payment by bank transfer, numbers that changed.
Ask Shopify Sidekick too: who is overdue, why a statement is held, where a setting lives.
Lives in your Shopify admin. No separate login.
Possibly paid — needs a look $3,208.00 $3,208.00 Sent
Statement not reaching $4,977.25 $1,150.00 Bounced
Why the numbers match Shopify
Pure arithmetic over Shopify's own records.
Opening + corrections + invoiced ± order changes − paid + refunds = closing, and the aging buckets sum to the same figure. If the identity fails, the statement is held — not sent.
Every order behind the statement is re-read from Shopify at send time. If the numbers changed, the statement comes back to you for review instead.
Items returned on an old order, or an order edited after its statement went out, show up as a labelled line on the day it happened — and the earlier statement keeps the figures it went out with. The trail is always visible.
A bank transfer or cheque counts once it is marked as paid in Shopify, and a mistake recorded there — a payment on the wrong order, an order entered twice — reaches the statement as recorded. Keep Shopify current; the checks above keep each statement true to it.
Deliberately not in the box
Boring by design.
- No payment collection or card charging
- No credit limits or dunning sequences
- No accounting-software sync
- No buyer portal to log into
- No AI doing the arithmetic
It reads your Shopify data, does the arithmetic, and sends the document. That's the whole job.
Pricing
Two plans. Billed through Shopify.
Free
$0- Everything included
- Statements, review queue, nudges
- Your branding on every document
Pro
$24- Everything in Free
- No company limit
- 14-day free trial
Prices in US dollars. On Free, a 6th company's statements are held — never dropped. Upgrade when you're ready.
Questions merchants ask
Does StatementClerk collect payments?
No. It is read-only on money. Statements carry your payment instructions — bank details, or "pay by card from the invoice link in your order email" — and customers pay you the way they always have.
What if a customer paid by bank transfer?
Until the order is marked as paid in Shopify, the statement shows it as unpaid — StatementClerk reads Shopify's records, not your bank account — so mark a transfer as paid the day the money lands. As a safety net, the app holds a company's statement when the company has overdue items and either has had an order marked as paid before or is set in the app as paying by bank transfer or cheque; the hold links to the overdue orders in Shopify so you can mark them paid first. It can't catch a transfer from a company with neither, or a payment on an invoice that isn't overdue yet.
Will the numbers match Shopify?
Yes — that is what is checked. Every statement must add up: opening + corrections + invoiced ± order changes − paid + refunds = closing, with the open items and the days-past-due buckets summing to the same figure. Each order's balance must equal what Shopify says is still owed on it, and right before sending every order behind the statement is read again from Shopify and the statement rebuilt. If any check fails, the statement is held with the reason, not sent.
Matching Shopify is not the same as matching your bank account. A payment never recorded in Shopify, a payment marked on the wrong order or entered twice, and an order created twice all add up and match Shopify, so they reach the statement as recorded. Keeping payments, refunds, payment terms and billing contacts current in Shopify stays with you; until you switch to autopilot, every statement waits for your approval.
Do I have to review every cycle?
Only the first, unless you want to. Statements land in a review queue; after a clean cycle you can switch to autopilot. Autopilot still holds and explains what the checks catch — a failed balance check, numbers that changed, a possible off-platform payment, an order Shopify marks as paid that still shows money owed, a customer left in credit, a bounced address — and sends the rest as Shopify records it, less any order you chose to leave out.