Zum Inhalt springen
Shopware 6 Manual

Price on Request

Price on request for Shopware 6: replace or extend prices with an enquiry button and form, hide prices or disable the cart – per product, category and sales channel.

Version 6.7.10 Compatible with 6.7.0 und neuer 43 min read
On this page

Introduction

With Price on Request you decide for every product whether customers buy it as usual, request a price instead, or do not see a price at all. A single click on the enquiry button turns into a complete enquiry – with product name, product number, quantity and a link to the product.

What you achieve with this plugin

  • You show “Price on request” instead of the price for selected products – for example for made-to-measure items, large quantities or prices you only quote individually.
  • Your customers request a quote with one click. The enquiry form is already prefilled with the product.
  • You can show the price and still accept enquiries only, not orders.
  • Products that are only available on request cannot be added to the cart through a back door either.
  • You control everything per product, apply settings to whole categories and exclude individual customer groups – for example dealers who should order as usual.
  • With the Flow Builder you receive every enquiry by email and can send the customer an automatic confirmation.
  • With the add-on feature Request a sample, your customers request a sample of sample-capable products of the “Sample order” plugin – through a separate form that you can receive apart from price enquiries.
  • Every setting applies per sales channel. For example, you use the feature in your B2B shop only and leave your B2C shop unchanged.

Features at a glance

FeatureWhere to find it
Switch the plugin on or off per sales channelPlugin configuration, card “Sales channel”
Unlock “Request a sample”, form page and display of sample requestsPlugin configuration, card “Request a sample”
Automatic request mode for products with a price of 0Plugin configuration, card “Price on request for products with a price of 0”
Exclude customer groups, button colours, texts in listings and search, quantity field, form pagePlugin configuration, card “Further settings”
Status and sample handling per productProduct, tab “Specifications”, card “Custom fields”
Apply the settings of a category to all its productsCategory, tab “General”, card “Custom fields”
Enquiry form with receiver addresses and confirmation textContent → Shop pages → “Price enquiry form”
Sample request form with its own receiver addresses and confirmation textContent → Shop pages → your own page with form type “Sample request”
Email to you and to the inquirer – for price enquiries and sample requestsAutomation → Flow Builder

Who is this plugin for?

For shop owners who do not want to show every price publicly or who quote individually for certain products: manufacturers of made-to-measure products, wholesalers, B2B shops and anyone who calculates projects, special sizes or volume quantities individually.

Installation

After purchase, the plugin is available directly in your Administration – there is nothing to download.

  1. Log in to your Shopware Administration (YourShop.com/admin).
  2. Open Extensions → My extensions.
  3. In the Apps tab, search for Price on Request and click Install next to the entry.
  4. Activate the plugin with the toggle to the left of the entry.

Price on Request in My extensions, installed and active Fig. 1: The plugin is installed and active. “Configure” takes you to the settings.

During installation, the plugin automatically sets up everything you need to get started:

  • the shop page Price enquiry form with a ready-to-use enquiry form – it is already selected as the form page in the plugin configuration,
  • the email template Receive price enquiry form,
  • the flow template PriceOnRequest - Form has been sent,
  • for sample requests, the email template Receive sample enquiry form and the flow template PriceOnRequest - Sample request form has been sent,
  • the custom fields Price on Request on products and categories.

After activation, the plugin is switched on in all sales channels. Nothing changes in your shop yet, though, until you put the first product on request (“Setting the Status on a Product”).

Important: To receive enquiries by email, you create a flow once. This takes a minute and is described in the chapter “Email and Flow Builder”.

If Price on Request does not appear in the list, your Shopware account is not yet connected to the shop. You can do this under Extensions → My extensions by logging in with your Shopware account.

Step-by-Step Setup

Opening the configuration and choosing a sales channel

Open Extensions → My extensions and click Configure next to Price on Request.

Plugin configuration with the sales channel selector Fig. 2: At the very top you choose the sales channel, followed by the cards “Sales channel” and “Request a sample”.

At the very top of the page is the Sales Channel selector. As long as it shows All Sales Channels, your settings apply to every shop. If you select a single sales channel, you can save different values for exactly that shop. Anything you do not change there is taken over from All Sales Channels.

Why this is useful: If you run a B2B and a B2C shop, you can, for example, show “Price on request” in the B2B shop only and colour the enquiry button to match each shop’s design.

The to documentation button opens this manual at any time.

Click Save at the top right after every change.

Switching the plugin on or off for a sales channel

The Enable plugin for this sales channel toggle in the Sales channel card determines whether Price on Request is active in the selected shop. After installation it is switched on.

If you switch it off for a sales channel, that shop behaves as if the plugin did not exist: prices and cart appear as usual, there are no enquiry buttons – including Request a sample – and the enquiry forms do not accept enquiries there.

Why this is useful: You pause the plugin for one shop without uninstalling it and without losing the settings on your products.

Putting products with a price of 0 on request automatically

