COMPLETE FEATURE CATALOGUE

MageMe EasyQuote
for Magento 2

The complete B2B quote extension — 124 verified features across 8 categories, covering the path from a customer’s first enquiry through a branded PDF proposal to a one-click hand-off into the native Magento checkout.

The Complete Quote Management Extension for Magento 2

EasyQuote turns Magento 2 into a full B2B quoting platform — a private negotiation layer on top of your existing catalogue, with a 9-status quote lifecycle, per-line negotiated prices, multi-row volume tiers, branded PDF proposals, and a direct hand-off to the native Magento checkout.

Every category links through to its own dedicated page for full detail. The numbers below are live: 124 verified features, 11 REST endpoints, 2 native GraphQL resolvers, 17 transactional email templates, and one canonical quote record from request through to converted order.

124
Features
8
Categories
9
Lifecycle Statuses
11
REST Endpoints
person_search

Quote Creation & Customer Portal

Learn more arrow_forward

Three self-service entry points, admin quote-builder tools, and a buyer portal that lives alongside native Magento order history.

check_circle Get-a-Quote button on cart

A button on the cart page turns an assembled basket into a formal quote request in one click.

check_circle Get-a-Quote in mini-cart

The same action in the mini-cart drawer — useful on category pages where the buyer hasn’t hit the full cart.

check_circle Popup request form

Modal request form keeps the buyer on the current page. Name, email, phone, message, optional custom fields, file attachments.

check_circle Logged-in & guest submission

Logged-in customers get pre-filled details; guests submit with just an email. An admin toggle can auto-register the guest as a Magento customer at submission time.

check_circle Admin-initiated new quote

Admin can build a quote from scratch on the quote grid, pick a customer, search catalog, and add products with negotiated prices.

check_circle Duplicate existing quote

Any quote duplicates with all line items, negotiated prices, and tiers intact — repeat customers and recurring orders on rails.

check_circle Bundle, grouped & downloadable products

Dedicated admin renderers for bundle, grouped, and downloadable SKUs; a pricing plugin fixes Magento’s children-calculated flag so bundle totals compute right on the quote and converted order.

check_circle Promote guest to customer

Edit-screen Create Customer / Guest Customer actions mint a Magento account from a guest-quote’s buyer details and bind the quote to it.

check_circle Quotes grid in My Account

A Quotes tab lists every quote the buyer has received, alongside orders — ready to review, accept, decline, or reply to.

check_circle Accept & decline actions

One-click Accept records timestamped approval; Decline lets the buyer formally reject. Both transitions appear in the quote history.

check_circle 9-status lifecycle

Pending → Approved → Proposed → Accepted → Purchased, with Declined / Expired / Cancelled / Closed branches.

check_circle Stable quote number & history

Every quote gets a human-readable number that never changes, and every status transition is timestamped on the record.

sell

Pricing, Discounts & Tier Pricing

Learn more arrow_forward

Per-line negotiated prices, multi-row volume tiers, tax-preserving currency handling, and per-store coupon controls.

check_circle Per-line negotiated price

A private per-line price overrides the catalog price on the quote, proposal PDF, email, and converted order.

check_circle Original vs negotiated display

MSRP can render as a strikethrough next to the negotiated price, so buyers see their saving on the quote and the PDF.

check_circle Row total recalculation

Every pricing change triggers a full totals refresh — subtotal, shipping, tax, grand total stay consistent.

check_circle Tax on negotiated prices

Native Magento tax re-applies to the negotiated price, respecting tax-inclusive / exclusive stores and destination zones.

check_circle Currency conversion

Totals render in the active store view’s currency; negotiated prices stay anchored to the base currency internally.

check_circle Store coupon toggle

A per-store setting decides whether cart-rule coupons may further reduce a quote-sourced cart.

check_circle Multi-row volume tiers

Per-quote tier tables that live on the line — different ladders for different buyers on the same SKU.

check_circle Auto-fill from group tier prices

Adding a product to a quote pre-fills the tier table from its native Magento customer-group tier prices — the admin starts from what the group already qualifies for, not from a blank table.

check_circle Customer-selectable tier

Buyers pick which tier to purchase before accepting, and totals refresh in place.

check_circle Selected tier persists to checkout

The tier the customer picks flows through quick checkout into the converted order with no drift.

check_circle Tiers visible in proposal email

The proposal email template renders every tier inline alongside the selected one for approvers.

