Dantum

An end-to-end workflow pipeline that never gets the maths wrong.

Dantum reads the operational email your finance, operations and maintenance teams work from. It understands the data, extracts it, runs your business process in deterministic code and scores its own certainty. Anything below your threshold goes to a person, with the reason attached.

The output

What lands on the desk at the end of a run.

Output 01The reconciled workbook

Every line on an inbound payment schedule is compared against the expected figure held in your own records. Matched lines are posted and closed. Variances outside tolerance are marked and carried into the alert. The arithmetic is ordinary tested code, so the same input always gives the same output.

Reconciliation — payment run BW-4471 Rule: expected = weekly rate × 4 periods · tolerance ±£0.01 run 2026-08-14 06:15 · europe-west2
ReferenceWeekly ratePeriodsExpectedRemittedVarianceResult
2ACC-100241412.5041,650.001,650.000.00MATCH
3ACC-100258389.0041,556.001,245.80−310.20MISMATCH
4ACC-100263355.7541,423.001,423.000.00MATCH
5ACC-100279389.8341,559.321,559.320.00MATCH
6ACC-100284402.1541,608.601,608.600.00MATCH
7ACC-100291367.4041,469.60−1,469.60NOT PAID
8ACC-100305421.0041,684.001,684.000.00MATCH
9ACC-100318344.2041,376.801,376.800.00MATCH
Matched 6Mismatched 1Not paid 1Not found 0Status SUCCESSStage done
ComparisonRun_LogEvent_LogNeeds_Review
Output 02The exception alert

People are only contacted about the lines that failed. The alert names the specific reference, the expected figure, the remitted figure and the difference.

FromDantum Alerts <alerts@dantum.ai>
Tofinance@yourcompany.example
Date14 August 2026, 06:15
Subject2 exceptions · payment run BW-4471 · action required

The reconciliation for payment run BW-4471 completed. 6 of 8 lines matched and have been posted. Two lines need a decision.

ACC-100258 UNDERPAID expected £1,556.00 (4 × £389.00) remitted £1,245.80 variance −£310.20 (exceeds ±£0.01 tolerance) ACC-100291 NOT PAID expected £1,469.60 (4 × £367.40) remitted no line present on remittance BW-4471

Source message: "Remittance advice BW-4471 — payment run 08/08", received 14 Aug 06:11 from remittances@bridgeway.example. Classified remittance_advice at confidence 0.96.

Open the workbook to see the full comparison, or reply to this alert to raise a query.

Sent by the Dantum pipeline. This alert was generated because the run produced exceptions. A run that produces none sends nothing.
Recipients are routed by classification label, so the maintenance team is not copied on a finance exception.
Output 03The event log

Every stage writes what it did, what it decided and how certain it was. This is the record that lets a decision made six months ago still be explained.

event log · run 4f2b91c · client profile: finance-reconciliation
06:11:04  INGEST     message accepted · sender on allow-list · 1 attachment (xlsx)
06:11:06  ATTACH     payment_run_0808.xlsx → private store · shared to service account only
06:11:09  CLASSIFY   label=remittance_advice  confidence=0.96  threshold=0.80
06:11:09  CLASSIFY   rationale="remittance reference and payment date present;
                      attachment is an 8-line payment schedule with per-item amounts"
06:11:11  EXTRACT    8 line items · 6 header fields · schema v3 validated
06:11:11  EXTRACT    2 date fields failed validation → left blank, not inferred
06:11:12  COMPARE    deterministic reconciliation · no model involved
06:11:13  COMPARE    match=6  mismatch=1  not_paid=1  not_found=0
06:11:13  WRITE      8 rows → Comparison · 6 posted to ledger · 2 held
06:15:02  ALERT      2 exceptions → finance recipient · delivery confirmed
06:15:02  RUN        status=SUCCESS  stage=done  duration=4.1s
If any stage had failed, the run would be marked for human attention rather than reporting success.
Output 04The review queue

