Field service customer portal with passwordless login and online payment

Your portal lives at cp.forz.io. Customers sign in with a 6-character email code to accept estimates, check job status, download inspection PDFs and request service. They pay invoices online from the portal or the emailed invoice link.

6-character code, zero passwords Included in every plan iOS & Android
Customer portal dashboard for a property manager: welcome note, help phone number and upcoming service visits with Confirm buttons
The portal dashboard, where customers see upcoming visits and confirm them.

The problem with the old way

Status calls eat office hours

"Did the inspection pass?" "Can you resend that invoice?" Every records request becomes a phone call, and your office spends the day re-sending paperwork customers should be able to pull up themselves.

Getting paid takes a phone call

When the only ways to pay are a mailed check or a card number read over the phone, invoices sit unpaid for weeks while your office burns hours chasing receivables instead of booking work.

Portals customers won't use

Most customer portals die at the login screen: account creation, forgotten passwords, expired reset links. Customers give up and call the office, so the portal saves nobody any time.

How customer portal works in Forz

Branded self-service portal

Every customer uses one address, cp.forz.io/your-subdomain, which shows your company name and the logo from Settings > Company. Settings > Customer Portal gives you the portal link and an embed code for your website.

Passwordless login

Customers enter their email address and get a 6-character code that expires after 15 minutes. There's no account to create or password to forget, so your office stops getting login-help calls.

A dashboard of every open item

Four cards summarize open estimates, outstanding invoices with the total balance due, open jobs and inspections from the last 30 days, with tabs for the full lists. With Appointments on, it also lists visits in the next 30 days, which customers can confirm. Draft estimates, draft invoices and unscheduled jobs stay hidden.

Estimate acceptance online

Customers review an estimate and accept it in the portal. Forz sets the status to Accepted, records the time and adds a note that it was accepted through the portal, so approvals come back in writing without a follow-up call.

Self-serve estimate, invoice and inspection PDFs

Customers download PDF copies of estimates and invoices, plus inspection reports that show a pass, fail or bypass result for each device. A property manager who needs compliance paperwork gets it without waiting on your office.

Online invoice payment

With Stripe connected, customers click Pay Invoice on an invoice in the portal or use the secure link in the invoice email, which needs no login. They pay in full or in part by credit or debit card or US bank account (ACH), in USD, EUR or GBP, and Forz records the payment and updates the invoice status automatically.

Service requests and online booking

Signed-in contacts submit service requests from the Requests tab and track their status. With online booking on, they also reserve an arrival window on a technician's calendar as they submit.

One login for property managers

A contact linked to several customer records, such as a property manager with several buildings, picks the account after signing in, with primary customers marked by a star. Each customer only sees records on its own account.

Customer portal estimate #100 for a rooftop HVAC unit install, with line items, 7.5% sales tax and a $21,070.13 total
An estimate in the portal, ready for the customer to accept.

Set up the portal

  1. Check your portal address. Open Settings > Company and find your subdomain. Your portal is cp.forz.io/your-subdomain, and every customer uses that same address. The subdomain is set during onboarding, and Forz support can change it, which changes every shared link too.
  2. Link contacts to customers. Each customer needs at least one contact with a valid email address, linked to the customer record. A property manager who oversees several buildings can be linked to each customer and picks the account after signing in.
  3. Share the link. Put the address in your email footer and your estimate and invoice emails, add a Customer Portal link to your website, print it on invoices or business cards, or text it after a job. Settings > Customer Portal also gives you an embed code for your website.
  4. Choose what customers see. In Settings > Customer Portal, switch on the sections you want: Jobs, Invoices, Estimates and Inspections, plus Requests for a Requests tab. Turn on Appointments to list upcoming visits that customers can confirm. To let them pick an arrival window too, set up online booking.

Setup takes the Admin role.

What customers see, and when

Visibility follows each record’s status, so you decide when something appears.

RecordWhat customers seeHidden while
JobsNumber, status, title, job type, system type, service addressThe job is Unscheduled
EstimatesNumber, status, amount, date, due date, line items, PDFThe estimate is a Draft
InvoicesNumber, status, amount, balance, date, due date, line items, PDFThe invoice is a Draft
InspectionsNumber, date, system type, pass/fail/bypass results, PDFThe parent job is Unscheduled

Internal notes, assignee details and cost information on jobs never appear. Neither do tickets your team opens on the account, because the Requests tab lists only the requests the customer submitted.

