CoPortalDocs

Quotes & Invoices

Quotes

Quotes (also called proposals) let you scope and price work before any invoice is raised. Clients can view, sign, and accept quotes directly from their portal.

Quote statuses

DraftBeing built. Not visible to the client yet.
SentEmailed to the client. Viewable in their portal.
AcceptedClient confirmed. Project auto-created if not already linked.
DeclinedClient chose not to proceed. Optional reason recorded.
ExpiredPast the valid-until date.

Creating a quote

Go to Quotes and click New quote. Select the client and you'll land on the quote editor.

Quote title

Give the quote a clear title — this appears in the client's portal and in email notifications (e.g. “Website Redesign — March 2025”).

Line items

Add each deliverable as a line item with:

  • Description — what you're delivering
  • Quantity — number of units (hours, pages, items, etc.)
  • Unit price — price per unit, excluding VAT

The line item total, subtotal, VAT, and grand total update automatically as you type.

Tip: Use the From library button (next to “Add line item”) to insert pre-saved services from your service library. See Settings → Services to set these up.

Interactive proposal content

Quotes can also become rich proposal pages. In the quote editor, use Interactive content blocks to add a cover image and structured sales content above the line items.

  • Heading and rich text — scope, approach, timeline, assumptions, or terms
  • Image and gallery — creative concepts, before/after examples, products, renders, or project references
  • Video — upload a video or embed supported Loom, YouTube, and Vimeo links
  • Testimonials — proof blocks with client quotes, roles, and optional avatar images
  • FAQ — answer procurement, timeline, payment, or delivery questions before the client asks

Reusable proposal block presets let you save common sections and insert them into future quotes in one click. Plain line-item quotes still work; content blocks are optional per quote.

VAT

VAT is applied at 15% by default. To mark a quote as VAT-exempt, click the Mark exempt toggle next to the VAT row. This sets VAT to 0% for the entire quote.

Valid until date

Set an expiry date for the quote. Three days before expiry, CoPortal automatically sends the client a reminder email. After the date passes, the quote is marked as Expired.

Linked project

You can optionally link a quote to an existing project. When the quote is accepted, CoPortal will use that project instead of creating a new one.

Sending a quote

Click Send proposal. CoPortal saves the current version and sends a branded email to the client with a link to their portal where they can view and sign it.

Note: The quote is saved automatically before sending. Any unsaved changes will be included in what the client receives.

AI quote generation (Solo, Studio & Agency)

Click Parse from notes below the line items. Paste in meeting notes, an email brief, or a scope document. The AI will extract:

  • A quote title
  • Line items with descriptions, quantities, and pricing (based on your workspace hourly rate)
  • Scope notes

Review the output before saving. You can accept the AI-generated items, edit them, or add them on top of existing line items.

Multi-option quotes

Offer Silver / Gold / Platinum tiers in a single quote — the client picks the package that suits them and that tier becomes the quote of record. The chosen tier is what flows through to your accounting integration and the invoice if you convert it.

Multi-option mode is a per-quote toggle, not a default. Most quotes stay simple — flip Offer multiple tiers on only when it helps.

  • Each tier has its own line items, optional pitch, and recommended star
  • Mark a tier as Recommended — clients are pre-selected on that tier when they open the quote
  • Add up to four tiers; remove with the trash icon next to the tier name
  • The client sees side-by-side cards in their portal and picks one before signing
  • The accepted tier's totals replace the headline quote, so deposit invoices, milestone invoices, and accounting sync read the chosen tier without any extra steps
Tip: A common pattern: Silver as a stripped-down version of the brief, Gold as the full ask, Platinum with extras. Anchoring on three tiers tends to lift average deal size compared with a single take-it-or-leave-it quote.

View tracking & analytics

When a client opens their portal and views a pending quote, CoPortal records the first view time, every subsequent view session, and the device they viewed from. In your quotes list, a blue eye icon indicates the quote has been seen. A grey eye means it hasn't been opened yet.

  • First view push notification — the moment a client opens your quote, you (and any other workspace member subscribed to the Quote opens topic) get a push alert. Perfect timing for a follow-up message.
  • View timeline — inside the quote editor, expand the “view sessions” row to see when each session happened and the device used (iPhone, Android, Mac, Windows).
  • Sessions, not raw opens — multiple loads in the same day from the same client count as one session, so the count reflects real interest rather than refresh noise.
Tip: Toggle the “Quote opens” push topic on under Settings → Notifications if you want to be alerted the moment a quote is opened. If a quote is sent but not viewed after a few days, use the WhatsApp share button to nudge them.

WhatsApp share

