Shop & billing/Purchases & invoices
updated 2026-07-25
Shop & billing

Purchases & invoices

Every sale you have made and every invoice behind it: creating purchases, the statuses a purchase moves through, session credits, pausing and resuming, and working with invoices.

A purchase is one client buying one thing. It records who bought, what they paid, what they got access to, and where that access stands today. An invoice is the billing document behind it. A one-off purchase has one invoice, a subscription gets one per renewal, and an installment plan has one per dated payment.

Purchases live in Shop → Purchases.

The shop dashboard

Shop → Overview answers “how is the business doing” for a date range you pick:

  • Revenue in the period, with a weekly breakdown.
  • New subscriptions and one-time purchases started in the period.
  • Active subscriptions right now.
  • Expiring soon and Recently expired, both clickable straight through to the purchase.

Expiring soon is the one to watch. It is your renewal conversation list, a few days before access actually runs out.

Creating a purchase

Two ways in, for two situations:

QUICK ADD
From a client's profile
Name, amount, date, optional product. A few seconds while you are with the client
FULL DETAILS
Shop → Purchases → Add Purchase
Everything: tax, expiry, linked plans, guest billing details, installments
Quick Add for speed, the full form when the details matter. Both create the same kind of purchase, and anything Quick Add skips can be filled in afterwards.

Pick a product and the purchase inherits its price, currency, pricing type, session count, linked plans, and access expiry. You can override any of it before saving; the purchase keeps what you saved even if the product changes later.

Client or guest

  • Client links the purchase to a profile. The name and email come from that profile, the purchase shows on their page, and they see it in their app.
  • Guest is a manual name and email, for somebody who is not a client in Protocol.

A guest purchase still invoices and still sends email. It just has no profile behind it, so nothing appears in anybody’s app.

Statuses

1 · CREATED
PENDING
Recorded, not confirmed yet
2 · CONFIRMED
ACTIVE
Paid and in force. Plans granted, sessions usable
3 · ENDS
EXPIRED CANCELED
Access over, history kept
The normal path. Pausing, going past due, and refunds branch off the ACTIVE state.
Status Means Colour on the list
PENDING Recorded but not confirmed. Nothing has been granted yet Blue
ACTIVE Paid and in force Green
PAST_DUE An installment payment is late. See installments Red
PAUSED Deliberately parked by you, optionally with an auto-resume date Amber
CANCELED Ended early Amber
EXPIRED Ran out on its expiry date or at period end Grey
REFUNDED Money returned Red
FAILED Payment did not go through Red

Confirming a purchase, meaning moving it to ACTIVE, is what grants the linked plans and makes sessions usable. That is why a purchase you create as PENDING does not give the client anything until you confirm it.

Pausing and resuming

Pause a purchase when a client is away and you do not want their access or their payment clock running. Only an ACTIVE or PAST_DUE purchase can be paused, and you can set a date for it to come back on its own; leave that empty and it stays paused until you resume it.

A paused purchase is left alone by the rest of the shop. It is not chased for late installment payments, and it does not appear under the purchases list’s payment state filters, because a client you deliberately parked is not somebody to chase.

Session credits

A purchase made from a session-pack product tracks total, consumed, and remaining sessions.

Record a session against the purchase as you deliver it and the remaining balance drops by one. Each one is kept in a spend history with its date and an optional note, so you can see where a pack went. Recorded a session by mistake? Delete that history entry and the session goes back on the balance.

You cannot spend more sessions than remain, so a pack cannot go negative by accident.

Actions on a purchase

  • Send confirmation email, the receipt-style summary of what they bought.
  • Send invoice email, the invoice itself.
  • Renew, for a subscription: charges the next cycle, moves expiry forward, and produces a new invoice. Renewals normally run on their own; this is the manual override.
  • Pause and Resume, as above.

Invoices

Every purchase has at least one invoice, found on the purchase itself or at Shop → Purchases → the purchase → Invoice. An invoice carries its own number, the amount, the tax snapshot taken at purchase time, and the billing name and address from Shop settings.

Invoice status Means
DRAFT Created, not issued
ISSUED Sent or ready to send
SCHEDULED An installment payment with a future due date
PARTIALLY_PAID Some money in, a balance still owed
PAID Settled in full
VOID Cancelled. Kept for the record, counts for nothing

Void, do not delete. Voiding leaves the document in the history with a clear cancelled status, which is what an accountant wants. Deleting is for something created by mistake that should never have existed.

Invoices can be exported as a PDF for a client who wants one for their records, and the invoice footer text in Shop settings is where your payment terms or bank details go.

Recording payments, including partial ones, is covered in Selling in installments.

Finding things in the list

The purchases list searches across customer name, email, purchase name, access code, and external id, and sorts by any column. On top of that, filter chips narrow it to installment plans by payment state: Overdue, Due soon, On track, or Fully paid, each with the plan’s next due date and progress in its own column. That is all documented in Selling in installments.