Home tab
The first screen the customer lands on. Designed to answer “what’s happening with my account right now?” without any clicks. Sections (top to bottom):- Greeting and customer name
- Active jobs — list of jobs currently in any non-closed stage, with current stage and end date
- Outstanding invoices — unpaid or partial invoices with PromptPay QR
- Pending deposits — deposits requested but not yet paid
- Quick links — shortcuts to the other tabs
Jobs tab
Every job tied to the customer, grouped by status:- Active (jobs in any non-closed stage)
- Upcoming (jobs scheduled to start soon)
- Past (closed and cancelled jobs)
- Status banner with the customer-friendly stage label
- Job dates
- Equipment list (friendly names, no asset IDs)
- Documents (signed quote, signed delivery manifest, current invoice)
- AI Job Report (for closed jobs, customer-facing version)
- Contact us button
Invoices tab
Every invoice tied to the customer, with status badges:- Unpaid / Partial (with a Pay button)
- Paid
- Overdue (with a Pay button)
- Invoice PDF rendered inline
- Payment details (already-paid amounts, balance due)
- Pay button if balance > 0
- Download button for the PDF
- Tax Invoice (if issued) downloadable separately
Receipts tab
Every receipt issued to the customer:- Regular receipts (
RC-) - Pre-payment receipts (
PREREC-) - Deposit receipts (
DEPR-) - Deposit return receipts (
DEPRR-)
Documents tab
A flat list of every document tied to the customer:- Signed quotes
- Invoices and Tax Invoices
- Receipts (all types)
- Deposit requests, DEPR, DEPRR
- Delivery manifests
- AI Job Reports (customer-facing version)
PromptPay QR on unpaid invoices
When a customer opens an unpaid invoice, the portal shows a PromptPay QR code below the invoice details. The QR is generated dynamically with:- Your business’s PromptPay number (configured in Settings → Business Settings)
- The exact balance due as the amount
- Take a screenshot of the bank confirmation
- Tap I’ve paid in the portal
- Optionally upload the screenshot
Deposit section
The deposit section appears on the home tab and on the relevant job detail. It shows:- Held — current deposit balance held by you
- Pending — deposits requested but not yet paid (with PromptPay QR for payment)
- Returned — historical deposit returns with date, amount, and any deduction reason
Language toggle
Top right of every page. EN / TH switch:- Defaults to the customer’s preferred language on first visit
- Persists in browser cookies
- Switches every label, date format, and document language instantly
What customers do NOT see
For privacy and operational separation, the portal hides:- Asset IDs (only friendly equipment names show)
- Internal notes from your team
- Other customers’ data
- Your inventory (only what’s on their jobs)
- Damage cost estimates (they only see what was deducted from their deposit, with reason)
- Recommendations from the AI Job Report (those are internal-only)