Customer Portal
Give your customers a branded self-service portal where they can view their jobs, estimates, invoices, and inspections.
Overview
The Customer Portal is a separate website your customers access to check the status of their work without calling your office. Each Forz account gets a dedicated portal URL based on your company subdomain (e.g., cp.forz.io/acme-plumbing). Customers log in with their email address and a one-time verification code — no passwords to manage.
From the portal, customers see a dashboard summarizing their open estimates, outstanding invoices, active jobs, and recent inspections. They can drill into each record for details, download PDF copies of estimates and inspections, and accept estimates directly.
Before You Begin
Prerequisites:
Your account has a subdomain configured (set during onboarding or in Settings > Company).
At least one customer record exists with a contact that has an email address.
The contact is linked to the customer via a contact linkage.
How Customers Access the Portal
The Customer Portal lives on a dedicated domain (cp.forz.io) and uses your company subdomain as a URL path. Each customer accesses the same portal URL and logs in with their own email address.
Portal URL format
Your portal URL follows this pattern:
https://cp.forz.io/your-subdomain
For example, if your company subdomain is acme-plumbing, your portal URL is:
https://cp.forz.io/acme-plumbing
Share this URL with your customers via email, your website, or printed materials. Every customer for your account uses the same URL.
Tip: Bookmark the portal URL in your email templates so customers always have quick access. You can also add it to your invoice and estimate footers.
How Customer Login Works
The portal uses email verification codes instead of passwords. This eliminates forgotten-password support requests and keeps access secure.
Logging in
The customer opens your portal URL (e.g. https://cp.forz.io/acme-plumbing).
The portal displays the Log In page with an Email address field.
The customer enters their email address and clicks Send Login Code.
Forz sends a 6-character verification code to that email address. The code expires after 15 minutes.
The customer enters the code on the verification page and clicks Verify Code.
Expected result: Forz logs the customer in and redirects to the portal dashboard. If the contact is linked to multiple customers under your account, the portal displays a customer selection page first.
Note: The email address must match a contact record linked to a customer in your Forz account. If the email is not found, the portal displays "Email not found for this account."
Selecting a customer account
A single contact can be linked to multiple customer records (e.g., a property manager who oversees several buildings). When this happens, the portal shows a Select Customer Account page after login.
The portal lists all customer organizations the contact has access to. Primary customers appear first, marked with a star badge.
The customer clicks the organization they want to view.
Expected result: The portal loads the dashboard for the selected customer. The customer can switch between organizations by logging out and logging back in.
Resending a verification code
If the customer does not receive the code, the verification page includes a Resend Code button. The button is disabled for 60 seconds after each send to prevent spam.
What Customers See
The portal dashboard displays four summary cards:
Open Estimates — Estimates with a status of "Sent" or "Viewed," showing number, status, amount, date, and due date. Displays up to 6 records with a View All link.
Outstanding Invoices — Invoices with a remaining balance (excluding "Void" and "Paid"), showing number, status, amount, balance, date, and due date. Includes total outstanding balance.
Open Jobs — Jobs that are not "Unscheduled" or "Completed," showing number, status, title, system type, and address.
Latest Inspections — Inspections created in the last 30 days, showing number, date, system type, job number, job title, and address.
Note: Draft estimates and draft invoices are not visible to customers. Jobs with an "Unscheduled" status are also hidden.
Portal navigation tabs
The portal includes tabs at the top of the page for navigating between sections:
Dashboard (Summary view with all four cards).
Estimates (Full list of non-draft estimates).
Invoices (Full list of non-draft invoices).
Jobs (Full list of non-unscheduled jobs).
Inspections (Full list of inspections linked to the customer's jobs).
Viewing record details
Customers click any record number in the tables to view its full details. From the detail views, customers can:
Estimates: View the full estimate, download a PDF, and accept the estimate directly from the portal.
Invoices: View invoice details including line items, amounts, and balance.
Jobs: View job details including status, title, job type, system type, and address.
Inspections: View inspection results including pass/fail/bypass status for each device, and download a PDF report.
Accepting estimates
Customers can accept estimates directly from the portal without needing to call or email your office.
The customer opens an estimate from the Estimates tab or the dashboard.
The customer reviews the estimate details.
The customer clicks the accept option on the estimate.
Expected result: Forz updates the estimate status to "Accepted," records the timestamp, and creates a note on the estimate that it was accepted through the portal.
What Customers Cannot Do
The portal is read-only for most record types. Customers cannot:
Create, edit, or delete jobs, invoices, or inspections.
View jobs with an "Unscheduled" status.
View draft estimates or draft invoices.
Access data belonging to other customers.
Change their contact information.
Make payments through the portal (payments are handled through separate checkout links).
Data Visibility Rules
Forz applies these filters to control what customers see:
Common Scenarios
Sharing the portal with a new commercial customer
After creating a customer record for Greenfield Property Management and adding their office manager Maria as a contact with her email address, send Maria the portal URL (cp.forz.io/your-subdomain) and let her know she can check job status and review estimates at any time. When Maria visits the portal and enters her email, she receives a verification code and gains access to all of Greenfield's jobs, estimates, and invoices.
A property manager with multiple buildings
River Valley Properties manages three apartment complexes. Their maintenance coordinator, James, is linked as a contact on all three customer records. When James logs into the portal, he sees a selection page listing all three properties. He picks "River Valley - Oakwood Apartments" to check on a recent HVAC inspection, then logs out and back in to view invoices for "River Valley - Elm Street Complex."
Customer reviewing and accepting an estimate
Coastal Electric sends an estimate for a panel upgrade to their customer, Seaside Restaurant. The restaurant owner opens the portal, navigates to Estimates, clicks the estimate number, reviews the line items and total, and accepts the estimate. Coastal Electric sees the status change to "Accepted" in Forz and can proceed with scheduling the work.