Magento 2 Extension B2B Quote

Control quote requests centrally with price negotiation, status transition control, message history, file attachments, and direct conversion to orders.

B2B Quote covers the full quote journey in Magento 2: from initial request through negotiation and approval to a confirmed order.

Multiple quote entry points: Quotes can be created from product page, cart, customer account, or directly in the admin area. This supports different sales scenarios without process breaks.

Clear status logic per process step: Each step is controlled by defined statuses. Teams always see ownership, current progress, and the next required action.

Negotiation with complete history: Counteroffers, price changes, and decisions are documented per quote. Sales and buying teams work on the same context.

Rule-based pricing and conditions: Pricing rules automate recurring decisions by quantity, customer group, product scope, or quote value. This reduces manual effort and improves consistency.

Quote-level fees and surcharges: Additional costs can be added in a controlled way, so special effort remains transparent and billable.

Messages and files in one place: Communication, clarifications, and attachments stay linked to the quote record. Information no longer gets lost in external threads.

Customer account with active participation: Customers can review quote details, respond, and move the process forward directly from their account area.

Structured handling of complex cases: Quotes can be split, merged, and compared. Larger negotiations remain manageable and easy to track.

Project context and team steering: Quotes can be assigned to projects to keep collaboration structured across teams.

Dashboard and KPI visibility: KPI cards and charts provide visibility into volume, status distribution, and trend development for data-driven steering.

Automated follow-up actions: Reminders, lifecycle automation, and cleanup of inactive records run in the background based on your settings.

Direct conversion to orders: Approved quotes are converted into orders without duplicate data entry. This reduces errors and speeds up closing.

Standard PDFs in core: B2B Quote generates quote PDFs out of the box with six built-in layouts: Classic, Minimalist, Sidebar, Color Block, Compact, and Executive. In admin, you can configure logo, company details, footer text, item notes, and status-based PDF download permissions. Single quote PDFs, bulk export as ZIP, and dashboard report PDF are already included.

PDF Designer (Add-On): Extend quote documents with visually configurable templates for consistent branded communication.

OpenSign (Add-On): Add digital signatures for binding quote approvals without process breaks. If you use another signature provider, a separate integration is required.

Quote creation from multiple touchpoints

Start quotes from product page, cart, customer account, or admin area.

Transition control per status step

Define for each status change whether the customer, admin, or system can perform it, and whether a note is required.

End-to-end quote lifecycle

Manage quotes from draft and review to acceptance and order conversion in one flow.

Structured counteroffer negotiation

Handle customer and sales counteroffers directly inside each quote.

Full change history

Track pricing and status changes transparently for faster decisions.

Contextual messages and files

Keep communication and documents on the quote instead of external channels.

Attachment policy controls

Configure allowed file types, size limits, and upload behavior for quote files.

Rule-driven pricing logic

Apply quote conditions consistently with configurable pricing rules.

Event-driven follow-up actions

Trigger notifications and process steps automatically on status events.

Dashboard KPIs and insights

Monitor quote volume, progress, and trend development in one place.

Customer quote workspace

Provide clear quote detail views and actions in the customer account.

Split, merge, and compare

Structure complex quote scenarios flexibly without losing context.

Project-based quote organization

Group quote activity by project to keep larger negotiations structured.

Controlled quote surcharges

Add extra costs transparently to quote calculation and presentation.

Direct quote-to-order conversion

Convert approved quotes into orders without duplicate data handling.

PDF Designer (Add-On)

Extend quote documents with visually configurable templates for consistent branded communication.

OpenSign (Add-On)

Add digital signatures for binding quote approvals without process breaks.

  • Current Version1.1.6
  • Compatible with Magento 2.4.6 - 2.4.8
  • Compatible with PHP 8.1 - 8.5

If your environment differs from the listed requirements, we can check compatibility in advance. Please contact us via our contact form.

b2b-quote

Version 1.1.6 - 2026-06-18

Fixed
  • Fixed quote inventory reservations to remain balanced and idempotent across approval, rejection, expiration, and order-placement release flows
  • Fixed expiration reminder selection to use each store's local expiration date and store scope when matching reminder windows
  • Fixed automatic pricing-rule application during quote saves so rule failures do not block unrelated quote persistence and existing manually offered item prices are preserved
  • Fixed revision cleanup to keep revisions currently referenced by active quotes
  • Fixed old draft cleanup to use the draft's last update time when deciding whether it is inactive enough to delete