In the Price on request for products with a price of 0 card you decide how products without a price behave – for example, that they show “Price on request” instead of “€0.00”.

  1. Switch on Activate.
  2. Under Request mode, choose how these products should behave. The options are Deactivated, Activated, Individual price on request, Hide prices, Show prices, hide cart and No quantity selection, only show enquiry button. The chapter “Setting the Status on a Product” explains what each mode does.
  3. Click Save.

The selected mode applies to every product with a price of 0 or below. After installation this automation is switched off.

Why this is useful: You simply maintain products whose price you only quote on request with a price of 0 – and do not have to set a status on each individual product.

Important: While the automation is switched on, products with a price of 0 always use the mode selected here – even if you have set a different status on the product itself.

Excluding customer groups from Price on Request

At the top of the Further settings card you will find the Deactivate for the following customer groups field. Select the customer groups for which Price on Request should not apply.

Customers in these groups see price and cart as usual for all products and can order normally.

Why this is useful: Your regular customers or dealers with negotiated terms order directly, while new visitors request a quote.

The same field is also available on every product and category (“Setting the Status on a Product”). There you exclude customer groups for individual products only.

Setting the colours of the enquiry button

Colour fields for the enquiry button Fig. 3: Six colour fields, separated by product page and product listing.

Six colour fields let you match the to request form button to your design:

  • Enquiry button: font colour (product page), Enquiry button: background colour (product page) and Enquiry button: border colour (product page) apply to the button on the product page.
  • Enquiry button: font colour (product listing), Enquiry button: background colour (product listing) and Enquiry button: border colour (product listing) apply to the button on category pages and other product listings.

If you leave a field empty, the button uses the colour of your theme. The three colour fields for the product page also apply to the Request a sample button (“Request a Sample”).

Why this is useful: You make the enquiry button visibly different from Add to shopping cart. Customers immediately recognise that they request a quote for this product rather than buying it directly.

Display in listings, search and on the product page

Display toggles, form page and moorl Forms compatibility Fig. 4: Toggles for texts and the quantity field, the form page selector and the “moorl Forms compatibility” card.

Prefill comment field with text and product link When this toggle is on, the Message field of the enquiry form already contains “I am interested in:” followed by the link to the product. You can see at a glance which product every enquiry is about. When it is off, the message field stays empty. The subject contains the product name and product number in both cases.

Show price on request text in listings Shows “Price on request” in place of the price on category pages and other product listings. If you switch it off, that spot stays empty. After installation it is switched on.

Show price on request text in search suggestions Shows “Price on request” instead of a price in the suggestions below the search field. If you switch it off, nothing is shown there. After installation it is switched on.

Show quantity field for price on request products Shows a quantity field next to the enquiry button on the product page. The selected quantity later appears in the subject of the enquiry, for example “Quantity: 5”. The quantity field appears for the statuses activated and show prices, hide cart. After installation the toggle is switched on.

Why this is useful: If a customer requests the quantity right away, you can calculate volume prices immediately without having to ask.

Choosing the form page and how it opens

Under Shop page / CMS page with the enquiry form you choose the page that opens when a customer clicks to request form. After installation the page supplied with the plugin is already selected. Depending on the language it is called Price enquiry form or Preisanfrage-Formular.

Important: If no page is selected here, the shop does not show an enquiry button.

Display the page as a full shop page (deactivated: as a modal box) determines how the form opens:

  • off (after installation): the form opens in a window on top of the product page. The customer stays on the page and simply closes the window after sending.
  • on: the customer goes to a separate page with the form.

The chapter “Setting Up the Enquiry Form” explains how to customise the form page.

Working with moorl Forms

You only need the moorl Forms compatibility card if your form page contains a form from the moorl Forms plugin instead of the Shopware form.

  • In moorl Forms: technical name of the subject field, enter the technical name of the form field that should be prefilled with the product name. The preset value is subject_priceonrequest.
  • In moorl Forms: technical name of the comment field, enter the technical name of the field that receives the link to the product. The preset value is comment_priceonrequest. This field is only filled if Prefill comment field with text and product link is switched on.

The easiest way is to use exactly these two names in your moorl Forms form. If you use the Shopware form, leave the values unchanged.

Setting the Status on a Product

What this gives you: You decide for each individual product whether customers buy it, request it, or both.

Step by step

  1. Open Catalogues → Products and then the product.
  2. Switch to the Specifications tab.
  3. Scroll to the Custom fields card and open the Price on Request tab there.
  4. Under Status, select the behaviour you want.
  5. If required, select under Deactivate for the following customer groups the customer groups that may still buy this product as usual.
  6. Click Save.

Custom fields "Price on Request" on the product Fig. 5: The status “activated” is selected on the product.

The statuses and what they do

deactivated – The product behaves as usual.

activated – “Price on request” is shown in place of the price. Instead of Add to shopping cart, the customer sees the to request form button – with a quantity field if you like. This suits products whose price you only give in a personal quote.

individual price on request – Price and cart remain as usual. In addition, the to request form button appears on the product page. This suits products customers can buy straight away but for which they should request a quote for larger quantities or special requirements.

