Estimates and proposals

Writing an estimate or a proposal, sending it, what the customer can change and say back, what acceptance sets off, and the requests customers send you for a price.

An estimate and a proposal are the two documents a customer has to answer. An estimate is a priced quote for a customer. A proposal is the same priced lines with a written pitch above them, and it can go to a lead as well as to a customer. Both live under Sales & Invoicing in the sidebar: Proposals, Estimates and Estimate requests.

How they behave once a customer has one is set on Settings → Estimates & proposals (below). Everything that changes behaviour is off as shipped, so an upgrade changes nothing until you decide it should. Invoices, the lines and how totals are worked out are explained on Sales and invoicing; the item library on Items.

Permissions and modules. Estimates and proposals each have their own rights under Staff → Roles (view, create, edit, delete, export) and a record scope, so somebody limited to their own clients sees only their clients' documents everywhere on this page. Estimate requests go with the Estimates rights. Proposals and Estimates are also modules that can be switched off under Modules; switching Estimates off takes estimate requests with it.

The estimates list

Estimates, with their customer, dates, total and status. An estimate past its date that nobody answered shows as Expired. Estimates, with their customer, dates, total and status. An estimate past its date that nobody answered shows as Expired.

Sales & Invoicing → Estimates. One row per estimate: Number, Customer, Date, Valid until, Total and Status. Click a number to open it.

Writing an estimate

A new estimate: the customer, dates, currency, sale agent, reference, project and whether it must be signed. A new estimate: the customer, dates, currency, sale agent, reference, project and whether it must be signed.

Press New estimate. The dates are filled in for you: today, and Valid until a number of days ahead (30 unless changed under Valid for on Settings → Documents). The note to the customer and the terms start from the ones set there, and you are the sale agent.

FieldWhat it is for
CustomerRequired. Estimates always go to a customer; to quote a lead, write a proposal.
Estimate date / Valid untilThe date is required. After Valid until an unanswered estimate shows as Expired and can no longer be accepted.
CurrencyStarts on the base currency.
Sale agentWho is credited with it, or Unassigned.
ReferenceYour own reference, up to 60 characters.
ProjectOptional: files it on that project's Sales tab.
Ask the customer to sign itThe portal shows a signature pad instead of a plain accept button. See E-signature.
Issued byOnly once the workspace has a second company (Companies).
LinesAdd line or Add from item library...; each line has a description, Qty, Rate, Tax, Second tax and an Optional tick box (below). Then the Discount and Adjustment. At least one line is required.
Note to customer / Terms & conditionsPrinted on the estimate.
Internal noteNever shown to the customer.

Custom fields you have added to estimates appear on the form as well. Press Create estimate; the number is given out then and you land on the estimate's page.

Editing an estimate

Editing an estimate: the last line is ticked Optional, so the customer can take it out. Editing an estimate: the last line is ticked Optional, so the customer can take it out.

Edit on the estimate's page opens the same form; press Save changes. Editing a signed estimate clears the signature, because the figures it agreed to have changed. An estimate that has been accepted, or turned into an invoice, has no Edit button at all — see Locked once it is agreed.

An estimate's page

An estimate waiting for the customer: the lines, the optional one marked, and every action along the top. An estimate waiting for the customer: the lines, the optional one marked, and every action along the top.

The estimate as the customer will read it, with its status, dates and sale agent, then the signatures (if it asks for one) and the discussion. Along the top:

ButtonWhat it does
Star / Remind meStar it for yourself, or set yourself a reminder about it (Reminders). Manual automations that apply to estimates are offered here too (Automations).
PDFOpens the PDF in a new tab (PDFs).
EditOnly while it is neither accepted nor invoiced.
StatusSets it by hand — below.
Copy linkOnly when Share by link is on for estimates and Require a portal sign-in is off. Puts the no-account address on your clipboard (Viewing without an account).
Create projectOpens a project from it (Doing it by hand).
Revoke acceptanceOnly on an accepted estimate not yet invoiced (Locked once it is agreed).
Convert to invoiceAsks Convert to invoice?, then creates a draft invoice from the lines the customer chose and takes you to it. The estimate is kept, with a link to the invoice. Needs the right to create invoices, and is gone once it has been invoiced.

