Quotes

Quotes are pricing agreements you send to customers. They define the scope and cost of work before you begin.

Overview

A quote is a formal pricing proposal sent to a customer. It describes the work to be done, the price, and any terms like deposits or validity dates. You can also add terms and conditions to each quote, which appear on the PDF and public page.

Default terms can be configured in your quote settings (Settings → Quotes). These are pre-filled on every new quote and can be edited per-quote.

Every quote moves through a lifecycle:

Draft Sent Accepted or Declined
  • Draft - You are building the quote. It can be freely edited. Only you can see it.
  • Sent - The quote has been emailed to the customer and is available via a public link. It cannot be edited.
  • Accepted - The customer has accepted. You can now create invoices and jobs from this quote.
  • Declined - The customer declined. You can duplicate the quote to create a revised version.

Billing Modes

Workcanon supports two billing modes for quotes:

Fixed Price

The quote has a set total based on line items. The customer knows exactly what they will pay upfront. Use this when the scope is well-defined.

Time & Materials

The quote defines rates (hourly rate, callout charge, materials, etc.) but the final cost depends on actual work performed. Use this when scope is uncertain.

Time & materials quotes have some restrictions: they cannot require deposits, cannot have optional line items, and line item quantities are always 1 (since they represent rate types, not quantities of work). You can set a default hourly rate in your quote settings (Settings → Quotes) which is used when creating time & materials quotes.

Example: Time & materials rate types

Rate Type Unit Price VAT
Hourly rate €65.00 23%
Callout charge €40.00 23%
Materials €0.00 23%

Time & materials quotes define rates upfront. The final invoice amount is calculated based on actual work performed.

Line Items

Line items are the individual charges on a quote. Each line item has:

  • Description - What the charge is for (e.g., "Kitchen rewire", "Labour")
  • Quantity - How many units (e.g., 2 rooms, 5 hours)
  • Unit Price - The price per unit
  • VAT Rate - The tax rate applied (see VAT Rates)
  • Discount - An optional percentage discount (see Discounts)

The total for each line item is calculated as:

Net = (Quantity x Unit Price) - Discount
VAT = Net x VAT Rate
Line Total = Net + VAT

The quote total is the sum of all line item totals. For time & materials quotes, line items represent rate types (Hourly rate, Callout charge, Materials, Minimum charge, Miscellaneous extra) rather than specific work items.

Example: Fixed-price quote line items

Description Qty Total
Full house rewire - labour 1 €3,444.00
Consumer unit upgrade 1 €553.50
Smoke alarm installation 6 €306.45
Subtotal€3,520.00
VAT€783.95
Total€4,303.95

Discounts

Discounts are applied per line item as a percentage. When a discount is set, it reduces the net amount before VAT is calculated.

For example, a line item with a unit price of €100, quantity of 2, and a 10% discount:

Subtotal = 2 x €100 = €200
Discount = €200 x 10% = €20
Net = €200 - €20 = €180
VAT (23%) = €180 x 23% = €41.40
Line Total = €180 + €41.40 = €221.40

Discounts are only available on fixed-price quotes. Time & materials quotes do not support discounts.

Example: Line item with 10% discount

Description Qty Discount Total
Kitchen extension wiring 2 10% €221.40

VAT Rates

Each line item can have its own VAT (tax) rate assigned via a tax code. Tax codes are configured in your account settings and represent the tax rates applicable to your business (e.g., Standard 23%, Reduced 13.5%, Zero-rated 0%).

When creating a quote, each new line item is automatically assigned your default tax code. You can change it per line item if different items have different tax rates.

Prices Include VAT

Your account can be configured so that prices entered on quotes are VAT-inclusive. When this setting is enabled, the unit prices you enter already include VAT, and the system calculates the net amount by working backwards from the gross price. This setting is configured in your account quote settings and applies to all new quotes.

Optional Line Items

Optional line items let you present extras or alternatives to your customer. They are not included in the quote total, but the customer can choose to add them when accepting the quote.

Optional items are organized into groups. Each group has a name (e.g., "Extended Warranty Options", "Flooring Choices") and configuration options:

Setting What it means
Selection required The customer must select at least one item from this group to accept the quote
Allow multiple selections The customer can select more than one item. When off, the group is mutually exclusive (radio button behavior)

