Billing
What a person can change about their subscription, and what the owner has to have configured first.
/dashboard/billing is one screen with three jobs: what plan am I on, what else is there, and how do I stop.
It is short on purpose, because the person using it is usually in a hurry and slightly annoyed.
What is on it
| Part | What it shows |
|---|---|
| Current plan | The plan, its price, and the period it renews on |
| The catalogue | What else is available, with the difference stated plainly |
| Cancel | The way out, available without a message to anybody |
| Payment readiness | Whether the installation can take a payment at all, read from the server |
That last row is the honest one. Billing depends on a gateway being configured by the owner, and an installation without one says so here rather than offering a button that fails.
What the owner has to configure first
Plans & pricing in the panel: the plans, the prices, and which one is featured.
Entitlements: what each plan unlocks, which is what makes the difference between plans real.
Payments: a gateway, its keys, and whether it is in test or live mode. Until this exists, billing is not ready.
Invoices & receipts: after the first real payment, confirm the receipt and the invoice look right. That screen is also where a refund is issued.
Annual, and why the discount exists
Paying for a year costs less than twelve months, and the discount is a setting rather than a hard-coded number. It is a cash-flow decision more than a pricing one: a year paid up front is a year of hosting somebody else paid for. An owner who does not want annual billing can leave the option off, and the screen will only offer the periods that exist.
Cancelling, honestly
Cancelling is available in the product, without a support conversation. What a cancellation does to the current period is a policy decision the owner makes:
| Choice | What the person experiences |
|---|---|
| Keep the plan until the period ends | They keep what they paid for, then stop |
| Downgrade immediately | The plan ends now, and the allowance ends with it |
| Move to the lowest paid plan | They keep an account and lose the features of the bigger one |
Whichever is configured, the screen should say so before the button is pressed, and the confirmation should repeat it. A cancellation that surprises somebody is a refund request waiting to happen.
When somebody writes to you about a charge
Open Money → Invoices, search the address, and read what was actually
charged and when.
Check Money → Credits for the movements behind it, if the complaint is
about usage rather than the bill.
Check People → Users for the account's plan, in case a change was made and
not remembered.
Refund from the invoices screen if it is owed, which is immediate and cannot be undone from here.
Refunds move money and cannot be reversed in the panel
The refund is issued through the gateway, which records it, and this installation records it too. Undoing one means charging again rather than pressing a second button, so read the row twice before confirming.