picture_as_pdf

Proposals & PDF Documents

Learn more arrow_forward

Branded PDF proposals, store-view-aware transactional emails, and a one-click send that carries the current quote straight to the buyer’s inbox.

check_circle Send proposal (idempotent)

One admin action regenerates the branded email and attaches the latest PDF — safe to repeat.

check_circle Manual email resend

Separate re-send action when the buyer forwards the proposal to an approver and needs a fresh copy.

check_circle Approve quote

One-click Approve transitions the quote into the approved state and triggers the customer notification.

check_circle Auto-attached PDF

The proposal email carries the generated PDF as an attachment — read-ready the moment the buyer opens the message.

check_circle On-demand PDF generation

The PDF is rendered on request from the current quote — every download reflects the latest negotiated data.

check_circle Admin download + customer email

Admin downloads from the grid; customer receives the same PDF via email. Both sides read from the same document.

check_circle Branded header, footer & logo

Per-store branding templates mean multi-store setups produce per-store PDFs from the same quote.

check_circle Configurable PDF footer

Separate configurable footer block for legal disclaimers, payment terms, or a per-store signature line.

check_circle Line items with tier pricing

Every line appears with its negotiated price, quantity, and full volume-tier table inline.

check_circle Terms, notes & footer copy

Store-level terms and a configurable footer cover the recurring copy every proposal needs.

check_circle Structured template variables

Proposal templates receive quote, items, totals, and branding as standard Magento template variables.

check_circle Per-store-view locale routing

Template selection follows the store view the quote was created on — DE quotes send DE, EN sends EN.

check_circle Email-client-friendly markup

Inline-styled markup renders consistently across Outlook, Gmail, Apple Mail, and corporate filters.

mail

Email Notifications & Messaging

Learn more arrow_forward

13 real notification events covered by 17 transactional email templates — plus a two-way message thread on every quote.

check_circle Request confirmation

Immediate confirmation to the buyer when a quote request is submitted — no “did you get my message?” follow-ups.

check_circle Admin-reply notification

When the admin replies on the message thread, the customer is notified with the reply content.

check_circle New-quote email

When admin builds a quote proactively, the customer receives an email with the details to review.

check_circle Proposal send

Full proposal email with line items, pricing, and an accept link — the main conversion event.

check_circle Proposal approved

Customer is notified when the admin approves the quote — pricing is locked.

check_circle Quote follow-up reminder

Friendly nudge on silent quotes so negotiations don’t quietly expire.

check_circle Quote expiry reminder

Scheduled reminder before the quote expires — time to accept or re-negotiate before losing the offer.

check_circle Quote expired notice

Final notice when the quote crosses its expiry date — pricing is no longer valid.

check_circle Proposal expiration reminder

Separate from the quote expiry — the proposal itself carries its own expiry window.

check_circle Proposal expired notice

Closing email when the proposal lapses — admin can re-send or reopen as needed.

check_circle New-request admin email

Goes to the configured admin address so your sales team sees the lead straight away.

check_circle Proposal accepted (to admin)

Notifies the rep when a buyer accepts — the quote is ready to move to checkout.

check_circle Proposal declined (to admin)

Notifies the rep with the timing so they can follow up, adjust pricing, and re-send.

check_circle 17 transactional email templates

13 events ship as 17 templates — some events have separate admin and customer variants. Editable in Marketing → Email Templates.

check_circle Per-store-view locale routing

The store view the quote was created on determines which template is sent — no admin configuration per customer.

check_circle Standard template variables

Templates receive the quote, items, totals, and formatted helpers as standard Magento template variables.

check_circle Email-client-friendly markup

Inline-styled, email-safe markup so every mail client renders the proposal consistently.

shopping_cart_checkout

Shipping & Checkout Conversion

Learn more arrow_forward

Dedicated quote shipping, one-click cart hand-off to the native Magento checkout, and an order linked to its source quote.

check_circle Custom quote shipping carrier

Visible only on quote-sourced carts at checkout — never offered on regular public carts.

check_circle Configurable carrier title

Displayed name is configurable per store. Multi-store setups can carry different labels for different segments.

check_circle Configurable method name

Method line is configurable so you can describe service level — “5-day freight,” “white-glove delivery.”

check_circle Per-quote shipping amount

Admin types a shipping amount directly on the quote — matches a freight partner’s bespoke quote.

