I’ve taken full advantage of having Anthropic’s Claude Code tool. With it, I built a suite of three interconnected Dolibarr modules that give small manufacturers and distributors a complete view of the customer product lifecycle — from delivery to return to warranty resolution. We’re using it at DPG Supply to keep track of hardware out in the field.
- FREE Module: Dolibarr Customer Inventory
- FREE Module: Dolibarr Customer Returns
- FREE Module: Warranty & RMA Management
All three are open-source, built for Dolibarr 16+, and designed to work together seamlessly.
Customer Inventory
What it does: Adds a dedicated tab to every customer’s third-party card showing every product and service they’ve ever received — pulled from shipments, invoices, and sales orders into a single, unified view.
Key features:
- Four viewing modes: flat list, grouped by sales order, by invoice, or by product
- Serial number and lot tracking from shipment batches
- Sortable columns with pagination
- When paired with the Customer Returns module, automatically calculates net quantities (shipped minus returned) and shows return status per item
No new database tables — it’s a read-only aggregation layer over your existing Dolibarr data.
GitHub: zacharymelo/dolibarr-customer-inventory
Customer Returns
What it does: Provides a full return management workflow — create, validate, and close customer merchandise returns with automatic stock movement tracking.
Key features:
- Draft → Validated → Closed status workflow
- Automatic stock movements: returned items are re-added to your warehouse inventory on validation
- Links returns to original shipments for full traceability
- Serial number tracking on returned items
- Per-line product detail with quantities, pricing, and warehouse assignment
- Five-level permission system (read, write, delete, validate, close)
When a return is validated, stock is automatically replenished in the designated warehouse — no manual inventory adjustments needed.
GitHub: zacharymelo/doli-returns
Warranty & RMA Management
What it does: A comprehensive RMA (Return Merchandise Authorization) and warranty system designed for businesses selling serialized equipment. Handles service request intake, warranty coverage tracking, guided troubleshooting, and resolution workflows.
Key features:
- Service Requests: Full lifecycle from intake to resolution with six resolution types (component shipment, full unit swap, on-site service, and more)
- Warranty Records: Per-serial-number coverage tied to customers and products, with automatic expiry tracking
- Auto-Warranty Creation: When a shipment is validated, warranty records can be created automatically for serialized products
- Guided Troubleshooting: Product-aware diagnostic checklists with multi-session logging
- Movement Tracking: Carrier and tracking number management for outbound and return shipments within a service case
GitHub: zacharymelo/Dolibarr-Warranties
How They Work Together
These three modules are designed as independent tools that become more powerful in combination. The integration points are lightweight and optional — each module functions on its own, but enabling all three creates a closed loop:
- A product ships out. The Warranty module can automatically create a warranty record from a validated shipment. The Customer Inventory module picks up the delivery and displays it on the customer’s card.
- A customer reports a problem. A service request is created in the Warranty module, which matches the serial number to the existing warranty for coverage verification and walks your team through troubleshooting.
- A return is needed. A Customer Return is created and linked to the service request. When validated, stock is automatically replenished. The Warranty module detects the return and advances the service request status.
- The customer’s card stays current. The Customer Inventory tab reflects net quantities — what was shipped minus what was returned — giving your team an accurate picture without manual reconciliation.
All cross-module communication happens through Dolibarr’s native element_element linking table and trigger system. There are no hard dependencies — just graceful enhancements when sibling modules are present.
Getting Started
All three modules require Dolibarr 16.0+ and PHP 7.0+. Install them like any custom module — drop the files into your htdocs/custom/ directory and activate from the module setup page.
Full disclosure, these tools were built with the help of AI coding tools. These modules do not strictly adhere to the Dolibarr module best practices and have not been registered with the Dolibarr foundation yet. I cared more about sharing the work that works for me than modifying the doc file to claim IDs for the modules – you may need to assign new ID for any of the modules to get it to work for you.