The dashboard also shows the customer’s organization name and the signed-in contact’s name, email and phone number. Once you share the link, every estimate and invoice that isn’t a Draft and every job that isn’t Unscheduled is visible in the sections you’ve switched on, so check sensitive pricing before you send it.

What customers can do

Most of the portal is read-only. Customers can:

  • accept an estimate, which sets it to Accepted, records the time and adds a note on the estimate
  • download estimate, invoice and inspection PDFs
  • confirm an upcoming visit with Confirm event, or add it to their own calendar, when Appointments is on (a confirmed visit shows a check mark on your calendar)
  • pay an invoice with the Pay Invoice button, once Stripe is connected
  • submit service requests and, with online booking on, reserve an arrival window

They can’t create or edit jobs, invoices or inspections, see another customer’s data or change their contact details. Each invoice email also carries a secure Stripe checkout link, so a customer can pay without signing in.

How commercial customers use it

A property manager with several buildings

A maintenance coordinator is a contact on three apartment complexes. After signing in, they see all three in a list, pick one to check a recent HVAC inspection, then log out and back in to review invoices for another building.

A building manager checking HVAC work

An HVAC contractor adds the building manager of an office tower as a contact and emails the portal link. The manager enters their email, types in the code and sees the building’s open jobs and inspection reports without calling the contractor’s office.

A restaurant owner approving an electrical estimate

An electrical contractor sends an estimate for a panel upgrade. The owner opens it in the portal, reviews the line items and total, and accepts. The contractor sees the status change to Accepted in Forz and moves on to scheduling the work.

Login and data security

  • Codes are 6 characters, expire after 15 minutes, and a new code cancels the previous one.
  • Resend Code waits 60 seconds between sends.
  • Customers only see records that belong to their customer account, and Forz checks the contact’s link to that customer on every request.
  • Removing that link ends access immediately. Sessions are stored on the server, and logging out clears them.

Works with the rest of Forz

Setting it up? The Customer Portal Setup guide walks through each step.

Frequently asked questions

There are no passwords. A customer opens your portal at cp.forz.io/your-subdomain, enters their email address and receives a 6-character code that expires after 15 minutes. The email address must belong to a contact linked to a customer in your Forz account. If the code doesn't arrive, they can request a new one after 60 seconds.

The dashboard summarizes open estimates, outstanding invoices, open jobs and inspections from the last 30 days, with tabs for estimates, invoices, jobs, inspections and requests. Customers open any record for details, download estimate, invoice and inspection PDFs, accept estimates, confirm upcoming visits when Appointments is on, pay invoices once Stripe is connected and submit service requests. Everything else is read-only, so they can't edit jobs, invoices or inspections or change their contact details.

Yes, once Stripe is connected. Customers can click Pay Invoice on the invoice in the portal, or use the unique, token-based link in every invoice email, which works without logging in. Both open a Stripe-powered checkout that accepts credit and debit cards plus US bank accounts (ACH), in USD, EUR or GBP, and customers can pay in full or in part. Forz creates the payment record and moves the invoice to Partially Paid or Paid, and invoices that are already paid or voided can't be paid again.

Yes. When Requests is turned on in Settings > Customer Portal, signed-in contacts get a Requests tab where they submit a request and track its status, service address and any booked arrival window. With online booking on, they can also pick an arrival window on a technician's calendar as they submit. Tickets your team opens on the account stay private and never appear in the portal.

No. Draft estimates, draft invoices and jobs in Unscheduled status are hidden, and inspections follow their parent job. Internal notes, assignee details and cost information on jobs don't appear either. Every other estimate, invoice and job in a section you've switched on is visible as soon as you share the portal link, so keep a record in Draft or Unscheduled until you want the customer to see it.

Yes. Link the same contact to each customer record, for example a property manager who oversees several buildings. After signing in, they choose an account from a list that shows primary customers first, marked with a star. To switch accounts, they log out and sign in again.

Your portal address comes from your company subdomain in Settings > Company, so there's nothing separate to install. In Settings > Customer Portal, switch on the sections customers should see: Jobs, Invoices, Estimates, Inspections and Requests. Make sure each customer has a contact with a valid email address that is linked to the customer record, then share the address by email, on your website, on invoices or by text. Removing a contact's link to a customer ends their portal access immediately.

See customer portal in action

Get a 30-minute personalized demo and watch how it works on your own workflows.

Free standard data import Free 30-minute demo, no commitment