Client Portal

Give your customers a self-service portal where they can view their invoices, track payment history, and pay online — no EasyBill account required.


Overview

The EasyBill Client Portal is a lightweight, customer-facing area that is separate from the main staff interface. Each business on EasyBill gets its own branded portal URL. Customers authenticate with a one-time password (OTP) sent to their email address — there is no password to remember and no account to create.

How Customers Access the Portal

  1. Send the customer their portal link: https://v2.easybillghana.com/client/login?owner=BUSINESS_ID. This link is included automatically in invoice emails sent from EasyBill.
  2. The customer enters their email address (the email stored in their contact record in EasyBill).
  3. EasyBill sends a 6-digit OTP to that address. The code expires in 10 minutes.
  4. The customer enters the OTP and is signed in. Their session lasts 24 hours before they need to log in again.
Note: Customers can only log in if they have a contact record in your EasyBill account with a valid email address. To add or update a contact’s email, go to Contacts → Edit.

What Customers Can Do in the Portal

FeatureDescription
Dashboard Overview of total billed, amount outstanding, and count of open invoices. Quick links to unpaid invoices with a Pay Now button.
My Invoices Full list of all invoices billed to the customer with status badges (Unpaid, Partial, Paid). Filterable by status.
Invoice Detail Line items, subtotal, taxes, discounts, balance due, full payment history timeline, and a Pay Now button for unpaid invoices.
Pay Now Clicking Pay Now on an unpaid invoice opens the public payment page where the customer selects a gateway and completes payment.
My Profile Update contact details: name, mobile number, email address, and postal address.

Portal URL Format

The portal is multi-tenant — each business has its own scoped URL:

https://v2.easybillghana.com/client/login?owner=BUSINESS_ID

Where BUSINESS_ID is the numeric ID of the EasyBill account owner. This ensures customers from different businesses cannot see each other's data.

Security

  • OTP codes are single-use and expire after 10 minutes.
  • Sessions are stored in the database and expire after 24 hours.
  • The session cookie is HttpOnly and SameSite=Lax — not accessible from JavaScript.
  • All data queries are scoped to both the customer's contact ID and the business owner ID, preventing cross-tenant data access.

Setting Up the Client Portal

No additional configuration is required. The portal is available for any contact that has an email address stored in EasyBill. To get started:

  1. Ensure your contacts have valid email addresses (Contacts → Edit).
  2. Configure at least one payment gateway so customers can pay online (Settings → Payment Gateways).
  3. Share the portal link with customers or simply send invoices by email — the login link is included automatically.