Version 1.1.5 - 2026-05-26

Added
  • Added compatibility for Magento versions that cannot reflect PHP union return types
  • Added a store-scoped maximum active quotes per customer setting for storefront quote creation entry points
  • Added a separate configuration flag for direct expiration reminder emails so stores can rely on workflow rules without duplicate reminder messages
Fixed
  • Fixed catalog product saves to skip automatic quote repricing when the product price has not changed
  • Fixed automatic product-price quote repricing to avoid recalculating quote totals twice during repository save
  • Fixed shipping-rate estimation for configured products to use Magento's buy-request product preparation when building temporary quote items
  • Fixed expired quote cron processing to select only non-terminal workflow states and avoid repeatedly processing historical terminal quotes
  • Fixed expiration reminder emails to use date-based quote expiration selection and a persistent per-quote interval marker so duplicate cron executions do not resend the same reminder

Version 1.1.4 - 2026-05-21

Added
  • Added configuration to clear an existing shopping cart before adding accepted quote items to the cart
Fixed
  • Fixed quote increment flag table resolution to respect Magento database table prefixes
  • Fixed accepted quote add-to-cart conversion so negotiated item prices and quote-level discount adjustments are preserved in the shopping cart
  • Fixed accept-mode enforcement so frontend, customer API, and guest API entry points respect the configured accept mode when customer choice is disabled
  • Fixed quote expiration checks to use the same store-local calendar-day semantics in storefront action visibility and backend accept/submit validation
  • Fixed guest quote creation flows to issue a fresh access token for each newly created quote and include the token in redirect URLs where needed
  • Fixed pricing-rule and quote-total observers so calculation failures are no longer silently swallowed after logging
  • Hardened quote-to-order conversion by resolving workflow transitions before placing the Magento order

Version 1.1.3 - 2026-05-19

Added
  • Added quote agreements for framework-style customer agreements, including admin creation from accepted quotes, storefront agreement listings, call-off quote visibility, and quantity consumption tracking across related quotes
  • Added dynamic status text-color handling so storefront quote badges stay readable for any configured status color
  • Added revision badge visibility on the quote detail page and modular route-specific storefront stylesheet entrypoints
Changed
  • Hardened storefront accessibility semantics for alerts, progress indicators, hidden elements, and tab announcements
  • Refactored storefront quote and agreement listings to share AJAX filter handling while keeping list markup server-rendered
Fixed
  • Fixed quote lifecycle and access-control edge cases across cart conversion, merge/split, delete, totals refresh, and store-scoped submit validation flows
  • Fixed CSV export handling for spreadsheet safety and UTF-8/Excel compatibility in quote item exports
  • Fixed catalog product saves being blocked by automatic quote repricing when stale, already-expired quotes had not yet been finalized by the expiration cron
  • Fixed embedded customer edit quote and agreement grids using sticky toolbars, which could detach the listing toolbar from the customer form layout
  • Fixed mobile storefront alignment for quote and agreement listings, including filter controls, card rows, action icons, and the mini-quote header icon

Version 1.1.2 - 2026-03-09

Changed
  • Changed Convert to Quote order history action rendering
Fixed
  • Fix frontend merge quote modal rendering by removing nested modal wrapper markup and preventing duplicate modal initialization

Version 1.1.1 - 2026-03-08

Added
  • Added lifecycle fixtures and compatibility helpers for quote workflow and transaction scenarios
Fixed
  • Fixed workflow state resolution for expiration reminders and quote validation to use quote status state codes consistently
  • Fixed guest quote split draft creation to preserve a usable customer email context
  • Fixed expired quote cron handling to log skipped quote failures while continuing the batch

Version 1.1.0 - 2026-02-26

Added
  • Added transition health check and fixture reload actions in admin to validate and restore core quote status workflow data
  • Added configurable duplicate-field handling so quote copy behavior can include shipping, payment, fee, discount, note, and expiry fields by configuration
  • Added shipping adjustment persistence and transfer into quote-to-order conversion totals
  • Added stronger quote-to-order linkage observers to persist the related quote reference on the order lifecycle
Changed
  • Updated quote action visibility and readiness checks in admin and frontend flows to align with quote state and data completeness
  • Normalized frontend modal handling
