Invoice PDF Customisation
Admin → Settings → Invoice PDF
Commerce generates invoice PDFs on demand using the barryvdh/laravel-dompdf library and a Blade template. This settings screen lets you control what appears on those PDFs without editing the template directly.
Available Options
| Setting | Description | Default |
|---|---|---|
| Show Company Logo | Renders your uploaded logo in the top-left of the PDF header | On |
| Accent Colour | Hex colour for the invoice header bar and table heading row | Inherits from branding primary |
| Payment Terms | Text block shown below the invoice totals table | Blank |
| Footer Text | Text block shown at the very bottom of every PDF page | Blank |
Accent Colour
The accent colour on the PDF is independent of the portal's --pa CSS variable. This is intentional — PDFs are static documents; a separate colour lets you use your brand's print colour (which may differ from the web accent).
If you leave the PDF accent colour blank, it falls back to the value stored in branding_accent_color.
Payment Terms Block
The payment terms block appears below the totals table and above the footer. Use it for:
- Bank transfer details ("Please transfer to: BSB 123-456, Account 00000000")
- Remittance instructions
- Late payment fees notice
- Your refund policy summary
Payment due within 14 days of invoice date.
Late payments incur a 1.5% monthly surcharge.
Bank: Example Bank | BSB: 123-456 | Acc: 00000000
[!TIP] If you accept bank transfers, put your bank details here. Clients who choose "Bank Transfer" as their payment method see this text immediately on the invoice PDF they download.
Footer Text Block
The footer text is repeated at the bottom of every page of a multi-page invoice PDF. Keep it short — two lines maximum. Common uses:
- Legal entity name and registration number
- Privacy policy URL
- "Generated by Opterius Commerce"
Previewing the PDF
Click the Preview button on the Invoice PDF settings page to download a sample PDF using your current settings and a dummy invoice. Use this to verify layout before sending real invoices.
[!IMPORTANT] The preview uses placeholder data. Always check a real invoice PDF (Admin → Billing → any invoice → Download PDF) after making changes to confirm live data renders correctly.
How the PDF Is Generated
When a staff member or client clicks Download PDF, Commerce:
- Loads the invoice record and all related line items
- Renders
resources/views/pdf/invoice.blade.phpwith the invoice data - Passes the rendered HTML to dompdf
- Streams the resulting PDF to the browser
The Blade template is in the Commerce source tree and can be customised directly if the settings screen does not cover your needs.
Download Links
Invoice PDF download buttons appear in two places:
- Admin panel: Admin → Billing → Invoices → [invoice] → Download PDF
- Client portal: Portal → Billing → Invoices → [invoice] → Download PDF
Both generate the same PDF using the same template and settings.