Quotes

Create and send quotes to clients before starting work.

Overview

Quotes (also known as estimates or proposals) are financial documents you send to clients before work begins. They outline the scope, pricing, and terms of a proposed engagement, giving your client a clear picture of what to expect before they commit.

In Beeswax, every quote belongs to a Project and is allocated to a Business (client). Quotes sit at the front of the sales workflow — they are created during the proposal stage and, once the client agrees, can be converted directly into an Invoice to begin billing.

Key characteristics of quotes:

  • Auto-generated numbering — Each quote receives a sequential number automatically (e.g. Q-0001, Q-0002), managed by your account's next number settings. Numbers are assigned on creation and can be customised if needed.
  • Project-scoped — Quotes live within a project, keeping all related financial documents together.
  • Client-linked — Every quote is associated with a business (company), which determines who receives the quote and where it appears in statements.
  • Convertible — A quote can be converted into an invoice with a single action, carrying across all line items and pricing.

Quotes share the same underlying data model as invoices and expenses (journal entries), but have a simplified state machine focused on the proposal lifecycle rather than payment collection.


Creating a Quote

Navigate to a project and click the New Quote button. Beeswax creates the quote immediately in Draft state and opens it for editing. The quote title defaults to the project name and the client defaults to the project's assigned business.

Fields

Field Required Description
Title Yes A descriptive name for the quote. Defaults to the project name.
Date (sent_on) Yes The quote date. Defaults to today. This is the date that appears on the PDF and is used for ordering.
Company / Client Yes The business this quote is for. Uses an autocomplete field — start typing to search. For quotes, this defaults to the project's client.
Project Yes The project this quote belongs to. Set automatically when creating from within a project.
Number Auto A sequential quote number generated automatically by the system. Can be manually overridden if needed.
Content No A text area for additional description or notes that appear on the quote body.
Footer No Footer text that appears at the bottom of the quote PDF (e.g. terms and conditions, payment instructions).
Tax Inclusive No Toggle to indicate whether line item amounts include tax. When enabled, tax is calculated as included in the stated amounts rather than added on top.
Default Transaction Account No The default income account applied to new line items. Only income-type transaction accounts are available for quotes.
Default Tax No The default tax rate applied to new line items on this quote.

Creating from Templates

You can populate a new quote with pre-configured line items by importing from a template. After creating the quote, use the Import from Template action to select a saved template. The template's transaction groups and line items will be copied into the quote. See the Templates section below for more details.


Line Items & Transaction Groups

Quotes use transaction groups to organise line items into logical sections. Each transaction group acts as a named section (e.g. "Design Phase", "Development", "Testing") that contains one or more line items.

Transaction Groups

  • Each quote starts with one default transaction group named after the quote title.
  • You can add additional groups to break the quote into sections.
  • Groups can be renamed to describe the category of work.
  • Each group displays its own subtotal.

Line Items

Each line item within a transaction group represents an individual charge. Line items have the following fields:

Field Description
Description What the charge is for (e.g. "Logo design — 3 concepts with 2 rounds of revisions").
Quantity The number of units (e.g. hours, items, days).
Amount The unit price per quantity. The line total is calculated as Quantity x Amount.
Tax Rate The tax rate applied to this line item. Inherits from the quote's default tax if set.
Transaction Account The income account this line item is recorded against. Inherits from the quote's default transaction account if set.

Drag-and-Drop Reordering

Line items and transaction groups can be reordered by dragging and dropping. This lets you arrange the quote in the most logical presentation order for your client.

Tax Calculation Modes

The Tax Inclusive toggle on the quote controls how tax is calculated across all line items:

  • Tax Exclusive (default) — Line item amounts are treated as pre-tax. Tax is calculated and added on top. The quote total equals subtotal + tax.
  • Tax Inclusive — Line item amounts already include tax. The subtotal shown is the amount excluding tax, with tax extracted from the stated amounts. The quote total equals the sum of line item amounts as entered.

