Magento 2 Extension

B2B Quote

Let customers request a quote from the product page or cart, negotiate prices with your sales team, and turn an accepted quote into a Magento order.

Current Version
1.1.15
Magento
2.4.6 - 2.4.9
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.

Features

What the module does.

  1. Quote creation from multiple touchpoints

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

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

  3. End-to-end quote lifecycle

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

  4. Structured counteroffer negotiation

    Handle customer and sales counteroffers directly inside each quote.

  5. Full change history

    Track pricing and status changes transparently for faster decisions.

  6. Contextual messages and files

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

  7. Attachment policy controls

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

  8. Rule-driven pricing logic

    Apply quote conditions consistently with configurable pricing rules.

  9. Event-driven follow-up actions

    Trigger notifications and process steps automatically on status events.

  10. Dashboard KPIs and insights

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

  11. Customer quote workspace

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

  12. Split, merge, and compare

    Structure complex quote scenarios flexibly without losing context.

  13. Project-based quote organization

    Group quote activity by project to keep larger negotiations structured.

  14. Controlled quote surcharges

    Add extra costs transparently to quote calculation and presentation.

  15. Direct quote-to-order conversion

    Convert approved quotes into orders without duplicate data handling.

  16. PDF Designer (Add-On)

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

  17. OpenSign (Add-On)

    Add digital signatures for binding quote approvals without process breaks.

Description

How it works.

B2B Quote is a Magento 2 request for quote (RFQ) extension for stores that agree prices or terms before an order is placed. Customers can start a quote from a product page, the cart or their account. Your sales team reviews the request in Magento, prepares an offer and continues the conversation there. Once both sides agree, the quote can move directly into an order.

Many B2B stores still handle quotations through email, spreadsheets and separate PDF files. That makes it hard to answer simple questions: Which price is current? Did the customer accept the last version? Was shipping included? Who is waiting for a reply? B2B Quote keeps products, prices, addresses, messages, files and status changes on one quote record, so the next person can see the full case without reconstructing an email thread.

A customer can add one product or a full cart to a quote, enter the required quantities and explain what is needed. File attachments are useful for specifications, drawings or purchasing documents. Guest quote requests can be enabled when you do not want to require an account before the first enquiry. Registered customers manage their quotes from the customer account.

Sales staff can create quotes for customers in the Magento admin, add or remove products, adjust quantities and prices, include shipping and payment details, add a purchase order number and set an expiry date. Messages and attachments remain connected to the quote. This gives the customer and the sales team one place to discuss the offer instead of sending new versions back and forth.

Customers and sales staff can respond with revised prices or requirements. Revision tracking records important changes, while configurable statuses show whether a quote is still a draft, waiting for review, approved, rejected, expired or ordered. You decide which customer, admin or system action may move a quote to the next status and whether a note is required.

Pricing rules can apply conditions based on details such as quantity, customer group, products or quote value. Workflow rules can send notifications or perform follow-up actions when selected events occur. Your team can still edit an individual quote, but common cases do not have to start from a blank offer every time.

The quote can carry billing and shipping addresses, shipping and payment methods, discounts, taxes, negotiated item prices and additional fees. Inventory can be reserved when a quote is approved and released again after rejection or expiry, depending on your configuration. This helps prevent a sales promise from becoming detached from the stock and checkout rules used by Magento.

Quotes can be copied, split, merged and compared. They can also be assigned to projects, categories and tags. This is useful when a buyer asks for alternatives, when one enquiry has to become several offers, or when a longer project produces multiple quote rounds. Agreements and call-off quotes support customers who order agreed quantities over time.

The customer can accept an approved offer and continue to the order process with the negotiated products and prices. An admin can also convert a valid quote to an order. Magento validates the configured price, stock, shipping and payment requirements during this step, which reduces the risk of copying outdated quote data into a new order by hand.

B2B Quote can generate individual quote PDFs, ZIP exports for multiple quote documents and a PDF dashboard report. Six layouts are included: Classic, Minimalist, Sidebar, Color Block, Compact and Executive. You can configure company information, the logo, footer text, item notes and the statuses in which a customer may download a PDF.

