Skip to content

Dynamics GP & NAV · Sage 50 · QuickBooks Desktop · AS/400 — and every system like them

Your data isn't lost.
It's frozen.
Lumnik thaws it.

Lumnik reads your existing systems without ever writing to them, brings their data into one place, and gives each team an assistant that answers in plain English — or honestly says it doesn't know.

read-only by construction · runs on your own servers or in the EU cloud · the AI can stay inside your walls too

The problem

Twenty years of decisions sit in systems nobody dares touch.

Orders, customers, inventory, service calls — it all exists somewhere, inside an aging ERP nobody wants to migrate and nobody is allowed to connect anything to. So two people know how to query it, questions wait until they're back from vacation, and every new report is a billable ticket to the vendor. The data isn't scarce. It's locked up.

Dynamics GP
end of support announced — the data stays
Dynamics NAV
customized past any upgrade path
Sage 50 / Sage 100
Peachtree and MAS 90, still posting
QuickBooks Desktop
fifteen years of company files
AS/400 (IBM i)
green screen, one expert left
The Access / FoxPro app
its author retired in 2019

Same story with Epicor and JD Edwards, in the folder of 900 CSV exports the last Excel wizard left behind, and one floor up in SAP ECC, Oracle E-Business Suite and Siebel. And the clock is public now: Microsoft has announced the end of support for Dynamics GP — 2029 for the product, 2031 for the last security updates. A migration is a multi-year program. The questions your team has are for this quarter.

How it works

Three thaws. Zero risk to the system of record.

Nobody signs off on an ERP migration. Everybody signs off on a read. That is the whole philosophy: Lumnik comes in read-only, your system of record stays the sole owner of its data, and it will never know we were there.

Facts — connect, read-only

Declarative connectors built for old iron: the ERP's own SQL database over JDBC, CSV and file drops, REST APIs. No writes, ever — an architecture guarantee, not a promise. Four systems become one place you can actually query.

Meaning — ask in plain English

Each team gets its own assistant, bounded to its own scope. The warehouse checks inventory from a phone; finance can't see what finance shouldn't. Generated SQL runs over a read-only connection, and every answer cites where it came from.

Time — the history your ERP threw away

Every ingestion leaves a dated observation behind. After a few weeks your hub knows something the ERP never knew: what hasn't moved — and says so, without anyone having to ask.

Every answer cites its sources.
Or it doesn't exist.

Everyone has an AI now. Ours was raised differently: deterministic guards check each answer before it ever reaches you. A confident "there aren't any" that turns out to be wrong is the cardinal sin around here — Lumnik would rather admit it doesn't know. That is what makes an answer usable by someone who has to act on it.

 Lumnik — scope: inventory
How many 6205 bearings do we have on hand, across all plants?
142 units: 96 in Columbus, 38 in Reno, 8 in Laredo. sources: gp-columbus · nav-reno · csv-laredo — as of this morning's ingestion
And what's the supplier lead time on the 6205-ZZ variant?
I can't establish that from the ingested data — no supplier lead-time field is populated for this part. Rather than invent a number, I'm abstaining.

The third thaw

Your data isn't only cold.
It has lost its memory.

An ERP tells you what is. Never since when. Tonight's export overwrites last night's; the status column reads "open" — it read "open" forty days ago too, but nobody wrote that down. Time is the first thing a legacy system destroys.

Lumnik rebuilds it, one ingestion at a time.

Each pass leaves a dated observation. Within weeks your hub knows what no report ever showed you: what stopped moving. A case nobody has touched, an order stuck between two steps, a claim that went quiet on a Friday afternoon. A quote that stopped moving is a decision waiting.

The threshold is declared by you, never guessed: thirty days for an order, forty-eight hours for a claim. Lumnik applies what the business said — and cites the exact observation that fired the alert.

When nothing happens, nothing fires. No system warns you about a non-event. This is the one place where Lumnik doesn't merely show you your data — it finds something in it.

 Lumnik — observation log
Jun 2 quote Q-4471 · sent
Jun 16 observed, unchanged
Jun 30 observed, unchanged
Jul 2 unmoved for 30 days · flagged to sales

On day one, Lumnik knows nothing about your past — and it says so instead of guessing. This memory starts at the first ingestion and deepens every night: it's the one part of the thaw you can't catch up on later.

The missing socket

Your modern tools want events.
Your ERP has never emitted one.

Shared calendars, dashboards, metric stores, rule engines — the entire modern stack runs on events. The old system emits none: no webhook, no stream, no socket. Lumnik breathes — reads, compares, timestamps — so every observed change becomes an event your tools consume through ordinary sockets: a webhook into Make, n8n or Power Automate, an export, a SQL query. And every silence too: "unmoved for thirty days" is an alert no event-driven system can send you, precisely because nothing happened.

No access to the legacy

Plug in the new without touching the old

Every conventional integration asks for an account, a network path, sometimes a write into a fragile ERP — and the admin says no, usually for good reason.

With Lumnik, your modern tools never get access to the old system at all: read-only on one side, standard sockets on the other. Day one's zero-risk posture extends to the whole ecosystem.

Decoupled in time

Migration insurance

Every tool wired straight into the ERP makes that ERP a little harder to remove. The day it is finally replaced, everything downstream is rework.

Your tools plug into Lumnik, not into the ERP. When the old system does go, you swap one connector — and nothing downstream notices. Invest in the modern stack without marrying the legacy one.

Time series

The history the source never kept

A dashboard wants trend lines; the legacy holds only current state, overwritten on every update.

The observation log manufactures the time series the source destroyed — so your BI tools finally chart trends from a system with no memory.

Honesty first: these events beat at the rhythm of ingestion — hours, not milliseconds. Fast enough for a calendar, a dashboard, a business alert; this is not real-time, and Lumnik will never pretend it is. And nothing, ever, writes back to the source.

What we can be held to

Three commitments, checkable before you trust us.

None of these are settings. They are properties of how the thing is built — which is why we are comfortable writing them on a marketing page.

Read-only by construction

Ingestion runs one way. There is no write path back to your ERP — not behind a flag, not for administrators. The SQL an answer generates executes over a separate read-only database connection.

Abstention over confident-wrong

Deterministic guards sit between the model and you: sources cited, scopes enforced, and a plain "I don't know" whenever the ingested data doesn't support an answer. A confidently invented number is worse than no number.

On-prem or EU cloud

Deploy the whole hub inside your own walls — including the model, running locally — or on European infrastructure. Nothing has to leave your perimeter for Lumnik to work.

One more, for the architects: isolation between organizations is enforced by the database itself, not by application code — the layer that cannot be bypassed by a bug in the layer above.

Go deeper

The documentation is public. Read it before you trust us.

Connectors, guards, the data model, the one-command self-host — all of it is written down, in English, and open to anyone who wants to verify before believing. No sales call stands between you and the technical truth.

Open-source edition — September 2026

The hub becomes open source in September 2026. There is no link here yet, on purpose: the repository is still private, and a dead link would be worse than a promise. The day it opens, this line becomes the link.

Contact

Tell us about your freezer.

Name the system that's keeping your data cold, and we'll come back with a concrete thaw scenario — usually one we can demonstrate on a sample of your data rather than ours.

Integrators and consultancies: pick "Integrator / partner" below. The partner program is being built now, and early conversations shape it.