Skip to main content
How It Works

From invoice upload to
dispute-ready result in minutes.

No integration required to start. No consultants. No six-week implementation. Upload your first invoice and Sentra handles the rest — extraction, mapping, validation, and flagging — automatically.

01
✓ All plans

Upload — any format, any carrier

Drop your invoice into Sentra. PDF, CSV, or EDI — it doesn't matter. Multi-invoice PDFs (Sammelrechnungen) are automatically detected and split into individual invoices. You don't need to pre-process, rename, or organise anything.

Sentra identifies the carrier automatically — matching against its registry of 40+ pre-configured carrier profiles. Each profile teaches the AI exactly how that carrier structures their invoices: which columns contain charges, which rows are totals to skip, which abbreviations mean what.

You can also push invoices programmatically via the REST API — making it easy to connect your email inbox, document management system, or ERP directly to Sentra's ingest pipeline.

Supported input formats

PDF

PDF invoices

Single invoices, Sammelrechnungen, multi-page and multi-invoice PDFs

CSV

CSV / spreadsheet exports

Forwarder exports, carrier portal downloads, structured tabular invoices

EDI

EDI (Professional & Enterprise)

Standard EDI invoice formats from major carriers and freight hubs

API

REST API ingest

Programmatic upload from your ERP, TMS, or document management system

What AI Vision engine actually does

The AI Vision engine uses a multimodal large language model — it reads PDFs the way a human analyst would, but without the cognitive limits. It understands the visual structure of a document, not just the raw text.

Recognises two-level row structures (Schenker-style, where the Level-1 total must not be extracted as a charge)
Reads abbreviated German, Dutch, French charge labels and maps them to meaning
Distinguishes tax-inclusive vs tax-exclusive columns, avoiding double-counting
Correctly attributes charges to individual shipments in Sammelrechnungen
Extracts invoice totals, VAT splits, and per-shipment subtotals separately
98%

extraction accuracy across tested carrier formats

02
✓ All plans

AI extraction — every charge, every line

The AI reads the invoice using the carrier's profile as a guide. It knows which rows are charges to extract, which are totals to skip, and how to interpret the carrier's specific column structure. The result: a clean, structured list of every charge on the invoice — amount, description, unit, and shipment reference.

This step happens entirely server-side, in an isolated edge function. Your invoice never touches a shared AI context. API keys are stored as encrypted secrets, never visible to the frontend.

03
✓ All plans — fee-code mapping ★ Starter+ — rate validation

Mapping & validation — charged what you agreed?

Each extracted charge is run through the 4-tier fee code engine, which translates carrier-specific descriptions into your standardised internal codes. This normalisation makes every charge comparable — across carriers, across time periods, and against your rate agreements.

Then comes the critical check: every mapped charge is compared against the rate table you have on file for that carrier, lane, and validity date. The system flags any charge where the billed amount exceeds the contracted rate — including surcharges that are correctly named but incorrectly calculated.

The output of this step is a per-line confidence score: how certain the system is that the mapping is correct, and whether the amount is within contracted bounds. This score determines what happens next.

4-tier matching — in order of precision

1
Exact alias — known carrier abbreviation matches known code
2
Fuzzy match — handles typos, OCR noise, spelling variants
3
Token match — keyword extraction from long descriptions
4
Human review — below-threshold confidence, queued for decision

Rate validation flags

Within contracted rate — auto-approve
Mapping uncertain — enters review queue
Exceeds contracted rate — flagged for dispute
No rate on file — queued for manual review

The review queue experience

Each item in the review queue shows you: the carrier's original charge description, the amount, the AI's proposed fee code, and the confidence score. You accept the suggestion, override it with the correct code, or escalate to dispute.

Every decision you make is stored as a new alias. Next time a charge with the same description appears from the same carrier, it maps automatically. Your review queue gets shorter every week.

↓76%

average reduction in review queue after 90 days (across onboarded carrier profiles to date)

~2 min

average per review decision (measured across completed review actions)

04
✓ All plans — review & approve ★ Professional+ — dispute claims

Approve or dispute — with evidence

High-confidence lines are auto-approved. Everything else enters the structured review queue, where your team makes decisions — not reads invoices. The queue shows exactly what the AI found, what it thinks the charge is, and why.

Charges flagged for dispute include the full evidence trail: contracted rate, billed rate, the delta, and the exact invoice line that caused the flag. You have everything you need to send a carrier a documented dispute claim within minutes of invoice receipt — while the payment window is still open.

Every action — approval, correction, dispute, or escalation — is timestamped, attributed, and immutable. Your audit history is always complete.

Recovered overcharges are credited back to you in full.

Oracron's fee is your flat subscription — nothing more. We never take a percentage of what you recover, so you keep 100%. Our incentive is your error rate going to zero; a contingency auditor's incentive is that it never does.

Methodology

How a finding is produced

Every finding you see in Oracron is the output of the same five-stage pipeline. This page describes exactly what runs, what it reads, and how a variance becomes a contract-referenced finding — no marketing abstractions.