check_circle Shipping recalculates

Subtotal, shipping, tax stay consistent when items or quantities change on the quote.

check_circle Customer-editable shipping — global & per-quote

Store-level Allow customer to modify shipping toggle, overridable per quote — lock the negotiated carrier on freight-sensitive quotes, leave it open on others.

check_circle Quick Checkout (one-click hand-off)

Accepting a quote hands the buyer off to the native Magento checkout in a single click — every line, negotiated price, tier selection, and shipping amount intact, no custom checkout skin to maintain.

check_circle Permanent quote reuse

Flag a quote as permanent so it can be purchased multiple times until its expiry date — ideal for standing contracts, recurring-order frameworks, and annual wholesale agreements.

check_circle Native Magento cart compatibility

Quote items live in the standard Magento cart — theme, mini-cart, saved-for-later UX all work.

check_circle Any store-supported payment

Credit card, PO, third-party PO extensions, bank transfer — EasyQuote doesn’t dictate payment choice.

check_circle Multi-store-view routing

DE-created quote checks out through DE store with DE language, DE tax, DE payment.

check_circle Customer ownership guard

Quick-checkout route is gated to the customer who owns the quote.

check_circle Order ↔ quote linkage

Every quote-sourced order stores a link back to its source quote, surfaced on both admin and customer views.

check_circle Auto-transition to Purchased

When the order is placed, the source quote’s status flips to Purchased automatically.

check_circle Negotiated prices on order

Converted orders keep negotiated prices on invoices, shipments, and credit memos.

check_circle Refunds honour negotiated amounts

Converted orders carry negotiated line prices, so Magento credit memos refund what was actually paid — not the catalog price.

check_circle Expiry-aware quote state

Each quote carries an expiry date and an isQuoteExpired() helper; scheduled reminders and a final notice email go out before and after expiry.

check_circle Backorder-aware stock bypass

A store-level “Enable backorder quotes” toggle bypasses Magento’s stock check on quote lines — for made-to-order SKUs.

account_tree

Workflow, Status & Reporting

Learn more arrow_forward

Nine lifecycle statuses, timestamped transitions, a shared admin grid, four mass actions, and CSV + XML exports.

check_circle Pending status

Default state for a customer-submitted quote request — the rep’s inbox of work.

check_circle Approved status

Admin reviewed and approved the quote — ready for proposal send.

check_circle Proposed status

Proposal has been sent to the customer with the PDF attached.

check_circle Accepted status

Customer accepted — quote is ready for quick checkout.

check_circle Declined status

Customer explicitly declined — admin follows up and adjusts if appropriate.

check_circle Purchased status

Accepted quote was converted to a Magento order — stays linked.

check_circle Expired status

Quote expired without acceptance — checkout path blocked, final notice sent.

check_circle Cancelled status

Admin revoked the quote — audit entry stamped.

check_circle Closed status

Admin-triggered archive for superseded or no-longer-relevant quotes.

check_circle Status change history

Every transition is timestamped on the quote record — full audit trail.

check_circle Conversation thread

Customer and admin messages on each quote, timestamped, read/unread indicator.

check_circle CSV export of quote grid

Respects active filters — pull “Pending over $10k” straight into Excel.

check_circle XML export of quote grid

Same filter context in XML — for ERP import or structured downstream systems.

check_circle Admin quote grid

Single grid for the whole pipeline across store views.

check_circle Grid search & filters

Filter by status, customer, store, date range, total.

check_circle Managed By assignment

Each quote is assigned to a responsible admin / sales rep. The grid surfaces a sortable, filterable Managed By column so each rep can focus on their own pipeline.

check_circle Mass actions (4)

Mass Approve, Mass Cancel, Mass Delete, Mass Set-Pending — batch triage in one action.

check_circle Duplicate quote

Any quote duplicates from the grid with line items, prices, and tiers copied.

code

API, Integrations & Themes

Learn more arrow_forward

11 REST endpoints, 2 GraphQL resolvers, and native Magento extensibility patterns — integrate like any native module.

check_circle GET /V1/easyquote/quote/:id

Fetch a single quote record by ID with its full payload.

check_circle GET /V1/easyquote/quote/:id/items

Return every line item on a given quote with negotiated prices and tier data.

check_circle GET /V1/easyquote/quote/quotes

List all quotes with Magento search-criteria filtering — paginated, sortable.

check_circle GET /V1/easyquote/request/:id

