Faktiko
The client's timesheet becomes the finished invoice — no retyping, no spreadsheets. Every figure is checked before the invoice leaves the building.
A real run
Ten stages from source document to an invoice ready for approval. Recorded from a real run, anonymised.
Check chain
- 01Email / uploadTimesheet for week 12 (214 KB) taken from the mailbox.
- 02Document identificationSummary list · site [WRK] · [41000] Muster-Personaldienste
- 03Reader A · deterministic34 rows, total 1,042.90 — columns located via the table header, not hardcoded.126 ms
- 04Reader B · vision model34 rows, total 1,042.90 — read without any knowledge of Reader A's result.8437 ms
- 05Reconciliation A ↔ B34 against 34 rows · complete agreement in every cell.1 ms
- 06Checks0 errors · 2 warnings · 10 notes across five layers.16 ms
- 07Generate invoiceR-2026-0117 · 1,042.90 hrs × EUR 2.50 = EUR 2,607.254 ms
- 08Post-render checkGenerated PDF read back: number, hours, rate, amounts, period and German number format all match.23 ms
- 09ReviewerArithmetically, chronologically and formally consistent; mandatory content complete.51880 ms
- 10Release & sendAwaiting release. Nothing leaves without a click.
Result
- Invoice number
- R-2026-0117
- Period
- KW 12/2026 · 16.03.2026 – 22.03.2026
- People
- 34
- Hours
- 1.042,90
- Rate
- 2,50 EUR
- Net amount
- 2.607,25 EUR
Findings
- Arithmetic
Row sum 1,042.93 against printed total 1,042.90 — a 0.03 hr difference from rounding of the individual values, within tolerance. The printed total is what gets billed.
- Calendar
Week 12/2026, Mon 16.03.2026 – Sun 22.03.2026. The period matches the ISO week; this week has not been billed before.
- Plausibility
Hours distribution: 1× 0 shifts, 6× ~1 shift (7.70–9.44 hrs), 4× ~3 shifts (23.10–24.05 hrs), 23× ~5 shifts (37.80–43.52 hrs).
- Plausibility
One person with 0.00 hrs on the list — included in the total, but with no hours worked.
- Master data
The country in the stored IBAN and the country in the BIC do not match. Correspondent bank or a typo — clarify before sending.
01
Read twice
A conventional program and an AI model read every document independently. Only when both agree line by line is an invoice created — otherwise, a query.
02
Recalculated
The printed total is held against the individual lines. A misplaced decimal point shows up before it costs money.
03
Read back
The finished invoice is read in again and compared field by field with the source. That catches a fault in the template too, not just in the invoice.
04
A person approves
Everything up to the invoice runs automatically. The last click stays with a person — ten seconds against an invoice sent out wrong.
05
Live DATEV integration
Approved invoices go straight to DATEV. The tax adviser gets a booking proposal instead of a file to retype.
06
Data stays in Germany
Timesheets contain names and personnel numbers. The AI therefore runs in a German data centre, with no training on the documents.