Skip to content

B2B Request a Quote (RFQ) changelog

All notable changes to B2B Request a Quote (RFQ) (kv_b2b_quote_request) are documented here. The format follows Keep a Changelog and the project uses Semantic Versioning.

  • License verification works on servers without the PHP sodium extension (common on shared and cPanel hosting). Before, the signed answer of the license server could not be checked there, so the add-on entered the 14-day grace period and then switched its features off. The add-on now checks the signature with its own built-in Ed25519 code when the extension is missing.
  • License check. Enter your license key (or CS-Cart Marketplace license number) on the new License tab of the settings. The add-on verifies it with cs-cart.kaviolabs.com when the key is saved and then once a day, only from the admin panel or cron, never on storefront requests. The license covers the domain entered at purchase and all its subdomains; local development hosts are always allowed.
  • License card at the top of the add-on page, visible on every tab: the status in color (valid, development host, pending or grace period with the days left, Marketplace number pending verification, or switched off: not activated, invalid key, revoked, domain mismatch, not verified), what is switched off in plain words, the licensed domain, the result per storefront, the end of the updates period and the last and next check. Actions: Enter/Change license key, Check now, Manage license and, without a valid license, Buy a license. A cron entry point checks without the admin panel.
  • License badge next to the add-on name in Add-ons → Manage add-ons (for example License: Valid or License: Pending · 9 days left). Only administrators who may manage add-ons see license information; vendors never do.
  • License status bar on the add-on’s own admin pages (quote list and quote page): a small green chip when the license is valid, or a banner with the status, what is switched off and the actions.
  • Without a valid license for the store’s domain, customers can no longer send new quote requests: the “Request a quote” buttons and the quote list are hidden and hidden prices are shown normally. Existing quotes stay readable in the admin panel and in the customer account, and accepted quotes that have not expired can still be checked out at the quoted price. The admin panel shows a notice on other admin pages (the add-on page shows the card and the add-on’s own pages the status bar instead). New installations and upgrades from 1.0.x work for 14 days before a key is required, and if the license server cannot be reached the add-on keeps working for 14 days.
  • Singular and plural forms (“1 product”, “You have 1 offer waiting”) instead of “product(s)” and “offer(s)” in the customer quote list (new language variables, so in-place upgrades add them).
  • “Request a quote” button next to or instead of “Add to cart”, set for the store, per category and per product.
  • Hidden prices (“Price on request”) for chosen user groups, including guests.
  • Quote list with options, quantities, line notes, company and contact fields, message and attachments; guest requests with signed links.
  • My quotes in the customer account with seven statuses and a message thread with attachments and internal notes.
  • Offer editor: unit price or discount, offered quantity, quantity breaks, validity date, shipping note and message.
  • Accept and check out at the quoted prices (server-side checks on every cart calculation, orderable once), ask for changes, decline, automatic expiry.
  • Printable quote for print or PDF (storefront and admin).
  • Notification events and e-mail templates for customers, staff and vendors.
  • Multi-Vendor: requests split per vendor, vendor panel with own quotes only.
  • CS-Cart Ultimate: settings and quotes per storefront.
  • Full page cache support (4.21), CAPTCHA support for guest requests, REST API entity kv_b2b_quotes.