Danumed

BELEGVERARBEITUNG

Danumed

From a stack of incoming invoices and expense receipts, the tool produces an import-ready SEPA transfer file for the banking software in minutes — with human review before every payment.
Pattern Invoice processing with vision AI
  • Python 3.11
  • Vision-LLM (Claude / GPT-4o)
  • NiceGUI

THE STARTING POINT

The starting point

Every week a stack lands on the desk: supplier invoices as PDFs, plus receipts, till slips, parking tickets, hospitality receipts — some neatly printed, some handwritten, some as a creased thermal-paper photo. Before automation, that meant: type every payment by hand — recipient, IBAN, amount, payment reference, due date. Then enter each one into the banking software, check it, release it.

At twenty receipts a week, that isn't a quick side task — it ties up reliable hours during which typos and missed early-payment discount deadlines cost real money.

WHAT WE BUILT

What we built

A standalone desktop tool that automates the full path from receipt folder to SEPA XML file — with a clear separation between extraction, review, and export, and a table where nothing leaves the building without human approval.

The flow

  1. Collect receipts — two input folders are scanned: one for full invoice PDFs, one for image receipts like till slips and hospitality records.
  2. Understand the image directly — every original document goes straight to a vision-capable AI model. No intermediate text-recognition step, which regularly trips up on handwriting, thermal paper, or skewed scans.
  3. Two specialised reading modes — invoices are read in full (recipient, IBAN, amount, early-payment discount, due date, payment reference). Expense receipts follow a leaner pattern: amount and short description come from the receipt, the recipient comes from the configuration. Currency confirmations and payment references are recognised too.
  4. Review and correct in a table — all detected payments appear in a clear table. Every row is clickable and editable. IBANs are validated by check digits, mandatory fields are highlighted, umlauts are replaced in SEPA-compliant form.
  5. Pick rows, generate the file — a tick selects which payments belong in the run. Single transfers, scheduled payments with a due date, and bulk transfers all use the same mechanic — just configured differently.
  6. Hand off to the banking software — the output is a SEPA XML file in ISO 20022 format pain.001.001.09, which any German banking software (in use: WinData) imports without rework. The import can optionally be triggered directly from the application.

Multiple models, one codebase

Which AI model handles the extraction is configurable — Anthropic Claude, OpenAI GPT-4o, Azure, OpenRouter, or a local model running on Ollama. The choice between cloud and on-premise stays a configuration question, not a rebuild.

Per run, the tokens used by the AI and the approximate cost are logged — the economics of the automation aren't a guess, they're a measurement.

Delivery as a self-contained application

The tool ships as a single folder (Windows or macOS) that runs without a separate Python install on the target machine. Configuration and credentials live in two files alongside it — what can be maintained on site can be maintained on site.

WHAT IT GIVES THEM

What it gives them

  • Hours become minutes. Manual typing is gone — what's left is a visual check of the table.
  • Receipts that defeat text recognition still get read. Handwriting on hospitality receipts, folded parking tickets, photographed till slips — the AI sees the image and understands the content.
  • Early-payment discounts no longer slip through. Discount deadlines and due dates are extracted and visible in the table.
  • Every payment passes through two pairs of eyes. The table isn't theatre; structurally, it's the only place where payments are released.
  • The file fits on the first try. SEPA-compliant umlaut handling, IBAN check digits, correct totals and transaction counts — the banking import no longer fails on format errors.

WHAT WE DELIBERATELY DID NOT AUTOMATE

What we deliberately did not automate

  • The release of the payment. The tool prepares; the person decides — for every single receipt.
  • The choice of what actually gets paid. Disputes, contested items, and deferrals stay manual decisions — the table selection exists exactly for that.
  • The bank access itself. What's produced is a file for the established banking software. No direct payment traffic, no custom bank interfaces, no extra security risk.

WHY THIS PATTERN TRANSFERS

Why this pattern transfers

The setup works wherever receipts or forms regularly need to become structured data — and the final approval should stay with a person: travel-expense claims, supplier goods receipt, insurance receipts, till closings, expense reports.

The pattern: receipt → vision AI with context-specific prompt → table with validation → human approval → export to the target system.

AI handles the dull typing — the routine work where attention slips and errors creep in. Responsibility for every individual payment stays visibly with the person — where it belongs.

Talk to us

Two doors, one address.

Specific bottleneck?

Let us talk for 30 minutes about your use case.

No obligation, no cost, with concrete next steps at the end.

Book a 30-minute call

Your own AI platform?

See CompanyWizard live in action.

Demo with your own data is possible. We bring the pseudonymisation set up and ready.

Request a demo