- or
1531 results found
-
Newsletter - Fallback value for the name
The name fields on the newsletter form are not required fields. If these are left blank during registration, the customer’s email address is effectively used as their name.
This can cause errors on some email servers.
It would be helpful to include a “placeholder” here by default to prevent such errors on email ser
1 vote -
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 -
Preselect correct Sales Channel mail template in "Send Document" modal
Summary
When manually sending a document (e.g. an invoice) from the order detail page in the Shopware 6 Administration, the "Send Document" modal always preselects the first globally available mail template of the matching type — regardless of which Sales Channel the order belongs to.
If multiple mail templates of the same type (e.g. "Invoice / Rechnung") exist for different Sales Channels, the administrator must manually select the correct template every time. This is error-prone and leads to customers potentially receiving emails styled for the wrong Sales Channel (wrong branding, wrong logo, wrong sender identity).
Current BehaviorThe sw-order-send-document-modal component preselects the first available mail template of the matching type, without considering the Sales Channel of the current order.
Example:
Order belongs to Sales Channel pizza1.de Available templates of type "Invoice": MotorGarten - Rechnung ✓ (preselected), pizza1.de - Rechnung, Rechnung ebay Template The modal preselects MotorGarten - Rechnung instead of pizza1.de - RechnungExpected Behavior
The modal should automatically preselect the mail template that is assigned to (or best matches) the Sales Channel of the order being processed.
Fallback logic suggestion:
Prefer a template explicitly assigned to the order's Sales Channel Fall back to the global/default template if no Sales Channel-specific template existsWhy This Matters
Shops operating multiple Sales Channels (e.g. different storefronts or marketplaces) typically maintain separate mail templates per channel for branding and legal reasons. The current behavior forces staff to manually pick the right template on every document send — and a wrong selection means the customer receives an email with the wrong branding.
Suggested ImplementationIn sw-order-send-document-modal/index.js, when loading and defaulting the mail template selection, filter or sort templates by the salesChannelId of the current order and preselect the best match.
Relevant file:
src/Administration/Resources/app/administration/src/module/sw-order/component/sw-order-send-document-modal/index.js
EnvironmentShopware Version: 6.x (reproducible across versions) Multiple Sales Channels with separate mail templates of the same typeSummary
When manually sending a document (e.g. an invoice) from the order detail page in the Shopware 6 Administration, the "Send Document" modal always preselects the first globally available mail template of the matching type — regardless of which Sales Channel the order belongs to.
If multiple mail templates of the same type (e.g. "Invoice / Rechnung") exist for different Sales Channels, the administrator must manually select the correct template every time. This is error-prone and leads to customers potentially receiving emails styled for the wrong Sales Channel (wrong branding, wrong logo, wrong sender identity).
Current BehaviorThe sw-order-send-document-modal component…
1 vote -
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 -
Validation of individual voucher codes
At present, there is no check to verify whether individual promo codes generated according to a custom pattern result in a valid code.
Although the result is displayed in a preview, if you enter a pattern containing a hyphen (‘-’), no valid code can be generated, as hyphens appear to be reserved for the PRE and SUFFIX fields.
Example: %s%s%d%d-%d%d-%d%d%d%s
This would produce the following result: UP21-%d%d-%d%d%d%s
The pattern following the hyphen is used as the code. Although this should be noticeable during creation due to the preview, validation would nevertheless be more sensible and is requested.
1 vote -
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 -
Standardize shortName for Categories to ensure App and Headless stability
Shopware provides a shortName for SalesChannels to enable environment-agnostic identification, yet this primitive is missing for Categories. This inconsistency forces App developers and Headless integrators to rely on volatile SEO URLs or environment-specific UUIDs to identify "Page Types" (e.g., Home, Support, Landing Page).
By extending shortName to the Category entity, Shopware would provide a stable, indexed, and semantic developer contract. This eliminates the need for redundant repository searches or brittle Custom Field lookups, which currently penalize performance and complicate CI/CD pipelines. Standardizing this across core entities ensures that external systems can resolve both "Shop Context" and "Location Context" using the same native logic, drastically simplifying the integration of marketing, tracking, and CMS-driven Apps.
Shopware provides a shortName for SalesChannels to enable environment-agnostic identification, yet this primitive is missing for Categories. This inconsistency forces App developers and Headless integrators to rely on volatile SEO URLs or environment-specific UUIDs to identify "Page Types" (e.g., Home, Support, Landing Page).
By extending shortName to the Category entity, Shopware would provide a stable, indexed, and semantic developer contract. This eliminates the need for redundant repository searches or brittle Custom Field lookups, which currently penalize performance and complicate CI/CD pipelines. Standardizing this across core entities ensures that external systems can resolve both "Shop Context" and "Location Context" using the…
1 vote -
Configuration flag to restrict update checks to the current major version
Some merchants want to remain on a specific Shopware 6.x release line, such as 6.6. A flag, e.g. in shopware.yaml, to restrict update checks to the current major version would therefore be useful.
1 vote -
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 -
copyrightYear configurable
metaInformation has property for copyrightYear which is also printed into the storefront. But this is not configurable anywhere.
How should it work? Let us talk, maybe we can adjust the behaviour.
1 vote -
Don't use the first page of a paginated sequence as the canonical page
Use URLs correctly:
- Give each page a unique URL. For example, include a ?page=n query parameter, as URLs in a paginated sequence are treated as separate pages by Google.
- Don't use the first page of a paginated sequence as the canonical page. Instead, give each page its own canonical URL.
Currently, the canonical page in categories is always the first page. Without pagination URLs.
According to Google, the canonical URL should be set up including pagination.
Please correct this.
3 votes -
Add exceptions for Tax-free (B2B) option
Currently, a shop owner can decide based on the country of delivery if a B2B order with a valid VAT No. may be taxed or not. However, in some constellations the decision must be made based on the VAT No. as well.
Example:
German customer with German VAT No. orders something to the Netherlands. When the country settings for NL have the “Tax-free (B2B)” option checked, VAT will not be charged. However, since the customer is a Germany based company with a German VAT No., an order like this does not count as an intra-EU supply but as a supply within Germany, thus German VAT must be charged.See IHK document for more information on this: https://www.ihk-muenchen.de/ihk/documents/Recht-Steuern/Steuerrecht/Neuer-Ordner/IHK_Merkblatt_Innergemeinschaftliche-Lieferungen-%28B2B%29-M%C3%A4rz-2025.pdf
Currently, Shopware cannot deal with this constellation since it can only set the VAT based on the country of delivery.
Currently, a shop owner can decide based on the country of delivery if a B2B order with a valid VAT No. may be taxed or not. However, in some constellations the decision must be made based on the VAT No. as well.
Example:
German customer with German VAT No. orders something to the Netherlands. When the country settings for NL have the “Tax-free (B2B)” option checked, VAT will not be charged. However, since the customer is a Germany based company with a German VAT No., an order like this does not count as an intra-EU supply but as a supply…5 votes -
Finetune the personalized Checkout Message
Currently the checkout messages can’t be adjusted to exclude certain items or be fine-tuned. To customize the checkout message more precisely to your needs, it would be great to add further configurations to it.
1 vote -
Display filter as a checkbox without dropdown
Currently, properties are always displayed as drop-down menus in the filters. It would be nice if there were an option to display individual properties as checkboxes in the filters.
For example, it makes no sense to display a drop-down menu if a property only has one value.
It would be nice to have the option of displaying the value without a drop-down menu, as is the case with the free shipping filter.2 votes -
Enable Variant Changes Directly in the Shopping Basket and Checkout
Currently, when customers want to change a variant of a product already added to the shopping basket — for example, choosing a different size or color — they are required to leave the basket or checkout and navigate back to the product detail page. This process interrupts the purchasing flow and increases the likelihood of order cancellations or customer frustration.
With this enhancement, customers should be able to easily modify product variants directly from the basket or checkout interface.
Functional Proposal:
Add a variant selector for each product line item in the shopping basket and checkout.
When a customer changes a variant, the system automatically updates the line item’s price, stock information, and product image accordingly.
Currently, when customers want to change a variant of a product already added to the shopping basket — for example, choosing a different size or color — they are required to leave the basket or checkout and navigate back to the product detail page. This process interrupts the purchasing flow and increases the likelihood of order cancellations or customer frustration.
With this enhancement, customers should be able to easily modify product variants directly from the basket or checkout interface.
Functional Proposal:
Add a variant selector for each product line item in the shopping basket and checkout.
When a customer changes…
4 votes -
Recipient "Employee" should be available inside the flow builder
Currently the recipient employee is not generally available inside the flow builder. As a new actor within the B2B suite this role should be added. So we can freely use the flow builder with the B2B suite.
The specific employee flows seem hardcoded within the B2B suite as illustrated in my screenshot. Employees do receive the correct mail, but it's not configurable/visible in the flow builder.
3 votes
- Don't see your idea?