Returns & RMA: refunds, complaints, guest returns, graded goods & credits
Description
Highlights
- Returns in the customer account AND as a guest (no login, with secure order/e-mail check)
- Automated communication: one flow per return status (14 flows) and 10 editable e-mail templates
- Sell graded goods (B-stock): publish inspected returns as an offer with own stock, list price & image
- Account-bound credits (percentage or fixed amount), applied automatically at checkout
Features
- Returns portal in the customer account: overview, detail page and a multi-item request form
- Guest returns on a dedicated route: order-number + e-mail check, no login, rate-limited
- Item-accurate selection: only still-returnable quantities, partial returns supported
- Configurable request types, reasons, resolutions and statuses (translatable, per channel/customer group)
- Guided admin workflow with goods receipt: book received/sellable quantity and condition
- Safe, idempotent stock logic: stock changes only after confirmed goods receipt
- One flow per status plus 10 e-mail templates for status communication
- Customer-to-shop messaging on the return incl. e-mail; internal notes stay internal
- Attachments: customers and staff upload photos/PDFs (private media, ownership-checked)
- Neutral RMA document (Shopware document type) and a dedicated RMA number range
- Graded goods (B-stock): sell inspected returns as an offer with own stock & list price
- Customer credits (percentage/fixed) with partial redemption, applied automatically at checkout
- Statistics dashboard: KPIs, charts, top reasons/products, resolution split, CSV export
- Exclusions: exclude products, categories and dynamic product groups from returns
- Product recommendation on frequent returns (e.g. "we recommend a size smaller")
About the Extension
The complete returns, RMA and complaints system for Shopware 6
The Returns & RMA Manager covers the entire returns lifecycle right inside Shopware – from the request in the customer account or as a guest, through a guided goods receipt with condition check, all the way to credits, graded-goods (B-stock) sales, customer communication and reporting. Instead of a parallel silo, it consistently uses native Shopware mechanisms: DAL entities, the standard Admin API, Flow Builder, mail templates, number ranges, documents and ACL. As a result all data (returns, items, statuses, reasons, resolutions, credits, B-stock …) stays update-safe, reachable via the standard API and automatable with built-in tools. Compatible with Shopware 6.6 and 6.7.
Why this plugin?
- Everything in one place: request, approval, goods receipt, stock booking, credit, B-stock and reporting – without media breaks.
- Ready out of the box: statuses, reasons, resolutions, number range, e-mail templates and flows are created automatically on activation.
- Flexible & translatable: every master-data list is editable in the admin, multilingual and limitable per sales channel / customer group.
- Update-safe & store-compliant: no unnecessary backend routes, clean privileges, private media, sanitized output.
For your customers (storefront)
- Returns in the account: overview of all returns, a detail view per case and an item-accurate form to create a new return. Entry via the account navigation and a “Return / complaint" item in the order history.
- Guest returns without login: verification by order number + e-mail (+ optional postal code). The check never reveals whether an order exists, is short-lived and session-based, and is throttled against repeated attempts.
- View guest returns (no account, no link needed): using the same secure check (order number + e-mail (+ optional postal code)), guests can reach an overview of their returns and the detail page at any time – with status history, messages, attachments and the RMA document. The link in the confirmation e-mail takes guests straight there (with a fresh check; no access without verification).
- Eligible orders only: returns only within the period, for the configured order/payment/delivery states and outside excluded customer groups – the return button only appears for eligible orders.
- Only returnable quantities: already-open returns, excluded items and non-goods positions (e.g. “collect points") are excluded; partial returns are supported.
- Attachments & messages: customers upload photos/PDFs and communicate directly on the return; the chosen reason can show an explanatory description.
- Transparency: status history, released messages, attachments, a highlighted credit box with remaining value and the RMA document download.
For your team (administration)
- Guided workflow: a status stepper plus one clear, contextual “next step" instead of many always-on buttons; the free status change lives in a collapsed advanced option.
- Goods receipt & follow-up – example: 3 items come back. Per position you book the received and the sellable quantity with its condition: 2 go back into normal stock, 1 defective item is recorded as “not sellable" (without increasing stock). Ambiguous cases land in the Follow-up list where you later decide: resell or offer as B-stock.
- Safe, audit-proof stock logic: stock changes only after a confirmed goods receipt and only for the sellable quantity – each booking is protected against double booking by an idempotency key; every stock movement is logged (before → after).
- Returns list in the standard listing: search bar, result count and sidebar filters (status, sales channel, reason, product number, date range), with deep links to order and customer.
- Manual return straight from the order (“Returns" tab): pick items and quantities, the RMA number is generated server-side.
- Fully configurable: create, translate, sort, colour-code and assign request types, reasons, resolutions and statuses per sales channel / customer group. A required comment/attachment per reason/request type is enforced.
Automation: flows & e-mails without setup
On install, a Flow Builder flow is created automatically per return status (currently 14 flows) and linked to 10 editable e-mail templates – for created, approved, rejected, in transit, goods received, under review, completed plus message, staff and credit notifications. Your shop communicates professionally right away without building a single flow. All flows and texts live in the standard (Flow Builder / e-mail templates) and can be freely adjusted; the templates use a modern, table-based layout with a deep link to the return.
Customer ↔ shop: messages & attachments
- Message thread on every return: the customer sees the messages released to them and can reply; internal notes stay internal. A customer reply or a public shop message is delivered by e-mail.
- Attachments from both sides: customers and the shop team upload photos/PDFs (e.g. damage evidence). Files are validated against size and a MIME allow-list (executables and SVG always rejected) and stored as private media; downloads are ownership-checked.
- Staff notification to the admin users on a new return, with a configurable shop team name.
Sell graded goods (B-stock)
Turn inspected returns into revenue: positions booked as sellable are published in a few clicks as a B-stock offer – with its own stock, list (strikethrough) price, condition, defect note and images.
- B-stock is presented as the same product (product number, standard gallery, own SEO-friendly URL) and sold via a dedicated cart line item type that never distorts the normal product stock.
- Maintained directly on the product (“Return conditions" tab) in a table; the form is prefilled from the product (title + list price).
- Manually created offers settle their stock against the product stock and are guarded against negative stock on clearance products.
- Rule Builder & dynamic product group included: a ready-made rule “Cart contains B-stock" and a dynamic product group “B-stock products" ship with the plugin – ideal for shipping rules, promotions or merchandising.
Customer credits
- Account-bound credits as a percentage discount or fixed amount (with currency), optionally with a label, internal note and validity date.
- Applied automatically at checkout as a native credit line item (visible in cart, order and invoice) – no code, no manual entry.
- Partial redemption: fixed amounts keep a remaining balance; every redemption is logged with order, amount and date. Managed on the return and in a dedicated customer tab.
- Guests receive a real voucher code: as guests have no customer account, a guest credit automatically creates a native Shopware promotion with a single-use code, sent by e-mail – the guest enters it at checkout. Registered customers keep the automatic redemption.
Reporting, recommendations & exclusions
- Statistics dashboard: KPI cards (total incl. vs-last-month, open, completed + rate, rejected + rate, avg processing time, credits), range toggle (14/30 days, 3 months), returns-per-day chart, status donut, ranked “top reasons" and “most returned products" (with deep links), resolution split, monthly trend and CSV export.
- Product recommendation on frequent returns: per reason a threshold + a translatable hint (e.g. “we recommend a size smaller") – shown in the buy box once a product reaches enough returns with that reason. Fewer returns, better conversion.
- Exclusions: exclude individual products, whole categories and dynamic product groups from returns; the storefront shows a subtle note.
Statuses, periods & integrations
- Allowed order/payment/delivery states are loaded live from the respective state machine – so custom states from other plugins are recognised automatically.
- Configurable period start: from the order date (default) or from when a chosen status is reached (e.g. delivery “shipped"), read from the Shopware status history.
- Automatic status change (statutory 14-day return right): a return automatically moves to a chosen target status (e.g. “Approved") once a deadline passes. Freely configurable: source status, target status, the reference point (order date or a reached order/payment/delivery status, e.g. delivery “shipped"), extra buffer days (delivery time) and the number of days – all per sales channel. A scheduled task (hourly) runs it.
- Bundle integration: when the Onlineschmiede Bundle plugin is active, choose whether only the whole bundle or individual bundle items can be returned.
The complete returns, RMA and complaints system for Shopware 6
The Returns & RMA Manager covers the entire returns lifecycle right inside Shopware – from the request in the customer account or as a guest, through a guided goods receipt with condition check, all the way to credits, graded-goods (B-stock) sales, customer communication and reporting. Instead of a parallel silo, it consistently uses native Shopware mechanisms: DAL entities, the standard Admin API, Flow Builder, mail templates, number ranges, documents and ACL. As a result all data (returns, items, statuses, reasons, resolutions, credits, B-stock …) stays update-safe, reachable via the standard API and automatable with built-in tools. Compatible with Shopware 6.6 and 6.7.
Why this plugin?
- Everything in one place: request, approval, goods receipt, stock booking, credit, B-stock and reporting – without media breaks.
- Ready out of the box: statuses, reasons, resolutions, number range, e-mail templates and flows are created automatically on activation.
- Flexible & translatable: every master-data list is editable in the admin, multilingual and limitable per sales channel / customer group.
- Update-safe & store-compliant: no unnecessary backend routes, clean privileges, private media, sanitized output.
For your customers (storefront)
- Returns in the account: overview of all returns, a detail view per case and an item-accurate form to create a new return. Entry via the account navigation and a “Return / complaint" item in the order history.
- Guest returns without login: verification by order number + e-mail (+ optional postal code). The check never reveals whether an order exists, is short-lived and session-based, and is throttled against repeated attempts.
- View guest returns (no account, no link needed): using the same secure check (order number + e-mail (+ optional postal code)), guests can reach an overview of their returns and the detail page at any time – with status history, messages, attachments and the RMA document. The link in the confirmation e-mail takes guests straight there (with a fresh check; no access without verification).
- Eligible orders only: returns only within the period, for the configured order/payment/delivery states and outside excluded customer groups – the return button only appears for eligible orders.
- Only returnable quantities: already-open returns, excluded items and non-goods positions (e.g. “collect points") are excluded; partial returns are supported.
- Attachments & messages: customers upload photos/PDFs and communicate directly on the return; the chosen reason can show an explanatory description.
- Transparency: status history, released messages, attachments, a highlighted credit box with remaining value and the RMA document download.
For your team (administration)
- Guided workflow: a status stepper plus one clear, contextual “next step" instead of many always-on buttons; the free status change lives in a collapsed advanced option.
- Goods receipt & follow-up – example: 3 items come back. Per position you book the received and the sellable quantity with its condition: 2 go back into normal stock, 1 defective item is recorded as “not sellable" (without increasing stock). Ambiguous cases land in the Follow-up list where you later decide: resell or offer as B-stock.
- Safe, audit-proof stock logic: stock changes only after a confirmed goods receipt and only for the sellable quantity – each booking is protected against double booking by an idempotency key; every stock movement is logged (before → after).
- Returns list in the standard listing: search bar, result count and sidebar filters (status, sales channel, reason, product number, date range), with deep links to order and customer.
- Manual return straight from the order (“Returns" tab): pick items and quantities, the RMA number is generated server-side.
- Fully configurable: create, translate, sort, colour-code and assign request types, reasons, resolutions and statuses per sales channel / customer group. A required comment/attachment per reason/request type is enforced.
Automation: flows & e-mails without setup
On install, a Flow Builder flow is created automatically per return status (currently 14 flows) and linked to 10 editable e-mail templates – for created, approved, rejected, in transit, goods received, under review, completed plus message, staff and credit notifications. Your shop communicates professionally right away without building a single flow. All flows and texts live in the standard (Flow Builder / e-mail templates) and can be freely adjusted; the templates use a modern, table-based layout with a deep link to the return.
Customer ↔ shop: messages & attachments
- Message thread on every return: the customer sees the messages released to them and can reply; internal notes stay internal. A customer reply or a public shop message is delivered by e-mail.
- Attachments from both sides: customers and the shop team upload photos/PDFs (e.g. damage evidence). Files are validated against size and a MIME allow-list (executables and SVG always rejected) and stored as private media; downloads are ownership-checked.
- Staff notification to the admin users on a new return, with a configurable shop team name.
Sell graded goods (B-stock)
Turn inspected returns into revenue: positions booked as sellable are published in a few clicks as a B-stock offer – with its own stock, list (strikethrough) price, condition, defect note and images.
- B-stock is presented as the same product (product number, standard gallery, own SEO-friendly URL) and sold via a dedicated cart line item type that never distorts the normal product stock.
- Maintained directly on the product (“Return conditions" tab) in a table; the form is prefilled from the product (title + list price).
- Manually created offers settle their stock against the product stock and are guarded against negative stock on clearance products.
- Rule Builder & dynamic product group included: a ready-made rule “Cart contains B-stock" and a dynamic product group “B-stock products" ship with the plugin – ideal for shipping rules, promotions or merchandising.
Customer credits
- Account-bound credits as a percentage discount or fixed amount (with currency), optionally with a label, internal note and validity date.
- Applied automatically at checkout as a native credit line item (visible in cart, order and invoice) – no code, no manual entry.
- Partial redemption: fixed amounts keep a remaining balance; every redemption is logged with order, amount and date. Managed on the return and in a dedicated customer tab.
- Guests receive a real voucher code: as guests have no customer account, a guest credit automatically creates a native Shopware promotion with a single-use code, sent by e-mail – the guest enters it at checkout. Registered customers keep the automatic redemption.
Reporting, recommendations & exclusions
- Statistics dashboard: KPI cards (total incl. vs-last-month, open, completed + rate, rejected + rate, avg processing time, credits), range toggle (14/30 days, 3 months), returns-per-day chart, status donut, ranked “top reasons" and “most returned products" (with deep links), resolution split, monthly trend and CSV export.
- Product recommendation on frequent returns: per reason a threshold + a translatable hint (e.g. “we recommend a size smaller") – shown in the buy box once a product reaches enough returns with that reason. Fewer returns, better conversion.
- Exclusions: exclude individual products, whole categories and dynamic product groups from returns; the storefront shows a subtle note.
Statuses, periods & integrations
- Allowed order/payment/delivery states are loaded live from the respective state machine – so custom states from other plugins are recognised automatically.
- Configurable period start: from the order date (default) or from when a chosen status is reached (e.g. delivery “shipped"), read from the Shopware status history.
- Automatic status change (statutory 14-day return right): a return automatically moves to a chosen target status (e.g. “Approved") once a deadline passes. Freely configurable: source status, target status, the reference point (order date or a reached order/payment/delivery status, e.g. delivery “shipped"), extra buffer days (delivery time) and the number of days – all per sales channel. A scheduled task (hourly) runs it.
- Bundle integration: when the Onlineschmiede Bundle plugin is active, choose whether only the whole bundle or individual bundle items can be returned.
Details
- Available: English, German
- Latest update: 24 September 2026
- Publication date: 25 September 2026
- Version: 1.3.0
- Category: Checkout / Cart process
Resources
Reviews (0)
About the Extension Partner
Onlineschmiede
Partner Status
-
Shopware
Silver Partner -
Shopware
Extension Partner
Details
- Partner since: 2023
- Extensions: 21
- Certifications: 6
Support
- Based in: Austria
- Speaks: German, English
- Response time: Very quickly
Installation & configuration
- Install & activate the plugin. On activation, statuses, reasons, resolutions, the number range, e-mail templates and flows are created automatically.
- Base settings under Extensions → My extensions → Returns & RMA → Configuration: enable account and guest returns, set the return period and its start (order date or a reached status), and the shop team name.
- Define eligibility: choose the allowed order/payment/delivery states and excluded customer groups (empty = all).
- Automatic status change (optional): in the Automatic status change section, enable it, pick the target (and optionally the source) status, set the reference point (e.g. delivery “shipped") plus buffer days and number of days – e.g. “shipped + 3 buffer days + 14 days → Approved".
- Maintain master data under Orders → Returns / RMA: create/translate request types, reasons, resolutions and statuses and assign them per sales channel/customer group. Optionally add a product recommendation per reason (threshold + hint text).
- RMA number & document: adjust the number format under Settings → Number ranges and the RMA document under Settings → Documents.
- Adjust e-mails (optional): the flows live in the Flow Builder, the texts under Settings → E-mail templates.
- Exclusions (optional): exclude products, categories or dynamic product groups under Returns / RMA → Exclusions.
- ACL: assign the roles the privileges Viewer/Creator/Editor/Stock manager/Settings manager/Report viewer.
Using B-stock: during goods receipt, book a position as “sellable / B-stock", then publish the B-stock offer (price, list price, image) on the product in the Return conditions tab.
1.3.0 6.6.0.0 - 6.7.14.2
Create returns directly from orders: Order items can now be selected and filed as a return directly from the order view. Available quantities, return reasons, requested resolutions and refund amounts are displayed clearly.
Flexible refund amounts: Unit prices, tax rates and refund amounts can be adjusted for each returned item. An optional share of the shipping costs can also be refunded.
Partial cancellation invoices: A separate partial cancellation invoice can be created for returned items, including net, tax and refund totals. An existing invoice for the order is required.
Optional status changes: When creating a return, the order or delivery can automatically be moved to a configured status. By default, no status is changed.
Improved compatibility: Return documents are generated reliably again on Shopware 6.6.10. Existing links from previously sent emails or saved bookmarks remain accessible.
Secure quantity validation: Return quantities are now also validated on the server. This prevents customers from returning more items than were originally ordered.
1.1.8 6.6.0.0 - 6.7.14.2
1.1.7 6.6.0.0 - 6.7.14.2
1.0.0 6.6.0.0 - 6.7.14.2
Initial release for the Plugin