Five enterprise modules.
Coupa parity, closed.
We mapped the gaps between this kernel and Coupa, then closed five of them end to end — schema, agents, APIs, and UI — each one walked through live on real data.
Migrations 648–652 · 6 pure libraries · ~76 new tests · 21 live modules on one kernel
Guided Buying
One smart front door for any purchasing need
Entry points were fragmented — a requisition form, a Telegram bot, a webshop. Employees had to know which process to use before they could ask.
Live: “5 boxes of A4 paper and two ergonomic chairs” → classified Catalog requisition at 90% confidence, matched to the Office Depot catalog, lines pre-filled and charged to Finance.
Spend Analysis
A real UNSPSC spend cube, not a flat KPI page
The spend page showed totals and a trend line. There was no commodity taxonomy, no sliceable cube, and no way to see leakage.
Live: €890,623 of committed spend across 6 commodities and 11 suppliers, 80.9% classified, 19.8% flagged maverick — spend that skipped a preferred or contracted supplier.
Services Procurement
Statements of Work with service entry sheets
Goods ran PO → goods receipt → invoice. Services spend — often half the total — had only timesheets, no SOW lifecycle or delivery proof.
Live: a €20,000 SOW at €5,000 delivered (25%). Approving a service entry sheet moved billable value to €17,000 automatically via the value-rollup trigger.
cXML PunchOut
Shop supplier-hosted catalogs over standards cXML
There was a mock REST connector and a SAP IDoc generator, but no standards-based PunchOut — the catalog integration every enterprise buyer expects.
Live: a full roundtrip through the built-in mock supplier — punched out, built a cart, and it returned as a real cXML PunchOutOrderMessage (UNSPSC codes intact, €1,405) onto the review screen.
Compliant e-Invoicing
Suppliers submit — PO-flip or UBL/PEPPOL
Scan-to-Pay was the buyer re-keying a PDF. Suppliers had no way to submit an invoice themselves, and nothing validated structured e-invoices.
Live: the demo vendor flipped a PO into invoice INV-DEMO-2026-001 — tagged PO-FLIP, compliance surfaced as a warning, and the 3-way matcher picked it up (status MATCHING).
Fleet Health & Circuit Breaker
The agents tell you when they stop working
The LLM-backed fleet failed 100% for weeks in silence. All 23 cron jobs reported success — because a cron succeeds at EMITTING an event regardless of what the agent then does with it. The daily health check never fired once: it required queued work, and an agent that fails instantly leaves nothing queued.
Live: 159 of 259 events had been silently burned at 63% failure. The repaired check now alerts on 8 agents where it previously alerted on none, and reports “9 agents are failing with the same error — this is one incident, not 9.”
Over-Receipt Guard
You cannot receive more than you ordered
Goods receipt was completely unguarded. A receipt for 10× the ordered quantity was accepted by the database — and because the three-way match reconciles invoice against PO and GR, an equally inflated invoice would then reconcile cleanly and get paid.
Live: block mode refused a 5× over-receipt naming the PO and the numbers, still accepted the exact ordered quantity, refused a follow-up receipt of just 1 more unit, and allowed 105 against 100 under a 10% tolerance.
Same kernel. New surface area.
Every module above reuses the existing approval engine, treasury loop, and agent fleet — no new infrastructure. That is the whole point of a kernel.