1

Ingest

invoice-ingest

The PDF or CSV arrives in isolated Storage, keyed to your organization only. The AI Vision engine extracts every charge line — carrier, invoice number and date, shipment references, weight and dimensions, currency, and every fee component with its label and amount. Nothing is inferred yet; this stage's job is faithful transcription.

2

Map

invoice-map

Each extracted charge is mapped to one code in the 152-code Oracron fee taxonomy — the shared vocabulary that lets us say "this is a fuel surcharge" or "this is remote-area delivery" regardless of how the carrier labels it. Alias tables record every real-world label we've seen so the next invoice from the same carrier maps without asking.

3

Enrich

invoice-enrich

Ingested facts are turned into an auditable shipment: origin and destination resolved to countries and postcodes, transport mode inferred from the fee set, weights normalised, chargeable weight derived from volumetric-vs-actual per the mode's official rule. This is where the invoice becomes something we can reprice.

4

Match

invoice-match

The enriched shipment is matched to a specific route in your contracted rate tables — origin ZIP band or country, destination ZIP band or country, service level, chargeable weight bracket. If no route matches, the shipment is flagged as "no benchmark" and never fabricated into a false finding.

5

Rate-validate

invoice-rate-validate Finding produced here

The rate engine recomputes what the charge should have been from your contracted rates for that lane, weight, mode and service. Every deviation becomes a finding with the contract clause it refers to, the expected amount, the billed amount, and the delta. No verdict is invented; every number is a calculation over things you can see.

Three grounding sources

A finding is a reconciliation, not an opinion. Every audit compares three independent sources of truth:

Source 1
The carrier invoice

What you were actually billed — line by line, exactly as the carrier sent it.

Source 2
Your contracted rates

What the carrier agreed to charge you — the rate table you uploaded, read fresh at audit time, never a cached snapshot.

Source 3
Shipment facts

Independently-derived route, service level, actual gross weight, dimensional weight, chargeable weight — computed from the invoice's own line items, not taken on faith.

Worked example (redacted)

What a finding actually shows

A real German road-freight shipment. Sender and consignee anonymised; every number is untouched.

Shipment
DE-91234 → DE-70173 · Road · 748 kg gross · 0.85 m³
Fee code
FRT-ROAD-DE-LTL
Chargeable weight
max(748, 850) = 850 kg
Volumetric = 0.85 m³ × 1000 kg/m³ (Road standard) = 850 kg.
Charge on the higher of gross and volumetric.
Contract bracket
750 – 999 kg
Your rate table: €0.34/kg minimum €120 within this bracket for the DE → DE lane, Road, service = standard.
Expected freight
850 × €0.34 = €289.00
Rate × chargeable weight, above the €120 minimum.
Billed
€342.60
Recoverable variance
+€53.60
Carrier billed the 1,000+ kg bracket (€0.403/kg) instead of the 750–999 kg bracket earned by the chargeable weight of 850 kg. Dispute reference: contract §Rates, DE Road, weight-bracket table.

Every finding in Oracron is presented like this — expected, billed, delta, and the exact clause. Your team decides whether to send it; the math is already done.

Fetch-fresh at judgement time

Every audit reads your current rate tables, surcharge schedules, fee-code taxonomy and carrier profiles live — never a cached snapshot from yesterday's upload. A rate change lands in the audit the moment you save it, not after a rebuild.

Provenance is recorded

Every finding stamps the exact rate row, taxonomy version and fee-code definition it relied on at the moment of judgement. Reopen a finding six months later and you can still see what the rules were when it was flagged — not what they became.

Built for reliability and security

Every step of the pipeline runs in isolated, serverless edge functions. No shared state, no data leakage between customers, no single point of failure.

invoice-ingest

Receives invoice, calls AI Vision engine, returns structured charges

invoice-map

Runs 4-tier fee code matching, scores each line, flags low confidence

invoice-enrich

Normalises shipment fields — route, weight, dimensions — for like-for-like comparison

invoice-match

Matches each shipment to the carrier, lane and contracted rate route

invoice-rate-validate

Compares mapped charges against contracted rates, flags overcharges

invoice-decision

Decision Agent — scores in-review lines, surfaces similar past decisions, records the audit trail

All edge functions run in your chosen data region — EU or US — selected at onboarding. The AI API key never leaves the server environment.

🚀 Skip the setup entirely

Rather have us handle steps 1–3 for you?

Our managed onboarding service does it all — we take your carrier contracts, configure your carrier profiles, map your fee codes, and upload your rate tables. You skip straight to step 4: reviewing results and disputing overcharges. Most customers are fully configured and auditing real invoices within 5 business days.

See it on your own invoices — in the next 10 minutes

Sign up, upload one PDF, watch Oracron extract the lines, map the fee codes, and flag the overcharges. No card, no call required. The Free plan covers 50 audited shipments a month — enough to see exactly what we catch and what you've been paying for.

Book a 15-min demo

Stay in the loop

Occasional updates on freight-invoice auditing and early-access news. No spam, unsubscribe any time.