A banner says when it has been invoiced, delivered as a project, or quoted in reply to an estimate request, each with a link.

A declined estimate or proposal says Declined on … at the top, with the customer's own words underneath when they said why (in the portal, from the link, or through the API). Whoever the document is assigned to, and whoever wrote it, are told in their notifications, with the reason. The reason goes when the status is changed to anything but Declined, and when the document is accepted.

Changing the status by hand

The Status menu: Draft, Sent, Accepted or Declined, with a tick against the current one. The Status menu: Draft, Sent, Accepted or Declined, with a tick against the current one.

Most estimates change status on their own — Sent when they are emailed, Accepted or Declined when the customer answers. Status is for everything else: a yes given on the telephone, a no by email. Choosing Accepted does exactly what the customer accepting would do — the automatic invoice and project if you have switched them on — and if an invoice was raised you are taken straight to it. Choosing Declined asks Why did they decline? (optional) first, so a no given on the telephone keeps its reason too. Proposals work the same way.

Proposals

Proposals, each addressed to a customer or a lead. Proposals, each addressed to a customer or a lead.

Sales & Invoicing → Proposals. The list shows Number, Subject, To (with a Customer or Lead badge), Date, Total and Status. Search, filter by status (Draft, Sent, Open, Revised, Accepted, Declined), sort, print and export work as on estimates. A proposal still in Draft, Sent or Open past its Open till date shows as Expired.

Writing a proposal

A new proposal: a subject, who it goes to, dates, and whether it must be signed. A new proposal: a subject, who it goes to, dates, and whether it must be signed.

Press New proposal. It is the estimate form with these differences:

Further down the proposal form: the Proposal body in the formatting editor, then the notes. Further down the proposal form: the Proposal body in the formatting editor, then the notes.

Press Create proposal, or Save changes when editing. Edit on the proposal's page opens the same form, under the same lock as an estimate.

A proposal's page

A proposal: the written body first, then the priced lines. A proposal: the written body first, then the priced lines.

The same buttons as an estimate, with three differences. Status offers Draft, Sent, Open, Revised, Accepted and Declined. A button deletes the proposal (see Deleting). And instead of Convert to invoice there is Convert. A declined proposal shows Why it was declined just as an estimate does, and a revised one expires on its open-until date like a sent one:

Convert: to an estimate or straight to an invoice. Convert: to an estimate or straight to an invoice.

Deleting

Estimates: tick them on the list and press Delete in the bar. The estimate's own page has no delete button. You need the right to delete estimates. Proposals: the button on the proposal's page deletes it after Delete this proposal? and takes you back to the list. You need the right to delete proposals. A proposal the customer simply turned down is better set to Declined, which keeps it in your figures.

Talking about a document

The Discussion under an estimate: a question from the customer, an internal aside, and the reply. The Discussion under an estimate: a question from the customer, an internal aside, and the reply.

When the discussion is switched on, every estimate and proposal has a Discussion panel at the bottom of its page. Your staff write into it here; the customer's contacts write into the same thread from the portal. Type in Write a message…, attach up to five files if you need to (checked against the rules on Settings → Uploads) and press Send. Anybody who can see the document can write.

Ticking Internal aside before you send keeps a comment — and its files — between your staff. It is marked Internal, never shown in the portal, never sent by email, and a customer cannot write one.

Turning it off. Untick Let the customer discuss a document with you on its page and the panel disappears from both sides. Comments already written are kept.

Optional lines the customer chooses

On the estimate and proposal forms each line has an Optional tick box. A line marked optional is offered rather than quoted: the customer sees a tick box beside it, and unticking it takes the line out of the total while they watch. The subtotal, the discount and every tax follow. On your own screen the line carries an Optional badge.

What they ticked is stored with the acceptance, so the accepted document is a record of exactly what they chose. The lines they turned down stay on the document, marked Not included, so both sides can see what was offered. When the document is turned into an invoice — by hand, by the setting, or by an automation — only the chosen lines go across, and they go across as ordinary lines.

