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
unapprovedandapproved), 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
- Finalise the quote.
- Click the Email or Send PDF action.
- 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.
- 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):
- Finalise the quote.
- Click Mark as Sent.
- 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
- Open the quote.
- Click Make Invoice (or Invoice from the quote menu).
- 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)
- 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.
- 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 Invoicepermission.
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:
- Open a draft quote.
- Select Import from Template.
- Choose from the list of available templates.
- 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_quoteflag 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_quoteflag 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
- Navigate to the Project
- In the Money section, select Quotes
- Click New Quote
Edit a Quote
- Select the Quote to edit
- Modify as needed — changes save automatically
- Preview then send to client as PDF
Delete a Quote
- Find the Quote
- Click the Delete icon
- Confirm deletion
Note: Unlike invoices, quotes can be deleted at any point.
Preview a Quote
- Locate the Quote
- Click the Eye icon for four display options
Send a Quote
- Find the quote
- Click the envelope icon, select Email PDF
- Select recipients and compose your message
Download a Quote
- Locate the Quote
- Click the download icon in page tools
Load a Template
- Create your Quote, Invoice, or Expense first
- Click Template dropdown > Import Template
- Select a template and confirm
Warning: Importing a template overwrites ALL existing line items.
Save as Template
- Navigate to the Quote, Invoice, or Expense
- Click Template dropdown > Save as Template
- 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.