hide prices – “Price on request” is shown in place of the price. There is neither a cart button nor an enquiry button. This suits products you want to show but neither sell nor quote for.

show prices, hide cart – The price stays visible, the Add to shopping cart button disappears. Instead there is the to request form button – with a quantity field if you like. This suits products with a guide price where you agree every order personally beforehand.

no quantity selection, only show enquiry button – “Price on request” is shown in place of the price. There is only the to request form button, without a quantity field. This suits one-off productions where a quantity makes no sense.

At a glance

StatusPrice visibleAdd to shopping cartto request formQuantity field with enquiry button
deactivatedyesyesno
activatednonoyesyes, if switched on
individual price on requestyesyesyesno
hide pricesnonono
show prices, hide cartyesnoyesyes, if switched on
no quantity selection, only show enquiry buttonnonoyesno

The chapter “What Your Customers See” shows how this looks in the shop.

Tip: If no status is selected on a product, it behaves as usual – unless its price is 0 and you have switched on the automation from the section “Putting products with a price of 0 on request automatically”.

Important: Products with the statuses activated, hide prices, show prices, hide cart and no quantity selection, only show enquiry button cannot be ordered through a back door either – for example by entering the product number in the cart. Customers from excluded customer groups, however, can buy them as usual.

Applying Category Settings to Products

What this gives you: You switch a whole product group to request mode with a few clicks instead of opening every product individually.

Step by step

  1. Open Catalogues → Categories and select the category.
  2. In the General tab, scroll to the Custom fields card and open the Price on Request tab.
  3. Select the Status you want and, if required, the customer groups under Deactivate for the following customer groups.
  4. Click Save at the top right.
  5. Click Apply settings to products at the bottom of the card.
  6. Confirm the question “Apply these settings to all products and subcategories of this category?” with Apply.

Category with the "Apply settings to products" button Fig. 6: The custom fields on the category with the button for applying them.

Afterwards, Shopware reports how many products received the settings, for example “Settings applied to 12 products.” The settings are applied to all products of this category and its subcategories. The subcategories receive the values as well.

Important: The status on the category has no effect on its own. Only clicking Apply settings to products changes the products. If you assign new products to the category later, click the button again.

Important: The applied values replace the products’ previous entries in the Status and Deactivate for the following customer groups fields – and in Sample handling if you have selected it on the category. If you want to treat individual products differently, adjust them directly on the product after applying.

Tip: If the button is greyed out, the category still has unsaved changes – click Save first. If it stays greyed out, your user account is not allowed to edit categories and products.

Setting Up the Enquiry Form

What this gives you: You decide who receives the enquiries, which heading the form shows and which message the customer sees after sending.

During installation, the plugin creates the shop page Price enquiry form. It contains a form with the form type Price enquiry, which the plugin adds to Shopware’s form element.

Step by step

  1. Open Content → Shop pages and then the page Price enquiry form.
  2. Open the settings of the form. The Element settings (Form) window opens.
  3. In the Content tab:
    • Form type: Price enquiry must be selected here.
    • Title: the heading above the form, for example “Request quote”. If the field is empty, the heading is “Request a price”.
    • Confirmation text: the message the customer sees after sending.
  4. In the Settings tab, enter the email addresses that should receive enquiries under Receiver addresses.
  5. Click Done and save the page.

Element settings of the form with form type Price enquiry Fig. 7: Form type “Price enquiry” with title and confirmation text.

Who receives the enquiry

  • If you have entered addresses under Receiver addresses, enquiries go to these addresses.
  • If the field is empty, they go to the Shop owner’s email address in Settings → Basic information.

These receivers are used by the Default option in the Flow Builder (“Email and Flow Builder”).

Which fields the customer fills in

The form asks for salutation, first name, surname, email, telephone number, subject and message. Salutation, email, subject and message are always required. Whether first name, surname and telephone number are required as well is set under Settings → Basic information – with the same toggles as for Shopware’s contact form, for example First name in contact forms required.

The form automatically includes your shop’s privacy notice and captchas.

Using your own form page

You can also design your own shop page, for example with text and an image above the form. Add a form element there, select Price enquiry as the Form type and select the page in the plugin configuration under Shop page / CMS page with the enquiry form (“Choosing the form page and how it opens”). If there is more than one form on the page, the plugin prefills the first one with the product data.

Email and Flow Builder

What this gives you: Every enquiry arrives in your inbox as an email. And your customer receives an immediate confirmation if you like.

Emails are sent by Shopware’s Flow Builder. A flow starts as soon as a customer sends the enquiry form. Without an active flow, no email is sent.

How to receive every enquiry by email

  1. Open Automation → Flow Builder and switch to the Flow templates tab.
  2. For PriceOnRequest - Form has been sent, click Create new flow from template.
  3. Make sure the Active toggle is switched on and click Save.

The flow sends the email Receive price enquiry form with the customer’s name, email address, telephone number, subject and message. In the template, the Recipient is set to Admin – so the email goes to all users with administrator rights in your Administration.

