DATUMKEEP
Integrations

Your systems already hold the data. Bring it in as it is.

The first question every plant asks is whether this works with what they run. It does — with the files your systems already export. You bring your SAP export, the CSV your CMMS produces, your quality PDFs; a live measurement API lets your equipment post readings straight in. No re-keying, no rip-and-replace.

What isn't built yet — native log-in connectors, scheduled sync — is named as roadmap below, not implied.

DatumKeep · Integrations & QualitySMT lineCpk 1.12
Source-system exports → one canonical store
ERP exportmaster + incidentsCMMS exportwork ordersLine MESCSV exportDocument sourcesquality systemsCanonicalstoreharmonized · scoredRCACAPADashboardsERP-INC-90412KB-11872
Incident ERP-INC-90412 travels the path → harmonized → scored → reusable KB entry KB-11872.
SPC · reflow zone-3 peak temp
Live API
UCL 250Target 245LCL 240250245240oven REF-04 · zone-3 peak °C · last 20 boards
1.12
Cpk (TGT ≥1.33)
247.8°C
MEAN · σ 2.4
Readings post live to the measurement API — no file, no export step. Zone-3 drift correlated with solder-paste lot SP-118; SMT first-pass yield 96.2% (−1.4 pts).
Master data · BOM
Product PCBA-7741
Sub-assembly RF-MOD-02
Component U7 · BGA-144paste SP-118
The defect node ties straight back to its place in the product structure — no manual cross-referencing.
Integration & quality surface · electronics / SMT line · ERP, CMMS & MES exports imported via CSV today, native connectors on the roadmap · illustrative data
What you can bring in

The files your plant already makes. Plus a live line in.

No new format to produce, no re-keying. These are the exports your systems emit today — and, for measurements, a path your equipment can post to directly.

Documents

PDF · DOCX · XLSX / XLS · CSV · JSON · TXT / MD / LOG

Read into structured 8D knowledge, field by field.

Measurement CSV

One header row · value and timestamp required · six optional columns

Lands as control-chart-ready readings for a capability study.

Measurement API

Live
Your equipment posts reading batches over HTTP — no file, no export step

Live automated capture: readings flow straight in as they are made.

Master-data & incident feeds

A CSV your systems produce, pulled from a URL you host

Equipment, products and failure history, refreshed each pull.

Images are the one thing we turn away — a scan of a photo carries no text to read, so it is refused outright rather than imported as an empty record you would only discover was blank later.

History becomes knowledge

Your old RCAs arrive as knowledge, not attachments.

A decade of failure reports in PDFs and spreadsheets is dead weight until something can read it. Ours does — and it tells you, field by field, exactly where every value came from.

Found, verbatim

The value sits in your document, word for word. Read straight across.

Read from context

Implied by the report but not stated outright — labelled as inference, so you can check it.

Not in the document

Your report never covered this discipline. Left blank — never invented to fill the form.

Tried, could not be sure

The value was there but ambiguous. Flagged for a human rather than guessed at.

Nothing becomes knowledge without a person saying so

Every extracted item lands in a review queue first. Someone on your side approves it, edits it, or rejects it before it can ever be resurfaced in an analysis. The AI proposes; your engineers decide what your history is allowed to say.

Mapped, not guessed

Your column names, mapped once.

Two plants never name a column the same way, and header-sniffing is where silent import bugs are born. So we don't sniff. Your columns are mapped to ours deliberately, one time, by a human who checks the result.

Your columns → ours · authored once
EQUIP_NOequipment external id
FAIL_DESCproblem description
RC_CODEroot-cause category
SEVseverity

Set once, then every pull and every re-upload lands the same way — no per-file decisions, no drift.

A person authors the map once, with us, during onboarding — headers are never sniffed or guessed.
Every mapped code is checked against your controlled vocabulary, so an unknown value is rejected, not quietly mis-filed.
The map is versioned. One that forgets a required field fails the moment it is saved — the last good version keeps running.
Fails loud, or not at all

Nothing lands silently, and nothing lands wrong.

The fastest way to lose a plant's trust is a quiet import — a feed that reports success while dropping rows, a date it guessed wrong. Every path here is built to surface the problem instead of burying it.

A bad row stops the whole measurement import

Bulk measurement CSV is all-or-nothing. One malformed row and the import is rejected with a line-by-line error report — nothing partial is written, so you never chase a half-loaded study.

The live API keeps the good rows and names the rest

A posted reading batch accepts every valid row and hands back each rejection with its position in the batch and the reason. Your connector learns exactly what to fix — no silent drops.

One poison row never sinks the feed

A single unparseable row in a feed is set aside; every other row lands, and every row seen is accounted for in the run — landed, skipped, and why.

A broken source is an error, not an empty one

If the endpoint is down or the fetch fails, the run is recorded as an honest failure — never a successful zero-row sync that quietly makes it look like nothing changed upstream.

An ambiguous date is withheld, not invented

A date like 03/04/2025 that reads as two different days is left unset rather than guessed — the record still imports, it just never claims a recurrence window it cannot stand behind.

Joined, not just stored

It connects to what you already have inside.

Getting data in is the easy half. The value is in the joins: the same asset recognized across systems, every defect placed in the product structure, no duplicates, and a hard wall between your workspace and everyone else's.

One machine, however it was spelled

pump_001 in one system and PUMP-001 in another resolve to the same asset. Spelling drift across sources stops splitting your history in two.

Every defect ties back to the BOM

An imported failure lands on its node in the product structure — component, sub-assembly, and the lot involved — so a defect is never a floating note nobody can place.

Re-import changes nothing

Upload the same file twice, or re-pull the same feed, and you get the same one record — not a second copy. A knowledge base that grows by duplication is a graveyard, so this one refuses to.

Bound to your tenant, only yours

Every import is scoped to your workspace. A mis-mapped connector aimed at the wrong tenant fails loudly at the boundary — it can't quietly write one plant's data into another's.

Where the honesty is

What we haven't built yet.

The reason to trust the rest of this page is that we will tell you where it stops. These are on the roadmap — named as roadmap, never dressed up as shipped.

Roadmap

Native connectors into your ERP or CMMS — not built

There is no native, log-in-and-pull connector into any ERP or CMMS today. Every feed is a file your systems export or a URL you host.

Today: CSV and document exports, plus the live measurement API.

Roadmap

Automatic scheduled sync — not enabled

Feeds do not yet pull themselves on a cadence. Nothing runs on a timer behind your back — and we would rather say so than imply an automation that is switched off.

Today: a pull is triggered, not scheduled.

Roadmap

Self-serve connector setup — not built

There is no screen where you wire up a new source yourself. The column map is authored with you, once, during onboarding.

Today: setup is a guided step with us, not a self-serve form.

Guided import and the measurement API live today — Native connectors into your ERP or CMMS roadmap

Bring your history to the table. Watch it answer.

Bring one real export — a failure report, a month of measurements — to a 30-minute demo, and see it land as knowledge you can search.