LMbox
Vos données restent chez vous. Book a demo
← All agents
Banking · Insurance pilot v0.1.0

Invoice Extractor

Vendor invoice pre-processing: structured field extraction, 3-way matching invoice ↔ purchase order ↔ delivery note, fraud detection (FOVI / duplicate / typosquat / invalid VAT). Auto-approval only on perfect match. The agent NEVER triggers a payment — it routes to human approval.

Measured gain
1.5-2.5 ETP
de compta fournisseurs récupérés / FOVI bloqués

For a mid-market company processing 25,000 invoices/year: 1.5 to 2.5 FTE accounts-payable recovered (3-5 min per invoice today → 30 s when auto). And — more importantly — near-100 % FOVI detection (one successful wire fraud costs €50-500k).

The problem

Mid-market accounts payable is a five-figure repetitive faucet.

Today

Saisie manuelle + workflow

Yooz / Esker / Basware : la facture passe par leur cloud

3-5 min / facture
5-15 ETP compta fournisseurs
50-500 k€ ticket moyen d'un FOVI réussi
  • · 5 à 15 personnes y passent 60-80 % de leur temps
  • · Rapprochement reste manuel ou règles-simples
  • · Détection FOVI dépend de la vigilance humaine
  • · Factures, IBAN, contrats partent dans un cloud non FR
0.5-2 % du volume payé deux fois
With Invoice Extractor

Pré-traitement automatique

Sur l'appliance LMbox, l'agent ne paie jamais

30 s / facture (mode auto)
~100 % détection FOVI
1.5-2.5 ETP récupérés sur 25 000 factures / an
  • Rapprochement à 3 sources : facture ↔ BC (ERP) ↔ BL (WMS)
  • IBAN jamais en clair : empreinte SHA-256 tronquée
  • Dérive d'IBAN → hold_for_investigation, jamais validation simple
  • Texte contenant « ignore previous instructions » → blocage
L'agent recommande, l'humain paie
How it works

Four steps, from incoming document to human decision.

  1. 1

    Structured extraction

    The OCR pre-processor (Tesseract, Azure Document Intelligence, or qwen2.5-vl on the connector side) extracts the text. The agent fills `extracted_fields`: vendor, amounts, lines, VAT, and a truncated SHA-256 of the IBAN — never the IBAN in clear. Unreadable or empty text → `hold_for_investigation`, no guessing.

  2. 2

    3-way matching ERP + WMS

    `lookup_purchase_order` queries the ERP (SAP, Cegid, Sage, Pennylane, Odoo), `lookup_delivery_note` queries the WMS. Field-by-field comparison: HT total, currency, quantities, lines. Every `po_id` and `delivery_note_id` in the output is cryptographically bound to a tool call this turn (Layer D grounding) — no PO invented to plug a gap.

  3. 3

    Fraud detection (FOVI, typosquat, duplicate, prompt injection)

    `lookup_vendor_master_data` returns `last_known_iban_fingerprint` and `similar_known_vendors[]`. Any IBAN drift from the last known → `hold_for_investigation` critical, never plain `route_to_approver` (a distracted approver could rubber-stamp it). Vendor name visually close to a known one but different SIREN → typosquat → block. Invoice text containing 'ignore previous instructions' → prompt-injection-attempt → block.

  4. 4

    Routing decision + human escalation

    Strict decision tree: auto_approve ONLY if perfect match + known vendor + IBAN unchanged + amount below threshold + valid VAT + no discrepancy ≥ medium + zero safety_flag. Any other combination routes to the appropriate approval queue (accountant, procurement, CFO, CISO) with structured context, calibrated priority, and a ticket_id returned by `escalate_human`.

Architecture

Tools, connectors, deployment.

Tools (function-calling)

5
  • lookup_purchase_order
  • lookup_delivery_note
  • check_duplicate_invoice
  • lookup_vendor_master_data
  • escalate_human

Optional connectors

5
  • finance-erp-po
  • finance-wms-delivery
  • finance-invoice-history
  • finance-vendor-master
  • finance-ap-queue

Each connector activates based on the customer's subscription.

Deployment via the SDK
$ lmbox agent deploy ./invoice-extractor \
    --box BOX-XXX \
    --token "$LMBOX_BOX_API_KEY" \
    --api https://api.lmbox.eu

LMbox guarantees across the catalogue

Data stays with you

Model and data stay on the customer's LMbox appliance. No patient, contract or invoice data is ever sent to an external cloud.

Audit chain

Every tool call, every agent output is timestamped, hashed and admissible before the regulator (ACPR, ANSM, CNIL, EBA).

Human decision

The agent recommends, the human decides. No auto-signature, no auto-payment: final responsibility stays with the business.

Try Invoice Extractor on the public demo.

One-click sign-in. You see the agent installed on a real LMbox, with its system prompt loaded and audit chain live.