Fixed
  • Fixed admin save transaction integrity so failed payment validation does not partially persist quote changes
  • Fixed quote conversion so negotiated prices and quote adjustments are preserved consistently in resulting orders and totals.
  • Fixed shipping/totals drift across admin and frontend refresh flows, including duplicate and update scenarios
  • Fixed submitted workflow triggering so `quote_submitted` rule automations run on valid status transitions
  • Fixed broken admin fulltext search handling in listings backed by data providers without explicit fulltext mapping
  • Fixed frontend new-quote shipping selector binding and totals refresh race conditions
  • Fixed quote email totals rendering and discount/tax presentation consistency

Version 1.0.3 - 2026-02-03

Changed
  • Centralized quote access checks in controllers and shared the validated quote via ViewModel to prevent null dereference crashes on quote view

Version 1.0.2 - 2026-01-29

Added
  • Added System Configuration module information block
  • Added max attachments limit config for frontend uploads
Fixed
  • Cast product price to float before updating quote item prices to avoid TypeError during product save

Version 1.0.1 - 2026-01-26

Added
  • Added logical checks around status transitions
  • Added composite index on quote messages for faster frontend message loading
Fixed
  • Improved admin split-quote modal translations and labels
  • Enforced `negotiation_enabled` for frontend totals preview and form submits
  • Prevented status change email errors from blocking quote submit; now logs and falls back to default template
  • Fixed frontend CSV export on quote edit to use client-side export data
  • Removed “Save as Draft” action from existing draft quotes; kept for new quotes only
  • Adjusted quote edit action ordering and styled “Submit Quote” as primary green

Version 1.0.0 - 2026-01-23

Added
  • Added initial version
b2b-quote-graph-ql

Version 1.1.0 - 2026-02-03

Added
  • Extended B2B quote GraphQL queries and mutations
Fixed
  • Resolved list resolver and split input handling issues

Version 1.0.0 - 2026-01-20

Added
  • Added initial version
b2b-quote-api

Version 1.0.0 - 2026-01-23

Added
  • Added initial version
b2b-quote-importexport

Version 1.0.1 - 2026-05-19

Fixed
  • Fixed quote import/export table resolution to respect Magento database table prefixes

Version 1.0.0 - 2026-01-23

Added
  • Added initial version
b2b-quote-hyva

Version 1.0.2 - 2026-06-16

Fixed
  • Fixed Tailwind source CSS compatibility with current Hyvä builds
  • Added Hyva Tailwind 4 module CSS source registration while keeping Tailwind 3 source compatibility
  • Fixed Tailwind source CSS rules that used opacity shorthand utilities unsupported by Tailwind 3 `@apply`

Version 1.0.1 - 2026-05-26

Changed
  • Updated Hyva compatibility for MageB2B_B2BQuote 1.1.4 frontend
Fixed
  • Scoped all Hyvä compatibility layout handles with the `hyva_` prefix so the module no longer overrides Luma quote storefront pages when installed in mixed-theme shops

Version 1.0.0 - 2026-02-03

Added
  • Added initial version
b2b-quote-pdfdesigner

Version 1.0.4 - 2026-05-24

Added
  • Added compatibility for Magento versions that cannot reflect PHP union constructor parameter types

Version 1.0.3 - 2026-05-14

Added
  • Added PDF layout duplication support in admin
  • Added shared PDF text measurement for consistent renderer alignment and truncation
  • Added background image support for PDF page layouts
  • Added admin designer controls for PDF page background images
Changed
  • Improved custom PDF layout store resolution
  • Improved preview cache key generation
  • Improved table layout validation for item table columns and generic table configurations
  • Improved admin PDF designer JavaScript handling for asynchronous image loading and layout state preservation
Fixed
  • Fixed address variables to resolve country and region names instead of rendering raw IDs where possible
  • Fixed absolute image path handling so only real media-directory paths are accepted
  • Fixed currency symbol lookups to reuse resolved symbols during one request
  • Fixed unsafe admin designer HTML rendering for stored/imported layout values
  • Fixed saved-layout preview cache keys so same-second layout JSON changes no longer reuse stale PDFs
  • Fixed generated and duplicated layout codes so they stay within the database column length
  • Fixed the admin layout grid duplicate action so the duplicate controller is reachable
  • Fixed right-aligned item table values to measure the truncated rendered text
  • Fixed generic table cell formatting to avoid re-formatting already formatted variable output
  • Fixed designer undo history initialization and keyboard movement history tracking
  • Fixed PDF designer exports so page and zone settings are preserved instead of reset to defaults
  • Fixed duplicate save submissions in the admin designer