Everything starts ticked. The figure you send is the whole of what you offered; the customer takes lines away rather than having to find them.

What happens when it is accepted

Two switches on Settings → Estimates & proposals, both off by default, under When one is accepted:

When an estimate is accepted, raise the invoice automatically A draft invoice is created from the estimate, carrying only the lines the customer chose. Nothing is sent to them.
When an estimate or proposal is accepted, create a project from it Opens a project with the customer, the value and the dates filled in from the document. Start the project from chooses a project template, or A blank project, named after the document.

Both work the same way whoever pressed the button: the customer in the portal, a customer following a link, or a member of staff setting the status to Accepted. Each one writes a line into the document's history, so you can see afterwards why an invoice or a project appeared.

Doing it by hand

Create project: start from a blank project or one of your project templates. Create project: start from a blank project or one of your project templates.

Create project on an estimate or a proposal opens Create a project from this at any time — you do not have to wait for an acceptance, or turn the setting on. Choose what to Start from and press Create project; you are taken to the new project. It needs the right to create projects.

The project remembers which document it came from, and the document links to the project (Delivered as a project), so the project's Sales tab finds it. A document only ever makes one project: once it has one the button is gone, and a second attempt is refused rather than quietly making a second set of tasks.

A proposal made to a lead. There is nobody to deliver for until the lead becomes a customer, so the button is not offered on a proposal to a lead.

Something more specific

The automation builder has both steps as actions of their own: Raise the invoice and Create a project from it. Use them when "always" is too blunt — only above a certain value, only for one customer group, or a different project template depending on what was sold. The project step takes a template name, so a rule keeps working after the templates have been reorganised; leave it empty for a blank project. See Automations.

Locked once it is agreed

An accepted estimate: no Edit button, a lock notice, and Revoke acceptance. An accepted estimate: no Edit button, a lock notice, and Revoke acceptance.

An accepted or signed estimate or proposal cannot be edited. The Edit button is gone and the form refuses the change, because editing it would not revise an offer — it would rewrite what somebody has already agreed to, and if they signed it, what they put their name to.

  1. Press Revoke acceptance on the document and confirm.
  2. The acceptance and any signature are removed and the document goes back to Sent.
  3. It is written into the document's history, with who did it and when.
  4. Edit it, and send it again.

A document that has already been invoiced or converted cannot be reopened — there is a bill in the world by then, and it is that which has to be dealt with first. The older rule still applies everywhere else: editing a signed document that was never accepted voids the signature. Revoking needs the right to edit that kind of document.

Rich proposals

The proposal's Proposal body is written in the formatting editor (switched on under Settings → Integrations → Formatting editor). It writes headings, lists, tables and images, and the portal, the public link and the PDF all show the same markup.

  1. Press the image button in the toolbar and choose a file. It is stored under public/uploads and referenced by its address.
  2. Pasting or dragging an image straight into the text is refused. A pasted image is embedded in the page as data rather than as a file, which the security filter strips out — so it would vanish silently. Upload it instead.
  3. PNG, JPG, GIF and WebP only, up to 4 MB. An SVG is a document that can carry script and is never accepted.

Everything written in the editor is filtered on the way to the screen and into the PDF: scripts, event handlers and addresses that are not ordinary links are removed, whoever typed them. Images in a proposal's body are embedded into the PDF from your own uploads folder; an image pointing somewhere else on the internet is left out, with its description in its place, so making a PDF never reaches out to another website.

Every estimate and proposal has a long, unguessable address of its own. Under Viewing without an account, Share by link (per document type) lets anybody holding that address read the document and accept, decline or sign it with no portal account at all — the same page, the same optional lines, the same signature pad. Copy link on the document's page puts the address on your clipboard.

Require a portal sign-in is the opposite, and it wins: the link still works, but it sends whoever followed it to the portal to sign in first, and the Copy link button is not offered. A contact who is already signed in and belongs to the right company lands straight on the document.

The address is the permission. Anybody who has the link can read the document and accept it. Send it to the person who is meant to have it, and use Require a portal sign-in where you need to know who opened it.