Quote States & Workflow

Quotes move through a series of states that track their progress from creation to delivery. The state machine for quotes is simpler than invoices — there are no payment notice states (first notice, second notice, final notice) or payment states, since quotes are proposals rather than bills.

States

State Description
Draft The initial state. The quote is editable and has not been sent or finalised.
Finalised The quote has been locked for editing. It is ready to be sent or approved.
PDF Sent The quote PDF has been emailed to the client.
Marked Sent The quote has been manually marked as sent (for tracking quotes delivered outside of Beeswax).

State Transitions

Draft ──▶ Finalised ──▶ PDF Sent
                │
                └──▶ Marked Sent
Transition From To Description
finalise Draft Finalised Locks the quote for editing. Requires a non-negative total and the project must not be locked.
send_pdf Finalised, PDF Sent, Marked Sent PDF Sent Triggered when the quote PDF is emailed to a client. Can be repeated (re-sending updates the state).
marked_sent Finalised Marked Sent Manually marks the quote as sent without emailing through Beeswax.
remove_marked_sent Marked Sent Finalised Removes the "marked as sent" status, returning the quote to Finalised.
unfinalise Finalised Draft Returns the quote to Draft so it can be edited again.

Approval Is Separate from State

An important distinction: quote approval (accepted_quote) is not a state in the workflow. It is a separate boolean toggle that operates independently of the state machine. A quote can be approved while in any post-finalisation state (Finalised, PDF Sent, or Marked Sent). See the Approving a Quote section below for details.


Finalising a Quote

Finalising a quote locks it for editing and signals that it is ready to be sent to the client or approved.

What Finalising Does

  • Transitions the quote from Draft to Finalised.
  • Prevents further editing of the quote fields and line items.
  • Assigns a quote number if one has not already been set.
  • Sets the date to today if not already set.
  • Records a state audit trail entry.

Requirements

  • The quote must be in Draft state.
  • A quote number and date will be assigned automatically if not already set.

Unfinalising

If you need to make changes after finalising, you can unfinalise the quote. This returns it to the Draft state where all fields become editable again. Unfinalising is only available from the Finalised state — if the quote has already been sent (PDF Sent or Marked Sent), it cannot be returned to Draft directly.

Finalise Before Other Actions

A quote must be finalised before it can be:

  • Approved (accepted_quote toggle)
  • Emailed as a PDF to a client
  • Marked as sent

Approving a Quote

Approval in Beeswax indicates that the client has agreed to the quote. It is implemented as a boolean toggle (accepted_quote) that is independent from the state machine.

How Approval Works

  • Approval is toggled via a checkbox or button on the quote detail page.
  • It is only available after the quote has been finalised. You cannot approve a draft quote.
  • Toggling approval does not change the quote's state (it remains Finalised, PDF Sent, or Marked Sent).
  • When a quote is approved, an "Approved" stamp overlay appears on the quote, giving a clear visual indicator of client agreement.

Activity Logging

Every approval toggle is tracked:

  • Approved — An activity entry is created recording who approved the quote and when, with the action quote.approved_by.
  • Approval removed — If approval is revoked, an activity entry is created with the action quote.approve_removed_by.
  • A StateAudit record is also created for each toggle (transitioning between unapproved and approved), providing an audit trail separate from the main state machine.

Purpose

Approval is used to signal that the client has agreed to the quoted scope and pricing. Once approved, the quote is ready to be converted into an invoice to begin billing. Approval serves as a confirmation step — it does not automatically trigger invoice creation.


Sending & Emailing

Beeswax provides two ways to mark a quote as delivered: emailing the PDF directly from the application, or manually marking it as sent.

Email PDF to Client

  1. Finalise the quote.
  2. Click the Email or Send PDF action.
  3. In the email modal, configure:
    • To — Select one or more recipients from the client business's contacts.
    • CC — Optionally add CC recipients.
    • Message — Write a custom email message using the rich text editor. This accompanies the PDF attachment.
  4. Send the email. The quote PDF is generated and attached automatically.

