Skip to content

Orders and invoices

An order records what a customer bought. An invoice records what they owe and what they paid. One purchase creates both.

The order flow

  1. The customer configures a product in the store and adds it to the cart.
  2. The customer opens the checkout page and answers any required questions.
  3. The customer picks a payment method: card, PayPal, or account credit.
  4. The customer clicks Place order. The panel creates the order, but the order is not paid yet.
  5. The customer pays. Read Payment by card below.
  6. If Auto-activate paid orders is on, the panel builds the server.

If Auto-activate paid orders is off, the order waits. An admin then sets the order status by hand.

Payment by card

The card details are entered on the panel. The panel does not send the customer to the Stripe website.

After the customer clicks Place order, the page changes to a card form. The heading reads Pay for order and the order number. Under it the page reads:

Your order is reserved. It is not paid until this goes through.

The customer enters their card and clicks Pay Now. If the card is declined, the message from the card issuer appears on the same page. The order stays unpaid and the customer can try again.

The customer can also leave the page. The order stays open and they can pay it later from their invoices.

Payment by PayPal

PayPal is different. The panel sends the customer to the PayPal site to approve the payment. PayPal then returns them to the panel, which completes the order.

Payment by credit

If the account credit of the customer covers the whole order, there is no card step. The order is paid at once.

Orders

Go to Admin > Billing > Orders.

Search by order number or by customer. Filter by status. The chips under the filters show what is active. Click Clear filters to reset.

The table has these columns: Order, Customer, Date, Total, Status, Payment, and Actions.

Order statuses

StatusMeaning
PendingThe order is placed and waits for processing.
ProcessingThe panel is building the services.
ActiveEvery service on the order is running.
Partially ActiveSome services are running and some are not.
SuspendedThe services on the order are stopped.
CancelledThe order is cancelled.
TerminatedThe services are deleted.
FraudThe order is marked as fraudulent.

Payment statuses

StatusMeaning
PendingNo money is collected yet.
ProcessingThe payment is in progress.
PaidThe money is collected.
FailedThe payment did not go through.
RefundedThe full amount went back to the customer.
Partially RefundedPart of the amount went back to the customer.

Work on one order

Click a row to open the order. The page shows four cards: Total, Payment Status, Payment Method, and Provisioning.

Order Items lists each product, its server, the quantity, the price, and its status. If the product asked the customer questions at checkout, the answers appear under the item as Custom fields submitted.

The totals below the table read Subtotal, Discount with the coupon code, Credits Used, Tax with the rate, and Total.

Change the status

  1. Open the order.
  2. Click Change Status.
  3. Pick a new Status.
  4. Type a reason in Admin Notes.
  5. Click the button, which reads Set to and the status you picked.

If you pick Cancelled, Terminated, or Fraud, an amber warning appears in the dialog:

Moving {order number} to {status} stops the services on this order for {customer email}. No money moves. If they are owed a refund, issue it separately.

WARNING

A status change moves no money. If the customer is owed a refund, issue the refund as a separate step.

Retry provisioning

If the build of a server failed, a Retry Provisioning button appears on the order. Click it to try again.

Refund an order

An order can be refunded only when its payment status is Paid.

  1. Open the order and click Issue Refund. You can also pick Issue Refund from the menu in the orders list.
  2. Read the warning at the top of the dialog.
  3. Enter the Refund amount. The field opens with the full amount already in it.
  4. Type a Reason.
  5. Click the button. It reads Refund with the amount and the name of the customer.

The dialog warns:

This will cancel the order, terminate associated services, and cannot be undone.

This cannot be undone

A full refund cancels the order and deletes its servers.

How much you can refund

You cannot refund more than the order collected. The help text under the amount field reads Maximum: and the figure.

If you type a larger figure, the dialog stops you with That is more than the {amount} charged on this order. A zero or a negative figure gives Enter an amount above zero.

