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

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.

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.

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.

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.

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.

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 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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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 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.

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.

Quote Record Lifecycle

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

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.

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.

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.

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

How does a customer start a quote request?

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.

Can sales reps create quotes without a customer request?

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.

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

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.

Can a quote be duplicated as a template?

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.

How many statuses can a quote move through?

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.

Can the customer accept a quote without logging in?

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.

Is guest quote-request submission supported?

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.

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

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