Version 1.0.2 - 2026-05-01

Fixed
  • Fixed admin PDF layout listing fulltext search

Version 1.0.1 - 2026-01-27

Fixed
  • Allow zero width/height for line elements to prevent preview validation errors
  • Align import validation for line elements with zero width/height support
  • Update QR code error correction handling to use Endroid QrCode enum API

Version 1.0.0 - 2026-01-23

Added
  • Added initial version
b2b-quote-opensign

Version 1.0.0 - 2026-05-18

Added
  • Initial release
Module-Specific Questions
How does the extension shorten quote turnaround time?

A clear status process with automated follow-up steps reduces idle time between sales, backoffice, and customer interactions.

How does price negotiation work day to day?

Counteroffers and price changes are captured directly on the quote, so decisions are made with full and current context.

How is responsibility kept clear with many participants?

Status transitions can be controlled by actor per step, which keeps approvals structured and reduces unnecessary back-and-forth.

How are messages and documents organized per quote?

Communication and attachments stay linked to each quote record, reducing search time and avoiding misunderstandings.

What is the practical benefit of rule-based pricing?

Recurring pricing decisions run automatically based on your conditions, improving consistency and reducing manual errors.

How does the module handle complex quote cases?

Quotes can be split, merged, and compared, so larger negotiations remain structured and traceable.

How do sales and management keep visibility?

Dashboards and KPI views expose volume, progress, and bottlenecks early so teams can steer proactively.

What happens to inactive or expiring quotes?

Reminders and automated cleanup keep open work visible and prevent old drafts from blocking process quality.

How is quote conversion to order handled?

Approved quotes are converted directly into orders, removing duplicate entry and accelerating checkout readiness.

Is this solution only for B2B scenarios?

The core focus is B2B negotiation, while B2C scenarios with negotiated pricing and approvals can also be handled effectively.

General Questions
How many Magento installations is the license valid for?

The license is valid for one Magento installation, including multi-website operation. In addition, the module may be installed on any number of development or staging servers. You can find further details in our license terms.

Is installation included in the price?

Installation and configuration are not included in the price. On request, we can support you with a smooth integration into your system.

What payment methods are available?

You can pay by credit card (Stripe) or bank transfer (prepayment). For credit card payments, the order is processed immediately and the access credentials are provided directly in a separate follow-up email.

What does the order process look like?

After credit card payment, you immediately receive access credentials to obtain the module via Composer. For bank transfer, access is granted once the invoice is paid.

I need a custom modification of the module. Is that possible?

Custom requests are no problem. We tailor our Magento 2 modules to your project and maintain a dedicated internal version so we always know exactly what runs on your system for support.

Can I install a demo version locally?

On each module detail page, you can request your own demo instance and test the module intensively for 7 days. However, we do not provide a local demo version.

Is the source code encrypted?

No, the source code of our modules is not encrypted. If you need a customization, feel free to send us a request. We will get back to you promptly with a non-binding quote.

What is the update policy and support?

You can add a support package to your order. It includes assistance as well as updates and upgrades related to the module. No continuous subscription is required.

I already have a license. How can I perform an update?

You can complete the license update here. If you have an active support package, you receive updates automatically via Composer. If your support package has expired, you can renew your license here or in your account.

I have another question — how can I contact you?

You can reach us anytime via eMail.

B2B Quote

×

Ideal for these industries & use cases

RFQ process

Capture and process quote requests in a structured flow from intake to decision.

Price and condition negotiation

Run transparent negotiations with documented counteroffers and approvals.

Project-based quoting

Assign quotes to projects and keep multiple negotiation tracks separated.

Automated pricing logic

Apply quote rules consistently and reduce manual pricing decisions.

Cross-team sales workflow

Coordinate tasks, statuses, and decisions across sales and backoffice teams.

Quote to order

Convert accepted quotes directly into orders and shorten the path to close.

Try it without risk

Request a personal demo instance and evaluate the module directly in backend and frontend under real conditions — without local installation.

For developers

Practical Magento 2 guides, technical developer documentation, and API references (REST, SOAP, GraphQL) for installation, configuration, and troubleshooting.

Go to Knowledge Base