The situation
A reseller wants 500 units, delivered to Austria, by the end of the quarter. They write a three-line email, and sales then asks back three times.
Volume pricing on request is common. What is uncommon is a request containing everything a quote needs.
A reseller wants 500 units, delivered to Austria, by the end of the quarter. They write a three-line email, and sales then asks back three times.
A second contact form on a B2B page is no solution: there is no article on it, and private customers still find it.
Quantity with a minimum and maximum, preferred date no earlier than tomorrow, country from the Shopware master data.
A rule from the Shopware rule builder hangs on the assignment - on the customer group, for instance. If it does not apply, the assignment drops out and the form does not appear at all.
The country selection draws its values from the sales channel's countries. So there is no second list that could go stale.
Minimum, maximum and step sit as attributes on the field. A request for 0 units or 900,000 units never comes about.
Product assignment through a dynamic product group, restricted by a rule on the customer group. Position "Own tab", so the product page stays unchanged for everyone else.
Company, VAT ID, quantity, date and country as columns of their own, plus the article number in the context. That is exactly the row a quote is made from.