Payments

The platform's ledger: every payment a workspace made, whether a gateway reported it or you recorded it.

The ledger: totals per currency, the payments, and month by month. The ledger: totals per currency, the payments, and month by month.

Tenant admin → Payments. Subscriptions say what a workspace is entitled to; this says what anybody actually paid. Every payment a gateway reports lands here as it arrives, and so does every bank transfer you record by hand, so "how much did we take in March" and "show me the transfer they say they sent" have one answer between them.

What the screen shows

A workspace that has since been deleted keeps its payments, under the name it had.

Filtering and exporting

Filter by Workspace, How (a gateway, or recorded by hand), Status (received, refunded, failed) and a From / To date, then press Filter. The totals and months follow the filter.

CSV and Excel download exactly the rows the filter shows (up to 5,000): date, workspace, plan, amount, currency, status, how, the period, the gateway's reference and the note.

Recording a payment by hand

Recording a bank transfer. Recording a bank transfer.

Press Record a payment.

FieldWhat it does
WorkspaceRequired. Who paid.
Amount and CurrencyRequired. The currency starts as the one you take most.
For the planOptional: the plan it pays for, or Not against a plan.
ReceivedRequired. The day the money arrived; today by default.
Period from / Period toOptional. The period it covers.
NoteOptional, e.g. Bank transfer, reference 1234.

Press Record it.

This records the money only. It does not change what the workspace is entitled to — money can arrive late, and a plan can be given before it does. To give the workspace its plan, use Put this workspace on a plan on its page.

Removing a payment

The button on a row you recorded by hand, then confirm. A payment a gateway reported cannot be removed here: it is that gateway's record of what it took, and deleting it would make your ledger disagree with your bank. Refund it through the gateway instead.

The same webhook twice records one payment. Every gateway retries; the ledger is keyed on the gateway's own payment reference, so your income does not grow each time one is redelivered.

Addresses on this page

For reference and for anyone scripting against the panel. Everything here needs a signed-in super admin at the platform's own address; anybody else gets 403.

MethodAddressWhat it does
GETtenant/admin/paymentsThe ledger, with tenant, method, status, from and to filters.
GETtenant/admin/payments/export/{format?}Downloads the filtered rows as csv (the default) or xlsx.
POSTtenant/admin/paymentsRecords a payment by hand.
DELETEtenant/admin/payments/{payment}Removes a payment recorded by hand.