If the enquiries should go to the addresses you have entered in the form instead (“Setting Up the Enquiry Form”), open the Send email action in the flow and select Default under Recipient.

New in 6.7.10: the inquirer as sender or recipient

As with Shopware’s contact form, the Inquirer option is now available for price enquiries. You will find it in the Send email action of a flow with the trigger Price enquiry form has been sent.

Flow Builder: recipient "Inquirer" in the Send email action Fig. 8: In the “Send email” window you can choose Default, Inquirer, Admin and Custom.

Inquirer as sender If you select Inquirer under Sender, the email arrives with the customer’s name and email address as the sender. You reply directly from your email program without copying the address from the text.

Inquirer as recipient If you select Inquirer under Recipient, the email goes to the address the customer entered in the form. This way you send an automatic acknowledgement of receipt.

How to send the customer a confirmation

  1. Under Settings → Email templates, create your own template of the type Price inquiry form – with a text addressed to the customer. The supplied template Receive price enquiry form is written for you as the shop owner.
  2. Open Automation → Flow Builder and click Add flow.
  3. Choose Price enquiry form as the trigger and then Send.
  4. Add the Send email action. Select Inquirer under Recipient and your new template under Template.
  5. Click Save action, switch the flow to Active and click Save.

Tip: Both emails – the one to you and the confirmation to the customer – can be actions in the same flow.

Request a Sample

What this gives you: Your customers request a sample of sample-capable products with one click. The request reaches you with product name and product number – if you like, through a separate form, apart from price enquiries, with its own receivers and its own email.

“Request a sample” complements the “Sample order” plugin. There, customers order a sample using that plugin’s sample order button. With “Request a sample” they send a request instead. You decide per product which of the two options your customers see.

You need:

  • The “Sample order” plugin is installed and active. Only products set up as sample-capable there can show the Request a sample button.
  • The “Request a sample” feature is unlocked. It is an additional purchase within Price on Request (in-app purchase). Without this purchase, none of it appears in your shop.
  • The plugin is switched on for the sales channel (“Switching the plugin on or off for a sales channel”).

Unlocking the sample request feature

  1. Open Extensions → My extensions and click Configure next to Price on Request.
  2. In the Request a sample card, click Unlock “Request a sample”.
  3. Complete the purchase.

The card then shows the note “Request a sample” is unlocked. The purchase applies to the whole shop. You do not need to repeat it for each sales channel.

The "Request a sample" card in the plugin configuration Fig. 9: The “Request a sample” card with the settings “Shop page / CMS page with the sample request form” and “Display the sample request page as a full shop page (deactivated: as a modal box)”.

Note: If the card only shows a note that “Request a sample” requires the “Sample order” plugin instead of the button, that plugin is not installed or not active. Install and activate it under Extensions → My extensions, then open the configuration again.

Choosing the sample request form page and how it opens

In the Request a sample card you decide which form opens when a customer clicks Request a sample, and how it opens.

Shop page / CMS page with the sample request form Select the page with your sample request form here (“Creating your own sample request form”). If you leave the field empty, the button opens the page selected under Shop page / CMS page with the enquiry form (“Choosing the form page and how it opens”). After installation the field is empty.

Important: Without a page of its own, the sample request runs through the price enquiry form. It shows that form’s heading, goes to its receivers and starts the price enquiry flow. You can then only recognise it by the subject, which starts with “Sample request:”. If you want to receive sample requests separately, create a page of its own.

Important: If no page is selected either here or under Shop page / CMS page with the enquiry form, the shop does not show the Request a sample button.

Display the sample request page as a full shop page (deactivated: as a modal box) This determines how the sample request form opens:

  • off (after installation): the form opens in a window on top of the product page.
  • on: the customer goes to a separate page with the form.

This toggle only applies to sample requests. Price enquiries still use Display the page as a full shop page (deactivated: as a modal box).

What else applies to sample requests

Setting the sample handling on a product

What this gives you: You decide per product whether customers order a sample, request one, or both.

  1. Open Catalogues → Products and then the product.
  2. Switch to the Specifications tab.
  3. Scroll to the Custom fields card and open the Price on Request tab there.
  4. Under Sample handling, select the option you want.
  5. Click Save.

Custom field "Sample handling" on the product Fig. 10: The “Sample handling” custom field in the “Price on Request” tab on the product.

Order sample only – customers only see the sample order button of the “Sample order” plugin.

Request sample only – customers only see the Request a sample button. The “Sample order” plugin then hides its sample order button.

Order and request sample – customers see both buttons and choose for themselves.

If you select nothing, there is no Request a sample button. The product then behaves as it would without this feature.

The Request a sample button does not depend on the Status of the product. It also appears for products customers buy as usual, and for customer groups you have excluded under Deactivate for the following customer groups.

Important: Sample handling only takes effect for products that are sample-capable in the “Sample order” plugin. As long as “Request a sample” is not unlocked, the shop shows no Request a sample button even with Request sample only – and the sample order button stays visible.

