Invoice Overview
Invoices, items, status, numbering
What it is
Invoices bill clients for products, services, domains, add-ons, and one-off charges. Each invoice has line items, a status (pending, paid, overdue, cancelled), and a unique invoice number. Invoices are generated automatically when orders are placed or when the cron runs for renewals.
How it works
Tables: invoices stores the header (client_id, invoice_number, status, total, currency, due_date). invoice_items stores each line (description, quantity, price, total).
Numbering: generateInvoiceNumber() uses settings (prefix, format, next number) to create values like INV-2024-001. Placeholders: {PREFIX}, {YEAR}, {MONTH}, {DAY}, {NUMBER}.
Status flow: pending → paid (when payment received) or overdue (when past due and unpaid).
Example: Invoice structure
Invoice INV-2024-001
Client: John Doe
Due: 2024-02-15
Status: Pending
Items:
- Basic Hosting (Monthly) £9.99
- Domain: example.com (1 yr) £12.99
-----------------------------------
Total: £22.98
How to set up
- Configure numbering in Admin → Settings → Numbering: prefix (e.g. INV), format (e.g.
{PREFIX}-{YEAR}-{NUMBER}), next number. - Invoices are created automatically when clients place orders or when cron generates renewals.
- View and manage in Admin → Invoices.
Was this helpful?