After sending, the quote state transitions to PDF Sent and an activity log entry records the action, including who it was sent to.

Mark as Sent

For quotes delivered outside of Beeswax (e.g. printed and handed to the client, or emailed from a different system):

  1. Finalise the quote.
  2. Click Mark as Sent.
  3. The state changes to Marked Sent and an activity log entry is recorded.

You can remove the "marked sent" status at any time, which returns the quote to Finalised.

PDF Export & Layout Options

When previewing or exporting a quote as a PDF, you can choose from five layout options that control the level of detail shown:

Layout Description
Everything Shows all information: transaction groups, line item descriptions, quantities, unit amounts, and totals.
No Line Item Details Shows line items but hides the detailed descriptions.
No Line Qty or Amounts Hides individual line item quantities and unit amounts. Shows only group totals.
Total with Details Shows only the grand total, but includes line item descriptions for context.
Total without Details Shows only the grand total with no line item breakdown.

The PDF uses the theme and font configured in your account's financial settings.


Converting to Invoice

The Make Invoice (or Convert to Invoice) action creates a new invoice from an existing quote. This is the primary way to move from proposal to billing in Beeswax.

How It Works

  1. Open the quote.
  2. Click Make Invoice (or Invoice from the quote menu).
  3. Beeswax performs a deep clone of the quote, including:
    • All transaction groups
    • All line items within each group (descriptions, quantities, amounts, tax rates, transaction accounts)
  4. The clone is modified:
    • Type changes from Quote to Invoice.
    • State is reset to Draft (the new invoice starts as an editable draft).
    • Number is reset and a new invoice number is assigned from the account's invoice numbering sequence.
    • Date is set to today.
    • Accepted quote is reset to false.
  5. The new invoice is saved and an activity log entry is recorded, noting that it was generated from the original quote (including the quote number).

Important Notes

  • The original quote is not modified. It remains in its current state with all data intact.
  • You can convert the same quote multiple times, creating multiple invoices. This is useful for phased billing or if the first invoice was created in error.
  • The new invoice starts in Draft state, giving you the opportunity to review and adjust it before finalising.
  • Converting to invoice requires the create Invoice permission.

Templates & Duplication

Beeswax provides several ways to reuse quote content across projects.

Save as Template

The Set as Template action saves a copy of the current quote into your account's built-in template project. This template can then be imported into new quotes across any project.

  • The template preserves all transaction groups and line items.
  • The template's number is cleared (templates do not have quote numbers).
  • Templates are stored in a special system project called "Template Built-in Project".

Import from Template

When editing a draft quote, use the Import from Template action to populate it with line items from a saved template:

  1. Open a draft quote.
  2. Select Import from Template.
  3. Choose from the list of available templates.
  4. The template's transaction groups and line items are copied into the current quote.

This is useful for standardised services or recurring project types where the line items are similar each time.

Duplicate / Clone

The Duplicate action creates an exact copy of the quote within the same project:

  • All transaction groups and line items are cloned.
  • The duplicate receives a new quote number.
  • The date is set to today.
  • The state is reset to Draft.
  • The accepted_quote flag is reset to false.
  • An activity log entry records the duplication.

Duplication is useful when you need a variation of an existing quote (e.g. an alternative pricing option for the same client).


Dashboard Widget

The Quotes Follow-up widget appears on the Dashboard for admin-level users and above. It provides a quick view of quotes that may need attention.

What It Shows

The widget displays quotes that meet all of the following criteria:

  • Not yet accepted — The accepted_quote flag is false.
  • Belong to active projects — The parent project must be active (not archived or deleted).
  • Project status is eligible — The project's status must NOT be any of the following: "In Progress", "Invoiced", "Need to Invoice", or "On Hold".

Display

  • Results are ordered by date (most recent first).
  • A maximum of 25 quotes are shown.
  • Each entry links to the quote detail page for quick follow-up.