On any sent quote, a Share on WhatsApp button generates a pre-filled WhatsApp message linking the client to their portal. This opens WhatsApp Web (or the app on mobile) ready to send.

E-signatures

Clients can sign quotes directly from their portal. They type their name in the signature field and click Sign quote. CoPortal records:

  • Signed by (their typed name)
  • Signed at (timestamp)
  • IP address (for audit purposes)

Once signed, the quote shows a green signature banner in your workspace.

Marking as accepted

When a client verbally agrees or signs the quote, click Mark accepted. This:

  • Updates the quote status to Accepted
  • Auto-creates a new project using the quote title (if the quote wasn't linked to an existing project)
  • Unlocks the deposit invoice and convert to invoice buttons

Deposits and balance — three ways

An accepted quote gives you three different ways to handle “deposit now, balance later”. They're different mental models, not different features — pick the one that matches how you and your client think about the project.

1. Set up payment plan (recommended)

One click. Creates two invoices: the deposit (sent immediately if you tick the box) and the balance (held as a draft, automatically released when the project is marked complete).

  • Deposit % is editable per-plan; defaults to your workspace setting (50% by default — change in Settings → Invoice & Tax).
  • Balance is tagged release_when_project_complete. The project-complete hook either auto-sends it (workspace toggle) or queues it for finance review.
  • Marking a project complete shows a confirm modal listing the pending balance + asking how to handle it. Team members without finance permission queue them for review automatically.
  • Cleanest for accounting — two invoices = two tax events; QB / Xero / Sage handle them as separate records.

2. Deposit only

For when you only want the deposit on file and you'll raise the balance manually later. Click Deposit only on the quote → set the % and due date → save as draft or create & send. Later, raise a milestone invoice for the remainder (see below).

3. Single invoice with hold (deposit-required model)

Some clients want one document showing the full project total — a deposit on signing, the balance “due on completion”. CoPortal supports this without changing your workflow:

  • Convert the quote to a single full invoice. Send.
  • Client pays the deposit portion (record a partial payment).
  • On the invoice editor, flip Hold balance until project complete on. The unpaid balance stops being flagged as overdue, reminders pause, and the invoice shows the “On hold · project in progress” pill.
  • When the project is later marked complete, the hold lifts automatically — reminders re-enable and the standard dunning machinery picks up where it left off.
Note: The two-invoice flow (option 1) is cleaner for tax/accounting because each invoice is a discrete recognition event. The single-invoice flow (option 3) is simpler client-facing — one PO-friendly document, one number to reference. Pick whichever fits the client's expectation; CoPortal handles both consistently.

Milestone invoices

Create multiple partial invoices from a single quote — for example, a 30% deposit + a 30% mid-point + 40% on delivery. Click Create milestone invoice in the Milestone invoices section of any non-draft quote.

Each milestone invoice is linked back to the quote and appears in the Milestone invoices list for reference.

Converting to a full invoice

Click Convert to invoice on an accepted quote. This creates a full invoice with all the quote's line items, VAT, and totals copied across. The invoice is created as a draft — review it and send when ready.

Quote expiry reminders

CoPortal automatically sends the client a reminder email 3 days before a quote's valid-until date expires. This reminder is sent once per quote and is tracked with a timestamp to prevent duplicates.

Workflow: quote to paid

1Create quote → add line items (or use AI parse / service library)
2Send → client receives branded email linking to their portal
3Client views quote (tracked) → signs electronically in their portal
4Mark accepted → project auto-created
5Set up payment plan → deposit sends, balance held as draft
6Work wraps → mark project complete → balance auto-sends or queues for finance review

Sync to your accounting software

Quotes (estimates) push to QuickBooks, Xero, and Sage with the same one-click flow as invoices. Per-integration auto-sync toggles on the Integrations page push every accepted quote automatically — sync-as-draft toggles let you review the estimate in the accounting backend before sending.

  • QuickBooks — quotes sync as Estimates with status mapped (Sent → Pending, Accepted → Accepted, Declined → Closed). Supports two-way: Import estimates on the Integrations page brings QB estimates into CoPortal as proposals.
  • Xero — quotes sync as Xero Quotes with the same status mapping. Subsequent edits update the existing Xero Quote.
  • Sage — quotes sync as Sage Quotes with the same one-click flow. VAT applied at 15% from your Sage tax settings.
  • Multi-option quotes only sync the accepted tier — until acceptance, syncing pushes the headline subtotal as a single estimate
  • Lead-linked quotes skip auto-sync (a lead may never become a real client — we don't want to pollute your accounting data with speculative estimates)