Retail / Home Improvement
Power BI Inventory & Sales Analytics for Retail
Automated inventory and sales reporting for a retailer running warehouses and an online store, replacing manual ERP exports assembled in spreadsheets with dashboards that refresh every fifteen minutes.
- Role
- Data architecture, ERP extraction, Power BI development, and handover
- Power BI
- NetSuite
- Automated refresh
The challenge
What the business was running into
- Inventory reporting was assembled by hand, exporting from the ERP and stitching the result together with other spreadsheets before anyone could look at it
- Every manual step was a chance to introduce an error nobody would catch until a decision had already been made on it
- The ERP's API returned a thousand rows per request, which made a full refresh take hours and turned routine reporting into an overnight job
- The infrastructure carrying the workaround cost real money every month and still could not keep up with a growing catalogue
The approach
Inventory reporting has a familiar failure mode. Someone exports data from the ERP, opens it in a spreadsheet, merges it with two other spreadsheets, and circulates the result. It works, it takes half a day, and every step is a chance to introduce a number nobody can trace later. This retailer, running physical warehouses alongside an online store for construction and furnishing products, was doing exactly that, and the catalogue was growing faster than the process could carry.
The obvious fix is to pull the data through the ERP's API, which is where the project would have stalled. That API returns a thousand rows per request, so a full inventory refresh became an exercise in pagination that took hours and needed its own database server and cloud services to sit behind it. The interesting decision was to stop using it. The ERP can already produce saved searches as files, so the pipeline consumes those instead, which removed both the bottleneck and the infrastructure that existed only to work around it.
What the business got is dashboards covering inventory, sales, and stock status across warehouses and the online store, refreshing every fifteen minutes without anyone pressing a button. Refresh time dropped by more than ninety percent, from hours to minutes. The servers behind the old approach were switched off, taking a recurring annual cost with them. And the manual export step disappeared, which mattered as much as the speed did, because the errors it introduced were the reason people argued about whose number was correct instead of deciding what to order.
Key capabilities
What the system does
ERP extraction that does not fight the API
Rather than paginating a thousand rows at a time through an API that was never built for bulk reporting, the platform's own saved-search exports feed the pipeline directly. The fastest integration is often the one that stops using the obvious endpoint.
Refresh every fifteen minutes
Data imports and refreshes on a schedule without anyone pressing a button, so the dashboard a buyer opens at eleven reflects the warehouse at a quarter to.
Inventory, sales, and stock status in one view
Interactive dashboards covering what is in stock, what is moving, and what is about to run short, across warehouse locations and the online store together rather than as separate reports.
Infrastructure removed, not added
The database server and cloud services the previous reporting setup relied on were switched off. Reporting projects usually add infrastructure. This one deleted it, and the monthly bill went with it.
No manual assembly step
Nobody exports anything, opens a spreadsheet, or merges two files before a number is trusted, which removes both the delay and the class of error that came with it.
Outcome
Report refreshes went from hours to minutes, the reporting infrastructure was retired entirely, and inventory decisions now run on data that is fifteen minutes old at worst.
Results
What changed for the business
Refreshes in minutes instead of hours
Report refresh time fell by more than 90%, which turned reporting from something scheduled around into something used during the working day.
Thousands saved every year
Retiring the reporting infrastructure removed a recurring annual cost while making the reporting better rather than worse.
Decisions on current stock
With data no more than fifteen minutes old, buying and allocation decisions are made against what the warehouse holds now rather than against last night's export.
Errors removed at the source
Taking the manual export and spreadsheet merge out of the process removed the transcription mistakes that came with them, and with them the arguments about which version of a number was right.
Related Services
Custom Software Development
Purpose-built systems that replace manual work and outgrown software. Designed, built, and supported by the same senior team.
Cloud Development
Cloud infrastructure that scales with the business and costs less to run than the servers it replaces.
Data & Power BI
Connected data and Power BI dashboards that arrive in time to act on, built on a model your team can extend.