Portal Payments and Documents (Customer Portal)
Last updated July 6, 2026 · Owners, admins, and office staff
Once your portal is live, customers can pay invoices online, approve estimates, and view documents and photos you’ve shared. This article covers the operator side of all three: turning on online payments (and optionally passing the processing fee to the customer), sharing documents and photos to the portal, and how estimate approvals reach you. For the customer’s-eye view, see the customer quickstart.
Before you start
- The portal must be enabled and Stripe must be connected with Charges enabled green. See Set Up the Customer Portal and Stripe Connect explained.
- Payment and passthrough settings live on Settings → Customer Portal → Payments; document defaults live on the Support & Legal tab.
Online payments
Turn payments on under Settings → Customer Portal → Payments (the tab only shows its options after Stripe is connected):
- Allow online payment — the master switch for the Pay button in the portal.
- Credit and debit cards and/or US bank accounts (ACH) — which methods you accept. ACH has lower fees and is worth enabling for larger invoices.
- Minimum payment — the smallest amount a customer can pay online, in cents (default 100 = $1.00).
Customers open an invoice, click Pay, pick a saved card or bank (or add one), and can pay the full balance or a partial amount. Card money reaches your bank in about 2 business days; ACH takes 5–7. Payouts, refunds, and disputes all happen in your Stripe Dashboard — see Stripe Connect explained.
Passing the processing fee to the customer (surcharge)
Optionally, you can add Stripe’s processing fee on top of the invoice so you net the full amount. Under Settings → Customer Portal → Payments, turn on Charge customer the processing fee, then choose whether it applies to card payments, ACH, or both, and adjust the fee rates if your Stripe pricing differs from the defaults. A live preview shows exactly what a customer would pay on a sample invoice, and you can edit the disclosure text customers see at checkout.
Read the legality warning shown next to the toggle. Surcharging credit cards is restricted or prohibited in several US states and is subject to card-network rules. You are responsible for confirming it’s legal where your customers are. Debit-card surcharges are suppressed by default even when the toggle is on. Talk to your accountant or attorney if unsure. Full detail: Stripe Connect — fee passthrough.
Auto-pay is not available yet
There is no auto-pay in the portal today. Customers can save a payment method and pay in two clicks, but they cannot set invoices to charge automatically. There is intentionally no auto-pay toggle in the portal settings — don’t tell customers auto-pay is coming as a specific date, and don’t promise automatic charging. See Known gaps in v1.
Sharing documents to the portal
Customers can view and download documents, but only ones you have flagged for them — they can’t upload anything. Each document is shared with a “Show in portal” checkbox on the screen where you create or attach it:
- Mail merge runs (single-customer) — a “Share with customer’s portal” option on the mail merge run detail page.
- Customer file attachments — shared from the customer’s file attachment flow.
To manage what a customer can currently see, open their Customer Summary → Portal docs tab. It lists every shared document, when it was first viewed and how many times, and gives you a Revoke button per document. Revoking hides it from the customer immediately; the underlying file is never deleted.
Two portal-wide defaults help here:
- “Show in portal” defaults to ON for new documents (Settings → Customer Portal → Support & Legal) makes the checkbox start checked so you don’t forget to share. It’s off by default — you actively choose what’s shared.
- The Documents visibility toggle must be on for customers to see the Documents section at all.
Known gap: the “Show in portal” checkbox isn’t on every admin screen yet. Notably, the contract attachment screen doesn’t have it — the portal side is ready and the checkbox exists on mail merge and file attachments, but sharing a contract document directly from the contract screen isn’t wired up yet. Use a file attachment or mail merge run to share that document in the meantime. Tracked in Known gaps in v1.
Sharing job photos to the portal
Crew photos stay private to your team until you mark them visible. Open a job’s photo page (Share Photos with Customer, reached at /JobPhotos/Manage?jobId=…), and for each photo click Share with customer (or Stop sharing to pull it back). Shared photos appear in the customer portal’s Photos section and in the work-completed email, if you’ve enabled that under Customer Comms. The Photos section is always in the portal nav — but shows nothing until you share at least one photo, so it’s safe to leave on.
Estimate approvals
If Estimates is on in Visibility, customers can review an estimate and approve it with an e-signature. Two things to know:
- Approving does not automatically create a job. When a customer approves, you’re notified in your activity feed and by email; you then convert the accepted estimate to a job with one click. This is deliberate so nothing lands on your schedule without your say-so.
- You can require a deposit at acceptance. Set default deposit terms on the Payments tab (or override per estimate). If a deposit is “required,” the customer signs and pays the deposit in one step to complete acceptance; the deposit sits as an unapplied payment until you apply it to an invoice. This is a customer-present payment, not auto-pay.
Once signed, the estimate is locked against edits until you void the acceptance, so the signed record always matches what the customer agreed to.
What happens next
Payments recorded through the portal show up in your Sales/Payments views and, if you allow Payment history, in the customer’s Payments section. Approved estimates wait in your activity feed for you to convert. Revoked documents disappear from the customer’s Documents tab on their next page load.
Tips & best practices
- Enable ACH for big invoices — the fee is capped, so it’s dramatically cheaper than card on large amounts.
- Confirm surcharge legality for your state before turning it on, and keep the disclosure text clear.
- Turn on “Show in portal” default if you routinely want documents shared — you can still uncheck per document.
- Don’t refund a “still unpaid” ACH invoice — bank payments take 3–5 business days to settle and show “Pending” until then. See Portal troubleshooting.
Troubleshooting
- No Pay button for the customer — check Allow online payment is on, Stripe is fully green, at least one payment method is allowed, and the invoice balance clears the minimum. Full checklist in Portal troubleshooting.
- A shared document isn’t showing — confirm the Documents section is on in Visibility, the customer’s Portal access is on, and the document isn’t revoked on the Portal docs tab.
- Can’t share a contract document — that’s the known gap above; share it as a file attachment or mail merge run instead.
- Customer paid but the invoice still shows unpaid — usually ACH settlement lag; a nightly reconciliation job also catches any missed webhook within 24 hours. Details in Portal troubleshooting.
Related articles
- Customer Portal Overview — what customers can do, at a glance
- Set Up the Customer Portal — enable payments and choose visibility
- Inviting Customers to the Portal — grant access so customers can pay and approve
- Stripe Connect explained (full) — payouts, fee math, refunds, disconnecting
- Customer quickstart (customer-facing) — how paying and approving looks to the customer
- Known gaps in v1 — no auto-pay, no uploads, contract-attachment checkbox gap