Settings → Estimates & proposals

Settings → Estimates & proposals, here with the discussion and share-by-link switched on. Settings → Estimates & proposals, here with the discussion and share-by-link switched on.

Every switch on this screen, in the order it shows them. Change what you need and press Save changes. Reading the screen needs the settings view right; saving needs settings edit. How estimates and proposals are numbered, how long a new one stays open, and the note and terms a new estimate starts with are on the neighbouring screen, Settings → Documents.

SwitchShippedWhat it does
When an estimate is accepted, raise the invoice automaticallyOffWhat happens when it is accepted.
When an estimate or proposal is accepted, create a project from it and Start the project fromOffThe same section. A template that has since been deleted means a blank project.
Let the customer discuss a document with you on its pageOffTalking about a document.
Let the customer download the PDFOnTurning it off removes the Download PDF button from the portal page and the shared link, and refuses the download if somebody has kept the address. The document can still be read on screen. Invoices and contracts are not affected.
Show the item picture beside each lineOffLines added from the item library show that item's picture, in the portal, on a shared link and in the PDF. Add a picture on the item itself (Items): PNG, JPG, GIF or WebP up to 2 MB.
Share by link / Require a portal sign-in, for Estimates and for ProposalsOffViewing without an account.

Estimate requests

Estimate requests from the portal and the public form, who is handling each, and their status. Estimate requests from the portal and the public form, who is handling each, and their status.

Sales & Invoicing → Estimate requests is what customers and visitors asked you to price: from the portal, and from the public request an estimate form once it is switched on (both under Settings → Customer portal, see The customer portal). A request from the public form opens a lead, or reuses an open lead with the same email address.

A request's page

One request: what they asked for with the answers to your own questions, the details, and who is handling it. One request: what they asked for with the answers to your own questions, the details, and who is handling it.

The estimate request form

Your own questions, asked on top of the four every request carries. Your own questions, asked on top of the four every request carries.

Estimate requests → Form builds the questions you ask on top of the four every request already carries (what it is for, the details, a budget and a date). Press Add a question, or Edit beside one:

A question: its wording, the kind of answer, the choices for Choose one, a hint, and whether it is required and asked. A question: its wording, the kind of answer, the choices for Choose one, a hint, and whether it is required and asked.
FieldWhat it does
QuestionRequired, up to 191 characters.
AnswerThe kind of answer, from the list below.
ChoicesOne choice per line. Required for Choose one.
Hint under the questionShown under it on the form.
It must be answeredMakes it required.
Ask itUntick to stop asking it without deleting it.
AnswerFor
Single line of textA short answer — an address, a reference.
ParagraphSeveral lines.
NumberA quantity, an area, a headcount.
DateA date of their choosing.
Choose oneA list you write, one choice per line.
Tick boxYes or no. Marked required, it means "you must agree".
FileOne file, checked against your upload rules and kept with the request.

Press Save. The questions appear on the portal form and the public form in the order the list shows, the answers are shown with the request when you read it, and Create estimate brings them through into the draft. To change the order, drag a question by its handle, or use the Move up and Move down arrows beside it; the new order is saved as it moves, with no button to press. Remove stops a question being asked. Adding, editing and removing questions needs the right to edit estimates.

Answers are a snapshot. What somebody typed is stored on their request. Renaming a question later does not change what they said, and removing one does not erase it.

Estimate request statuses

The stages a request moves through: the four built in, and one of the workspace's own. The stages a request moves through: the four built in, and one of the workspace's own.

Estimate requests → Statuses is the list of stages a request moves through, with how many requests are in each. Each has a name, a colour, a position in the order, and Counts as finished — which is what tells your lists a request has been dealt with.

Editing a status: its name, colour, order, and whether a request in it is finished with. Editing a status: its name, colour, order, and whether a request in it is finished with.
  1. Press Add a status, or Edit beside one.
  2. Give it a Name (up to 60 characters), a Colour and an Order (0–999), and tick A request in this status is finished with if it is.
  3. Press Save.

