Payments & Invoices
How payments double as invoices, how to create custom invoices, mark them paid manually and issue refunds.
In WemX a payment and an invoice are the same record. Every time money is owed, a payment is created with the status unpaid. When the customer pays, it becomes paid and receives an invoice number. Find them all under Admin → Payments.
What creates a payment
| Source | Description | When paid… |
|---|---|---|
| Checkout | The cart total, including setup fees, options and tax | Orders are created and provisioned |
| Renewal | Created when a customer renews an order from the client area | The order's due date moves forward by the renewed days |
| Balance top-up | Created when a customer adds credit | The amount is added to their balance |
| Auto balance renewal | Created automatically when the scheduler renews an order from balance | Already paid |
| Custom invoice | Created by staff | Nothing automatic, see below |
Each payment stores what happens when it's paid. That's why a paid checkout creates orders while a paid renewal extends one. Developers can use the same mechanism for their own flows. See Billing lifecycle.
Payment details
Open a payment to see:
- the customer, description and status
- subtotal, discount, tax and total, in the currency the customer paid in
- earnings, the net amount recorded for reporting
- the gateway config used, and the provider's transaction ID
- tax details captured at checkout: company name, tax ID, country, region and postcode
- webhooks received for this payment
Invoices
Every payment has a shareable page at /payments/view/{token}, where the customer can see it and pay it if it's unpaid. Staff can always download a PDF invoice from the payment page. Customers can download PDFs too if Allow Client PDF Invoices is on.
The invoice number format, padding, layout and sender details are configured under Settings → Payments & Invoicing.
Create a custom invoice
Go to Admin → Payments → Create to bill a customer for something outside your catalog, such as a one-off migration fee or consulting work. Enter an optional user, a description, the amount and the currency. Then send the customer the payment link so they can pay it with any gateway.
Mark a payment as paid manually
If a customer paid outside WemX, for example by bank transfer, open the payment and choose Complete manually. Pick the gateway config to record it under and enter the transaction reference. The payment is then treated exactly as if the gateway had confirmed it: its handler runs, so orders are provisioned or renewals applied. This needs the admin.payments.complete_manually permission.
Refunds
Open a paid payment and choose Refund:
| Refund to | Requirements |
|---|---|
| The original gateway | The gateway must support refunds. Some support partial amounts. |
| Customer balance | Always available. The amount is credited to the customer's account balance, converted to the base currency. |
Enter an optional reason. The payment is marked as refunded and the refund is recorded for reporting.
Refunding a payment doesn't suspend or terminate the order it paid for. If the service should end, suspend or terminate the order yourself.