Fetch a quote request by ID with its form payload, attachments, thread.

check_circle GET /V1/easyquote/requests

List all quote requests — a feed of inbound leads for CRM or lead-scoring.

check_circle GET /V1/easyquote/quotes

Customer-scope list of the authenticated user’s quotes.

check_circle GET /V1/easyquote/quotes/:quoteId/items

Customer-scope item detail for rendering the line-item view.

check_circle POST /V1/easyquote/quotes/:quoteId/addToCart

Moves every quote line into the native cart with negotiated prices preserved.

check_circle GET /V1/easyquote/customer/:id/requests

Customer-scope list of quote requests the authenticated user has submitted.

check_circle POST /V1/easyquote/request/customer/:id/submit

Submits a new quote request on behalf of the authenticated customer.

check_circle POST /V1/easyquote/request/cart/:id/submit

Submits a quote request derived from the customer’s existing cart in one call.

check_circle Native GraphQL resolvers

Quote (single by ID) and Quotes (customer list) ship as native GraphQL resolvers.

check_circle Luma theme compatibility

Works on default Magento Luma out of the box — no overrides needed.

check_circle Breeze.js compatibility layer

Dedicated MageMe_EasyQuoteBreeze module for Breeze-based themes like Swissup Breeze Blank.

check_circle Hyvä theme compatibility

Dedicated Hyva_MageMeEasyQuote module — Hyvä/Tailwind templates, Hyvä Checkout integration, Tailwind CSS class purging.

check_circle Adobe Commerce Cloud compatibility

Runs on Open Source, Adobe Commerce, and Adobe Commerce Cloud the same way.

check_circle Multi-store-view routing

Every API response respects the requesting store view — currency, locale, carrier title.

check_circle Service contract interfaces

Every operation exposed through service-contract interfaces for DI injection and override.

check_circle DI preference overrides

Swap any service implementation via DI preference in your own module.

check_circle Event observers

Standard Magento events plus easyquote_cart_add_items_after and mm_calculate_product_price_options.

business_center

B2B Use Cases & Configuration

Learn more arrow_forward

Wholesale, manufacturing, and tender workflows, plus seven admin-configurable settings that shape how EasyQuote behaves across your stores.

check_circle Per-account volume pricing

Different tier tables per buyer on the same SKU — distributors don’t see each other’s deals.

check_circle Catalog visibility + customer groups

Pairs with Magento customer-group visibility to hide wholesale-only catalogs from retail buyers.

check_circle Configurable-product options in quotes

Every configurable and custom-option product works on the quote the same way as the cart.

check_circle Backorder-aware stock bypass

Store-level toggle lets quote lines bypass Magento’s out-of-stock check — on for made-to-order, off for strict-stock stores.

check_circle Lead-time-aware expiry

Per-quote expiry window — 60/90 day proposals without forcing short policy on everything.

check_circle Formal PDF proposal

Branded PDF for tender submissions, procurement portals, or any PDF-routed buyer workflow.

check_circle Structured pricing breakdown

Line items, per-unit price, tiers, subtotal, shipping, tax, grand total in a predictable structure.

check_circle Audit trail for compliance

Timestamped transitions, preserved conversation thread, attachments bound to the record.

check_circle Enable / disable per scope

EasyQuote can be enabled per website or per store view — run it only where it fits.

check_circle Cart & mini-cart button toggle

Toggle the Get-a-Quote button independently on the cart page and the mini-cart drawer.

check_circle Default quote expiry window

Store-wide default expiry that auto-fills on new quotes; per-quote overrides still available.

check_circle Shipping carrier & method labels

Configure the title and method label of the quote-specific shipping carrier per store.

check_circle ACL roles for quote management

Standard Magento admin ACL permissions for every quote action.

check_circle Admin email recipient

Configurable admin email per store view for new-request and accept/decline alerts.

check_circle Coupon-apply toggle on quote carts

Store-level toggle controls whether cart-rule coupons may further reduce a quote total.

Frequently Asked Questions

Licensing, tiers, compatibility, and how EasyQuote fits alongside other B2B tools in the Magento ecosystem.

help_outline
How does EasyQuote compare to Adobe Commerce B2B native quoting? expand_more

