- or
No existing idea results
- ~ No ideas found ~
1519 results found
-
payment method per customer
Default payment method should be available per customer so that we can use this information for
- customer account
- Reports
- order confirmation2 votes -
Product visibility: Only when customer has specific prices
There have been a few requests by B2B shop owners where the challenge is as follows:
Products should only be visible IF the observer/customer has specific prices for them. Basically, this means that no products are visible UNLESS the customer has a set price for it.
From the perspective of a former B2B procurement manager: This is a relatively common thing to see. I purchased tools for the manufacturing personnel, for example. I'd contact the potential suppliers once a year, we'd sit down, talk projected order volumes, figures and conditions.
After that was all negotiated, I'd get a price list for the various categories with individual prices, bonuses, conditions and so forth and the supplier would set it up on their end so that I could place orders online (if I wanted to) in their shop. Strictly speaking, I'd find all/most of the other items in their shop as well, but I would have preferred if I didn't - so my line of thinking aligns with the requests we got about this in Support, because I already negotiated every item which was relevant to the company I represented ahead of time - I don't need and don't want to see things I had no interest in and likely have no price list for either.
So - two birds with one stone:
1) The observer sees all the items they have a specific price for
2) The observer does not need to filter what is/was relevant to themThe implementation screams B2B Components. But I think the implementation is potentially simpler if done via Dynamic Access:
If we had a condition which checks whether or not the observer has custom prices of any sort (be it via customer group - this should be the first condition in my mind - extended prices OR customer specific prices, we'd have all the rest covered already.
There have been a few requests by B2B shop owners where the challenge is as follows:
Products should only be visible IF the observer/customer has specific prices for them. Basically, this means that no products are visible UNLESS the customer has a set price for it.
From the perspective of a former B2B procurement manager: This is a relatively common thing to see. I purchased tools for the manufacturing personnel, for example. I'd contact the potential suppliers once a year, we'd sit down, talk projected order volumes, figures and conditions.
After that was all negotiated, I'd get a price list…
3 votes -
Easier customization of email templates
Customizing email templates is usually quite complex and hardly feasible for the average customer. For example, adding the manufacturer's name for each item in the order confirmation.
The entire process of customizing email templates should be significantly simplified and made much more intuitive. We also receive a large number of support requests regarding this.
2 votes -
Payment method change after order receipt with new payment method
Currently, when changing the payment method of an existing order (/account/order/edit-payment), the rule engine is not re-executed.
Instead, Shopware continues to use the payment methods that were available at the time the original order was placed.
This results in the following scenarios not being handled correctly:
- Payment methods become valid for the customer retroactively (e.g., based on tags, customer groups, or rules) → but do not appear in the selection.
- Rules change retroactively (e.g., "Always valid" is added) → no update occurs.
- Changes to customer data, addresses, or order items are not reflected.This means that customers cannot select an updated payment method, even if they meet the requirements after placing the order.
The payment method cannot currently be changed in the admin panel either.
When changing the payment method for an existing order, the payment methods should be determined dynamically based on current data and rules – not based on historical data.
The customer should therefore always see all currently valid payment methods.
Currently, when changing the payment method of an existing order (/account/order/edit-payment), the rule engine is not re-executed.
Instead, Shopware continues to use the payment methods that were available at the time the original order was placed.
This results in the following scenarios not being handled correctly:
- Payment methods become valid for the customer retroactively (e.g., based on tags, customer groups, or rules) → but do not appear in the selection.
- Rules change retroactively (e.g., "Always valid" is added) → no update occurs.
- Changes to customer data, addresses, or order items are not reflected.This means that customers…
5 votes -
B2B Components: add CSV bulk import of Employees and Addresses
Some customers may receive the request from business partners to create a lot of employee account with different addresses (see for example support case #SWAG-322222).
Currently each employee and address would need to be added by hand or via the API. Bulk importing as a CSV would make this a lot easier.
3 votes -
AI: Productstreams / Crossselling
Little has happened since the introduction of AI.
The use of AI to generate customer-specific product streams for cross-selling would be indispensable and a major step forward. For example, based on order history. This is very important for the customer.
Cross-selling is currently very rigid. AI could be used to analyze the customer's order and then make specific suggestions. This would be a huge step and benefit for customers and a game changer.
15 votes -
Add more granular permissions for PayPal
Currently, every admin user with the permission to edit an order (order.editor) can issue refunds of PayPal payments. It would be very helpful to add more granular permissions so that employees can modify orders but cannot issue refunds.
4 votes -
Quick check for plugin and dependency updates compatible with current Shopware version
Right now, there’s no quick way to see which plugin or dependency updates are actually compatible with the installed Shopware version.
composer outdated shows all new versions, ignoring compatibility.
The Admin popup just says “updates available” without details.
It would be very helpful to have a CLI command and/or an Admin view that lists only installable updates based on the current Shopware version.
7 votes -
Add promotion code via link
It would be a nice feature if discount codes could be redeemed via link in the same way that EasyCoupon does it for example. This would allow merchants to send mails already including a working link to get the customer shopping with their discount. For the customers, this would make the journey smoother because they don't need to back and forth to get some code and find the field to enter it and so on.
Plus, the customer is probably much more likely to actually complete the checkout if they see their shiny discount applied at all times right from the moment they visit the store.
It would be a nice feature if discount codes could be redeemed via link in the same way that EasyCoupon does it for example. This would allow merchants to send mails already including a working link to get the customer shopping with their discount. For the customers, this would make the journey smoother because they don't need to back and forth to get some code and find the field to enter it and so on.
Plus, the customer is probably much more likely to actually complete the checkout if they see their shiny discount applied at all times right from…
5 votes -
Extended Product Visibility Control - Separate Search Settings
Enhance visibility control options for products in product listing and search listing.
Per product visibility setting, the following options are currently available:
Visible (All)
Hide in product listings
Hide in product listings and searchWith the current logic, it is only possible to:
Hide a product from listings, or
Hide it from both listings and search.However, it is not possible to keep a product visible in listings (e.g., categories, sliders, cross-sellings) while hiding it only from search results.
Requested Enhancement
Introduce an additional visibility option:
Visible in listings but hidden in search
This would allow merchants to control product discoverability more precisely without removing products from structured browsing contexts. Greater flexibility for B2B and enterprise use cases.
Enhance visibility control options for products in product listing and search listing.
Per product visibility setting, the following options are currently available:
Visible (All)
Hide in product listings
Hide in product listings and searchWith the current logic, it is only possible to:
Hide a product from listings, or
Hide it from both listings and search.However, it is not possible to keep a product visible in listings (e.g., categories, sliders, cross-sellings) while hiding it only from search results.
Requested Enhancement
Introduce an additional visibility option:
Visible in listings but hidden in search
This would allow merchants to control product…
2 votes -
Feedback regarding voucher/promotion response in the shopping cart
Topic: Missing User Feedback for Unactivated Coupon Promotions
Description:
When a customer enters a coupon code linked to a promotion during checkout, it is technically validated.If the promotion cannot be activated due to the current contents of the shopping cart (e.g., due to product category or discount restrictions), the customer receives no feedback on the front end.
From the customer's perspective, nothing happens – even though the code would be valid.
Current Behavior (Default):
- Coupon is checked in the background.
- No error message or information is displayed if conditions are not met.
- The customer does not know whether the code is invalid or if there are simply no matching items in the shopping cart at the moment.Expected Behavior / Improvement Suggestion:
- Display of feedback such as:
"The coupon has been accepted, but there are currently no matching items in the shopping cart."
- Alternatively: A generic message stating that the coupon will be activated as soon as matching items are added to the shopping cart.Rationale:
- Increases transparency and customer trust.
- Avoids frustration caused by seemingly "non-functional" coupons.
- Improves user experience without impacting existing promotion logic.Suggested implementation:
- Add an informational message to the frontend (e.g., in the sw-promotion-code-form or via AddCodeError/AddCodeSuccess handling).
- Alternatively: A backend event hook that checks promotions and provides a flag or message object.Topic: Missing User Feedback for Unactivated Coupon Promotions
Description:
When a customer enters a coupon code linked to a promotion during checkout, it is technically validated.If the promotion cannot be activated due to the current contents of the shopping cart (e.g., due to product category or discount restrictions), the customer receives no feedback on the front end.
From the customer's perspective, nothing happens – even though the code would be valid.
Current Behavior (Default):
- Coupon is checked in the background.
- No error message or information is displayed if conditions are not met.
- The customer does not…5 votes -
Admin orders: Add option to manually add deactivated products
A customer of ours suggested this feature;
It should be possible to have the option to add deactivated products to a manually placed order. Perhaps with a checkbox while we're adding the products or clearly mark the deactivated products in order to avoid mixing them up with active ones, in case product names are rather similar.
The specific usecase is this:
That merchant frequently places manual orders in their Admin for customers. Contrary to what one might assume (I did so as well), it is not a once-in-a-lifetime event that while you work on said manual order, another customer in the frontend already buys the stock away, leading to the product no longer being available. The shop owner reported THREE separate occasions where this happened and thus, understandably, now seeks a solution for these cases.
There are workarounds of course, but they all come with advantages and disadvantages and at least I was not able to think of any which is really failure proof. They all also require multiple steps to get them working (like manually adjusting stock amounts before the manual order and then after again) other than automating everything via API, which sort of defeats the point of Admin orders.
Assuming we tackle this problem, it should most definitely be a setting or option because if we show any and all products, even deactivated ones, as possible selection during the creation of manual orders, we'll probably introduce new problems for shops which only have products available once and never again afterwards. In these cases, the products likely end up disabled once they're sold out and they'd NOT want those to clutter the dropdown list when placing an Admin order.
A customer of ours suggested this feature;
It should be possible to have the option to add deactivated products to a manually placed order. Perhaps with a checkbox while we're adding the products or clearly mark the deactivated products in order to avoid mixing them up with active ones, in case product names are rather similar.
The specific usecase is this:
That merchant frequently places manual orders in their Admin for customers. Contrary to what one might assume (I did so as well), it is not a once-in-a-lifetime event that while you work on said manual order, another customer in…
2 votes -
PayPal: add option to disable Smart Payment Button for other payment methods
Currently, users can only disable the Smart Payment Buttons for the standard PayPal payment method, which replaces the (by default) yellow PayPal button with the standard button to conclude the checkout.
However that setting does not have effect on the other payment methods provided by PayPal, such as Apple Pay, Google Pay or even the Pay Later option by PayPal. Those still replace the default pay button with their own graphic.
It would be useful to be able to disable them as well to have more control over the shop design.
2 votes -
Make Advanced Search 2.0 more configurable
EN
Advanced Search 2.0 / OpenSearch already offers good results. However, not all users can make optimum use of it because, for example, it is not possible to set how much deviation a result may have compared to the top-ranked result. In the technical trade, product names can be very close to each other, so an exact match is often required here. Although the best results are presented first, similar results are also presented. For example, S25 and S25+ would be very close to each other and therefore offer the potential for a bad purchase with subsequent returns.For customers with such search requirements, it would be helpful if they could set how high the deviation in the ranking may be or how far the distance may be in the fuzzy search.
DE
Advanced Search 2.0 / OpenSearch bietet bereits gute Ergebnisse. Jedoch ist nicht für alle Nutzer eine optimale Nutzung möglich, weil zum Beispiel nicht eingestellt werden kann, wie viel Abweichung ein Ergebnis im Vergleich zum top gerankten Ergebnis haben darf. Im technischen Handel können Produktbezeichnungen sehr nah beieinander liegen, daher wird hier oft eine genaue Übereinstimmung benötigt. Zwar werden die besten Ergebnisse als erstes präsentiert, aber ähnliche Ergebnisse ebenfalls. Somit würden als Beispiel S25 und S25+ sehr nah beieinander liegen und bieten somit Potenzial zum Fehlkauf mit anschließenden Retouren. Für Kunden mit solchen Anforderungen an die Suche wäre es hilfreich, wenn sie einstellen könnten, wie hoch die Abweichung im Ranking sein darf oder wie weit die Distanz bei der unscharfen Suche sein darf.EN
Advanced Search 2.0 / OpenSearch already offers good results. However, not all users can make optimum use of it because, for example, it is not possible to set how much deviation a result may have compared to the top-ranked result. In the technical trade, product names can be very close to each other, so an exact match is often required here. Although the best results are presented first, similar results are also presented. For example, S25 and S25+ would be very close to each other and therefore offer the potential for a bad purchase with subsequent returns.For customers…
27 votes -
Make font size configurable in document footers
Make font size configurable in document footers via option in document settings.
2 votes -
Feature Request: Country-specific delivery times per shipping method
Currently, Shopware only allows one global delivery time per shipping method.
To accommodate different delivery times for each destination country, separate shipping methods must be created.
In more complex shipping setups, this leads to a very high number of shipping methods.
In this case:
- Approximately 130 standard shipping methods
- Approximately 100 express shipping methods
- Over 200 active shipping methods in total
This results in considerable administrative overhead regarding:
Maintenance and updates
Rule assignment
Quality assurance
Error potential
Overview in the admin panel
Especially with service providers like DHL and DHL Express, detailed, country-specific transit time tables exist that need to be updated regularly. Grouping by region (e.g., EU, USA, Asia) is not practical here, as transit times change dynamically and the grouping logic would have to be constantly adjusted.
Problem Statement
The current system architecture forces merchants to create multiple shipping methods simply to represent different delivery times for each country.There is no way to define delivery times, similar to shipping costs, differentiated by destination country.
Requested Feature
Extension of shipping methods to include country-specific delivery time logic, e.g.:- A matrix within a shipping method:
Country → Delivery Time
or alternatively
- Rule-based assignment of delivery times via the Rule Builder
The goal is to represent different delivery times for each country without having to create separate shipping methods.
Expected Added Value
- Significant reduction in the number of shipping methods
- Simplified maintenance when changing delivery times
- Improved clarity in the backend
- Reduced error susceptibility
- Better scalability for international shippingCurrently, Shopware only allows one global delivery time per shipping method.
To accommodate different delivery times for each destination country, separate shipping methods must be created.
In more complex shipping setups, this leads to a very high number of shipping methods.
In this case:
- Approximately 130 standard shipping methods
- Approximately 100 express shipping methods
- Over 200 active shipping methods in total
This results in considerable administrative overhead regarding:
Maintenance and updates
Rule assignment
Quality assurance
Error potential
Overview in the admin panel
Especially with service providers like DHL and DHL Express, detailed, country-specific transit time tables exist that need to…
2 votes -
Subscriptions available in Evolve
Include Shopware Subscriptions already for lower tier plan(s) - at least Evolve.
2 votes -
Improvement Proposal: Enhance Mail & Flow Logic for B2B Employee Context (Shopware Commercial)
Current Situation / Problem:
In B2B (Commercial) setups, there is a common requirement to send transactional emails (e.g. order confirmations) not only to the customer account, but contextually to the employee who actually placed the order.At the moment, the following limitations exist:
- employee data is only available in mail templates if an employee is present in the order context.
- The Flow Builder does not provide conditions based on employee data (e.g. “employee exists”, “employee email”).
- Dynamic recipients (TO/CC/BCC) based on variables (e.g. {{ employee.email }}) are not supported.
- CC/BCC fields can only be configured statically.
- Workarounds (e.g. separate flows per customer) are not scalable.
Proposed Improvements:
1. Extend Flow Builder Conditions
Add new conditions such as:
“Order has employee”
“Employee attributes” (e.g. email, name, ID)
Provide access to employee fields similar to existing customer conditionsSupport Dynamic Email Recipients
Enable variable-based configuration for:
TO
CC
BCC
Example:
TO: {{ employee.email }}
CC: {{ customer.email }}Recipient Fallback Logic
Allow conditional logic such as:
If employee exists → send to employee
Else → send to customerConsistent Template Variable Availability
Ensure employee is always available in templates (e.g. null if not set)
Avoid inconsistent behavior in the template editorOptional (Nice-to-have)
Introduce a recipient strategy setting (e.g. “Primary recipient = Employee / Customer / Both”)
UI support for typical B2B communication scenarios
Business Impact:
- Covers a core B2B commerce requirement (employees ordering on behalf of a company)
- Reduces manual effort in sales/customer service teams
- Prevents misrouted emails
- Significantly improves automation capabilities in Flow Builder
- Avoids the need for custom plugin development for standard use casesCurrent Workaround:
- Display employee information in the email template
- Manual routing of emails after sending
- Alternatively: custom plugin developmentCurrent Situation / Problem:
In B2B (Commercial) setups, there is a common requirement to send transactional emails (e.g. order confirmations) not only to the customer account, but contextually to the employee who actually placed the order.At the moment, the following limitations exist:
- employee data is only available in mail templates if an employee is present in the order context.
- The Flow Builder does not provide conditions based on employee data (e.g. “employee exists”, “employee email”).
- Dynamic recipients (TO/CC/BCC) based on variables (e.g. {{ employee.email }}) are not supported.
- CC/BCC fields can only be configured statically.
- Workarounds (e.g. separate flows…
1 vote -
Multi-user support for customer service representatives – login as any company employee in a B2B environment
In B2B transactions, customer service representatives regularly handle and process orders on behalf of customers, especially for telephone orders or orders requiring extensive consultation.
Currently, they log in to the backend with administrator rights and then use the "Log in as customer" function in the frontend to place orders directly in the shop or to assist customers with their use.
However, this approach currently only works for the primary user of a company account.
In cases where a customer uses multiple employee accounts within a company structure, it is not possible to log in as another employee of that company to, for example, place an order on behalf of a specific employee or to review their purchase approvals.
Goal / Benefit
To enable customer service representatives or administrators to log in to the shop as any employee of a company account.
This allows support staff to authentically process telephone orders, approval processes, or reorders on behalf of the correct employee.
Improved traceability (correct customer, correct rights and approvals) and simplification of customer support in the B2B environment.
In B2B transactions, customer service representatives regularly handle and process orders on behalf of customers, especially for telephone orders or orders requiring extensive consultation.
Currently, they log in to the backend with administrator rights and then use the "Log in as customer" function in the frontend to place orders directly in the shop or to assist customers with their use.
However, this approach currently only works for the primary user of a company account.
In cases where a customer uses multiple employee accounts within a company structure, it is not possible to log in as another employee of that company…
4 votes -
The scrollbar in the category tree needs to be more user-friendly.
If the shop has a complex category structure, navigating the categories in the admin area can quickly become very confusing. It often requires clicking and using the scroll bar, which is located at the very end of the category tree. This means users have to repeatedly scroll to the end of the tree, which is very time-consuming and needs to be simplified.
2 votes
- Don't see your idea?