Customer Service Portal
Pro feature
The Customer Service Portal is available on the Pro plan and above. Compare plans to see which features are included.
The Customer Service Portal gives your customers a branded, self-service window into their service history — without calling your office. Customers can view past and upcoming jobs, review invoices, download PDF copies, and make payments, all from a secure web page that requires no password to access.
What the portal offers
Once a customer has portal access, they can:
| Capability | Description |
|---|---|
| View service history | See every finished and closed job — completed, cancelled, not completed, and on hold — with dates, descriptions, and status |
| See upcoming jobs | Check scheduled and in-progress jobs assigned to their locations |
| View invoices | Review invoice line items, totals, taxes, and payment status, ten at a time with page controls. A status filter narrows the list to, for example, Overdue or Partially Paid. Voided and draft invoices are hidden — a customer never sees an invoice you cancelled or have not issued |
| Download PDF invoices | Download a professional PDF copy of any invoice for their records |
| Make payments | Pay outstanding invoices directly through the portal via Stripe-powered secure checkout |
| Request a service | Submit a service request directly from the portal — choose a location, service type, and preferred date |
| Track active jobs | See status updates for all jobs currently in progress at your locations |
| See their service agreements | Review the service agreements you hold for them — the agreement name, its reference, what it covers, its term, and whether it is currently active |
| See their equipment | Review the equipment you track for them — model, serial number, location, warranty end date, the active agreement that covers it, and its recent service visits |
Customers can submit service requests and view their job and invoice history, but they cannot modify existing jobs, reschedule, or edit their own records. All scheduling decisions and changes still go through your team.
How customers access the portal
Portal access is designed to be simple and secure — no passwords, no account creation, and no forgotten-credential headaches.
- FSM Navigator® sends the customer a secure login link via email.
- The customer clicks the link and is taken directly to their portal dashboard.
- They can browse jobs, invoices, and service history immediately.
Each login link is:
- Single-use — once clicked, the link cannot be reused
- Time-limited — links expire after a short window for security
- Unique to the customer — links are tied to one specific customer and company
No passwords required
Customers never need to create an account or remember a password. Every time they need access, a fresh login link is sent to their verified email address.
Automatic portal provisioning
You do not need to manually set up portal accounts. Portal access is created automatically when you send an invoice to a customer with an email address on file.
The flow works like this:
- You create an invoice for a completed job.
- You click Send to email the invoice to the customer.
- FSM Navigator checks whether the customer already has portal access.
- If not, a portal account is created automatically and a login link is included in the invoice email.
- The customer clicks the link and lands on their portal — with the invoice ready to view.
Make sure customers have an email address
Portal access requires a valid email address on the customer record. If the email field is blank, the portal cannot be provisioned. See Managing Customers for guidance on keeping contact details current.
Resend an access link
If a customer's login link has expired or they cannot find the original email, you can resend a fresh link at any time:
- Open the Customers page and click the customer name.
- On the customer detail page, find the Portal Access section.
- Click Resend Portal Link.
- A new login link is emailed to the customer immediately.
The previous link is invalidated as soon as the new one is sent, so only the latest link works.
Security and privacy
The Customer Portal is built with strict security in mind:
- Secure connections — Every portal page loads over HTTPS.
- Private to each customer — Each customer sees only their own data. They cannot access other customers' jobs, invoices, or information.
- Single-use links — Login links are consumed on first use and cannot be shared or reused.
- Time-limited access — Login links expire automatically. Customers request a fresh link when they need to return.
- No stored passwords — Because there are no passwords, there is nothing for attackers to steal or guess.
Login links are sensitive
Treat login links like temporary passwords. They grant direct access to the customer's service history and invoices. Never post them publicly or share them outside of secure email delivery.
Enable or disable service requests in the portal
Customers can submit requests only if your company has this feature enabled. You control whether the portal accepts new service requests:
- Go to Settings → Company Settings → Customer Portal tab.
- Find the Enable Customer Service Requests toggle.
- Switch it on (enabled by default) or off as needed.
What happens when enabled
When enabled, customers see a Request Service button on the portal's Service Requests page. They can submit requests directly — describing their location, the type of service needed, and when they would like work done. Your team reviews each request in the Jobs dashboard and decides whether to approve it as a new job or decline it with a reason.
What happens when disabled
When disabled, the request button and form disappear from the portal. Existing requests remain visible but new ones cannot be submitted. Customers can still view jobs, invoices, and service history — just not submit new requests.
Tip
You can toggle this on and off at any time without losing existing requests. Disabling it simply hides the submission form temporarily.
Request a service
Customers with full portal access can submit service requests directly from the portal. This lets them describe what they need without picking up the phone.
To submit a request, the customer:
- Opens the Service Requests page in the portal.
- Clicks Request Service at the top of the page.
- Fills out the request form — including their location, the type of service needed, a description of the issue, and optionally a preferred date and urgency level.
- Clicks Submit Request.
Once submitted, the request appears in the customer's My Service Requests section where they can track its status:
| Status | What it means |
|---|---|
| Pending | Your team has not reviewed the request yet |
| Approved | A job has been created and will be scheduled |
| Declined | The request was reviewed but could not be fulfilled — a reason is provided |
When your team approves or declines a request, the customer receives an email notification with the details.
What customers see it called
The portal calls everything a customer sees a service request — the page heading, the tabs and the empty states all use that wording. Internally your team still works in jobs: an approved request becomes a job in the Jobs dashboard, keeps its own job number, and appears everywhere your staff screens do. The two vocabularies are deliberate, not a mismatch.
Service requests are not jobs
A service request is a customer's way of asking for help. It only becomes a real job when a dispatcher reviews and approves it. Your team has full control over whether to accept, adjust, or decline each request.
Track active jobs
The portal's Service Requests page opens to the Active tab by default, giving customers immediate visibility into work happening at their locations.
Each active job card shows:
- Current status — a clear, plain-language label like Scheduled, Technician assigned, On the way, Technician arrived, or In progress
- Job title and description — what the work is about
- Location — which service address the job is for
- Assigned technician — the first name of the technician handling the job (shown once assigned)
- Scheduled time — the booking window, if one has been set
- Last updated — how recently the status changed
Jobs are sorted so the most active ones appear first — jobs that are already in progress show at the top, followed by those where a technician is on the way, then scheduled jobs waiting to begin.
The tab shows ten jobs at a time. When there are more, a Show more button and a "Showing 10 of 56" line appear under the list, so a customer with a lot of open work can still reach every job. A job you delete disappears from the customer's lists straight away.
Status labels are customer-friendly
The portal uses simple, everyday language for job statuses. For example, instead of showing internal terminology, customers see labels like "On the way" and "Technician arrived" so they always know what's happening.
History tab
Jobs move to the History tab automatically once they stop moving. Customers can switch between active and past jobs at any time. The service history shows:
- Job title and description
- The date the job reached its current state
- Technician name
- Service location
- A status badge in the portal's own wording
Four job states appear here, each with its own badge, so a customer can always account for every job they own:
| Badge | What the customer is being told |
|---|---|
| Completed | The work was finished. |
| Cancelled | The job was called off and will not go ahead. |
| Not completed | The job did not go ahead. Customers are not shown any internal reason. |
| On hold | The job is paused. It has not been cancelled and may resume. |
History is sorted newest first by the date each job reached its current state — not only by completion date — so a recently cancelled job appears near the top rather than behind every completed one. History is paginated; customers can load more results as they scroll through past service records.
Agreements tab
If you track service agreements for your customers, the portal shows each customer the agreements that belong to them. The tab appears beside Active and History, and it only appears for companies on a plan that includes Service Contracts (Pro and Enterprise).
Each agreement card shows:
| Element | What the customer sees |
|---|---|
| Name | The agreement's name, exactly as you entered it |
| Reference | Your own agreement reference — shown only when you have entered one, never a stand-in |
| What it covers | Full coverage, Parts only, Labor only, or Inspection only |
| Term | The start date and the end date, taking any renewal you have recorded into account |
| Status | Active while the agreement is in force, Inactive once it has ended or has not started |
What the portal deliberately does not show. Agreement fees never appear — customers already know what they pay you, and the portal is not the place to restate it. Response and resolution targets are not shown either, so an internal target is never read as a promise. And an agreement you hold internally, with no customer attached, is never visible to anyone outside your team.
Equipment tab
If you track equipment for your customers, the portal shows each customer the equipment that is assigned to them — never another customer's. The tab appears beside the other tabs for companies whose plan includes asset management, with a Search all equipment button that opens the Equipment page.
Each equipment card shows:
| Element | What the customer sees |
|---|---|
| Name | The equipment name, exactly as you entered it |
| Model | The manufacturer, model and model number you recorded |
| Serial number | The serial number, when you have entered one |
| Location | The customer location and any building, floor or area you recorded |
| Warranty ends | The warranty end date, when you have entered one |
| Service agreement | The active service agreement that covers the equipment, or a note that no active agreement covers it. Agreement names appear only when your plan includes Service Contracts |
| Recent service | The five most recent service visits — the date, the type of service, and whether it was warranty service |
What the portal deliberately does not show. Purchase cost, depreciation and salvage value never appear, and neither do your internal notes, the equipment status, the notes your technicians write on a service record, service cost, labor hours or parts. The tab is read-only — customers cannot change anything about their equipment from the portal.
Equipment page
Customers with a lot of equipment get a page of its own: Equipment in the portal menu, for companies whose plan includes asset management. It is built for customers with hundreds of items across several sites.
- Tiles show the total, how many items a service agreement covers, and how many warranties end in the next 30 days.
- Find an item by name, model or the exact serial number, and narrow the list by location, equipment type or coverage (covered, not covered, warranty ending soon). Sort by name, next service due, last service or location.
- The list shows 25 items at a time with a "Showing 1–25 of 312" line and Previous / Next buttons. On a phone it becomes a compact list.
- Each item opens its own page with its details, warranty and agreement coverage, upcoming maintenance, every recorded service visit, and the documents you have shared — manuals, certificates, specifications, inspection reports and photos. Purchase invoices and contract files never appear.
- Request service on an item opens the service request form with the item's location chosen and the item named in the description.
Finding things in long lists
Invoices, Quotes and Service Projects each have a search box and a sort menu. Customers can find an invoice by its exact number (for example INV-1042), a quote or project by its number or title, and sort by newest, oldest or due date. A search with no results shows a Clear button that brings the full list back.
The portal follows the device's light or dark setting.
Customers who work with more than one company
Some of your customers hire other contractors who also run on FSM Navigator®. When that happens, the customer keeps one sign-in and switches between the companies they work with — they don't juggle a separate account per contractor.
The customer decides who gets added
The first time a second company tries to give portal access to an email that already has a portal sign-in, we don't add it silently. Instead, the customer gets an email asking whether they want to allow it:
- The customer receives a message naming the company that's asking.
- They click Approve to allow access, or Deny to refuse it.
- Approving takes them straight into that company's portal — no extra sign-in step.
- Denying leaves their existing access completely untouched, and the request is not repeated right away.
If the customer doesn't respond, the request expires on its own after a week.
Nothing is shared between companies
Approving a request only adds a company to that customer's switcher. Each company still sees only its own jobs, invoices, and service history — approving access for one contractor never exposes another contractor's records.
Customers can also review and answer any waiting requests from inside the portal — a banner appears at the top of the page with Approve and Deny buttons.
Switching between companies
Once a customer is approved for two or more companies, a Switch Company control appears in the portal navigation. Selecting a company reloads the portal into that company's data — its invoices, its service history, its active work. Customers with only one company never see the control.
Watch for the pending badge on your customer list
When you invite a customer who already has portal access elsewhere, their row on the Customers page shows a Pending Consent badge with the expiry date until they approve or deny. That's your signal the invite is waiting on the customer, not on you.
Requesting a sign-in link
If a customer asks for a fresh sign-in link and can't remember which contractor sent the original, they can request one by email address alone. They'll get a single message listing every company they have access to, with a link for each one.
Text notifications
When your company sends text notifications (Enterprise), customers can turn appointment texts on or off for their own number on their Profile page. If they replied STOP to a text, they turn texts back on by replying START.
Frequently asked questions
Does every customer get portal access automatically?
Portal accounts are created automatically when you send an invoice to a customer who has an email address on file. Customers without an email address cannot receive login links. You can also trigger portal provisioning manually from the customer detail page.
Can customers modify their jobs or invoices?
No. The portal is read-only. Customers can view and download, but all edits, scheduling, and invoice adjustments are made by your team in the main application.
What happens to an invoice after we void it?
It disappears from the customer's portal immediately. Voiding an invoice retracts the document, so it is removed from the customer's invoice list and from the list's page count — there is no page they can reach it from and no filter that brings it back. Draft invoices are a separate case: they are not part of this rule, and an invoice you have not issued yet is not something a customer is looking for anyway. If you need the customer to see a corrected figure, issue a replacement invoice rather than un-voiding the old one.
What happens if a customer has locations under multiple companies?
The customer keeps one portal sign-in and uses the Switch Company control to move between the companies they work with. Each company's data stays separate — they only ever see the jobs, invoices, and history belonging to the company they're currently viewing. Before a second company can be added, the customer has to approve the request by email. See Customers who work with more than one company.
Can I customize the portal appearance?
The portal uses your company name and logo (if uploaded). See Company Branding for details on uploading your logo.
Can customers submit service requests through the portal?
Yes, if the feature is enabled for your company. Customers can describe what they need and submit a request. Your team reviews each request and decides whether to approve it as a new job or decline it with a reason. Customers are notified by email either way.
Can customers see jobs that are still in progress?
Yes. The portal's Active tab shows all open work assigned to the customer's locations, with status updates. Customers can see when a technician has been assigned, when they are on the way, and when work is in progress.
What's next
- Managing Customers — Keep customer records accurate so portal provisioning works smoothly.
- Create an Invoice — Invoice delivery triggers automatic portal access.
- Customer Locations — Ensure every customer has complete address information.
- Subscription Plans — Learn about Pro features including the Customer Portal.
- Service Requests — Learn how your team reviews and manages incoming customer requests.
- Job Statuses — Understand the status labels shown in the portal's Active view.