The PDF Designer adds a visual editor for custom document layouts. OpenSign can require a digital signature before a quote is accepted. Separate add-ons are also available for Hyvä storefronts, REST and SOAP APIs, GraphQL, and quote import and export. These add-ons are not presented as features of the base license.

B2B Quote is suited to wholesalers, manufacturers, distributors and other Magento 2 stores where the final price depends on quantity, project requirements, delivery conditions or direct negotiation. The personal demo includes the available add-ons, so you can test the complete buyer and admin workflow before choosing the modules needed for your store.

Screenshots

What it looks like.

Changelog

What has changed.

B2B Quote

Version 1.1.15 - 2026-11-05

Fixed
  • Rejected invalid quote item quantities before changing or saving the quote
  • Prevented customers from changing seller prices on quote items

Version 1.1.14 - 2026-10-19

Fixed
  • Sent customer file attachments when their stored MIME type is missing

Version 1.1.13 - 2026-10-12

Changed
  • Rendered PDF layout previews in system configuration as embedded images instead of inline SVG markup
Fixed
  • Fixed the Merge Quotes dialog on My Quotes rendering empty, so no target quote could be selected and merges could not be submitted
  • Fixed checkout shipping estimation failing with a "quote does not exist" error when the cart still referenced a deleted B2B quote
  • Fixed CSV and Excel export for the quote item, message, attachment, revision, and customer quote grids so exports are limited to the quote or customer being edited
  • Fixed the quote address section disappearing entirely when a customer has no address book entries; the quote form now shows an inline billing and shipping address form so the quote can be completed and submitted
  • Fixed inline quote address fields (company, region id, email, VAT id) being silently dropped when saving quote addresses
  • Fixed shipping method estimation not loading when entering an inline address on the new quote page; rates are now estimated from the current item rows via the pre-quote endpoint
  • Fixed the bulk item import failing with an invalid form key error on the quote create and edit pages
  • Fixed the Add to Quote button ignoring the per-customer quote limit and allowed customer group restrictions on full-page-cached catalog pages; the button is now hidden via the personalized mini quote customer data
  • Fixed removing quote items and refreshing totals on the quote edit page failing with a script error
  • Fixed the edit project and cancel quote modals not opening because of double-wrapped modal markup
  • Fixed admin delete buttons and mass actions on B2B Quote pages submitting without a form key so deletes silently redirected to the dashboard
  • Fixed the customer quote list AJAX endpoint returning an error instead of refreshed list data when price display is enabled
  • Fixed configurable product options (e.g. size, color) not being stored on quote items added through the quote form product search; items now resolve through the parent product so selected options display on the quote view, compare, accept modal, and notification emails
  • Fixed the quote form product search listing products that are not assigned to the current website; results are now scoped to the active store's website so unassignable products no longer appear
Add-On: GraphQL API

Version 1.1.1 - 2026-10-12

Fixed
  • Customer-facing quote, message, and revision responses no longer expose internal admin note, admin user ID, and attachment file path fields

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
Add-On: SOAP / REST API Interface

Version 1.0.0 - 2026-01-23

Added
  • Added initial version
Add-On: CSV Import / Export

Version 1.0.2 - 2026-09-07

Added
  • Added an opt-in setting for exporting guest quote access tokens, tokens are now omitted by default
Fixed
  • Fixed import identity resolution for store-scoped quotes, statuses and fees, website-scoped customers, products and workflow transitions
  • Fixed Add/Update imports so omitted values are preserved, invalid values are rejected before persistence and quote relations are updated atomically
  • Fixed quote, item and revision exports to retain current agreement, currency, totals, optional-item and portable quote-reference data
  • Fixed guest quote round trips, sample CSV downloads and command-line failure handling

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
Add-On: Hyvä Theme Compatibility

Version 1.0.4 - 2026-10-12

Changed
  • Restyled the quote edit page on Hyvä: form sections, quote items table, messages, attachments, quote actions, and the history timeline now render with Hyvä-native styling instead of inherited Luma styles
