Customer portal
The portal is your customer’s side of the account: their invoices, estimates, contracts and visit history, plus a way to pay and to message you. It’s the answer to “can you resend that invoice?” — the third time.
It is a separate front door. Customers log in at their own URL and see only their own records. There is no path from the portal into your operations.
Two ways in
A link in a document email. Every invoice, estimate and contract you send carries one. It opens the portal for that customer without a password — fastest for someone who just wants to pay a bill.
A registered login. The customer sets a password and signs in at your portal URL. Better for commercial accounts and anyone who checks in regularly. Send the invitation from the customer’s detail page, or let them register themselves with an email that matches their customer record.
Most residential customers never register, and that’s fine. The link in the email does everything they need.
What they see
The portal navigation is Overview, Estimates, Invoices, Jobs, Contracts, Messages, Requests, Payment Methods and Notifications.
- Overview — outstanding balance with Pay Now, unread messages, their properties, and the next scheduled visit
- Estimates — review, then Approve Estimate or Decline. Approving records agreement to the terms shown on the estimate.
- Invoices — history, line items, PDF download, online payment
- Contracts — read and sign
- Jobs — visit history, and upcoming work if you allow it
- Messages — a thread straight to you
- Requests — service requests for extra work
- Account Statement — the outstanding balance broken down, for the customer who wants to see the arithmetic
Customers never see your costs, margins, other customers, crew assignments, internal notes, or anything in your books.
What stays private — the setting to know
Settings → Connect → Customer portal → Show upcoming recurring jobs in portal.
The rules are more specific than the toggle suggests, and worth knowing exactly:
- Completed jobs are always visible, whatever you set. Customers can always see work you already did.
- Ad-hoc one-off jobs are always hidden, whatever you set.
- The toggle governs only upcoming recurring work — weekly mows, seasonal contracts.
Leave it off if your schedule moves around. A customer who reads “Tuesday” in the portal will expect you Tuesday, and rain doesn’t care about your portal.
Paying online
Needs Stripe connected. Without it the portal still shows invoices — customers just pay you some other way.
The customer opens the invoice
From the portal, or the pay link in the email.
They review it
Line items, subtotal, amount paid so far, amount due.
They can add a tip
Preset percentages or a custom amount, with the new total shown before they commit.
They pay
Card or ACH, processed by Stripe — LawnLedger never handles the card. The invoice updates and you get the notification.
An already-paid invoice says so instead of offering payment again. A voided one says so and tells the customer to contact you.
Tips
- Turn the portal on before you need it. The first customer to ask should find it already working.
- A customer with no email address can use none of this. It’s the most common reason the portal looks broken for one account and fine for everyone else.
- Point customers at the portal when they ask for a copy of something. It’s faster than digging out the original email, and it teaches them where to look next time.
Troubleshooting
“This customer portal link is invalid or has expired.” Document links are per-customer and time-limited. Send a fresh document, or invite them to register a login.
They can’t see an invoice you sent. Check it was actually sent rather than left in draft. Drafts don’t appear.
They see no upcoming visits. That’s the default. For one-off jobs it’s unconditional — see above.
Registration is rejected. The email must match an existing customer record exactly.