The four built-in stages — New, In progress, Quoted and Declined — can be renamed, recoloured and reordered but not removed, because the application moves requests into them itself (writing an estimate for a request marks it Quoted). Your own stages have a Remove button, and can be removed once nothing is sitting in one (Move the requests in this status somewhere else first.). Changing statuses needs the right to edit estimates.

Addresses on this page

For reference and for anyone scripting against the panel. Everything here needs somebody signed in to the workspace whose role allows it; anybody else is refused.

MethodAddressWhat it does
GETadmin/estimatesThe estimates list, with q, status and customer filters.
GETadmin/estimates/createThe new-estimate form. ?estimate_request= fills it in from a request.
POSTadmin/estimatesCreates an estimate.
GETadmin/estimates/{estimate}An estimate's page.
GETadmin/estimates/{estimate}/editThe edit form. Refused (409) once it has been accepted.
PUTadmin/estimates/{estimate}Saves an edit, clearing any signature.
DELETEadmin/estimates/{estimate}Deletes one estimate. The panel deletes through the list's bulk bar instead.
PATCHadmin/estimates/{estimate}/statusSets the status by hand; accepted runs the acceptance.
POSTadmin/estimates/{estimate}/convertConverts it to a draft invoice.
POSTadmin/estimates/{estimate}/projectCreates a project from it, with an optional project_template_id.
POSTadmin/estimates/{estimate}/revoke-acceptanceUndoes an acceptance so it can be edited again.
GETadmin/proposalsThe proposals list, with q and status filters.
GETadmin/proposals/createThe new-proposal form.
POSTadmin/proposalsCreates a proposal.
GETadmin/proposals/{proposal}A proposal's page.
GETadmin/proposals/{proposal}/editThe edit form. Refused (409) once it has been accepted.
PUTadmin/proposals/{proposal}Saves an edit, clearing any signature.
DELETEadmin/proposals/{proposal}Deletes one proposal (the on its page).
PATCHadmin/proposals/{proposal}/statusSets the status by hand; accepted runs the acceptance.
POSTadmin/proposals/{proposal}/convertConverts it; target is estimate or invoice.
POSTadmin/proposals/{proposal}/projectCreates a project from it.
POSTadmin/proposals/{proposal}/revoke-acceptanceUndoes an acceptance.
POSTadmin/sales-documents/{kind}/{document}/commentsPosts to the discussion; kind is estimate or proposal, is_internal makes it an aside.
PATCHadmin/sales-documents/{kind}/{document}/comments/{comment}/internalMakes a comment internal, or not.
DELETEadmin/sales-documents/{kind}/{document}/comments/{comment}Deletes a comment and its files.
POSTadmin/sales-documents/thread-orderRemembers Oldest first / Newest first. Used by the page itself.
GETadmin/settings/sales-documentsSettings → Estimates & proposals.
PUTadmin/settings/sales-documentsSaves that screen.
GETadmin/estimate-requestsThe requests list, with q, status and assigned (me or none) filters.
GETadmin/estimate-requests/{estimateRequest}A request's page.
PATCHadmin/estimate-requests/{estimateRequest}/assignAssigns it to a member of staff, or to nobody.
PATCHadmin/estimate-requests/{estimateRequest}/statusMoves it to another status.
DELETEadmin/estimate-requests/{estimateRequest}Deletes it and its files; a linked estimate is kept.
GETadmin/estimate-requests/fieldsThe Form screen: your own questions.
POSTadmin/estimate-requests/fieldsAdds a question.
PUTadmin/estimate-requests/fields/{field}Saves a question.
DELETEadmin/estimate-requests/fields/{field}Removes a question.
POSTadmin/estimate-requests/fields/orderSaves the questions' order from a list of ids. Used by the page itself as a question is dragged or moved.
GETadmin/estimate-requests/statusesThe Statuses screen.
POSTadmin/estimate-requests/statusesAdds a status.
PUTadmin/estimate-requests/statuses/{status}Saves a status.
DELETEadmin/estimate-requests/statuses/{status}Removes one of your own statuses, once it is empty.