Quotes enable you to plan a project's costs and arrange them neatly for client review. By defining project deliverables, items and their associated costs — as well as items you'll purchase and resell as part of the project — quotes provide a clear view of what you're proposing to deliver.
Quotes also form the anchor for your project's financial reporting. The Income and Budgeted bars on the Planned vs Spent budget chart pull directly from approved quotes, and quotes set the top line that the profitability chart tracks against as resourcing and timesheet data comes in during execution. Get the quote right and everything downstream lines up.
Note
For each project you can select which rate cards apply from those set up in your workspace — but you can make a manual adjustment to any rate card for the specific project you're working on. Select the pencil icon at the top of any rate card column. Changes save as a project-level override: they apply to every quote in this project, but the workspace rate card and other projects' rate cards stay untouched. The workspace baseline is shown inside the modal so you always know what you're deviating from. You can create a new rate card by selecting the + icon in the upper-left corner of any rate card panel.
Once your rate cards are in place, consider creating packages. Packages allow you to quickly add commonly used groups of deliverables to a quote, saving time and maintaining consistency across projects — especially good for building trust with repeat clients.
To create a quote
Set Quote for — the client or company name this quote is addressed to. It appears on the quote your client sees and on the exported PDF. Click it on the quote header to change it at any time while the quote is still a draft.
Your quote will start with one deliverable group automatically. Click the group header to rename it. The default reads New Deliverable. The name you set here is what appears on the exported quote, so make it something the client will recognise.
To add tasks under each deliverable, click the + button — you can add as many rows as you'd like. Or add a new deliverable group by selecting Add group at the top of the page.
As you build out each deliverable, Trellis will calculate a subtotal of hours and costs across the rate cards assigned to it. All subtotals are added together to give you a total hours and cost view for the full project. You can also apply a discount at line item level. The subtotals and total update live as you build.
Select View breakdown by role at the bottom of the quote to open a role-by-role breakdown of the whole project: total effort, rate, and cost per job role, rolling up to a grand total. A quick way to sanity-check the resource mix before you send.
Working with packages
If you regularly quote for similar work — retainers, discovery phases, monthly maintenance — packages let you reuse your most common deliverables and line items across any quote, so you're never rebuilding the same estimate from scratch.
-
To import a package, select the dropdown next to the Add Group button and choose Import Package. Make sure you've created a package first by going to Settings → Packages.
Importing a saved package into a quote. -
To save a deliverable group as a reusable package, hover the group and select the package icon in its footer (tooltip: Create package from this group). Confirm in the dialog and Trellis copies the rate cards, rows, and hours into a new workspace-level package, so it's available from any quote in your workspace, not just this project. The package takes the name of the deliverable group by default; rename it later from Settings → Packages.
Saving a deliverable group as a reusable package. -
When adding task descriptions under a deliverable, you may see suggested line items appear in a dropdown. These suggestions are pulled from your saved packages, helping you build quotes faster and maintain consistency across projects.
Adding outcosts
If your project involves costs to pass on to the client — travel expenses or third-party fees — these should be recorded in the Outcosts section. If you have appropriate integrations set up, you can automatically log any planned outcosts to your Bills in your accounting software.
Outcosts are grouped the same way line items are: one table per group, with its own currency and subtotal. Use groups to separate, for example, travel from third-party licences.
Fill in each row
- Name — what the cost is for
- Cost (ex VAT) — the supplier price you'll pay
- Markup % — the uplift you'll charge the client on top of the supplier cost (drives the row's sale price)
- Date payable — when the cost falls due, useful for aligning with your accounting Bills
- Reselling — if checked, the marked-up cost is added as a line item to the quote. The raw cost is reported in Cost to business. If you're using the Xero integration, the raw cost is added as a bill and the marked-up cost as a line item on the quote
- Repeating — flag a recurring cost. With the Xero integration, this item is created as a separate quote that will repeat when converted into an invoice
Previewing what your client sees
A quote reads differently once it's out of your hands. Preview, in the chevron menu next to Share, opens the client-facing version of the quote as a full page — no sidebar, no toolbar, nothing of the app around it. It works on a draft, so you can check the wording before anyone else sees it.
Two things appear in the preview that your client never sees: a dashed panel at the top listing the documents they'll be asked to agree to, and a bar pinned to the bottom of the screen reading This is what your client sees. Everything else is exactly the page they'll open. Finish preview returns you to the quote.
Previewing changes nothing. A draft stays a draft, a sent quote stays sent, and no approve or decline action is reachable from it.
Sending a quote for approval
Everything you need to get a quote in front of a client sits in the Share button group at the top right of the quote.
- Share opens the three-step flow below. It's available while a quote is a Draft or Sent — once a quote has been approved, declined, or archived, there's nothing left to send.
- The chevron next to it holds Export as PDF, your Xero actions, and Preview. On a quote that's already Sent it also holds Copy link and Copy template, for when you need the link or the email wording a second time. Neither changes the quote's status — it's already sent.
Selecting Share opens Send for approval, which walks through three steps.
Step 1 — Recipients
Set Quote for if you haven't already, then search for the people who need to approve. Search matches on name or email across the project's Viewers and Contributors, and you can add anyone else by typing their full email address — a client contact doesn't need a Trellis account to approve a quote.
You can add up to 10 recipients. At least one is required, whichever way you choose to deliver the quote in step 3, because the addresses you add here are the allowlist: an approval is only accepted from an address on it. How the link reaches them depends on the delivery method you pick in step 3.
Note
Step 2 — Terms and conditions
Turn on Attach documents to this quote to attach PDFs your client must read and agree to before they can approve — typically your terms and conditions, but a scope document or an SLA works the same way.
Drop a PDF onto the dropzone, or browse for one. Each document then takes two things from you:
- Document name — what your client sees the document called. Defaults to the filename with the extension stripped.
- What the client is agreeing to — the wording shown next to the tick box on your client's quote, up to 500 characters. It defaults to I have read and agree to the Terms & Conditions. Write it as the sentence you want on the record, because that is the sentence stored against their approval, verbatim.
You can attach up to 10 documents. The size limit per file depends on your plan — 10 MB on Free, 25 MB on paid plans, and 50 MB on Enterprise.
Every attached document must be agreed to. If you want a document to reach the client without gating approval, send it separately or add it to the quote as a line item note.
Note
Leaving the switch off is a deliberate choice, not a gap: your client will be able to approve the quote without agreeing to anything, and nothing about documents appears anywhere in the flow.
Step 3 — Delivery
Choose how the quote reaches your client:
- Email it — Trellis emails each recipient their own link, with their email address already filled in on the approval form. The primary button reads Send quote.
- I'll send it myself — the email template appears in the panel, ready to go out from your own inbox. The primary button reads Copy template & mark as sent, which copies the wording, the public link included, and marks the quote as sent in one action. The copied template carries one plain link, identical for everyone you send it to, so whoever approves types their own email address — and it has to match a recipient you added in step 1.
Note
Either way, the quote is marked Sent and locked from editing — deliverables, line items, discounts, outcosts, and the invoicing currency are all fixed from that point. Changing any of them means revising the quote back to draft first.
Warning
What your client sees
Your client opens the link and sees the quote — the deliverables, the totals, your company details, and a Trellis card at the top naming your workspace as the sender. Nothing about your documents appears in the quote body. Terms belong to the moment of agreement, not to the browsing.
Approve doesn't approve. It opens Approve this quote, and consent happens inside it:
- One row per attached document, with Preview to read the PDF in place and Download to keep a copy.
- Beneath each, a tick box labelled with your exact wording for that document.
- Your full name and Your email — both required, on every quote, documents or not.
- A note explaining that their name, email, and the time they agreed are recorded, and that they'll be emailed a copy.
Agree & approve stays disabled until every box is ticked, the name is filled in, and the email is valid. The server checks all of it again on submission, so a request that skips the browser is refused the same way.
Decline isn't gated by the terms — no document or tick box appears anywhere in that flow, only an email address and a reason. The email still has to be one you added as a recipient, though: an address that doesn't match a reviewer on that quote is refused with Email does not match the intended reviewer, exactly as it is on approval.
After they approve
The person who approved sees a receipt in place of the review banner: the date and time, the reference, a You agreed to list with a download for each document, and confirmation of the address the copy went to. The quote stays fully readable beneath it.
They also get an email — their legal copy — with the documents they agreed to attached and a permanent link back to that receipt. Attachments are capped at 15 MB in total: beyond that the email lists what they agreed to and tells them to open the quote to download it instead. The link is the part that always works, which is why it never expires. That link is the receipt's only key. It carries a token, so whoever holds the URL sees the full receipt — the documents agreed to, with working downloads, and the reference. Worth saying to a client who might forward it on. Someone opening the quote without the token sees only that it has already been approved, by whom, and when.
On your side, an approval emails the people responsible for the project — the project manager, the project lead, whoever sent the quote, and whoever created it — along with the workspace owner and admins, deduplicated so nobody gets it twice. The sender and the creator are counted separately, so if a colleague built the quote and you sent it, you're both told. Everyone on that list also gets an in-app notification, and the approval lands in the project's activity feed.
Warning
Tip
The approval record
An approval is more than a status change. The quote does move to Approved, but alongside that Trellis writes a record of the decision. It holds the wording they were shown word for word, the name and email they typed, the timestamp, their IP address and browser, a fingerprint of each document as it stood at that moment, and a reference. A decline is recorded too, but as a decision rather than as evidence: who declined, when, and from where, with no consent wording and no document fingerprints — nothing was agreed to, so there is nothing to fingerprint. Their reason travels with the email and notification rather than sitting in the record.
The response that settles the quote is the one that writes a record, and it adds to the history rather than replacing what came before. Two things write no record at all: a recipient whose response arrives after the quote has already been settled — their answer is saved against their invitation and they're told it was recorded, but there was nothing left for them to decide — and marking a quote approved internally, which moves the status and notes who did it while Approval details stays empty, since there was no client agreement to evidence. Three things can still happen to a record once written, and they matter because this is what you'd reach for years later:
- Revising the quote marks its approval superseded. The record gains a superseded date and stops applying. Nothing in it is erased, and Approval details goes on showing it with that note — until the quote is approved a second time, after which the panel shows the newest approval only. See Revising a quote.
- Personal details are cleared after six years. A retention job replaces the approver's name and email address and clears their IP address, browser, and location. What they agreed to survives untouched — the verbatim wording, the document fingerprints, the timestamp, the decision, and the reference.
- Deleting can take a record with it. A quote a client approved can't be deleted — Trellis refuses and points you to Archive. A quote whose only record is a decline has no such protection, and deleting it removes that record. The guard is on the quote, though, not the project: deleting a project deletes its quote and every approval on it, approved or not, and the receipt links stop working. If a project holds approval evidence you may need later, archive it rather than delete it.
What the record proves, and what it doesn't
You can reach it from three places:
- The Approved by badge on the quote header, which names whoever approved.
- See more under the Approved by column in the quotes list.
- Both open Approval details: who approved, their email, the full date and time, and every document they agreed to with Preview and Download.
A document badge also sits under Quote for on the quote header, showing the first document's name and a +N count for the rest. Click it to open the documents attached to the quote — editable while the quote is a draft, read-only once it's been sent.
Note
Because a document on a sent quote is evidence, it locks once the quote leaves Draft: the documents view goes read-only, and revising that quote back to draft is the only route to changing what's attached to it. Quote documents are held against the quote rather than listed in the project's Files, so they aren't removable from there either.
Duplicate is the way around that, and a useful one: a duplicate arrives as a Draft carrying its own copies of the document records, so you can rename, replace, or remove its documents freely while the original's stay locked. Reach for it when you want to reuse a sent quote's terms with a change, rather than revising the original and superseding an approval.
Exporting a quote
From the chevron menu next to Share:
- Export as PDF downloads the quote as a document you can send or file.
- Export to Xero pushes the quote into Xero, the only accounting integration currently supported. Owner and Admin only, since it writes to your accounting system. Any Outcost groups become Bills on the Xero side. Once exported, the same menu offers Update in Xero, View Quote, View Bills, and Void and recreate.
Select the invoicing currency for your client using the currency button in the header before you export.
Quote statuses
A quote moves through five statuses, shown as a coloured dot next to the quote name:
- Draft — editable
- Sent — with the client
- Approved — locked to view-only
- Declined — locked to view-only
- Archived — hidden from the main list but retained
Revising a quote
Scope changes, and clients push back. A sent, approved, or declined quote can be revised at any time — open the ⋯ menu and select Revise, which converts the quote back to Draft so it becomes editable again. You'll be asked to type revise to confirm.
Revising a Declined quote is the ordinary way to answer feedback: it returns to draft, you make the changes, and sending it again starts a fresh review cycle. Any invitations still outstanding from the previous round are withdrawn, so the people you send it to next are the ones who count.
If a client has already approved, the dialog tells you plainly whose approval you're about to supersede, when they gave it, and which documents their agreement will stop applying to. Revising then does three things:
- The approval is superseded, not deleted. It stays on record, marked as no longer applying, and Approval details still shows it with that note. There's one limit worth knowing before you go round again: Approval details only ever shows the most recent approval, so once a revised quote is approved a second time the earlier approval stops being reachable in the app. The record is kept and the original approver's receipt link still opens it, but there's no approval history to browse — so if an earlier approval is likely to matter, note its reference and the documents it covered before you send the revision out.
- The client who approved is emailed to let them know. Their receipt shows the same thing when they next open their link.
- Any invitations still outstanding are withdrawn, so the quote starts a fresh review cycle when you send it again.
If the quote was already exported to Xero, the dialog also offers Revise and recreate in Xero, which voids the Xero record so a fresh one can be created after your edits.
Warning
Tip
Who can do what
| Action | Owner | Admin | Editor | Member | Contributor | Viewer |
|---|---|---|---|---|---|---|
| Open the Quotes page and view all project quotes | ||||||
| Create a new quote | * | * | * | |||
| Build out deliverables, tasks, and apply discounts | * | * | * | |||
| Import a package into a quote | * | * | * | |||
| Save a deliverable group as a reusable package | ||||||
| Add outcosts (travel, third-party fees, etc.) | * | * | * | |||
| Preview the client-facing quote | * | * | * | |||
| Attach terms and conditions to a quote | * | * | * | |||
| Send a quote for approval | * | * | * | |||
| Copy a sent quote's link or email template | ||||||
| View the approval record and download the agreed documents | ||||||
| Export a quote as PDF | ||||||
| Duplicate a quote | * | * | * | |||
| Archive or unarchive a quote | * | * | * | |||
| Delete a quote | * | * | * | |||
| Revise a quote, superseding a client approval | * | * | * | |||
| Mark a quote as approved internally | * | * | * | |||
| Export a quote to Xero |
* Also requires being a member of the project, on top of the workspace role.
Quotes are restricted to Owners, Admins, and Editors — Members, Contributors, and Viewers can't access the Quotes page even if they're project members, since quotes expose commercial pricing data. Within the allowed roles, everyone can build, revise, and share quotes. Only Owners and Admins can export a quote to Xero, since that action affects your accounting system directly. Quotes also become read-only for everyone once their status moves out of Draft — that's a status-based lock, not a role one.
Workspace role isn't the whole story either. Everything that changes a quote — building it, attaching documents, sending it, revising it, previewing it — also needs you to be a member of the project, not just an Owner, Admin, or Editor of the workspace. Reading quotes, exporting a PDF, copying a sent quote's link or email template, and pushing to Xero don't. So a workspace Admin who has never been added to a project can open its quotes and export them, but can't edit or send one until they join. Saving a deliverable group as a package is the one odd case: it writes to the workspace package library rather than to the quote, and needs only the workspace role.
Your client needs no role and no account. Approving and declining are gated on the email address the quote was sent to, not on workspace permissions.