Fixed
  • Fixed the sort order toggle on the My Quotes page never reaching descending order because Alpine components initialized twice and each click toggled the direction twice
  • Fixed the customer dashboard Recent Quotes block on Hyvä rendering unstyled without a card, table padding, or a visible action link
  • Fixed configurable products added from the Hyvä quote form losing their selected options after saving; the parent product is now submitted so Magento resolves the child and records the option labels
  • Fixed a fatal error on the My Quotes page and customer dashboard caused by an incorrect `formatPrice` call in the Hyvä templates
  • Fixed the mini quote header icon missing and the quote dropdown rendering unstyled on Hyvä
  • Moved the "My Quotes" link into the account dropdown menu, matching the Luma top links placement
  • Customer-specific quote restrictions such as quote limits and allowed customer groups are now applied to the Hyvä add-to-quote buttons
  • Fixed the quote totals footer on Hyvä rendering as detached item-table rows; totals are now aligned as a right-handed summary with an emphasized grand total
  • Fixed the Hyvä quote form showing no address section when the customer or guest has no saved addresses; it now renders the inline billing and shipping address form like Luma
  • Fixed pre-quote shipping estimation on the Hyvä new quote page: items were sent in a format the endpoint cannot read and item changes never retriggered estimation
  • Fixed quote status badges rendering without any styling across Hyvä quote pages and the dashboard; badges now show a soft-tinted pill in the configured status color
  • Fixed the My Quotes list on Hyvä ignoring status filter, sorting, and pagination clicks; the list now renders client-side from the JSON endpoint like the mini quote widget

Version 1.0.3 - 2026-09-02

