Quote Enterprise is an enterprise-class quote-to-order module for PrestaShop: customers request offers from cart or product pages, your team runs the full workflow with PDF proformas and negotiation, validity and reminders keep deals on track, accepted quotes convert to checkout - plus dashboard, audit log, bulk tools, REST API and team digests.
Quote Enterprise transforms PrestaShop into a complete quote-to-order sales desk. It enables customers to request quotes directly from product pages or their cart. Your team can then price items, create custom offers, and send professional PDF proposals. Buyers interact by accepting, negotiating, or declining on the storefront. Crucially, the module ensures a locked-price checkout, meaning agreed totals – including custom services, global discounts, and shipping – are maintained, preventing price discrepancies. It also features a comprehensive analytics dashboard, staff notification digests, a REST API, detailed audit logs, and quote validity automation, streamlining the entire sales process professionally.
Most "request a quote" add-ons stop at a form and an e-mail. Quote Enterprise runs the full quote-to-order workflow inside PrestaShop: customers request from cart or product page, your team prices and sends PDF offers, buyers accept or negotiate on the storefront, and checkout keeps the agreed totals - not catalogue prices that drift overnight. One module. A complete sales desk.
A lightweight add-on solves one screen. An enterprise-class solution closes the business process - with traceability, team workflow and a path to revenue - instead of leaving work in inboxes and spreadsheets.
The customer can review an offer, accept it, ask for changes or decline - on the storefront, not only by e-mail. Staff build the quote in back office, send a new version, and the conversation stays tied to one reference. When the buyer is ready, the shop converts the quote into a real order without re-keying lines.
Catalogue prices change. Campaigns end. Stock moves. Enterprise quote flow means the totals you negotiated are what the cart charges - including custom service lines, global discounts and shipping you set on the offer. No silent margin leak between "yes" and payment.
Pending quotes surface in scheduled digests to e-mail, Slack or Microsoft Teams - so sales sees a queue, not scattered threads. External systems can read and update quote status through a documented API. Managers assign ownership and act on many quotes at once when volume grows.
Who requested, who sent, who changed what, when validity expired, when the customer accepted - logged with actor name and context, not just a status field you hope is still accurate. Each sent version can be preserved so you can answer "what did we offer on Tuesday?" without guessing.
Offers expire on a schedule you define - minutes, hours or days. Reminders go out before the deadline. Expired quotes lock customer actions until staff extend validity and re-open the deal. Dashboards show what is waiting, what is about to lapse and how the pipeline converts.
PDF proformas with your branding, editable transactional e-mails, quote templates for repeat offers, rules for which products can be quoted, decimal quantities where it matters, and a customer account area where buyers track their quotes like they track orders - because for them, it is the same journey.
That is the bar an enterprise-class quote desk sets: closed loop, locked economics, team visibility and audit-grade history. Request for Quote Enterprise brings exactly that to PrestaShop - for any customer who needs a formal offer, from a single cart to a negotiated deal, without bolting together five separate plugins and hoping they agree on the price.
Not a contact form with a PDF attachment - a full quote desk inside PrestaShop. Every tile below maps to real screens, settings and automation you configure in back office.
Hooks on product page, cart summary and customer account. Whole-cart or single-SKU requests. Whitelist/blacklist by product, category, brand or supplier; minimum price; exclude virtual or out-of-stock items. Guest quotes optional; customer-group restriction; minimum cart value; GDPR checkbox and reCAPTCHA on the request form.
On the quote detail page the buyer sees line totals, PDF, team message and a timeline. Buttons: Accept , Request changes (with note), Decline . After expiry: Request re-opening . Staff get e-mail on each action; status moves to negotiation, accepted or rejected automatically.
Accepted quotes build a fresh cart bound to the offer. PrestaShop hooks override unit prices, line reductions, global discount (cart rule), shipping total and custom service lines (via a configurable fee product). Catalogue price changes never reach checkout.
Pipeline value and count (sent + negotiation + accepted), win rate, conversion rate, average days to order, funnel for the period, quotes expiring in N days, pipeline aging, top customers and employees, weekly/monthly/yearly trend charts. Period: 30, 90, 180 or 365 days.
Scheduled summary of quotes needing action: new requests ( pending_review ) and customer change requests ( negotiation ). Delivered by e-mail, Slack webhook or Microsoft Teams webhook. Interval in hours; fired from the cron URL.
Dedicated Audit log tab: who requested, sent, negotiated, accepted, rejected, converted, assigned or extended validity - with employee or customer actor. Each Save & send stores a revision snapshot so you can compare versions.
JSON over HTTP GET: list , get , pending , stats , update_status . API keys generated and revoked in back office; full documentation with curl examples on the API tab.
Per-quote or shop default validity in minutes , hours or days. Cron expires offers, sends qe-quote-reminder before deadline, locks customer actions when expired. Extending validity bulk or on save re-opens the quote to its prior status (e.g. sent).
On the Quotes list: tick rows, then assign employee, extend validity (with reopen count), send manual reminders, export CSV or XML. Filters by status, reference, customer and date range.
Every quote has a reference (configurable prefix, e.g. Q-2026-0042), an assigned employee, validity date and one of nine statuses. Staff and customers always see a human-readable label; the system enforces what is allowed at each step.
qe-request-staff ). Edit pricing in back office. qe-quote-sent ). Customer can accept, negotiate or decline. qe-quote-negotiation ). Revise lines and re-send. qe-quote-accepted ). id_order . Quote permanently locked. Visible on admin order tab. qe-quote-rejected ). No checkout. update_status .Typical happy path: request → staff prices → send → customer accepts → checkout at quoted totals → converted. Negotiation path: send → customer requests changes → staff revises → re-send (new revision) → accept → checkout. Every transition is logged; the storefront timeline shows the last events with expandable full history.
Most quote modules export a PDF and hope someone manually creates the cart. Quote Enterprise binds the accepted offer to checkout: unit prices, line discounts, global reductions, shipping and custom service totals flow into PrestaShop as the customer pays. Your team stops reconciling "what we quoted" with "what the shop charged."
A new cart is created with quoted quantities, linked to the offer, and a one-time cart rule applies global % or fixed discount.
PrestaShop price hooks read quoted unit prices and per-line reductions. Shipping uses the amount from the offer. Custom service totals map to a hidden fee product you pick in settings - one line, locked inclusive/exclusive price.
On order validation the quote becomes converted , stores id_order , clears cart binding and writes quote_converted to the audit log. Staff see quote reference on the order in back office.
Accept on the storefront, click Proceed to checkout , pay through your existing payment modules. Same addresses, carriers and tax rules - only the numbers are frozen to the offer.
Digests list pending_review + negotiation queue. API action=pending feeds CRM. Dashboard shows pipeline value and conversion rate for the period you choose.
Validity in minutes for flash offers or days for projects. Bulk extend validity reopens expired quotes. Reminder e-mails fire N days before expiry via cron.
Why this matters: A quote that never becomes an order is marketing. A quote that becomes an order at the wrong price is a dispute. Request for Quote Enterprise closes both gaps - the commercial loop and the price integrity - inside one PrestaShop module.
Screen-by-screen detail for shop owners and sales managers. What you click, what the customer sees, what gets e-mailed and what lands in the audit log.
Configure everything under Modules > Quote Enterprise . No scattered menus.
Three entry points, controlled independently in Settings:
The request form captures an optional message. On submit: quote record created as pending_review , lines copied from cart/product, staff notification sent, customer redirected to quote detail or account list. Guest requests create or match a customer record when allowed.
Decide exactly which catalogue items can be quoted - without hiding them from normal purchase.
Open any quote from the list. The editor is a full pricing workspace:
custom_total and checkout via the fee product you configure.The quote detail page is a wallet-style layout: reference badge, status colour, valid-until, offer total, PDF button, team message, line table with combination tags, subtotal / global discount / shipping / total.
This is what separates Quote Enterprise from "PDF and pray". When checkout starts:
Cart for the quote customer with correct currency and shop. qe_cart_quote . CartRule attached to the cart.Result: the invoice matches the PDF the customer signed off on - including negotiated discounts and extra service rows.
Generate from back office, customer account or link inside qe-quote-sent e-mail.
qe-request-staff - New customer request; link to back-office quote. qe-quote-sent - Offer ready; reference, totals, view link, PDF link. qe-quote-negotiation - Customer asked for changes; includes their note. qe-quote-accepted - Customer accepted; checkout encouragement. qe-quote-rejected - Customer declined. qe-quote-reminder - Validity ending soon (cron + manual bulk reminder). qe-staff-digest - Pending queue summary for sales inbox.Edit subject and HTML/text body per language. Placeholders: customer name, reference, totals, shop name, quote URL, PDF URL, valid-until, and more from the editor sidebar.
When enabled, cron checks how many quotes need staff action. If count > 0 and interval elapsed since last send:
qe-staff-digest ).Queue = pending_review (new) + negotiation (customer waiting for revised offer). Interval in hours prevents spam; force-send available from cron for testing.
Front controller endpoint (documented on API tab). Authenticate with api_key query param. JSON responses. Multistore: pass id_shop .
status filter.Append-only quote_audit_log table. Each row: timestamp, action code, message, actor (employee or customer name), JSON context.
Common actions:
quote_requested , quote_sent , quote_updated , quote_negotiation , quote_accepted , quote_rejected , quote_expired , quote_validity_extended , quote_assigned , quote_converted
Revisions table stores JSON snapshot of lines and totals each time you Save & send - version number on the quote increments. Answer audit questions without restoring database backups.
Select rows with checkboxes. Panel below the list (inside the form so POST works):
qe-quote-reminder for sent/negotiation quotes still valid.Mark a quote as template to reuse standard bundles (e.g. "Starter kit + installation"). Templates excluded from dashboard KPIs.
Duplicate any quote from the list - copies lines, discounts and structure; you adjust customer and validity before send. Create from template spawns a new live quote in one click for repeat buyers.
After conversion the quote row stores PrestaShop order ID. On Orders view in back office a tab/section shows quote reference, status and link back to the quote editor - so support sees what was agreed without searching e-mail. Customer order detail can expose quote reference when theme hooks are active.
One HTTPS URL with secret token (copy from Settings; regenerate if leaked). Hit it from server crontab every 15-60 minutes.
valid_until passed - status expired, customer actions locked, audit entry with previous status preserved for reopen.That is the full picture: request, price, negotiate, lock, checkout, convert - with PDFs, e-mails, API, digests and audit trail at every step. Request for Quote Enterprise is one module for shops that treat quotes as revenue, not inbox noise.
You asked for the technical side. Here is what actually ships: not a contact-form plugin, but a quote-to-order engine with locked checkout hooks, revision storage, REST API, cron automation and a full admin desk - built for PrestaShop 1.7.x, 8.x and 9.x.
PHP, SQL, JavaScript, CSS and Smarty across 137+ source files (excluding translation packs): quote editor, locked-price cart, dashboard SQL, PDF renderer, API and cron.
quoteenterprise.php wires hooks, install, configuration, storefront buttons, checkout price override and order conversion - the orchestration layer.
Cart, product, customer account, header assets, actionProductPriceCalculation , actionCartGetPackageShippingCost , actionValidateOrder and admin order panels.
Ready-made translations/*.php files for back office, storefront wallet UI and module strings - major EU and world markets from day one.
ps_quote , ps_quote_detail , ps_quote_audit_log , ps_quote_revision , ps_qe_cart_quote , ps_quote_api_key . date_sent , date_accepted , date_converted ), shipping/custom totals and template flags. Quote , QuoteDetail , QuoteAuditLog , QuoteRevision , QuoteApiKey with install helpers and CRUD. QE_* - visibility JSON, analytics periods, digest webhooks, PDF, reCAPTCHA, cron token, fee product ID and validity units. classes/ : QuoteConverter , QuoteDashboard , QuoteExpiry , QuoteApi , QuoteNotifyDigest , QuoteBulkActions and more. request , list , view , pdf , cron , api ; BO AdminQuoteEnterpriseQuotes + audit log tab controller. searchTool (product autocomplete in editor), emailTemplatesManager (per-language mail editor), prestashop9compatibility (price display across PS versions). actionProductPriceCalculation - reads quote_detail unit prices and per-line reduction % for the bound cart. actionCartGetPackageShippingCost - returns quoted shipping_tax_incl instead of carrier calculation. actionValidateOrder - marks quote converted, stores id_order , clears qe_cart_quote binding. QE_FEE_PRODUCT_ID - single cart line at locked excl/incl price from the quote. list , get , pending , stats , update_status ), JSON over HTTP GET, API key auth, documented in BO with curl examples. QE_REMINDER_DAYS ), digest dispatch; lazy expiry on quote page load as fallback. QE_NOTIFY_DIGEST_INTERVAL_HOURS . mails/en/ (HTML + TXT pairs) installable per language; editable via bundled emailTemplatesManager. Request captured in FO. Price locked at checkout. Conversion traced in audit rows. That is the engineering contract behind Quote Enterprise. Your customer sees a quote wallet and a checkout button. You get a full quote desk - revisions, API, digests and dashboard SQL included.
17,800+ lines of code across 180+ module files and v1.7.0 of continuous development with 18 upgrade migrations . Not a weekend contact form. A quote-to-order infrastructure your shop can rely on when offers are negotiated, time-bound and worth measuring.
Quote Enterprise optimizes your sales process by fully automating the quote-to-order workflow. From customer requests and staff pricing to negotiation, acceptance, and locked-price checkout, it streamlines operations with analytics, staff notifications, and API for maximum efficiency.
Quote Enterprise boosts sales by transforming requests into paid orders. It facilitates seamless customer negotiation and ensures agreed prices through locked-price checkout. This complete module minimizes abandoned quotes, streamlines conversions, and directly contributes to increased revenue.
With 15 years of PrestaShop experience informing its design, Quote Enterprise delivers a robust quote-to-order workflow. This module's locked-price checkout, comprehensive audit logs, and powerful API reflect deep platform insight, ensuring reliable and precise sales management, from initial request to converted order.
**Quote Enterprise** offers unparalleled customization, allowing you to precisely define quotable products, tailor pricing and services in the editor, customize PDF offers with branding, and personalize all email templates. It perfectly fits your store's unique sales desk.
Quote Enterprise offers full access to its 17,800+ lines of PHP, SQL, JS, CSS, and Smarty source code. No hidden files; complete transparency allows advanced customization and seamless integration for your entire quote-to-order workflow.
Quote Enterprise offers a perpetual license, enabling unlimited use of its comprehensive quote-to-order workflow. Enjoy free updates for a full year, ensuring your sales desk remains cutting-edge. Beyond that, access to updates can be renewed with discounts up to 90%.