Skip to main content

Customer Portal Overview

The Customer Portal is the public-facing side of Cortado — where your customers land when you share a quote or invoice link. It’s branded with your organization’s name and logo, secured with signed tokens, and optimized for the actions customers actually need to take: review, accept, pay, and share event details. There are two portal experiences:
  • Quote review — customers see the quote, compare alternates, and accept.
  • Booking & invoices — after acceptance, customers manage invoices and pay balances.

How Customers Get There

You share the portal with a customer in one of four ways:
  1. Send by email — click Send on a quote or invoice; Cortado emails a personalized link.
  2. Share by email — enter any recipient emails from the invoice or quote detail page and Cortado sends them a copy.
  3. Copy link — grab a secure link from the quick actions and paste it into your own message.
  4. Ask a connected AI app — Claude (or another connected app) can mint a fresh portal link for a quote or invoice when you are about to send it. See Claude.
All portal links include a signed JWT token that grants temporary access to that specific quote or booking. The token is stored in the customer’s browser after the first visit, so they can return without re-entering the URL. Expired or missing tokens redirect to a friendly “link expired” page with the option to request a new one from you.
Tokens expire for security. If a customer’s link stops working, resend the quote or invoice from Cortado to generate a fresh link.

Quote Review

When a customer opens a quote link, they see a split layout:
  • Left panel — submission details, event dates and locations, selected add-ons, and a list of every quote you’ve sent for this inquiry.
  • Right panel — the selected quote with line items, totals, payment schedule, and an Accept Quote button.
The portal automatically marks the quote as Viewed the first time it loads, so you can see when customers engage. A quote shows as Expired only while it is still sent or viewed and its Valid Until date has passed. After the customer accepts, the quote stays accepted — it does not flip to expired. They see Quote accepted and View Booking & Pay so they can continue to invoices.

Comparing Multiple Quotes

If you’ve sent more than one quote on an inquiry, customers see a Compare Quotes button. Compare mode lets them select up to two quotes and see them side-by-side, with a toolbar showing the price difference between them.

Accepting a Quote

The Accept button opens a three-step confirmation dialog:
1

Confirm event details

The customer reviews event date, time, location, and guest count. For multi-event quotes, they see a table of every event in the quote.
2

Review quote

The customer sees a final summary of line items, totals, and the payment schedule. If you have Terms & Conditions configured, a link to the full text appears above the Accept button.
3

Success

The quote is marked accepted, a booking is created, events are scheduled, and the first invoice is generated. The customer sees a confirmation with a link to their booking portal.
Once accepted, the same portal token is associated with the new booking so the customer can jump straight from the quote to managing their invoices.
If another quote on the same inquiry was already accepted, this quote cannot be accepted. The portal tells the customer the event is already booked from another quote and hides the Accept button. Your team sees the same rule in Cortado as Can’t be accepted — lead booked. See Booked Leads.

Booking and Invoices

After acceptance, the customer lands on the booking page. It’s organized as a split layout:
  • Left panel — invoices for the booking, scheduled event details, and (when configured) an Event details questionnaire card.
  • Right panel — the currently selected invoice, event list, or questionnaire form.
Customers with multiple invoices — common for multi-event bookings or when you issue a separate invoice per milestone — can click between them in the sidebar.

Event Details Questionnaire

If the booking has a questionnaire — because the accepted quote required one, you created the event directly, or your team added questions on the event — the left rail also shows an Event details card.
  • Answer event questions appears while required questions are still open, with a To do badge and a count of remaining required questions.
  • View your answers appears once required questions are done, with a Done badge.
  • After a successful payment, the portal opens this panel automatically when required questions are still unanswered.
  • Customers submit with Submit answers, and can return later to Update answers.

Paying an Invoice

The payment schedule is rendered as a vertical timeline. Each schedule shows:
  • A status icon (pending, next up, processing, paid, overdue)
  • Description and due date
  • Amount (with tip included on the final schedule when applicable)
  • A Pay button on the next unpaid schedule
Clicking Pay opens an embedded Stripe checkout dialog. The customer completes payment without leaving the portal, and the schedule status updates as soon as Stripe confirms.