Tip: The Sample handling field is also available on categories. Use Apply settings to products to apply it to all products of the category (“Applying Category Settings to Products”).

Creating your own sample request form

What this gives you: Sample requests arrive separately from price enquiries – with their own heading, receiver addresses, confirmation text and email.

The plugin does not create a page for sample requests during installation. Here is how to set one up:

  1. Create a shop page of your own under Content → Shop pages and add a form element.
  2. Open the settings of the form. The Element settings (Form) window opens.
  3. In the Content tab:
    • Form type: select Sample request.
    • Title: the heading above the form. If the field is empty, the heading is “Request a sample”.
    • Confirmation text: the message the customer sees after sending.
  4. In the Settings tab, enter the email addresses that should receive sample requests under Receiver addresses. If the field is empty, they go to the Shop owner’s email address in Settings → Basic information.
  5. Click Done and save the page.
  6. Select the page in the plugin configuration under Shop page / CMS page with the sample request form and click Save.

The form asks for the same details as the price enquiry form (“Setting Up the Enquiry Form”). As long as “Request a sample” is not unlocked, the shop does not show a form with this form type.

Important: Make sure to select Sample request as the Form type. Only then does the request start its own trigger Sample request form has been sent. With the form type Price enquiry, it arrives as a price enquiry.

With moorl Forms If your sample request page contains a form from moorl Forms instead of the Shopware form, enter the technical names of the fields in the moorl Forms compatibility card: under moorl Forms: technical name of the subject field (sample request) (the preset value is subject_samplerequest) and under moorl Forms: technical name of the comment field (sample request) (the preset value is comment_samplerequest). These fields work like the ones for price enquiries (“Working with moorl Forms”).

Receiving sample requests by email

What this gives you: Every sample request arrives in your inbox as a separate email – apart from price enquiries.

As with price enquiries, emails are sent by the Flow Builder. Without an active flow with the trigger Sample request form has been sent, no email is sent.

  1. Open Automation → Flow Builder and switch to the Flow templates tab.
  2. For PriceOnRequest - Sample request form has been sent, click Create new flow from template.
  3. Make sure the Active toggle is switched on and click Save.

The flow sends the email Receive sample enquiry form with the customer’s name, email address, telephone number, subject and message. In the template, the Recipient is set to Admin – so the email goes to all users with administrator rights. If sample requests should go to the Receiver addresses of your sample request form, open the Send email action in the flow and select Default under Recipient.

The Inquirer option is available here too, as Sender and as Recipient (“Email and Flow Builder”). To send the customer a confirmation, create your own email template of the type Sample inquiry form and choose Sample request form and then Send as the trigger of the flow.

Important: This flow only starts for requests from a form with the form type Sample request (“Creating your own sample request form”). Without a page of your own, sample requests use the price enquiry flow.

What sample requests look like in the shop

Product page with the "Request a sample" button Fig. 11: The “Request a sample” button on the product page.

The Request a sample button appears on the product page. If there are several buttons, they appear in this order: Add to shopping cart, the sample order button of the “Sample order” plugin, Request a sample and to request form.

Open sample request form with prefilled subject Fig. 12: The open sample request form. The subject starts with “Sample request:”, followed by the product name and product number.

When the customer clicks Request a sample, the form opens – in a window or on a separate page, depending on your setting. The Subject contains “Sample request:”, followed by the product name and the product number in brackets. It does not contain a quantity. The Message contains “I would like to request a sample of:” followed by the link to the product if you have switched on Prefill comment field with text and product link. The customer adds their contact details and clicks Send. They then see your confirmation text.

What Your Customers See

The following images show the product page in Shopware’s default theme with the quantity field switched on.

Status “activated”

Product page with status activated Fig. 13: “Price on request” instead of the price, quantity field and the “to request form” button.

The price is hidden. The customer selects a quantity and opens the form with to request form.

Status “individual price on request”

Product page with status individual price on request Fig. 14: Price and “Add to shopping cart” remain, with “to request form” below.

The customer buys straight away at the displayed price or requests an individual quote.

Status “hide prices”

Product page with status hide prices Fig. 15: Only “Price on request”, without cart or enquiry button.

The product is visible but can neither be bought nor requested through the form.

Status “show prices, hide cart”

Product page with status show prices, hide cart Fig. 16: The price is visible; instead of “Add to shopping cart” there is a quantity field and “to request form”.

The customer sees the price as a guide and sends an enquiry with the required quantity.

Status “no quantity selection, only show enquiry button”

Product page with status no quantity selection, only enquiry button Fig. 17: “Price on request” and only the “to request form” button.

The customer requests the product without specifying a quantity.

On category pages and product listings

Category page with request products and regular products Fig. 18: Request products and regular products side by side.

In product listings, the products behave as follows:

  • activated and no quantity selection, only show enquiry button: “Price on request” and the to request form button.
  • show prices, hide cart: price and the to request form button.
  • hide prices: “Price on request” without a button.
  • individual price on request: price and Add to shopping cart as for a regular product. The customer finds the enquiry button on the product page.