When confidence falls below your threshold, or a record can't be resolved with certainty, the pipeline stops and hands the item to a person. It does not guess. The reviewer gets the extracted fields, ranked candidates and a link to the original message, and clears the item in under a minute.

Needs_Review · item 3 of 3 Reason: confidence 0.41 below threshold 0.80 · no resolvable reference queued 14 Aug 09:22

Extracted from the message

Sender
j.harding@meridianops.example
Subject
Re: the one we spoke about — can you sort today
Classification
needs_human_review 0.41
Reference
not present
Amount
not present
Date
not present
Origin
internal forward

Ranked candidate records

Record 8812 · discussed in this thread 12 Aug0.62
Record 8807 · same sender, 11 Aug0.44
Record 8790 · same sender, 4 Aug0.31

Similarity ranks the list only. It never auto-accepts — near-identical references routinely belong to different records.

Accept matchCreate recordDiscard Resolution is written to the log and remembered, so the same message pattern resolves automatically next time.
The four stages

One pipeline, four stages, one point of human contact.

Every message passes through the same sequence. The stages are separated on purpose: the language model is confined to reading and structuring, and never touches the arithmetic or the state machine.

STAGE 01

Understand the data

The message and its attachments — spreadsheets, PDFs, scans, Word files — are read and classified against a fixed label set you control. The model returns a label, a confidence score and a written rationale. It cannot invent a label outside the schema.

STAGE 02

Extract the data

Fields are pulled into a strict, versioned schema: references, dates, amounts, states. A date that does not validate stays blank rather than being guessed. Nothing proceeds on a best guess.

STAGE 03

Run the business process

Your process runs in deterministic Python: the reconciliation, the tolerance checks, the legal-transition rules, the record updates.

STAGE 04

Human in the loop

Anything below threshold, ambiguous or outside the rules goes to the review queue with the fields, the ranked candidates and a link to the source.

Where it runs

Built for the teams whose work arrives as email.

Dantum is applied where the input is a mailbox, the work is repetitive, the numbers matter, and a missed message costs real money.

Finance

Reconciliation and payment control

Remittances, statements and payment schedules read out of the inbox and reconciled line by line against your own records.

Operations

Status and lifecycle tracking

Records move through defined states as notifications arrive. Nothing sits unnoticed because nobody opened the email.

Maintenance & compliance

Certificates, expiries and obligations

Documents are read, expiry dates extracted and checked against your register. Alerts name the specific item and separate "overdue" from "no record held", so people do not learn to ignore them.

How we work

We fix the process first. Then we automate it.

Automating a broken process produces broken results faster. Every engagement starts with mapping what actually happens, not what the handbook says.

01 · CONSULT

Sit with the mailbox

We work through a real sample of your inbound mail with the people who handle it, and count what arrives, from whom, in what shape and how often.

02 · UNDERSTAND

Map the process as it is

We write down the states, the decision rules and the exceptions.

03 · FIX

Correct what automation would amplify

Ambiguous states, missing identifiers, rules that contradict each other. We resolve these with you before a line of pipeline code is written.

04 · AUTOMATE

Build, shadow-run, then cut over

The pipeline runs in parallel with the manual process until its output agrees with yours. Only then does it take over, and the manual route stays available.

Controls

What a security review will ask about.

Dantum runs on Google Cloud in the UK region.

Scoped mailbox access

Access is restricted to the specific mailboxes agreed with you, enforced at the identity-provider level.

Sender access control

An allow-list you maintain governs which senders are processed. If it cannot be read, the run halts rather than processing unvetted mail.

Keyless credentials

No long-lived API keys in the service. Credentials are short-lived and issued at runtime; secrets are stored securely.

Least privilege on data

Documents are held in private storage shared only with the processing service account, and deleted on a short retention timer.

Full audit trail

Every classification, extraction, comparison, alert and human resolution is logged with its inputs, its confidence and its outcome.

Reversible by design

Manually edited fields are never overwritten by the pipeline.

Bring us the process nobody wants to own.

Tell us which mailbox the work arrives in and what happens to it now. We will tell you honestly whether it is a fit.