Platform
A control tower you can audit line by line.
Most supply chain software asks you to trust a dashboard. SIAARU shows you the query. Every KPI, every exception and every forecast carries its inputs, its row count and its date, because a number a planner cannot defend in a meeting is a number they will not act on.
01 — Connect
Read-only, into what you already run.
SIAARU reads. It does not write into your ERP, and that is a deliberate line rather than a missing feature: a system that can place a purchase order in SAP is a system your IT department must treat as production infrastructure, and that turns a four-week deployment into a nine-month one.
Every credential is encrypted with AES-256-GCM before it reaches the database, is never returned to a browser, and is redacted in every audit row. Every outbound URL — including each page cursor a remote hands back — is re-checked before it is fetched.
| System | Protocol | Reads |
|---|---|---|
| SAP S/4HANA, ECC | OData v2 | Materials, suppliers, POs, sales orders, stock, production, BOM |
| Oracle Fusion SCM | Fusion REST | Items, suppliers, POs, on-hand, shipments, work orders |
| Dynamics 365 SCM | OData v4 | Products, vendors, customers, order lines, on-hand, BOM |
| WMS | REST or OData | Stock positions and movements |
| TMS | REST or OData | Shipment milestones and freight |
| PostgreSQL | SQL, read-only | Any query you approve |
| Files | CSV, Excel | Anything, mapped once |
02 — Reconcile
Bad data is quarantined, not quietly averaged.
Every import is scored before it lands. Below your threshold, the rows are held and named rather than written — and they never reach the AI layer.
Units and currency
Kilograms against tonnes, dollars against rupees. Converted on a stated rate with the rate recorded, so a figure can be re-derived later.
Duplicates and gaps
The same material under two codes, a purchase order with no lines, a month with no movements. Each is reported as itself.
A quality score
One number per import with the reasons behind it. You set the threshold; the default is 60.
03 — Measure
The number, then the arithmetic.
Fill rate, OTIF, days inventory outstanding, inventory turns, supplier on-time performance, quality rejection rate, freight cost per tonne, capacity utilisation, forecast accuracy and bias.
All of them are SQL. The engine is architecturally forbidden from importing a model client, the database layer, the network or the clock — and a test enforces it, so the guarantee survives the next person who edits the file.
Why this matters. A language model asked to compute a fill rate will produce a plausible number. Plausible is worse than wrong: wrong gets caught.
Order fill rate
94.2%
÷ lines ordered 9,463
= 94.2%
period: Jul 2026 · 9,463 rows
Click any figure in the product and this is what opens.
04 — Forecast
Ten models compete. The winner is chosen on data it never saw.
Ridge regression on lag and calendar features, gradient-boosted trees, Holt-Winters with a damped trend, Croston and SBA for intermittent demand, moving averages, and seasonal-naive as the benchmark.
Selection is by rolling-origin backtest: the series is cut at several points, each model forecasts forward, and the errors are measured only on periods after the cut. A model that cannot beat seasonal-naive by a stated margin does not get used — the benchmark wins instead, and the product says so.
Where there is not enough history to test honestly, the forecast is marked unvalidated rather than being given a confident-looking accuracy.
| Model | Suits |
|---|---|
| Seasonal naive | The benchmark everything must beat |
| Moving average, damped drift | Short or noisy history |
| Holt-Winters | Trend with a repeating season |
| Croston, SBA | Intermittent demand — spares, slow movers |
| Ridge on lags and calendar | Stable series with a clear signal |
| Gradient-boosted trees | Non-linear response, long history |
05 — Act
Ranked by rupees, approved by a person.
Exceptions with impact
Not an alert list. Each exception carries the money at stake, so the order to work through them is obvious.
Recommendations, cited
A recommended action with the records it was drawn from. The AI explains and drafts; it never computes the number.
Approvals and autonomy
Five autonomy levels, from observe-only to acting on low-risk items. Today the product ships up to level 3: nothing executes without a human approval.
After an action is taken, a verification job re-checks the condition. If it has gone, the exception closes with evidence. If it has not, it re-escalates — which is the part most tools leave out.