The challenge
The client buys, refurbishes and sells used vehicles. That means thousands of spare-part purchases, inspection-driven repair costs, many suppliers and several sales channels, all of which have to stay in sync. Standard ERPNext covers the basics, but the business needed automation built around its own vehicle lifecycle.
What we delivered
- Parts procurement automationRule-based purchase orders for spare parts. Demand is aggregated from work orders and sales, brands are matched to suppliers, and the system creates one draft PO per supplier. A full procurement-batch lifecycle and a review dashboard sit on top, with WhatsApp notifications on PO submission and supplier ranking.
- Vehicle refurbishment BOM suggestionsA suggestion engine that proposes the parts list for each refurbishment, scoring candidate parts by confidence and data source. It has an approval workflow and cost roll-ups across L1/L2/L3, PDI and QC stages, tied to inspection results.
- Invoice automation and supplier portalGemini-based OCR extracts line items from supplier invoices and allocates them against open PO lines. It splits ambiguous allocations across several POs by urgency and maps alternate parts, and a review step comes before receipt is confirmed. Suppliers upload invoices themselves through a web portal with WhatsApp OTP login.
- Inventory and reportingParts inventory flow analysis (consumption, transfers, sales and returns), sellable and vehicle inventory reports, and number-card dashboards in the finance, parts and sales workspaces.
- Sales and documentationVehicle sales workflows across COCO and FOFO channels, documentation records created automatically on purchase receipt, credit notes, and sold-status tracking across returns, repurchases and cancellations.
- Finance and accountsSupplier and customer accounts automated by channel (COCO, FOFO, DAP, NBFC), GST handling for in-state and out-of-state transactions, and purchase and sales invoice automation tied to documentation and inspection status.
- LogisticsPickup and drop tracking views, and vehicle-stage transitions tied to the logistics order lifecycle.
How we work on this engagement
- Long-running ownership of a single large Frappe app, rather than one-off feature drops.
- Built for maintenance, with centralised constants for business values and shared utility modules that avoid duplicated logic.
- A working FrappeTestCase test suite for business-critical calculations.
- Code review with the client's engineering team, with feedback on naming, duplication and test coverage acted on as a matter of course.
- Work across the full Frappe surface: DocTypes, Pages, query reports, scheduled jobs, whitelisted APIs and www portal pages for external users.
The result
The business now runs procurement, refurbishment, inventory, sales and finance on one connected ERP. Purchase orders draft themselves, supplier invoices are read automatically, and every team has live dashboards. The system keeps evolving through continuous, reviewed releases.