The product listing only shows the enquiry button if Display buy buttons in listings is switched on under Settings → Products.

In the search suggestions below the search field, activated and no quantity selection, only show enquiry button show “Price on request” instead of a price. For hide prices, no price is shown there.

The reference price (for example the price per m²) is hidden together with the price. The hidden price also does not appear in the preview data that search engines and social networks read from the page.

Sending the enquiry

Open enquiry form with prefilled subject and message Fig. 19: The form opens on top of the product page. Subject and message are already filled in.

When the customer clicks to request form, the form opens. The Subject contains the product name and product number. For the statuses activated and show prices, hide cart it also contains the selected quantity. The Message contains the link to the product if you have switched this on in the configuration. The customer adds their contact details and clicks Send. They then see your confirmation text.

Updating from Older Versions

You start an update under Extensions → My extensions via the three-dot menu next to Price on Request and Update to 6.7.10.

When updating to 6.7.10, the plugin automatically takes over your existing settings:

  • New toggle per sales channel: the previous setting “Activate plugin for this channel” is now called Enable plugin for this sales channel. Its state is taken over for All Sales Channels and for every individual sales channel. If the plugin was switched off in a channel, it stays switched off there. If the previous setting was never saved, it counted as switched off – and stays that way after the update.
  • Placeholder receiver removed: the form page supplied with versions 6.7.4 to 6.7.9 contained the placeholder address test@tester.com. The update removes it from the Receiver addresses, and it is never used for sending.
  • New: Request a sample: the update adds the Sample handling custom field, the email template Receive sample enquiry form and the flow template PriceOnRequest - Sample request form has been sent. Nothing changes in your shop until you unlock the feature (“Request a Sample”).
  • Your statuses on products and categories, your form pages, email templates and flows are kept.

After the update, check:

  1. The Enable plugin for this sales channel toggle for every sales channel in the plugin configuration (“Switching the plugin on or off for a sales channel”).
  2. The Receiver addresses on your form page. If the field is empty, enquiries go to the Shop owner’s email address (“Setting Up the Enquiry Form”).
  3. Whether you want to use the new Inquirer option in the Flow Builder (“Email and Flow Builder”).

Note: If your agency has customised the plugin’s templates in your theme, pass on the note from the chapter “For Administrators / Technical Details”.

Troubleshooting

Nothing changes in the shop

Cause: The plugin is switched off for the sales channel, no status is selected on the product, or the customer belongs to an excluded customer group.

Solution:

  1. Select the affected sales channel at the top of the plugin configuration and check Enable plugin for this sales channel.
  2. On the product, check the Status in the Specifications tab under Custom fields → Price on Request.
  3. Check Deactivate for the following customer groups in the configuration and on the product.
  4. Clear the cache under Settings → Caches & indexes with Clear cache and reload the page.

The “to request form” button is missing

Cause: No form page is selected in the configuration. In product listings, the buy buttons may also be switched off.

Solution:

  1. Select a page under Shop page / CMS page with the enquiry form, for example Price enquiry form, and click Save.
  2. If the button is only missing in product listings, switch on Display buy buttons in listings under Settings → Products.
  3. With the status individual price on request, the enquiry button only appears on the product page – this is intended.

I do not receive an email for enquiries

Cause: There is no active flow with the trigger Price enquiry form has been sent, or the recipients are not what you expect.

Solution:

  1. Create the flow from the template PriceOnRequest - Form has been sent and switch it to Active (“Email and Flow Builder”).
  2. Check the Recipient in the Send email action: Admin writes to all users with administrator rights, Default to the Receiver addresses of the form page or to the Shop owner’s email address.
  3. Check whether your shop sends emails at all, for example with a test order.

The form shows an error message

Cause: A required field is empty, the email address is invalid, or the form was sent several times in quick succession.

Solution:

  • Fill in all fields marked with an asterisk. First name and surname must not contain links starting with http:// or https://.
  • If the form was sent several times in quick succession, wait a moment and try again. This protects you from spam.
  • If “The enquiry form is currently not available in this shop.” appears, the plugin is switched off for this sales channel.
  • If “Sample requests are currently not available in this shop.” appears, the plugin is switched off for this sales channel or “Request a sample” is not unlocked.

A customer reports “is a price on request product”

Cause: The customer entered the product number in the cart, but the product is only available on request.

Solution: None – this is intended. The customer uses the to request form button on the product page. If the customer should be able to order directly, exclude their customer group (“Excluding customer groups from Price on Request”).

The button colours are not applied

Solution: Check that you saved the colours in the right sales channel, and clear the cache under Settings → Caches & indexes with Clear cache. Remember that there are separate colour fields for the product page and the product listing.

The “Price on Request” custom fields are not visible

Cause: The plugin is deactivated. While it is deactivated, Shopware hides the custom fields. Your entered values are kept.