When a customer accepts a quote, selected optional items are converted into regular line items and included in the quote total. Unselected items are removed. A snapshot of the original optional items is preserved for your records.

Example: Customer view of optional line items

Flooring Type Select one (required)
Additional Extras Select any (optional)

Deposits

You can require a deposit payment before a customer can accept a quote. Deposits are processed through Stripe, so you must have Stripe connected to your account to use this feature.

There are two deposit modes:

  • Fixed amount - A specific amount (e.g., €500 deposit)
  • Percentage - A percentage of the quote total (e.g., 25% deposit)

When a customer views a sent quote with a deposit requirement, they must pay the deposit before they can accept. The deposit is collected via Stripe Checkout.

Deposit Credits

After acceptance, the deposit amount becomes a credit on the quote. When you later create invoices from this quote, the deposit credit is automatically applied to reduce the amount owed. The available credit balance is shown on the quote detail page.

You can set a default deposit mode in your quote settings (Settings → Quotes). This pre-fills the deposit configuration when creating new quotes, saving you from setting it each time.

Deposits are only available on fixed-price quotes. Time & materials quotes cannot require deposits.

Example: Deposit configuration

Deposit required €1,075.99 (25%)

Validity Periods

You can set an optional "valid until" date on a quote. This tells the customer how long the quoted price is valid for.

When a quote passes its validity date:

  • An Expired badge is shown on the quote
  • The customer can still view the quote via the public link
  • The quote remains in its current status (it does not automatically decline)

Once a quote has expired, the customer can no longer accept it. The accept and decline buttons are hidden, and an error message is shown explaining that the quote has expired.

When you send a quote, two things happen:

  1. An email is sent to the customer with a link to view the quote
  2. The quote status changes from Draft to Sent

Each quote has a unique public link (using a secure token) that anyone with the link can access. You can toggle public access on or off from the quote detail page - useful if you want to temporarily disable access.

You can also resend a quote at any time, which sends a fresh email to the customer.

Example: Public access settings on a sent quote

Public Access

Anyone with the link can view this quote

Accepting & Declining

When a customer views a sent quote via the public link, they can accept or decline it.

Accepting

The acceptance flow depends on the quote configuration:

  1. No optional items, no deposit - The customer clicks "Accept" and the quote is immediately accepted
  2. With optional items - The customer selects which optional items they want, then accepts. Selected items become regular line items.
  3. With deposit - After accepting (and selecting optional items if applicable), the customer is redirected to Stripe Checkout to pay the deposit. The quote is accepted once payment succeeds.

Declining

If a customer declines, the quote moves to the Declined status. You can duplicate a declined quote to create a revised version with updated pricing or terms.

Billing Stages

Billing stages let you break an accepted fixed-price quote into phases and invoice each phase separately.

Every fixed-price quote starts with a single default billing stage. If you don't need to bill in phases, you can ignore staging entirely and simply invoice the full quote amount at once using the default stage.

To bill in phases, add more billing stages from the quote detail page after the quote is accepted. Each billing stage has:

  • A name (e.g., "Phase 1 - Foundation", "Phase 2 - Build")
  • An optional description
  • A status: Planned, Ready, or Invoiced

When a billing stage is marked as "Ready", you can create an invoice for it. Each billing stage invoice contains the line items allocated to that stage. Deposit credits from the quote are automatically applied to billing stage invoices.

Billing stages are only available on fixed-price quotes. Time & materials quotes do not use billing stages.

Search & Filtering

The quote list can be filtered and searched to help you find specific quotes:

  • By status — filter by Draft, Sent, Accepted, or Declined
  • By customer — show only quotes for a specific customer
  • By search — search by quote title or document number

Filters can be combined. Results are paginated.

Duplicating Quotes

You can duplicate any quote to quickly create a new one with the same details. The copy includes the customer, title, description, line items, deposit settings, validity period, and currency — but resets to Draft status.

The duplicated quote's title is set to "Copy of [original title]". If you duplicate a copy, it becomes "Copy (2) of [original title]", and so on.

This is useful for creating revised versions of declined quotes, or for reusing a quote as a template for similar work with the same or different customer.

Was this page helpful?

← Back to Documentation