Mis-billed repairs
A human ticks 'Under warranty' by hand: in-warranty units get charged to the customer and out-of-warranty units get repaired for free. Every wrong tick is money out the door.
Odoo treats warranty as a manual checkbox and vendor returns as an accounting wizard, and never connects the two. This module captures the serial or IMEI at the point of sale or delivery, starts a warranty clock from the delivery date (2 years in the EU, 3 years in Spain), decides on its own whether each repair is covered or billable, and reconciles the vendor's credit note against the purchase cost of that exact serial.

Warranties, repairs and vendor RMA by serial number, all inside Odoo 17, 18 and 19. Source code included, one-time payment of EUR 19.
A manual 'Under warranty' checkbox and a returns accounting wizard that nobody links: that is how euros slip away on every repair and every vendor credit.
A human ticks 'Under warranty' by hand: in-warranty units get charged to the customer and out-of-warranty units get repaired for free. Every wrong tick is money out the door.
You ship the faulty unit back and the vendor issues a credit note, but nobody verifies it matches what you paid for that exact serial. Short-pays, restocking fees and FX losses simply vanish without a trace.
In standard Odoo the warranty is a checkbox and the vendor return is an accounting wizard. With no serial number in between, there is no way to tell which unit went back or which credit belongs to it.
All inside your own Odoo, with no external SaaS: the serial number drives the warranty, the repair and the vendor credit.
Capture the serial or IMEI at the POS, on the sale or on delivery. Each unit gets its legal window computed from the delivery date: 2 years in the EU (Directive (EU) 2019/771, art. 10) or 3 years in Spain (Royal Legislative Decree 1/2007, art. 120), each period carrying its own legal citation.
Pick the unit on the repair order and the module auto-sets 'Under warranty' from its window: in-window, the parts are zeroed; out-of-window, the unit routes to a billable quotation. No manual checkbox, no wrong invoice.
Open a return-to-vendor straight from a covered repair: the defective serial ships back on a purchase return, with a clean draft, sent, awaiting credit and closed lifecycle.
The module reconciles the vendor's credit note against the original per-serial purchase cost and raises a variance the moment the vendor short-pays. The RMA cannot be closed while money is still owed: a short-paid credit never disappears from your reports.
Assign a spare serial for the duration of the repair, with out, due and returned dates, and an automatic overdue flag when a loaner comes back late.
Define policies per country and per product: every legal period carries its primary-source citation, so you can defend the decision to the customer or the vendor.
Interface and data translated to English and Spanish from day one, ready for mixed teams.
Runs on Odoo Community 17.0, 18.0 and 19.0: no Enterprise app required. Source code included with your purchase.
Plenty of RMA modules move boxes; this one moves money. Reconciling the credit against the per-serial cost — with an automatic variance and a close that stays blocked while a single cent is missing — is the piece rivals do not ship. And it is built by an independent developer in Barcelona: if you have a question, you talk to the person who wrote the code.
The module computes windows, decides covered vs billable and reconciles credits, with the legal citations of each period (Directive (EU) 2019/771, Royal Legislative Decree 1/2007). But the commercial policy — what your extended warranty covers, which tolerances you accept — is configured by you, per country and per product. No magic promises: if something does not fit your flow, tell us and we will look at it.
If your products carry a serial or IMEI and your vendors issue credit notes, this flow is your day-to-day.
You sell with an IMEI in-store or at the POS and manage 2-3 year warranties. The per-unit clock ends the 'is it still under warranty?' argument at the counter.
You return defective units to the manufacturer every week. Serial-level RMA and cost reconciliation recover the money you lose today to short-pays and restocking fees.
You repair under manufacturer warranty and bill whatever it does not cover. The automatic covered-vs-billable decision and loaner tracking keep the workshop in order.
Every unit you sell stores its serial or IMEI together with the delivery date. The module computes the legal window from that date using the applicable policy (EU 2 years, Spain 3 years, or one you define yourself) and auto-sets 'Under warranty' the moment you pick the unit on the repair order.
The module reconciles the credit note against the original purchase cost of that exact serial and raises a variance for the difference. The RMA cannot be closed while money is still owed, so a short-paid credit never quietly disappears from your reports.
Yes. It runs on both Odoo Community and Enterprise across versions 17.0, 18.0 and 19.0, with no Enterprise app required. It builds on standard modules such as Inventory, Purchase and Repairs.
Yes. Each policy carries its primary-source citation: 2 years in the EU under Directive (EU) 2019/771 (art. 10) and 3 years in Spain under Royal Legislative Decree 1/2007 (art. 120). You can also define your own periods per country and per product, for example for extended warranties.
Yes. From a covered repair you open a return-to-vendor in one step: the defective serial ships back on a purchase return with a clean lifecycle of draft, sent, awaiting credit and closed, and the expected credit is reconciled against that serial's purchase cost.
A one-time payment of EUR 19 under an OPL-1 license: full source code, 12 months of updates and direct support from the developer who built the module. No mandatory recurring fees.
For EUR 19 (one-time) you close the loop: per-serial warranty, self-deciding repairs and every credit verified to the cent. Source code included, for Odoo 17, 18 and 19.