Solution: Activate the plugin under Extensions → My extensions.

The “Request a sample” button is missing

Cause: A requirement is missing: the feature is not unlocked, the product is not sample-capable in the “Sample order” plugin, no suitable Sample handling is selected on the product, or no form page is selected.

Solution:

  1. In the plugin configuration, check whether the Request a sample card shows the note “Request a sample” is unlocked.
  2. Check whether the product is set up as sample-capable in the “Sample order” plugin.
  3. On the product, select Request sample only or Order and request sample under Custom fields → Price on Request → Sample handling and click Save.
  4. Check whether a page is selected under Shop page / CMS page with the sample request form or under Shop page / CMS page with the enquiry form.
  5. Check Enable plugin for this sales channel for the affected sales channel and clear the cache under Settings → Caches & indexes with Clear cache.

The “Request a sample” card only shows a note

Cause: The “Sample order” plugin is not installed or not active. Without it, “Request a sample” cannot be unlocked.

Solution: Install and activate the “Sample order” plugin under Extensions → My extensions, then open the Price on Request configuration again.

Sample requests arrive as price enquiries

Cause: There is no page of its own with the form type Sample request. The button then opens the price enquiry page, and the request uses its trigger and receivers. You can only recognise it by the subject “Sample request:”.

Solution: Create a page with the form type Sample request and select it under Shop page / CMS page with the sample request form (“Creating your own sample request form”).

I do not receive an email for sample requests

Cause: There is no active flow with the trigger Sample request form has been sent.

Solution: Create the flow from the template PriceOnRequest - Sample request form has been sent and switch it to Active (“Receiving sample requests by email”). If sample requests come through the price enquiry page, the price enquiry flow applies instead.

FAQ

Q: Can I use Price on Request in only one of my shops?

A: Yes. Select the sales channel at the top of the plugin configuration and switch off Enable plugin for this sales channel for the other channels.

Q: Can dealers still order as usual?

A: Yes. Add their customer group under Deactivate for the following customer groups – for all products in the plugin configuration or for individual products directly on the product.

Q: What happens to products that are already in the cart when I put them on request?

A: They are removed from the cart as soon as Shopware recalculates the cart – for example when the customer opens it again. This applies to the statuses activated, hide prices, show prices, hide cart and no quantity selection, only show enquiry button. Price on Request never removes samples that customers add to the cart through the “Sample order” plugin.

Q: Can I change the texts “Price on request” and “to request form”?

A: Yes, under Settings → Snippets. Search for the text you want to change and adjust it for each language.

Q: Can I see which product an enquiry is about?

A: Yes. Product name and product number are always in the subject, and for the matching statuses the quantity as well. Also switch on Prefill comment field with text and product link to get the link to the product in the message.

Q: Does the status on a category automatically apply to new products?

A: No. After assigning new products, click Apply settings to products again (“Applying Category Settings to Products”).

Q: Can the form appear as a separate page instead of a window?

A: Yes. Switch on Display the page as a full shop page (deactivated: as a modal box). For sample requests, use the separate toggle Display the sample request page as a full shop page (deactivated: as a modal box).

Q: Do I need another plugin for “Request a sample”?

A: Yes. “Request a sample” builds on the “Sample order” plugin. Only products that are sample-capable there show the button. Without an active “Sample order” plugin, the feature cannot be unlocked.

Q: Does “Request a sample” depend on the status of the product?

A: No. The button appears regardless of the selected Status – also for products customers buy as usual. Customer groups you have excluded under Deactivate for the following customer groups see it as well.

Q: Can sample requests go to different receivers than price enquiries?

A: Yes. Create a page with the form type Sample request, enter its own Receiver addresses there and create a flow with the trigger Sample request form has been sent (“Request a Sample”).

Q: What happens when I uninstall the plugin?

A: If you choose Remove all app data permanently when uninstalling, the plugin deletes the shop page Price enquiry form, the email templates Receive price enquiry form and Receive sample enquiry form, all flows with the price enquiry and sample request triggers, both flow templates, the Price on Request custom fields and the plugin configuration. Without this option everything is kept, and you can continue straight away after reinstalling.

For Administrators / Technical Details

This section is intended for technical administrators and agencies. You do not need it for normal use.

System requirements

  • Shopware: 6.7
  • PHP: 8.2 or later

Installation via the command line

If the plugin is already present in your installation, install and activate it as follows:

php bin/console plugin:refresh
php bin/console plugin:install --activate SwpPriceOnRequestSix
php bin/console cache:clear

Status values for imports and interfaces

The status is stored in the custom field set price_on_request_six on products and categories. The field price_on_request_six_group expects one of these values:

  • 0 – deactivated
  • 1 – activated
  • 2 – individual price on request
  • 3 – hide prices
  • 4 – show prices, hide cart
  • 5 – no quantity selection, only show enquiry button

The field price_on_request_disallowed_customer_groups contains a list of customer group IDs. Values on categories only take effect after Apply settings to products.

