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

SourceDescriptionWhen paid…
CheckoutThe cart total, including setup fees, options and taxOrders are created and provisioned
RenewalCreated when a customer renews an order from the client areaThe order's due date moves forward by the renewed days
Balance top-upCreated when a customer adds creditThe amount is added to their balance
Auto balance renewalCreated automatically when the scheduler renews an order from balanceAlready paid
Custom invoiceCreated by staffNothing 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 toRequirements
The original gatewayThe gateway must support refunds. Some support partial amounts.
Customer balanceAlways 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.

On this page