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
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.
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.
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
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.
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.
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
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)