With an average return rate of 17.4 percent in German online retail (EHI Retail Institute), it is not the return shipment that decides the margin but what happens afterwards. Printing a return label is easy; guiding a return cleanly through inspection, restocking, write-off and credit note so that stock, accounting and the customer see the same status is the real task. That is what an end-to-end RMA process (Return Material Authorization) between shop and ERP delivers: the return request is created in the customer account with a link to the original order, the RMA number and check status come from the inventory system, and after quality inspection ERP rules automatically restock or write off the goods. This article shows the full workflow, separates B2B claims from the pure B2C right of withdrawal, and explains how a middleware binds the return status bidirectionally so that returns are handled without double entry.
Key takeaways
- The RMA process starts with a return request in the customer account that is firmly linked to the original order, the line item and -- in B2B -- to batch or serial numbers.
- The RMA number and check status come from the inventory system, not from a separate returns table in the shop; that way stock, accounting and the customer see the same status.
- After goods receipt and quality inspection, ERP rules decide on restocking as A-grade, downgrading to B-grade, repair, return to the supplier or write-off.
- B2B claims follow statutory warranty and individual goodwill rules, not the 14-day right of withdrawal in distance selling -- the process must keep both apart cleanly.
- A return is only complete once the credit note and stock correction flow bidirectionally back into the ERP; at a 17.4 percent return rate (EHI Retail Institute), this process depth decides margin and lead time.
Why the RMA Process Belongs in the ERP
Returns are no fringe phenomenon in German online retail. The average return rate stands at 17.4 percent (EHI Retail Institute), reaching up to 50 percent in fashion and textiles and 8 to 12 percent in electronics (EHI Retail Institute). In absolute terms, research expects around 550 million return parcels in Germany for 2025 after roughly 530 million the year before (Return Management Research Group, University of Bamberg). For market scale: German online retail reached net revenue of 92.3 billion euro in 2025, up 3.9 percent year on year (Handelsverband Deutschland). The share of online retail in total retail stands at 13.4 percent (Handelsverband Deutschland). Each of these returns triggers a chain of postings -- and that is exactly where it is decided whether a return only causes cost or brings inspected goods back into sale.
Stock, open receivables, credit note and replenishment live in the ERP, not in the shop. If the shop keeps its own returns logic with its own status, two truths arise: the customer already reads refunded in the account while the goods still sit unchecked in goods receipt and stock does not know them. The reliable place for the RMA number, check status and stock posting is therefore the leading system. The shop displays the status instead of keeping it a second time -- the same separation that applies to stock, prices and taxes between shop and inventory system.
Two returns systems are one too many
Return request
The customer selects order, line item and return reason in the account. The firm link to the original order is the basis for everything that follows.
RMA number
The ERP assigns a unique reference and links it to customer, order and line item. It brackets the entire case together.
Check status
Announced, received, under inspection, completed: the status comes from the inventory system and is mirrored into the shop.
Quality inspection
Sorting and classification decide on A-grade, B-grade, repair, supplier return or scrap -- the most expensive step in the process.
Restocking
Inspected A-grade is posted as stock receipt, damaged goods are downgraded or written off. Stock stays quantity-accurate.
Credit note
A correction document reduces the receivable, the stock correction updates the value. Both are created rule-based in the leading system.
From the Return Request to the RMA Number
A robust RMA process does not start with an unannounced parcel in goods receipt but with a structured return request in the customer account. The customer announces the return before shipping it, and the ERP assigns an RMA number that accompanies the entire case through to the credit note. That way goods receipt already knows on arrival which order, which line item and -- in B2B -- which batch or serial number is behind it. The following workflow describes the typical stages:
- Submit the return request: The customer selects the affected order and line item in the account, states the return reason and, for a claim, uploads photos or inspection reports. In B2B the link to batch or serial number is added.
- Assign the RMA number: The ERP generates a unique RMA number, links it to customer, order and line item, and sets the check status to announced.
- Authorize the return: Rules from the ERP check deadlines, return eligibility and goodwill agreements. Only after approval does the customer receive the return instructions and document.
- Record goods receipt: When the shipment arrives, it is identified via the RMA number, the status jumps to received and the goods move into the inspection area.
- Inspect and classify: Quality inspection decides on A-grade, B-grade, repair, supplier return or scrap and records the result per line item.
- Close the case: Stock posting and credit note flow back into the ERP, the customer sees the final status in the account and receives the refund.
The RMA number is the bracket
Separating B2B Claims from B2C Withdrawal
The most common mistake is treating every return like a consumer withdrawal. Legally they are two different paths. In B2C distance selling, consumers have a right of withdrawal under Section 355 of the German Civil Code -- usually 14 days, without giving reasons, regardless of the condition of the goods. In B2B this statutory right does not exist. If a retailer takes back a business customer's goods, it is either on the basis of warranty in case of a defect (Sections 437 and 434 of the German Civil Code) or out of goodwill under individually agreed return rules. For the process this means: a withdrawal triggers a refund, a claim first a defect inspection, and a goodwill return follows the terms of the respective framework agreement.
| Characteristic | B2C withdrawal | B2B claim and return |
|---|---|---|
| Legal basis | Right of withdrawal in distance selling, Section 355 BGB | Warranty Section 437 BGB or contractual goodwill |
| Deadline | Usually 14 days | Warranty period or individually agreed |
| Reason required | No, without justification | Yes, defect or agreed return reason |
| Link in the ERP | Order and line item | Order, line item, batch or serial number |
| Outcome | Refund after return | Rework, replacement, credit note or resale |
In B2B, traceability is added. Returns with a batch or serial number reference can be assigned to a specific goods receipt, a production batch or a supplier -- decisive for electronics, spare parts or regulated product groups. This is also where the opportunity lies: a large share of inspected returns flows back into sale through the B2B channel. According to EHI, on average 50 to 75 percent of returned items can be reused as A-grade, in fashion even 76 to 99 percent (EHI Retail Institute). Return reasons split mostly into properties of the ordered item and the condition of the goods received (bevh, return compendium) -- a distinction the process should carry along for later classification.
The process must know both paths
Goods Receipt, Quality Inspection and Restocking
Inspection is the most expensive step of a return. 56 percent of retailers name inspection, sorting and quality control as the biggest cost driver in the returns business (EHI Retail Institute), and handling averages 5 to 10 euro per item, in the home and furnishings segment even 10 to 20 euro (EHI Retail Institute). Every degree of automation the RMA process takes off the inspection -- assignment via the RMA number, pre-set inspection criteria, direct stock posting -- lowers these costs directly. After sorting, each inspection result leads to a defined posting in the ERP:
| Inspection result | Posting in the ERP | Stock effect |
|---|---|---|
| A-grade, intact | Restock into sales inventory | Stock receipt at full value |
| B-grade, minor defect | Transfer to separate B-grade stock | Receipt with value markdown |
| Repairable | Transfer to repair or refurbishment | Blocked stock until release |
| Supplier defect | Return or charge back to the supplier | No sales stock, supplier clarification |
| Scrap | Write-off and disposal | Stock issue, value adjustment |
For restocking to stay quantity-accurate, the stock posting must be bound to the leading warehouse system -- especially with multiple locations. How to keep stock consistent across distributed warehouses is covered in our article on stock synchronization across multiple warehouses. The physical return also belongs cleanly connected: return notice, tracking data and goods receipt share the same interface patterns as shipping, which our article on shipping and logistics interfaces describes.
Inspected goods back into sale
Credit Note and Stock Correction
At the end of every return stand two postings that belong together: the credit note to the customer and the correction of stock. For VAT purposes, a return is a reduction of consideration -- the original revenue and the VAT on it are corrected via a correction document. So that accounting can trace this, the document must be created in an audit-proof way with a clear link to the original invoice and the RMA number, as the German principles of proper bookkeeping (GoBD) require. The automated handover of these documents to financial accounting is described in our article on DATEV integration in e-commerce.
In parallel to the credit note runs the stock correction: A-grade raises the sales inventory, B-grade lands in separate stock, scrap is written off and value-adjusted. Only when credit note and stock posting match is the return cleanly closed. The reconciliation between the payment side, credit note and open receivable is the same mechanism we describe in our article on payment reconciliation with the ERP -- otherwise a return without a matching credit note remains as a difference in the reconciliation. If DATEV is connected as well, the reduction of consideration feeds directly into the VAT return without anyone re-entering it by hand.
A return is only complete when the credit note and the stock correction mean the same case. As long as the customer is refunded but stock does not know the goods, the process has done only half the job.
Binding the RMA Process Bidirectionally to the Inventory System
The robust way is to leave the returns logic in the ERP and mirror the status in both directions via a middleware. The shop reports the return request with a link to the original order, the ERP assigns RMA number and check status, and every step forward -- received, inspected, credited -- flows back as a status update into the customer account. That way a single status source stays authoritative, and returns are handled without double entry. We build this connection as an API service that keeps the return status in sync between shop and inventory system.
Request from the shop
The shop passes return request, order link, line item and return reason to the middleware -- everything the ERP needs for the RMA number.
Rule from the ERP
The leading system assigns the RMA number, checks deadlines and goodwill, and controls inspection, restocking and credit note from its master data.
Status into the shop
Every step forward returns as a status update into the customer account, so customer, stock and accounting see the same status.
Technically, the reliability of the synchronization decides success. A return status arriving twice must not trigger two credit notes, and a briefly dropped connection must not lose a case. These patterns the RMA process shares with other event-driven connections:
- One status source: RMA number, check status and stock posting are kept only in the ERP and mirrored into the shop -- no second returns table.
- Bidirectional sync: The return request flows from shop to ERP, the inspection and credit status back into the account -- traceable in both directions.
- Idempotent processing: Every status message carries a unique reference so repetitions do not create duplicate postings.
- Audit-proof storage: RMA request, inspection result and credit note are stored with a timestamp as evidence.
- Testable with real data: Historical returns can be checked against the rules before the process goes live.
Implementation as a Service and Typical Pitfalls
Introducing an end-to-end RMA process follows a manageable sequence. What matters is the coordination between shop, warehouse, accounting and -- for claims -- quality management, because the inspection and classification rules determine the quality of the entire process.
From the return request to a productive returns service
- 1
Take stock
Capture the leading system, existing return paths, inspection criteria and special cases such as serial and batch references.
- 2
Separate the paths
Define B2C withdrawal and B2B claims as separate workflows -- with a shared RMA number and shared goods receipt.
- 3
Build the interface
Develop the connector to the ERP, RMA assignment, status update and the posting of restocking and credit note.
- 4
Test with real data
Check historical returns against the rules, calibrate edge cases and safeguard behavior on duplicate messages.
- 5
Go-live and monitoring
Production operation with monitoring of lead time, restocking rate and open RMA cases, followed by fine-tuning.
Recurring mistakes emerge from projects. Planning for them from the start saves expensive rework and avoids wrong stock or duplicate credit notes in live operation. The same care with master data and special cases pays off in adjacent processes -- for example in tax determination in the B2B shop, where the credit note has to hit the same tax rate as the original invoice, and in connecting suppliers in drop shipment, where returns can flow directly back to the supplier.
- Return status only in the shop: Without a link back to the ERP, stock does not know the return and the credit note bypasses accounting.
- No RMA number: Returns without a unique reference land as a puzzle in goods receipt and extend lead time.
- B2C and B2B mixed: Treating a claim like a withdrawal loses defect inspection, serial reference and goodwill rules.
- Inspection result without posting: A classification that triggers no stock posting keeps stock inaccurate and B-grade invisible.
- Duplicate credit note: Without idempotent processing, a repeated status message creates two refunds.
- No failure behavior: If the connection drops, no RMA case must be lost -- messages belong buffered and re-delivered.
Sources and studies