Estimates & Contracts
Once a project's budget is built, the module turns it into the documents that win and govern the work: a customer estimate to quote the job, or a contract to sign it. When the customer accepts, you win the estimate into a project in one step.
Converting a budget
Both conversions start from the Budget tab and apply markup to turn cost into price.
- Convert to Estimate offers only the lines that haven't been converted before. Pick a conversion mode — Full itemization turns each budget line into its own estimate line, while Grouped by phase collapses the budget into one line per phase subtotal. Markup starts at your company's Default Estimate Markup % (20% if that isn't set), and you can override it per cost category; any category you leave alone uses the overall figure.
- Convert to Contract offers every line and creates a contract in Draft, with a markup applied to the budget amounts.
Converting links the resulting document back to the project. The estimate carries the project's customer, code and billing address, so the sales order made from it later lands on the project too.
Estimates
A converted estimate is a standard sales estimate that belongs to the project. From there it follows the normal estimate path — send it, get it accepted, and win it.
Winning an estimate into a project
When a customer accepts a quote, win it instead of converting it by hand. On the estimate select Win, or use Win on project / Win and create project from the estimate list's row menu. You need permission to edit projects, and the estimate must not be cancelled or rejected.
- An estimate built from a project's budget already belongs to that project. Winning it records the budget as the project's sold baseline, sets the project's forecast cost if it has none, and starts the project. No budget lines are added.
- A stand-alone estimate can go into an existing project with Add to existing project, or into a new one — set the Project name and Project type (a new project defaults to Fixed Price with milestone billing). Its lines are added to the project budget, costed from each item's standard cost, BOM cost or purchase price. A line with no known cost is estimated as its price less the Markup to remove (or the company's default markup when left empty), and the result tells you how many lines were estimated that way so you can review them on the Budget tab.
- Create the sales order makes the customer's sales order on the project's code, and Create a draft contract makes a draft contract for the estimate's total. An estimate that already has a sales order keeps it.
- A project still in Draft or Planning moves to In Progress.
If a step can't finish — for example the sales order can't be created because a line has no item — the result says Won, with steps left to finish. Fix the cause (setting the Project Billing Item in project settings covers lines without an item) and select Run again; nothing already created is created twice.
On a project's estimate, the list offers Win in place of creating the sales order directly, so the win is always recorded. An estimate whose project code differs from the project's can't be won into it — change the estimate's project code first.
Contracts
Convert to Contract produces a contract in Draft. A contract carries:
- A type — General, Consulting, Construction, NDA, SOW (Statement of Work), MSA, or Other.
- Contract amount, currency, payment terms, and a billing frequency (one-time, weekly, bi-weekly, monthly, quarterly, yearly, milestone, or progress).
- Start / end / effective dates.
- Terms & conditions and a description.
- Links to the customer, project, and the budget lines it came from.
Contract status and signature status
A contract tracks two things separately: its own lifecycle, and where it stands in the signing process.
Contract status:
| Status | Meaning |
|---|---|
| Draft | Editable, not yet sent. |
| Active | Fully signed and in force. |
| On Hold | Paused. |
| Expired | Lapsed without completion. |
| Terminated | Ended early. |
| Cancelled | Voided. |
| Renewed | Extended into a new term. |
Signature status (tracks the e-signature flow described below):
| Status | Meaning |
|---|---|
| Draft | Not yet sent. |
| Sent | Out for signature. |
| Viewed | At least one signer has opened it. |
| Partially Signed | Some signers done (sequential signing). |
| Signed | All signers complete. |
| Rejected | A signer declined; back to editable. |
| Expired | Signing window lapsed. |
A contract is fully editable while in Draft; once sent it locks so the signed document can't change underneath the signers. A rejected contract unlocks again for edits and re-sending.
Contract templates
Rather than writing each contract from scratch, generate it from a contract template — reusable HTML with merge fields like {{customer_name}} or {{contract_amount}}. Templates carry their own page setup (orientation, size, margins) and can be marked as the primary template for a contract type. Generating from a template fills the merge fields from the contract and customer data (you can override any value), records a new version, and optionally produces a PDF. You can preview a template with sample data before applying it.
Each time the contract document's content changes before signing, a new version is saved, so you can view the document's history and compare versions.
Sending for signature
When the contract is ready, send it for signature. Add one or more signers — each with a name, email, and a role:
| Role | Meaning |
|---|---|
| Signer | Must sign. |
| Approver | Reviews/approves. |
| CC | Kept informed, receives copies. |
| Viewer | Can view, no action. |
Choose a signing mode:
- Sequential — signers go in order; each is invited only after the previous one signs, and the contract sits at Partially Signed until the last signature lands. (Default.)
- Parallel — everyone can sign at once, independently.
Each signer receives an email with a secure, time-limited link (it expires after 14 days). On the signing page they review the contract, fill any assigned fields, and sign. Signable fields can be placed anywhere on the document — signature and initials blocks, date-signed, name/email/title, text, checkboxes, dropdowns, and stamps — and assigned to specific signers. The captured signature records who signed, when, and from where (timestamp, IP, browser) for the audit trail.
A signer can also reject with a reason, which sends the contract back to a rejected/editable state.
Reminders & expiry
Automatic reminders go out on an interval you set, and you can send a manual reminder to a signer at any time. If the 14-day signing window lapses without completion, the request expires — you then re-send (issuing fresh links) or cancel. After everyone signs, you can regenerate the signed PDF to get the final executed copy, and void a signature to reset a contract back to draft if you need to redo it.
Draft review
Before a contract ever goes out for signature, you can send it for internal review — email the current draft (a preview link, not a signing link) to a colleague or stakeholder with a note. Each review is logged against the contract version it was sent on, so you have a record of who reviewed what.