Quote Creation & Customer Portal

Self-service request buttons on the cart and mini-cart, a standalone request form, admin quote-builder tools, and a buyer portal that lives alongside the native Magento order history.

EasyQuote gives the buyer three self-service entry points — Get-a-Quote on the cart, in the mini-cart, and a standalone request form — plus a full admin workflow to build, duplicate, and send quotes proactively. Everything routes through the same canonical quote record.

Customers see every quote in their account area alongside orders; admins manage the whole lifecycle from a single grid. Status transitions are timestamped, so there’s a full history behind every negotiation.

3
Customer Entry Points
9
Lifecycle Statuses
1
Canonical Record
person_search

Customer Quote Request Flow

Self-service entry points on the pages buyers already use — the cart, the mini-cart, and a standalone request form for quick enquiries outside a shopping session.

shopping_cart

Get-a-Quote button on cart

A Get-a-Quote button appears on the cart page so a buyer assembling a basket can request pricing on the whole cart in one click — the cart contents transfer into the quote request intact.

shopping_bag

Get-a-Quote in mini-cart

The same action is available in the mini-cart (the drawer). Useful on category and product-listing pages where the buyer hasn’t gone to the full cart but still wants a formal price on the items they’ve assembled.

forum

Popup request form

The form opens as a modal over the current page so the buyer doesn’t lose their context. Name, email, phone, message, and optional custom fields, with file attachments supported.

chat

Free-form message field

A message field on every request lets the buyer explain what they need — volumes, delivery windows, custom variations. Admin gets context before replying, rather than guessing from SKU and qty alone.

how_to_reg

Logged-in or guest submission

Logged-in customers get their details pre-filled; guests submit with just an email. A store-level “auto-register guests as customers” toggle (in the Quote Request Form config) can create a Magento customer account at submission time when you want every inbound lead to land in the customer directory.

admin_panel_settings

Admin Quote Creation & Management

Full admin-side tools for reps who build quotes proactively — new from scratch, duplicated from a template, or converted from an inbound request.

note_add

Admin-initiated new quote

Admin can create a blank quote from the quote grid, pick a customer (or guest), search the catalog, and add products with negotiated prices and tiers. Proactive outreach becomes a formal proposal without phone-and-email ping-pong.

content_copy

Duplicate existing quote

Any existing quote can be duplicated from the admin grid. The new quote starts fresh with all line items, negotiated prices, and tier pricing copied from the source — useful for repeat customers and recurring orders.

search

Product search & add

Admin searches the catalog by SKU, name, or category and adds items to the quote without leaving the quote screen. Configurable products and their options are selectable the same way they are in a regular admin order.

view_in_ar

Bundle, grouped & downloadable products

Dedicated admin line-item renderers for bundle, grouped, and downloadable product types mean complex SKUs appear on the quote with the right structure — bundle parents with their children inline, grouped parents with their sub-item lines, and downloadable products with their link selections. A pricing plugin corrects Magento’s children-calculated flag so bundle totals compute right on the quote, on the PDF proposal, and on the converted order.

edit

Inline line edit

Change quantity, per-line price, or tier table directly on the quote grid — no separate edit screen. Totals refresh on save so the rep can iterate on a proposal quickly.

delete_outline

Line removal

Remove quote lines one at a time or in bulk. Totals recompute immediately so the rep never has to eyeball a half-finished proposal.

switch_account

Promote guest to customer

The quote Edit screen exposes Create Customer and Guest Customer actions, so a rep working a guest-originated quote can mint a Magento customer account from the buyer’s details and bind the quote to it — useful when a walk-in guest becomes an ongoing B2B account mid-negotiation.

person

Customer-Facing Quote Portal

Every quote a buyer has received or requested appears in their account area — ready to review, accept, decline, or reply to — next to their orders.

list

Quotes grid in My Account

A Quotes tab in the customer account area lists every quote the buyer has, alongside orders. Columns include quote number, date, status, total, and a link to the detail view.

description

Quote detail view

Each quote opens to a full detail view with line items, pricing, tier tables, and the message thread to the admin — the same data the rep sees, scoped to the buyer’s perspective.

check

Accept quote

A single Accept action records timestamped approval, flips the quote status, and makes the quick-checkout link available on the quote detail page.

close

Decline quote

A Decline action lets the buyer formally reject the proposal. Admin sees the transition in the quote’s history — no more wondering if the email just got buried.

reply