Credits are not part of that maximum. Any credit that the customer spent on the order goes back to their balance as well, on top of the amount you type.

Where the money goes

The customer paid withThe refund goes to
CardTheir card, through Stripe.
PayPalTheir PayPal account.
Account creditTheir account credit balance.

An order paid entirely with credit has no amount field. The dialog reads This order was paid with credits. Refunding returns {amount} in credits to {customer}. The button then reads Return {amount} in credits.

A refund for part of the amount sets the payment status to Partially Refunded. A refund for the whole amount sets it to Refunded.

WARNING

The refund needs the gateway to be set up. If Stripe is off, the refund of a card payment fails with Stripe is not configured.

Create an order by hand

The panel can place an order on behalf of a customer. Use this for a phone sale or a bank transfer.

To open the page, go to /admin/billing/orders/new on your panel.

The page has four steps:

  1. Select User. Type at least two characters of a username or an email address.
  2. Select Product. Filter by category, then click a product.
  3. Configure. Pick a Billing Cycle and enter a Server Name. Under Admin Options, set the Payment Method and the Payment Status. Pick Paid (Provision Immediately) to build the server at once. Pick Pending (Await Payment) to raise an invoice instead. You can also add a coupon code and admin notes.
  4. Review & Submit. Read the summary, then click the button that shows the total.

Invoices

Go to Admin > Billing > Invoices.

Search by invoice number or by customer. Filter by status.

The table has these columns: Invoice, Customer, Issue Date, Due Date, Amount, Status, and Actions. An overdue due date is red. When part of an invoice is still owed, the amount cell adds a Due figure in amber.

Invoice statuses

StatusMeaning
DraftThe invoice is not final.
PendingThe invoice waits for payment.
PaidThe money arrived.
OverdueThe due date passed and the invoice is unpaid.
CancelledThe invoice will not be collected.
RefundedThe full amount went back to the customer.
Partially RefundedPart of the amount went back to the customer.

Invoice types

Every invoice has a type: order, renewal, upgrade, downgrade, credit, or manual. The type appears under the invoice number in the list, and on the invoice page.

Invoice actions

The menu at the end of each row has up to four items. There is no delete action and no void action.

Send email

Sends the invoice to the customer again. A toast confirms it: Invoice {number} emailed to {customer}.

Mark as paid

Use this when the customer paid outside the panel, such as by bank transfer. The action is available only on a pending invoice.

The panel asks:

Mark {invoice number} as paid? This records {amount} as received from {customer} without taking a payment. Their services will be treated as paid up.

Click Mark as paid.

WARNING

This action takes no money. It only records that the money arrived. Make sure that the payment really cleared before you use it.

Cancel invoice

Available on a pending or draft invoice. The panel asks:

Cancel invoice {invoice number}? {amount} owed by {customer} will no longer be collected. This cannot be undone.

Click Cancel invoice to continue, or Keep it to stop.

Refund an invoice

Open the invoice and click Issue Refund. The button appears only on a paid invoice.

The dialog reads:

Money goes back out to {customer}. This cannot be undone from the panel.

The amount field opens with the amount the invoice collected. That figure is also the maximum. If you type more, the dialog stops you with That is more than the {amount} this invoice collected.

Enter a Reason, then click the button, which reads Refund with the amount and the name of the customer.

The refund goes back the way the money came in. A card payment goes back through Stripe. A PayPal payment goes back to PayPal. A payment made with credit goes back to the balance of the customer.

Create an invoice by hand

  1. Go to Admin > Billing > Invoices.
  2. Click Create Invoice.
  3. In Customer, type at least two characters of a name or an email address. Pick the account.
  4. Set a Due Date.
  5. Fill in the first line item: a description, a quantity, and a unit price.
  6. Click + Add Item for more lines.
  7. If the customer needs to read a note, add one.
  8. Click the button, which reads Create invoice for and the total.

The new invoice has the type manual. The panel emails it to the customer automatically.

Next steps

BadgerPanel Documentation