A packaging supplies wholesaler with around 2,700 SKUs, including custom-print lines with long setup times, ran a legacy ERP that its integrator no longer touched. The team was not ready for API connectivity. It was ready to stop making purchasing decisions from a monthly static export. A standardised weekly CSV, mapped by Flowra in week one, became a daily inventory action list, and dead inventory fell by €94,000 over two quarters without a single change to the ERP.

−€94kdead inventory, two quarters
Same dayexport to purchase decision (was 3 days)
Week 1first ranked list, from CSV
0changes to the ERP

The situation

Every Monday the operations lead pulled the same five spreadsheets: sales by SKU, purchases, on-hand by location, open orders, and a margin sheet finance maintained separately. By Wednesday, after pivoting and reconciling, a reorder list existed. By Thursday it was already out of date.

Finance wanted faster inventory turns. Sales feared stockouts on custom-print lines where a missed order meant a four-week press setup. Nobody trusted a single prioritised list, because every department built its own from a different export.

The ERP itself was stable but frozen. No one wanted to touch it, and an integration project was out of the question.

What the data showed, and didn't say

The ERP could export sales lines, purchase lines and stock movements with dates. That was enough to reconstruct a stock trajectory per SKU and compute velocity, cover and margin. What failed was the last mile: turning rows into today's reorder, stop-buy and escalation actions, ranked in an order the whole company would accept.

The data also held a pattern nobody had quantified: custom-print SKUs whose velocity had collapsed after a client changed its branding, but which were still being reordered on the old minimum because the ERP flagged them as below reorder level.

Connecting Flowra

Week one. IT scheduled the existing export as a weekly CSV. Flowra mapped the columns automatically to its sales, purchase and product templates during onboarding; the operations lead confirmed the mapping in twenty minutes. Flowra reconstructed 30 months of stock trajectory from the net transaction flow, no opening stock count required, and returned the first ranked list the same week.

Week three. Confident in the output, the team added a read-only SQL connection to the ERP's MSSQL database for fresher stock positions between weekly files. Still no write access, still no change to the ERP. Re-scoring runs nightly or on demand.

What Flowra surfaced

  • A daily ranked reorder list, capped to what the receiving dock could process, ordered by stockout risk and revenue at stake rather than alphabetically by SKU.
  • Stop-buy flags on 46 custom-print lines with collapsing velocity that the ERP was still proposing to reorder.
  • A dormancy list of products with no movement in more than 90 days, and a separate dead-stock onset list of lines still selling but likely to go silent within the next few months.
  • A cash-in-inventory summary for the weekly leadership huddle: excess above cover target, dormant stock at cost, and the change since the previous week.
Flowra · recommendation draftConfidence: High
Stop purchasing PRT-1187 (custom-print mailer box, client ref. Northgate) and release the open PO of 4,000 units
Fact
PRT-1187 12-week velocity: 31 units per week, down from 240 in the previous quarter. Risk score 0.81 (critical): slow-mover probability 0.90, velocity rank 0.71, trend rank 0.72. Forward cover with the open PO: 27 weeks.
Forecast
At current velocity the existing stock lasts 14 weeks; receiving the open PO pushes forward cover past six months and adds €6,200 at cost to dormant-risk inventory.
Recommendation
Cancel or reduce the open PO before the press run starts, and confirm with the account manager whether Northgate's rebrand is permanent. Alternative: reduce the PO to 1,000 units if a final order is expected.
Hypotheses
The velocity drop reflects the client's branding change, not a seasonal dip (no prior-year pattern). The PO has not yet entered production. Unit cost per the last purchase line.
Next step
Approve, adjust the quantity, or ask why. Nothing changes in the ERP until you do.
Data refreshed 7 h ago · 30 months of history · Sources: ERP export (CSV), MSSQL (read-only)

What the team did

The operations lead opened the ranked list at 8 a.m. instead of a spreadsheet at noon. Reorders were approved in the list, then keyed into the ERP by the buyer, exactly as before. Stop-buy flags on custom-print lines were checked with the account managers; 41 of the 46 were confirmed, and the five overrides were logged with the reason (a pending client reorder in each case).

Leadership received the cash-in-inventory summary in the Monday digest by email. The number moved week to week, which kept the clear-down programme funded. Sales received their own view in Microsoft Teams: the promo-linked and custom lines only, with cover and lead-time cut-offs.

The five Monday spreadsheets were retired in week four. Flowra never wrote a single record to the legacy ERP.

Results

MetricBeforeAfterTimeframe
Time from export to purchase decisions3 days (Monday to Wednesday)Same morningFrom week 1
Dead inventory value (dormant, at cost)Baseline−€94,000Two quarters
Reorders raised on collapsing custom-print linesRoutine (ERP minimum)Stopped on 41 linesFirst month
Weekly spreadsheets maintained by operations50Week 4

"We finally act on what the ERP already knew."

— Operations Lead, packaging supplies wholesaler

What made it work

  • The export was enough. Sales, purchases and movements with dates are all a decision layer needs. The connector can come later, or never. ERP analytics vs ranked action lists sets out where that split sits.
  • Rank by risk and revenue, cap by capacity. A list the dock cannot process is a list nobody trusts. Capping the daily reorder queue to receiving capacity is what made it executable.
  • One list, three audiences. Operations, sales and leadership saw the same signal in the depth their role needed, through the channels they already used, which ended the competing-spreadsheet problem. The monthly inventory review checklist shows how the weekly summary rolls up.

Frequently asked questions

Can Flowra build an inventory action list from a CSV export alone?

Yes. Sales lines, purchase lines and stock movements with dates, exported weekly, are enough. Flowra maps the columns automatically during onboarding, reconstructs the stock trajectory from the transaction flow and returns a ranked reorder, stop-buy and clear-down list within the first week.

Do we need an opening stock count for the numbers to be right?

No. Flowra reconstructs stock positions from net transaction flow, so it works without a clean opening balance. The result is a reconstructed trajectory rather than a physical count, which is why the recommendations show their data sources and freshness.

What changed in the legacy ERP?

Nothing. Flowra read a weekly CSV and, from week three, a read-only SQL connection. Buyers continued to raise purchase orders in the ERP themselves. Write-back is off by default and was never enabled.

Related reading

Same playbook, your data. Book a 20-minute walkthrough or upload a file and get your first ranked action list.

Get my free inventory report →