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.
Ways in
The portal is account-first: every route in signs your customer into an account, and nothing identifying ever sits in the address bar afterwards.
A link in a document email. Every invoice, estimate and contract you send carries one. Clicking it signs that customer in and the link is then spent - fastest for someone who just wants to pay a bill, and it works without them ever choosing a password.
A one-time code by email. From your portal’s sign-in page, a customer asks for a link and gets one in their inbox. Useful for anyone who has lost their password or never set one.
A password. For commercial accounts and anyone who checks in regularly. Invite them from the customer’s detail page, or let them register with an email that matches their customer record.
Your own portal address. Every business gets a short link of its own - the kind you can print on an invoice, a door hanger or a truck. Find it in Settings → Connect → Portal. It takes visitors to your sign-in page rather than into any particular account.
Most residential customers never set a password, and that’s fine. The link in the email signs them in on its own.
The old style of portal link - one long-lived address per customer, repeated in every email - has been retired. It was the same value for ninety days, it stayed in the address bar after the page loaded, and anyone who came by it had that customer’s account. An old link now lands on a page explaining how to sign in instead. If a customer forwards you one, send a fresh document.
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 link is invalid or has expired.” Sign-in links are single-use and time-limited - most often the customer already clicked it, or it is one of the retired long-lived links. Send a fresh document, or point them at your portal address to request a new code.
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.