Fixed
  • Fixed quote and project interactions, dynamic rows, and frontend translations when Hyvä's strict Content Security Policy mode is enabled

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`
Add-On: PDF Designer

Version 1.0.8 - 2026-10-12

Fixed
  • Saving an existing PDF layout keeps its code, so the layout stays assigned in the store-view PDF configuration and remains protected from deletion
  • Saving a new layout with "Save & Continue" now keeps editing the created layout instead of creating a duplicate on the next save

Version 1.0.7 - 2026-10-01

Changed
  • Replaced the remote URL option in the designer image dialog with a Magento media library picker
  • Image elements and page backgrounds now only render images from the media library or local uploads
Fixed
  • Sanitized the stored SVG layout preview on save and duplication so scriptable markup can no longer be persisted through the admin layout endpoints

Version 1.0.6 - 2026-08-31

Changed
  • Required B2B Quote 1.1.10 or newer
Fixed
  • Kept custom PDF layouts compatible with quote-specific currencies when used with current B2B Quote releases
Add-On: OpenSign

Version 1.0.2 - 2026-10-12

Fixed
  • Rejected unauthenticated webhook updates when the shared secret is missing or supplied through a query parameter

Version 1.0.1 - 2026-08-04

Fixed
  • Restricted signature creation and status updates to approved quotes, preserved terminal signed requests, and rejected non-successful OpenSign responses without exposing remote data.

Version 1.0.0 - 2026-05-18

Added
  • Initial release

FAQ

Common questions.

About the module

What does the Magento 2 B2B Quote Extension do?

It adds a complete request a quote process to Magento 2. Customers submit products, quantities and requirements, sales prepares and negotiates the offer, and an accepted quote can be converted into an order.

Does Magento Open Source include a request a quote workflow?

Magento Open Source does not include the Negotiable Quotes feature supplied with Adobe Commerce B2B. B2B Quote adds quote requests, negotiation, approval and quote-to-order handling to a Magento 2 store.

Where can customers start a quote request?

Customers can start from a product page, convert the current cart into a quote, or create and manage quotes from their account. Your team can also create a quote for a customer in the Magento admin.

Can guests request a quote without creating an account?

Yes. Guest quotes can be enabled in the store configuration. A guest receives quote-specific access, while registered customers manage their requests in the customer account.

Can customers and sales staff negotiate prices?

Yes. Sales can adjust item prices and quote totals, while the customer can review the offer and respond. Messages, counteroffers and relevant changes remain connected to the quote.

Can sales staff create a quote on behalf of a customer?

Yes. An admin user can select a customer, create the quote, add products, set quantities and prices, and send the offer through the normal quote workflow.

Can we define our own quote statuses and approval steps?

Yes. Quote statuses and allowed transitions are configurable. You can decide whether a customer, admin or system action may perform a transition and whether the person must add a note.

How do pricing rules work?

Pricing rules evaluate configured conditions such as quantity, customer group, selected products or quote value. They can apply repeatable pricing actions while sales retains the ability to edit an individual offer.

Can the extension automate reminders and follow-up actions?

Yes. Workflow rules can react to quote events and trigger configured actions or notifications. Expiration reminders and cleanup of inactive drafts can also run automatically.

Are messages and file attachments stored with the quote?

Yes. Customers and admins can exchange messages and upload files within the quote process. Allowed file types, maximum size and availability by quote status are configurable.

How does an accepted quote become an order?

The customer can accept an approved quote and continue with the negotiated products and prices. An admin can also convert a valid quote into an order, subject to the configured price, stock, shipping and payment checks.

Can the extension reserve stock for an approved quote?

Yes. Inventory reservation on approval can be enabled. The reserved quantity can be released after rejection or expiration, depending on the store configuration.

Can quotes include shipping, payment details and extra fees?

Yes. Quotes can store addresses, shipping and payment methods, taxes, discounts, negotiated prices and quote fees. This allows the offer to reflect more than product prices alone.

Can we split, merge, copy or compare quotes?

Yes. The extension supports copying, splitting, merging and comparing quotes. Quotes can also be grouped by projects, categories and tags when a longer sales case needs more structure.

Does the main extension generate quote PDFs?

Yes. The base extension includes individual PDFs, ZIP export for multiple quote documents and a PDF dashboard report. It includes Classic, Minimalist, Sidebar, Color Block, Compact and Executive layouts.

What is the difference between the included PDFs and PDF Designer?

The main extension already creates configurable quote PDFs. PDF Designer is a separate add-on for teams that need a visual editor and fully custom document layouts.

Does B2B Quote work with Hyvä?

Hyvä support is available through the separate B2B Quote Hyvä add-on. The add-on supplies the storefront templates and styling needed for the quote workflow in a Hyvä theme.

Are REST, SOAP and GraphQL integrations included?

They are available as separate add-ons. The API add-on covers REST and SOAP integrations, while GraphQL is provided by its own add-on for headless storefronts and integrations.

Can quote data be imported or exported?

The main extension includes customer-facing bulk item entry and document exports. A separate Import and Export add-on is available for structured quote data exchange through Magento import, export and command-line workflows.

Can a customer create a new quote from a previous order?

Yes. Registered customers can convert a previous order into a new quote request. Admin users can also create a quote from an order when a repeat purchase needs new prices or conditions.

What are agreements and call-off quotes used for?

An agreement records negotiated quantities and terms for ongoing business. Customers can create call-off quotes against the agreement and consume the agreed quantity over time.

Can a digital signature be required before acceptance?

Yes, with the separate OpenSign add-on. When signature enforcement is enabled, the customer signs the generated quote PDF before the quote can be accepted.

Purchase, license and support

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.

How do I install a module?

Composer is PHP's package manager, and Magento 2 uses it to install modules and their dependencies. After purchase, the commands for your module are available under Licenses in your customer account. First add the private SoftwareSilo repository and your license token. Then install the listed package with composer require and run php bin/magento setup:upgrade and php bin/magento cache:clean.

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.

$999.00

Use cases

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.

Next steps

Try it first. Then buy.

  • Technical documentation

    Practical Magento 2 guides, developer documentation, and API references for installation, configuration, and troubleshooting.

    Go to Knowledge Base
  • Try before you buy

    Request a personal demo and test the module with realistic sample data in Magento Admin and the storefront. Take your time to see whether it fits your requirements and workflows.

  • Do you need a custom solution?

    Do your requirements go beyond the capabilities of our Magento 2 modules? We develop suitable Magento 2 modules and integrations for your business processes.

    Request now

Further reading

Guides for this module