Adobe Commerce B2B’s native quoting is part of the paid B2B bundle on Adobe Commerce. EasyQuote runs on Magento Open Source, Adobe Commerce, and Adobe Commerce Cloud with the same codebase, and ships a focused quote lifecycle without the rest of the B2B suite — simpler install when you don’t need the full Company / Requisition / Shared-Catalog feature set.

help_outline
How does EasyQuote compare to Cart2Quote? expand_more

Cart2Quote has been in market longer and has a broader add-on ecosystem. EasyQuote is leaner, uses native Magento patterns exclusively (service contracts, DI preferences, standard REST / GraphQL), and ships a smaller, more predictable integration surface — better fit for stores that prefer a tight core to a wide feature list.

help_outline
How does EasyQuote compare to Aheadworks B2B Company Accounts? expand_more

Aheadworks focuses on Company Accounts and multi-buyer hierarchies. EasyQuote focuses on the quote itself — its pricing, proposal, lifecycle, and conversion — rather than the organisational structure around the buyer. The two complement each other for teams that need both.

help_outline
What are the system requirements for EasyQuote? expand_more

Magento 2.3.5+ through 2.4.x on Open Source, Adobe Commerce, or Adobe Commerce Cloud. PHP 7.4, 8.1, 8.2, 8.3, or 8.4. MySQL 8.0+ or MariaDB 10.4+ (same as Magento’s own matrix). Composer install, no extra services, no metered API. Upgrade paths track the Magento release schedule.

help_outline
Does EasyQuote work with Hyvä themes? expand_more

Yes. EasyQuote ships a dedicated Hyva_MageMeEasyQuote compatibility module with Hyvä/Tailwind templates, Hyvä Checkout integration (Magewire/LiveWire), and Tailwind class purging. Luma and Breeze.js are supported through their own dedicated compat modules. Full details on the API & Themes page.

help_outline
Is there a Lite (free) edition? expand_more

The Lite edition is in development and not yet released. The current product is EasyQuote with the full feature set as catalogued on this page.

help_outline
How much does EasyQuote cost? expand_more

Two editions, one-time licence per Magento installation. Community Edition: €179 (Magento Open Source). Enterprise & Cloud Edition: €429 (Adobe Commerce, Adobe Commerce Cloud). Both include lifetime updates, dev and staging copies under the same licence, and a 30-day money-back guarantee. No metered API calls, no subscription.

help_outline
Does EasyQuote require any third-party service subscriptions? expand_more

No. The module is entirely self-hosted — no third-party cloud, no SaaS dependency, no metered API calls. Transactional emails use your store’s existing mail transport; PDFs are generated server-side.

help_outline
Can EasyQuote run alongside other B2B extensions? expand_more

Yes. EasyQuote focuses on quote lifecycle and doesn’t own Company Accounts, Shared Catalogs, or Requisition Lists — so it coexists with dedicated company-account modules, shared-catalog modules, and CRM integrations that cover those areas.

help_outline
How long does typical installation and configuration take? expand_more

Composer install and module enable take minutes. Base configuration — admin email, store-view-specific carrier title, default expiry window, email template review — takes under an hour for a typical single-store site. Multi-store setups scale with the number of views requiring custom branding or locale routing.

help_outline
Is there a trial or money-back guarantee? expand_more

Yes — a 30-day money-back guarantee applies. Contact MageMe support to arrange trial installs, staging licences, or refunds within the window.

help_outline
How fast is MageMe support response? expand_more

Support tickets are answered within 24 hours, Monday to Friday. The response SLA covers every active licence — Community and Enterprise & Cloud. For ongoing development work (module tweaks, custom features, performance tuning), MageMe’s separate Support & Maintenance plan covers 20 or 40 hours per month.

help_outline
Is EasyQuote GDPR and CCPA compliant? expand_more

Yes. EasyQuote uses standard Magento customer and quote data structures — no separate data silo, no third-party cloud. Customer-initiated data deletion removes linked quote records through the admin grid’s Mass Delete action, and the status history is removed with the parent quote. Transactional emails use your store’s existing mail transport; no data leaves the installation.

help_outline
Who maintains EasyQuote? expand_more

EasyQuote is built and maintained by MageMe, the same team behind WebForms, Schema, and the wider MageMe Magento extension catalogue.

Ready to Run Real B2B Quoting
on Magento 2?

Experience the most comprehensive quote management extension for Magento 2 — 124 verified features, native code, 30-day money-back guarantee.

124
Features
9
Lifecycle Statuses
11
REST Endpoints