Public pages and client portal
Clients can review estimates, pay invoices, and check their balance through links you share with them. They don’t need a PayPolka account. Share these links with the intended recipient, because anyone who has a link can open its page.
Public invoice
Sending an invoice emails the primary contact a link to /i/<token>. The page shows the invoice as a document, the Balance at the top, a Payment history table once anything has been paid, and a How to pay card with the methods you allow.
If you’ve published terms, a footer line links to them and says that paying confirms acceptance. How payment works from here is in Getting paid.
Public estimate
Sending an estimate emails a link to /e/<token>. A sent estimate that hasn’t expired shows two buttons. Accept estimate opens a form where the client types their full name to sign and can add notes. Acceptance records the name, time, and IP address. Decline asks for an optional reason.
An estimate past its Valid until date shows an expired message and takes no action. Attachments you added appear at the bottom, each a download link.
Client portal
Each client can have one portal link at /p/<token>. On the client’s page press Generate portal link. After that the buttons read View portal and Rotate portal link. Rotating issues a new URL and kills the old one at once.
The portal shows three tiles, Invoices, Total collected, and Outstanding balance, then up to three sections:
- Work to date, one row per project with approved hours and expenses. A project only appears here if you ticked Show approved hours and expenses in the client portal on its form. It’s off by default, and only approved or invoiced work counts.
- Estimates, every sent, accepted, or declined estimate with its status and total, linking to the public estimate.
- Invoices, everything except drafts, with issue date, due date, status, amount, and balance, each linking to its public invoice.
How links expire
Invoice, estimate, and portal links are bearer links. Anyone holding the URL can open the page. You can manage link expiry under Settings, Documents, and replace individual links when needed.
Links stop working after (days) sets the lifetime. The default is 365 and the minimum is 7. Sending or resending a document restarts its clock. Leave the field blank and links never expire. An expired link opens a page that says so and tells the client to ask you for a fresh one.
Any invoice or estimate also has Regenerate public link in its actions menu, which kills the old link at once.
The payment page
Your account has a standing page at /pay/your-slug, headed Make a payment. The URL is under Settings, Payments with a Copy button.
The client fills in Your name, Email, Invoice number, and Amount (USD), picks a method under Pay with, and presses Continue to payment to reach Stripe Checkout. Amounts run from $1 to $100,000. The INV- prefix is optional. If you pass fees on, a breakdown under the amount shows the fee for the chosen method and the total.
If you allow cash or check and have written instructions, they show at the bottom. If Stripe isn’t connected, the page drops the form: it shows your cash or check instructions if you have them, and otherwise says you can’t take payments here right now and asks the client to reply to the invoice email.
The Freeform tab
A payment-page payment lands on an invoice automatically only when both the invoice number resolves to an open invoice and the payer’s email matches a contact on that client. The client isn’t told which happened, because invoice numbers are sequential and guessable.
Everything else goes to the Freeform tab on the Invoices page. Each row shows the payer, reference, method, amount, and a status of Received, Pending (ACH still clearing), Failed, or Applied. Pick the right invoice from the dropdown and press Apply. The payment then shows on that invoice and in Accounting like any other.
Your terms page
Under Settings, Documents, the Terms / engagement letter card has a Title and a Markdown Body. Fill both and the page publishes at /terms/your-slug, with the URL shown on the card. Public invoices and estimates then carry a footer line linking to it, using your title as the link text. Leave either field empty and the page and the footer line disappear.