JoomInvoice provides a frontend experience where your clients can view their invoices, download PDFs, make payments, and respond to quotes - all without needing access to the Joomla admin panel.
Setting Up the Client Portal
Creating a Menu Item
- Go to Menus > [Your Menu] > Add New Menu Item.
- Set Menu Item Type to JoomInvoice > Invoices.
- Set the Access Level to Registered (so only logged-in users can see it).
- Save the menu item.
This creates a page where clients can see their invoices and quotes.
Linking Contacts to Joomla Users
For a client to see their invoices on the frontend, their JoomInvoice contact must be linked to their Joomla user account. See Contacts > Linking a Contact to a Joomla User for instructions.
What Clients See
Invoice List
Logged-in clients see a list of their invoices with the ability to:
- Search invoices by number or keyword.
- Filter by date range.
- Sort by date, name, or amount.
- View pagination for long lists.
Clients only see invoices assigned to their linked contact - they cannot see other clients' invoices.
Layout Options
You can choose what the frontend looks like in Configuration > Layouts > Layout for frontend users:
| Layout | Description |
|---|---|
| Default | Full layout showing invoices with payment details |
| Simple | Simplified layout without payment information |
Invoice Detail
Clicking on an invoice opens a detailed view rendered with the assigned template. The client can see all the invoice information, line items, taxes, and payment status.
Quote List
If quotes are assigned to the client, they also appear on the frontend with the ability to accept or reject them (see below).
Guest Access (No Login Required)
Not all clients have Joomla accounts. JoomInvoice supports guest access through secure links that include an authentication code.
How It Works
- Each invoice has a unique 64-character security code.
- When you send an invoice or payment link, JoomInvoice can include this code in the URL.
- A client who clicks the link can view the invoice and make payments without logging in.
- The link is unique to that specific invoice and cannot be used to access other invoices.
Configuring Guest Access
Go to Configuration > Auth code in payment links and choose:
| Mode | When to Use |
|---|---|
| None | All clients have Joomla accounts and can log in. Guest links are disabled. |
| Auto (Recommended) | Guest links are generated only for clients who do not have a Joomla account. Clients with accounts must log in. |
| Always | All links include a guest access code. Anyone with the link can view and pay, regardless of whether they have an account. |
Downloading PDFs
Clients can download PDF versions of their invoices from the frontend. The download is available both for logged-in users and guests with valid links.
Making Payments
- The client views an invoice that has outstanding payments.
- Unpaid payments are listed with Pay Now buttons (if the template includes the
{paynow_button}or payment section placeholders). - Clicking Pay Now opens the payment page showing the available payment methods.
- The client selects a method (e.g., Stripe, PayPal) and completes the payment.
- After payment, the client sees a confirmation page with the result.
- The invoice status is automatically updated.
Payment Confirmation Page
After completing a payment, the client is redirected to a confirmation page showing:
- Success - Payment was confirmed.
- Pending - Payment was submitted but is awaiting confirmation from the gateway.
- Processing - The payment is being processed (when using webhooks).
You can also configure custom redirect pages in Configuration:
- Menu item for payment success link - Where to redirect after a successful payment.
- Menu item for payment cancel link - Where to redirect if the client cancels.
Accepting and Rejecting Quotes
When a client receives a quote (by email or views it online), they can respond directly:
- The quote template includes Accept and Reject buttons (using the
{accept_button}and{reject_button}placeholders). - The client clicks one of the buttons.
- The quote status updates to "Accepted by Client" or "Rejected by Client".
- If you have quote notifications enabled, you receive an email about the client's response.
Clients do not need to be logged in to accept or reject a quote - the buttons use secure links.