Pay in Full

If an invoice has multiple schedules and no payment has been made yet, the customer sees a Pay in Full button that collapses the whole invoice into a single payment. They can still choose to pay installments instead by clicking Pay on the first schedule.

ACH Bank Verification

When a customer pays via bank transfer and the account requires microdeposit verification, the schedule shows a Verify Bank Account prompt. Clicking it opens Stripe’s hosted verification flow in an in-portal iframe. Once verified, the payment continues to process.

Payment Processing States

ACH payments take longer than cards to clear. During processing, the schedule shows a “Payment processing” indicator with ACH-specific timeline messaging so customers understand what to expect.

Download a Receipt

After a schedule has a completed payment, the customer can download a payment receipt PDF from that schedule on the booking page. The receipt is not offered while a payment is still processing. You can download the same file from the invoice in Cortado — see Payments.

Tip Selector

The tip selector appears above the invoice totals whenever the invoice isn’t fully paid and tips can still be changed. It includes:
  • Preset percentage buttons (configurable in organization settings)
  • An optional custom amount input
  • A “No tip” option with an optional message you’ve configured

Enforced Tips

If you’ve set an enforced tip percentage for the event type, the selector:
  • Hides percentages below the minimum
  • Auto-selects the minimum if the customer’s current tip is below it
  • Prevents the customer from paying less than the minimum

Tip Lock

Once the first payment is made, the tip amount locks and can’t be changed — even if the customer returns to pay another schedule. This keeps totals consistent across multiple payments.

Invoice Summary and Sharing

At the top of each invoice, the customer sees the invoice title, payment status badge, and a description if you’ve added one. Paid invoices show the paid date and payment method (e.g., “Paid on April 1, 2026 • Visa ****4242”). A Share button lets the customer forward the invoice to someone else (a spouse, accountant, or event co-organizer) — Cortado sends the invoice to the emails they enter, bypassing the need for them to re-share the link manually.

Terms and Conditions

If you’ve configured Terms & Conditions under Settings > Client Portal, they appear in two places:
  • Portal footer — a persistent link in the footer of every portal page opens a modal showing all clauses in order.
  • Quote acceptance dialog — a reminder above the Accept button with a clickable link to view the terms before committing.
Terms include a title and body per clause, and appear in the order you’ve configured.

Organization Branding

Every portal page displays:
  • Your organization’s logo (if uploaded) in the header
  • Your organization name
  • A contact email icon that opens the customer’s mail client
Branding is pulled automatically from your organization profile — no separate portal setup required.

Security and Access

  • Signed tokens — each portal link carries a JWT that’s validated on every request
  • Token storage — after the first visit, the token is stored in the customer’s browser so reloads and revisits work seamlessly
  • Expiry — expired tokens redirect to a clear “access expired” page that identifies your organization so the customer knows who to contact
  • Automatic cleanup — tokens are cleared from the URL after storage, preventing accidental forwarding of live credentials

Best Practices

  1. Always send by email from Cortado — this creates a personalized token tied to the recipient and tracks engagement (Sent, Viewed, Accepted).
  2. Configure Terms & Conditions before sending quotes — the terms link in the acceptance dialog is your best chance to get agreement on paper.
  3. Customize the tip message — a friendly no-tip message explaining how tips support your team converts better than a bare 0% option.
  4. Use multiple invoices for long bookings — separate deposit, progress payment, and final invoices give customers a cleaner view and reduce balance confusion.
  5. Keep logos high-resolution — the portal header displays your logo at full size; blurry logos undercut the professional experience.
  6. Set up booking questionnaires before you convert quotes — questions are copied when the booking is created, so defaults and event-type extras need to be in place first. See Booking Questionnaires.
  7. Test the portal yourself — share a live link to yourself before a big event to confirm the customer experience feels polished.

Quotes

How quotes are built and sent before customers see them in the portal.

Invoices

Creating and managing the invoices customers pay through the portal.

Payments

Payment schedules, refunds, and how checkout works behind the scenes.

Settings

Configure branding, terms, tip rules, and portal behavior.

Booking Questionnaires

Design the questions customers answer after they book.