Reply to proposal

Buyers can reply to the admin through a message thread on the quote detail view. Responses sit directly on the quote record instead of scattering across email inboxes.

mail_outline

PDF proposal delivered by email

The proposal PDF arrives as an attachment on the proposal email — buyers keep it with the original message, and no extra portal download step is needed. See PDF proposals for the template details.

timeline

Quote Record Lifecycle

Stable numbering, nine lifecycle statuses, and a timestamped history behind every transition.

tag

Stable quote number

Each quote gets a human-readable number assigned at creation time that never changes. It’s the reference your buyer uses in emails, your ERP uses in imports, and your admin uses to find the record.

account_tree

Nine lifecycle statuses

From the first customer submission through converted order, every quote moves through a defined set of statuses — each transition logged with a timestamp. See workflow, status & reporting for the full state list and the rules behind every transition.

history

Status history log

Every status transition is logged with a timestamp — you can see when a quote went from Pending to Proposed, from Proposed to Accepted, and from Accepted to Purchased. The timeline is exportable alongside the quote record.

compare

EasyQuote vs Admin-Only Ordering

Without a quote-management layer, B2B buyers drop their cart and email the rep; the rep types the order into the admin. That flow loses the self-service story and the audit trail.

Capability
Admin-Only
EasyQuote
Outcome
Customer self-serve
Email / phone
Cart, mini-cart, and request-form entry points
Digital entry points where buyers already are
Quote record
Free-text notes
Canonical record with 9 lifecycle statuses
State machine, not folklore
Customer inbox
Email thread
Native account area “Quotes” tab
Always-on archive of past negotiations
PDF proposal
Manual Excel/Word
Auto-generated and attached to the proposal email
Consistent branding, no transcription errors
Acceptance action
Reply “yes”
Accept button → status transition + timestamp
Machine-readable approval, triggers checkout
History & audit
Lost in email
Every status change is timestamped and kept
Full timeline per quote

Frequently Asked Questions

help_outline
How does a customer start a quote request? expand_more

Three entry points: a Get-a-Quote button on the cart page, a button in the mini-cart drawer, and a standalone request form. All three feed into the same admin grid with the same payload shape, so it doesn’t matter which one the buyer uses.

help_outline
Can sales reps create quotes without a customer request? expand_more

Yes. From the admin quote grid, a Create New Quote action opens a blank quote where the rep picks the customer, searches the catalog, adds products with negotiated prices and tiers, then sends the proposal email. Useful for proactive outreach or converting phone enquiries into a formal proposal.

help_outline
Does the customer lose their cart when they request a quote? expand_more

No. The cart stays intact; the quote is created as a separate record that references the cart contents. Customers can continue shopping or check out normally while the quote is being prepared — the two don’t interfere.

help_outline
Can a quote be duplicated as a template? expand_more

Yes. Any existing quote can be duplicated from the admin grid. The new quote starts fresh with all line items, negotiated prices, and tier pricing copied from the source — useful for repeat customers, template pricing scenarios, or recurring orders.

help_outline
How many statuses can a quote move through? expand_more

Nine — spanning the lifecycle from initial customer submission to a converted (or expired / cancelled) quote. The full list and the transition rules between them are covered on the Workflow, Status & Reporting spoke, which owns that topic end-to-end.

help_outline
Can the customer accept a quote without logging in? expand_more

The proposal email is designed to be readable without login — full line items, prices, tier tables, and terms render inline for forwarding to approvers. Formal acceptance happens in the customer account area so the approval is tied to an authenticated user.

help_outline
Is guest quote-request submission supported? expand_more

Yes. Guests can submit a quote request by entering their email address. Two paths handle the customer-account side: a store-level “auto-register guests as customers” toggle (Quote Request Form config) creates an account at submission time, or the rep can promote the guest from the quote Edit screen using the Create Customer / Guest Customer actions whenever it’s appropriate.

help_outline
How does EasyQuote differ from simply emailing prices back and forth? expand_more

EasyQuote replaces the email-and-spreadsheet loop with a canonical quote record: nine lifecycle statuses, structured line items, timestamped history, reusable templates, branded PDFs, and a direct hand-off to quick checkout. The email thread becomes the secondary channel, not the system of record.

Every path from browse to accepted quote.

Three entry points, admin quoting tools, a full customer portal, and a nine-status lifecycle that ties it together.

20
Creation Features
9
Lifecycle Statuses
3
Entry Points