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. This is the machinery; who opens it, and for what is the other half.

See every module

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.

SystemProtocolReads
SAP S/4HANA, ECCOData v2Materials, suppliers, POs, sales orders, stock, production, BOM
Oracle Fusion SCMFusion RESTItems, suppliers, POs, on-hand, shipments, work orders
Dynamics 365 SCMOData v4Products, vendors, customers, order lines, on-hand, BOM
WMSREST or ODataStock positions and movements
TMSREST or ODataShipment milestones and freight
SQL data lake — PostgreSQL, MySQL / MariaDB, SQL ServerSQL, read-onlyAny query you approve, one per entity
FilesCSV, ExcelAnything, 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. Bringing a month of data to a first call needs no connector at all: a CSV export is enough — and there is a free calculator that shows how one shipment's charges get spread, with the working, before you talk to anybody — and another that works a container's demurrage and detention clocks separately. Both run in your browser and need no account. If you are weighing this against a workbook or a dashboard you already have, that comparison is written out.

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. The same separation is what the security page describes from the other direction.

Order fill rate

94.2%

lines delivered in full 8,914
÷ 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.

ModelSuits
Seasonal naiveThe benchmark everything must beat
Moving average, damped driftShort or noisy history
Holt-WintersTrend with a repeating season
Croston, SBAIntermittent demand — spares, slow movers
Ridge on lags and calendarStable series with a clear signal
Gradient-boosted treesNon-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.

06 — Anywhere

The approval is on the floor, not at the desk.

The person who has to approve a purchase order is walking a line, standing at a dock or in a car. If approving means finding a laptop, the exception waits until evening — and a stockout does not.

The whole product, on a phone

Not a cut-down companion app with three of the screens. The same URL, the same permissions, the same audit trail — laid out for a 360px screen.

Nothing to install

No app store, no MDM ticket, no version that is three releases behind because somebody skipped an update. Sign in and it is current.

Built for a bad signal

The screens people use all day make no model call and render in under 300 ms, so they still open on a plant Wi-Fi or a patchy 4G bar.

Tablets get the desktop layout, which is the right call — a warehouse manager on an iPad wants the full control tower, not a phone screen stretched to fill it.

Get started

Bring one month of data. Leave with your own control tower.

A demo runs on your material master, your purchase orders and your stock — not on ours. Thirty minutes, and you see your own exceptions rather than a scripted one.

Ask a question

Book a demo

Thirty minutes, on your own data. Six fields — the rest only helps us prepare.

Not binding. Tell us the size and we will say which one fits.

The demo connects to it, so this shapes the whole session.

Add context, and the demo runs on your problem rather than a scripted one

We reply within one working day.