Returns are the part of order-to-cash that most SAP Business One installations never finished. The forward side is tight: quotation, sales order, delivery, A/R invoice, incoming payment. The reverse side is a shared mailbox, a spreadsheet of "customer says it arrived damaged", and a warehouse clerk deciding on the spot whether a carton goes back into the bin or into the scrap cage. By the time Finance sees it, the credit note is a manually keyed A/R Credit Memo with no link to the invoice line it credits, no evidence of what was inspected, and no restocking fee.
The cost is rarely one large number. It is a hundred small ones: goods received back into saleable stock that should have been written off, credits raised twice, credits raised for goods that never physically arrived, tax posted into the wrong period, and a customer service team that cannot answer "where is my refund?" without walking to the warehouse.
Returns and RMA Management is a SAP Business One add-on that ECOSIRE builds to order for your company. It puts an authorisation gate in front of every physical return, records an inspection outcome per unit, drives the resulting stock movement and financial posting from that outcome, and closes the loop with a credit note that references the document it credits.
What ECOSIRE builds
A real RMA document, not a spreadsheet
The RMA is implemented as a User-Defined Object (UDO) over header and line User-Defined Tables (UDTs), so it behaves like a native document: its own numbering series, draft and posted states, Find and Browse in the client, participation in SAP Business One approval procedures, and full read/write access through the Service Layer.
Each RMA header links to the Business Partner and, where the return is traceable, to the originating Sales Order, Delivery or A/R Invoice. Each RMA line carries the Item Code, quantity requested, quantity actually received, reason code, warranty flag, serial or batch numbers, and the disposition assigned at inspection.
Authorisation before anything ships back
An RMA number is issued only after the request passes the rules you define: a return window measured from the A/R Invoice posting date, item eligibility held on Item master User-Defined Fields, Business Partner credit status, minimum line value, or a manual approver step routed through approval procedures. Requests that fail a rule are held with a recorded reason rather than silently rejected, so customer service can explain the outcome.
Goods receipt against the authorisation
When the carton arrives, the warehouse books it against the RMA rather than against a blind return. Quantities that do not match the authorisation are flagged as short, over or unauthorised. Received goods land in a quarantine or inspection Warehouse you nominate, so they are visible in inventory but excluded from available-to-promise.
Inspection and disposition
Inspection records an outcome per line, or per serial number where the item is serialised: restock as A-grade, downgrade to an alternate Item Code, route to repair, return to vendor, or scrap. The disposition drives everything downstream. Restock generates the Returns document and an Inventory Transfer into the correct warehouse and bin location. Scrap generates a Goods Issue to the expense account you designate, with the resulting Journal Entry reachable from the RMA. Return to vendor generates the outbound paperwork against the originating Purchase Order where one can be traced.
Credit note automation
Once disposition is complete, the add-on builds the A/R Credit Memo from the RMA: correct item, quantity actually received, original selling price pulled from the source invoice line, restocking fee applied as a separate line or as a discount, and freight handled according to your policy. The Credit Memo is created based on the source document wherever SAP Business One permits it, so the audit trail from invoice to credit stays intact. Where a refund is not the right outcome, the same flow produces a replacement Sales Order instead.
Reverse logistics and customer communication
Carrier references and return labels are stored on the RMA. Status transitions send templated emails to the Business Partner contact — authorised, received, inspected, credited — using the mail configuration already present in your SAP Business One environment.
Reporting
Crystal Reports layouts are delivered with the add-on: the printable RMA authorisation, returns analysis by reason code, a disposition summary by warehouse, an ageing report of RMAs authorised but never received, and a reconciliation listing every completed RMA without a matching Credit Memo.
Technology and compatibility
The add-on is built for SAP Business One 10.0 on Microsoft SQL Server and on SAP HANA, on-premise or cloud-hosted. Business logic and integrations run through the Service Layer (REST), with the DI API used where an operation is not exposed by the Service Layer. Master data extensions are delivered as User-Defined Fields on Business Partners, Items and marketing documents; the RMA itself is a UDO. Validation is enforced server-side rather than only in the user interface, so a Service Layer call from your webstore is held to exactly the same rules as a keystroke in the client.
Who this is for
Distributors and online sellers with a material return rate, manufacturers handling warranty claims against serialised units, and any SAP Business One site where the credit note is currently a manual re-key. It is most valuable where returns cross departments — customer service authorises, the warehouse inspects, Finance credits — because that is exactly where the handoffs lose information today.
How delivery works
This app is not a pre-built download and there is no trial copy to install. Every deployment is built for one customer's company database.
1. Scoping call. We walk your current returns process, your reason codes, the dispositions you actually use, the documents you post today, and the systems that feed returns. 2. Fixed quote. You receive a written scope and a fixed price before any code is written, with in-scope and out-of-scope items listed explicitly. 3. Build. ECOSIRE develops the add-on against a structural copy of your company database. Typical lead time is one working week from acceptance of the quote, depending on the number of integrations and dispositions in scope. 4. Install in test. We install into your test company database, load your reason codes and disposition rules, and run your own scenarios with your team. 5. Install in production. After you sign off in test, we install into the production company database at a time you choose, with a documented rollback. 6. Support window. A defect-fix and support period runs from the production install date; its duration is stated in your quote.