RPA to the Rescue: Daily Inventory Reconciliation
Project Type
Finance Automation
Date
July 2022
Location
Melbourne, Australia
Role
Finance Consultant
Client Industry
Food & Beverages
Tech Stack
UiPath (RPA strategy with RPA development specialists)
Infor M3 (ERP)
SQL (for data extraction and reconciliation logic)
Excel (reporting and distribution)
The Client
The client is a leading Australian dairy company producing a wide range of high-quality cheeses, spreads, and dairy products. The company sources milk from local farms and serves both domestic and international markets, with a focus on innovation, sustainability, and supporting the broader dairy industry.
The Challenge
The client manages high-volume inventory movements across multiple sites in Australia, using a single Infor M3 instance alongside several third-party warehouse tools. They handle receipts, stock takes, adjustments, and lot management while maintaining accurate inventory valuation for finance and operations.With inventory moving continuously and the M3 version not being the latest cloud release, timing and control issues caused discrepancies between book cost in M3 and warehouse valuation. Reconciling these discrepancies required specialized knowledge of M3 tables, functionality, and SQL. The process was labor-intensive, needed to be done monthly before month-end close, and often delayed the close when significant variances required detailed investigation. Even M3 specialists could not perform reconciliations daily due to other responsibilities.
The Solution
An unattended RPA solution using UiPath was implemented to automate inventory reconciliation. I worked with the RPA development team to design the approach, provide the M3 logic and SQL queries, and validate outputs during testing.
The bot extracted data from Infor M3 and third-party warehouse systems, executed SQL queries to reconcile item quantities and average costs, and flagged discrepancies above an agreed tolerance. The results were compiled into a structured Excel summary for inventory controllers and automatically distributed on a daily basis. By running the bot daily, the team could identify variances as they occurred rather than waiting until month-end, enabling proactive resolution and significantly reducing surprises during the close.