The field price_on_request_six_sample_mode (Sample handling) expects one of these values:

  • order – Order sample only
  • request – Request sample only
  • both – Order and request sample

The product page only shows the Request a sample button if, in addition, the custom field sample_order_six_flag of the “Sample order” plugin is true, the in-app purchase SwpPriceOnRequestSampleRequest is active and the plugin is switched on for the sales channel.

Placeholder for the status “hide prices”

For the status hide prices, the plugin outputs the snippet swp-priceonrequestsix.detail.priceOnRequest-EmptyPlaceholder on the product page, in the product listing and in the search suggestion. As shipped, this is an invisible link. If you want to show customers a note at this spot, replace the content under Settings → Snippets with visible text.

Store API for headless frontends

Since 6.7.10, the route POST /store-api/pricerequest-form accepts price enquiries (header sw-access-key). salutationId, email, subject and comment are required. firstName, lastName and phone are required if configured that way in the basic information. With slotId (ID of the form element) and optionally navigationId and entityName, the route determines the Receiver addresses and the Confirmation text.

{
  "salutationId": "<salutation ID>",
  "firstName": "Jane",
  "lastName": "Doe",
  "email": "jane@example.com",
  "phone": "0123 456789",
  "subject": "Solid Beech Workbench 2000 mm (MAN-1001) Quantity: 1",
  "comment": "I am interested in: https://…",
  "slotId": "<form element ID>"
}

The response contains the confirmation text of the form page in the field individualSuccessMessage. The route dispatches the flow event pricerequest_form.send, validates the input like the storefront form and limits repeated requests per IP address. If the plugin is switched off for the sales channel, it responds with HTTP 404 and the error code SWP_PRICE_ON_REQUEST__DISABLED_FOR_SALES_CHANNEL.

The plugin hides prices and buttons in the Twig storefront. A headless frontend reads the status from the product’s custom fields and implements the display itself. The cart block also applies via the Store API.

Store API for sample requests

The route POST /store-api/samplerequest-form accepts sample requests. It expects the same fields as /store-api/pricerequest-form and returns the same response. Instead of pricerequest_form.send, it dispatches the flow event samplerequest_form.send. It shares the limit on repeated requests with price enquiries. The route responds with HTTP 404 and

  • SWP_PRICE_ON_REQUEST__DISABLED_FOR_SALES_CHANNEL if the plugin is switched off for the sales channel,
  • SWP_PRICE_ON_REQUEST__SAMPLE_REQUEST_NOT_PURCHASED if the plugin is switched on but the in-app purchase SwpPriceOnRequestSampleRequest is not active.

The route does not check whether a product shows the button. A headless frontend reads price_on_request_six_sample_mode and sample_order_six_flag from the product’s custom fields for this.

Order of receivers

  1. If the form page is assigned as the layout of a category, product or landing page and separate Receiver addresses are stored there for the form element, these apply.
  2. Otherwise the Receiver addresses of the form element on the shop page apply.
  3. If none are stored, the Shop owner’s email address from Settings → Basic information applies.

The Flow Builder uses these receivers for the Default option. The address test@tester.com is never used as a receiver. The same order applies to the form with the form type Sample request.

Logging

Errors in the storefront extensions, when applying category settings and when prefilling the form do not break the page. They are logged in the Shopware log (var/log) in the channel swp_price_on_request_six.

Note for customised templates

  • The block names of the plugin templates are unchanged.
  • The template variables SwpPriceOnRequestSix, style, styleListing, cmsPath, fullPage and isPriceOnRequest no longer exist since 6.7.10. They have been replaced by config() calls and swp* variables. Custom overrides that read these variables must be adjusted.
  • The routes are now called frontend.swp.price-on-request.form.send and frontend.swp.price-on-request.add-by-number. The previous names frontend.form.pricerequest.send and frontend.checkout.priceonrequest.add-by-number remain available as aliases.
  • For sample requests there are the blocks page_product_detail_buy_form_inner_swp_priceonrequestsix_sample_request (button on the product page), element_form_samplerequest_form_title and element_form_samplerequest_form_form (form) as well as the route frontend.swp.price-on-request.sample-form.send. The button link carries the parameters priceOnRequest=<product number> and requestType=sample. The plugin sets the order of the buttons on the product page with the classes order-3 (Request a sample) and order-4 (price enquiry).
  • The plugin is compatible with the search suggestion of the advanced search in Shopware Commercial.

Need a team that keeps your shop running?

We have been maintaining Shopware shops for more than 20 years, including updates, hotfixes and the plugins you are configuring right now.

BuI Insights

Shopware- & xentral-Praxiswissen direkt ins Postfach

Plugin-Updates, Best Practices, Migrations-Tipps und Branchen-Cases. Ein Mal im Monat, nur das, was wirklich relevant ist. Jederzeit abbestellbar.

Mit dem Klick stimmst du zu, dass wir dir den Newsletter zusenden dürfen (Art. 6 Abs. 1 lit. a DSGVO). Mehr in der Datenschutzerklärung.