This widget helps you track outstanding proposals that have not yet received client agreement, filtering out projects where billing has already progressed past the quoting stage.


How-to Guides

Create a Quote

  1. Navigate to the Project
  2. In the Money section, select Quotes
  3. Click New Quote

Edit a Quote

  1. Select the Quote to edit
  2. Modify as needed — changes save automatically
  3. Preview then send to client as PDF

Delete a Quote

  1. Find the Quote
  2. Click the Delete icon
  3. Confirm deletion

Note: Unlike invoices, quotes can be deleted at any point.

Preview a Quote

  1. Locate the Quote
  2. Click the Eye icon for four display options

Send a Quote

  1. Find the quote
  2. Click the envelope icon, select Email PDF
  3. Select recipients and compose your message

Download a Quote

  1. Locate the Quote
  2. Click the download icon in page tools

Load a Template

  1. Create your Quote, Invoice, or Expense first
  2. Click Template dropdown > Import Template
  3. Select a template and confirm

Warning: Importing a template overwrites ALL existing line items.

Save as Template

  1. Navigate to the Quote, Invoice, or Expense
  2. Click Template dropdown > Save as Template
  3. The template is saved immediately

Permissions by Role

Access to quote features varies by user role. Since quotes are a subtype of JournalEntry, the cannot :read, JournalEntry restriction on clients effectively hides all quotes from client users.

Action Owner Super Admin Admin Accountant General User Contractor Client
View quotes All All All All No No No
Create quotes Yes Yes Yes Yes No No No
Edit quotes All All All All No No No
Finalise / Unfinalise Yes Yes Yes Yes No No No
Approve quotes Yes Yes Yes Yes No No No
Send PDF / Email Yes Yes Yes Yes No No No
Mark as Sent Yes Yes Yes Yes No No No
Convert to Invoice Yes Yes Yes Yes No No No
Duplicate Yes Yes Yes Yes No No No
Save as Template Yes Yes Yes Yes No No No
Delete quotes Yes Yes Yes Yes No No No

Key Permission Notes

  • Owner has full access to all quote operations, including account-level settings that affect quotes (numbering, templates, financial settings).
  • Super Admin has full access to quote operations. The only restrictions compared to Owner are billing/subscription management and account-level settings — neither of which directly affect quote functionality.
  • Admin can manage quotes (create, edit, finalise, approve, send, convert, duplicate, delete). However, Admins cannot manage recurring invoices, payment approval, ledger features, transaction accounts, tax rates, or reconciliations.
  • Accountant has full access to quote operations. The only restrictions are payment approval and account-level settings. Accountants can manage transaction accounts and tax rates, giving them more financial control than Admins.
  • General User cannot view or manage quotes. General Users are restricted from all financial documents.
  • Contractor has limited access focused on task list (milestone) management. Contractors do not have quote management permissions.
  • Client cannot read JournalEntry records, which means all quotes are hidden from client users. Clients can only view their own outstanding statements.

Tips & Best Practices

  • Use transaction groups to structure proposals. Break quotes into logical phases or categories (e.g. "Discovery", "Design", "Development") so clients can understand the breakdown.
  • Finalise before sharing. Always finalise a quote before sending or approving it. This locks the content and ensures the client sees a stable version.
  • Approve before converting. Use the approval toggle to record client agreement before converting to an invoice. This creates a clear audit trail of when the client said yes.
  • Save common quotes as templates. If you regularly quote similar work, save a quote as a template to save time on future proposals.
  • Use the Dashboard widget. Check the Quotes Follow-up widget regularly to identify outstanding proposals that need client follow-up.
  • Choose the right PDF layout. Use "Everything" for detailed proposals and "Total without Details" for high-level summaries. Different clients may prefer different levels of detail.
  • Convert multiple times if needed. You can create multiple invoices from the same quote for phased billing — the original quote is never modified.