Pilot Concept — Gräper | Orcha
Pilot Concept / Pilotkonzept

AI-Powered Invoice Processing
for Gräper

~13.000
Rechnungen / Jahr
10
Gesellschaften
6
Wochen Pilot

Sofort startklar — kein IT-Projekt nötig. Orcha bindet sich an Ihren bestehenden E-Mail-Fluss an und liefert ab Tag eins Mehrwert.

Abschnitt 1
Aktueller Prozess
IST-Zustand — Analyse
Abschnitt 2
Orcha-Prozess & Integration
d.3 + Infor LN End-to-End
Abschnitt 3
Integrationsbewertung
Technische Machbarkeit

Current Process / Aktueller Prozess

English

Based on “Konzept Eingangsrechnungsverarbeitung V0.9”. The current invoice processing at Gräper is heavily manual with multiple paper handoffs across departments.

Identified Pain Points
Email invoices are printed Physical routing between departments Manual stamp & sort by entity Invoice-to-delivery-note matching by hand Reviewer signs paper — no digital approval FIBU manually enters all fields into LN Payment block removed as mass job
Deutsch

Basierend auf „Konzept Eingangsrechnungsverarbeitung V0.9“. Die aktuelle Rechnungsverarbeitung bei Gräper ist stark manuell geprägt mit mehrfachen papiergebundenen Übergaben zwischen Abteilungen.

Identifizierte Schwachstellen
E-Mail-Rechnungen werden ausgedruckt Physische Weiterleitung zwischen Abteilungen Manuelles Stempeln & Sortieren nach Gesellschaft Rechnungs-Lieferschein-Abgleich von Hand Prüfer unterschreibt Papier — keine digitale Freigabe FIBU gibt alle Felder manuell in LN ein Zahlungssperre als Massenjob entfernt
flowchart TD classDef manual fill:#fee2e2,stroke:#dc2626,color:#991b1b,stroke-width:2px classDef paper fill:#fef3c7,stroke:#f59e0b,color:#92400e,stroke-width:2px classDef system fill:#eff6ff,stroke:#0078d4,color:#09090b,stroke-width:1px classDef decision fill:#fef3c7,stroke:#f59e0b,color:#92400e,stroke-width:2px classDef special fill:#f0f9ff,stroke:#0ea5e9,color:#0c4a6e,stroke-width:1px,stroke-dasharray:5 5 subgraph EINGANG["1 - DOCUMENT INTAKE"] direction TB A1[/"Paper invoice\nby post"/]:::paper A2[/"Email invoice\neingangsrechnung@graeper.de"/]:::paper A3["Reception: stamp paper\nprint emails"]:::manual A4["Sort by company\n10 legal entities\nBuchungsschluessel 401-420"]:::manual A5["Hand over to FIBU"]:::manual A6{"New creditor?"}:::decision A7["FIBU: create creditor\nPurchasing: create supplier\npayee + goods recipient"]:::manual A1 --> A3 A2 -->|"Email is printed!"| A3 A3 --> A4 A4 --> A5 A5 --> A6 A6 -->|Yes| A7 A7 --> SPLIT A6 -->|No| SPLIT end SPLIT{"Invoice type?"}:::decision subgraph PO_PATH["2a - PO INVOICES ~80% = ~10,400/year"] direction TB PF["FIBU: initial check\nof PO invoice"]:::manual PF --> PR["Return to Reception"]:::manual PR --> P1["Reception: match invoice\nwith delivery note"]:::manual P1 --> P2{"Delivery note\navailable?"}:::decision P2 -->|Yes| P3["Delivery note to Logistics\nfor digitization"]:::manual P2 -->|No| P4["Invoice to Purchasing"]:::manual P3 --> P8 P4 --> P5{"Goods receipt\nin LN?"}:::decision P5 -->|No| P6["Purchasing: create GR\nin Infor LN"]:::system P6 --> P8 P5 -->|Yes| PD{"Deviations from PO?\nPrice or quantity"}:::decision PD -->|"Yes and no deliveries\nbooked on position"| P7["Purchasing: adjust PO\nin LN + update MAUC\naverage prices"]:::system PD -->|No deviations| P8 P7 --> P8 P8{"Remaining difference?"}:::decision P8 -->|"1 EUR or less\nstraight to FIBU"| PO_BOOK P8 -->|"Over 1 EUR"| P9{"Freight or packaging\nonly?"}:::decision P9 -->|"Yes and under 10 EUR\nFIBU books directly"| PO_BOOK P9 -->|"No or over 10 EUR\nPurchasing resolves"| P4 end subgraph PO_BOOKING["3a - PO INVOICE BOOKING"] direction TB PO_BOOK["FIBU: enter PO number\nverify supplier, invoice nr\ndates, amounts, tax code\nbank, payment terms"]:::manual PO_BOOK --> PO_GR["GR matching - WE Abgleichen\ntfacp2544m000\ncheck delivery note, article\nqty, amount per position"]:::system PO_GR --> PO_MARK["Mark correct positions\nassign goods receipts"]:::manual PO_MARK --> PO_FREIGHT{"Unplanned freight\nor packaging costs?"}:::decision PO_FREIGHT -->|"Yes"| PO_FBOOK["Book freight to GL account\nSachkonto + Kostenstelle\n+ 6 sub-accounts"]:::manual PO_FREIGHT -->|"No"| PO_APPROVE PO_FBOOK --> PO_APPROVE PO_APPROVE["GENEHMIGEN in LN\nPayment block automatically\nremoved"]:::system end subgraph COST_PATH["2b - COST INVOICES ~20% = ~2,600/year"] direction TB K1["FIBU: book FIRST in LN\nwith payment block code 100\nSachkonto + 6 sub-accounts:\nKostenstelle, Kostentraeger\nverb. Unternehmen, Kapitalentw.\nErgebnisherkunft, Produkt"]:::system K1 --> KC{"FIBU sure about\ncost center?"}:::decision KC -->|No| KCTRL["Forward to Controlling\nfor cost center decision"]:::manual KCTRL --> K2 KC -->|Yes| K2 K2["Send physical invoice\nto subject matter reviewer"]:::manual K2 --> K3["Reviewer writes OK\nor signs paper\nNO Sachkonto or Kostenstelle\nentry by reviewer"]:::manual K3 --> K4["Supervisor approves\n4-eyes principle:\nSachbearbeiter then Vorgesetzter"]:::manual K4 --> K5["Return to FIBU"]:::manual K5 --> K6["FIBU: verify approval\nwas authorized\nadjust payment terms if needed"]:::manual end SPLIT -->|"PO-related"| PF SPLIT -->|"Cost invoice"| K1 SPLIT -->|"Credit note\nwithout PO"| CN["Booked like cost invoice\nwith negative amounts"]:::special SPLIT -->|"Credit note\nwith PO"| PF CN --> K1 PO_APPROVE --> JOURNAL K6 --> COST_PAY["Payment block removal\nas mass job before payment"]:::system COST_PAY --> JOURNAL JOURNAL["FIBU: batch journalization\nall booking batches together\nfinal transfer to financial accounting"]:::manual JOURNAL --> PAY["Payment run\nvia Zahlungsvorschlagsliste\nin Infor LN"]:::system subgraph SPECIAL["SPECIAL INVOICE TYPES"] direction LR VISA["VISA invoices:\nbooked like normal invoices\nFIBU assigns individual receipts\nto statement. Sometimes PO\ncreated, warehouse informed"]:::special INVEST["Investment invoices:\nrequire pre-approved\nInvestitionsnummer.\nSachkonto always 090500\nAnlagennummer required\nTax code may change e.g. 900"]:::special WRONG["Wrong address invoices:\nreturned to supplier or\ncorrection requested"]:::special end
flowchart TD classDef manual fill:#fee2e2,stroke:#dc2626,color:#991b1b,stroke-width:2px classDef paper fill:#fef3c7,stroke:#f59e0b,color:#92400e,stroke-width:2px classDef system fill:#eff6ff,stroke:#0078d4,color:#09090b,stroke-width:1px classDef decision fill:#fef3c7,stroke:#f59e0b,color:#92400e,stroke-width:2px classDef special fill:#f0f9ff,stroke:#0ea5e9,color:#0c4a6e,stroke-width:1px,stroke-dasharray:5 5 subgraph EINGANG["1 - DOKUMENTENEINGANG"] direction TB A1[/"Papierrechnung\nper Post"/]:::paper A2[/"E-Mail-Rechnung\neingangsrechnung@graeper.de"/]:::paper A3["Empfang: Stempeln\nE-Mails drucken"]:::manual A4["Sortieren nach Gesellschaft\n10 Gesellschaften\nBuchungsschluessel 401-420"]:::manual A5["Uebergabe an FIBU"]:::manual A6{"Neuer Kreditor?"}:::decision A7["FIBU: Kreditor anlegen\nEinkauf: Lieferant anlegen\nZahlungsempf. + Warenempf."]:::manual A1 --> A3 A2 -->|"E-Mail wird gedruckt!"| A3 A3 --> A4 A4 --> A5 A5 --> A6 A6 -->|Ja| A7 A7 --> SPLIT A6 -->|Nein| SPLIT end SPLIT{"Rechnungstyp?"}:::decision subgraph PO_PATH["2a - BESTELLRECHNUNGEN ~80% = ~10.400/Jahr"] direction TB PF["FIBU: Erstpruefung\nder Bestellrechnung"]:::manual PF --> PR["Zurueck an Empfang"]:::manual PR --> P1["Empfang: Rechnung\nmit Lieferschein abgleichen"]:::manual P1 --> P2{"Lieferschein\nvorhanden?"}:::decision P2 -->|Ja| P3["Lieferschein an Logistik\nzur Digitalisierung"]:::manual P2 -->|Nein| P4["Rechnung an Einkauf"]:::manual P3 --> P8 P4 --> P5{"Wareneingang\nin LN?"}:::decision P5 -->|Nein| P6["Einkauf: WE anlegen\nin Infor LN"]:::system P6 --> P8 P5 -->|Ja| PD{"Abweichungen zur Bestellung?\nPreis oder Menge"}:::decision PD -->|"Ja, keine Lieferungen\nauf Position gebucht"| P7["Einkauf: Bestellung\nin LN anpassen + MAUC\nDurchschnittspreise"]:::system PD -->|Keine Abweichung| P8 P7 --> P8 P8{"Restdifferenz?"}:::decision P8 -->|"1 EUR oder weniger\ndirekt an FIBU"| PO_BOOK P8 -->|"Ueber 1 EUR"| P9{"Nur Fracht oder\nVerpackung?"}:::decision P9 -->|"Ja und unter 10 EUR\nFIBU bucht direkt"| PO_BOOK P9 -->|"Nein oder ueber 10 EUR\nEinkauf klaert"| P4 end subgraph PO_BOOKING["3a - BESTELLRECHNUNG BUCHEN"] direction TB PO_BOOK["FIBU: Bestellnr. eingeben\nLieferant, Rechnungsnr.\nDatum, Betraege, Steuerschl.\nBank, Zahlungsbed. pruefen"]:::manual PO_BOOK --> PO_GR["WE-Abgleich\ntfacp2544m000\nLieferschein, Artikel\nMenge, Betrag pruefen"]:::system PO_GR --> PO_MARK["Korrekte Positionen\nmarkieren, WE zuordnen"]:::manual PO_MARK --> PO_FREIGHT{"Ungeplante Fracht-\noder Verpackungskosten?"}:::decision PO_FREIGHT -->|"Ja"| PO_FBOOK["Fracht auf Sachkonto\n+ Kostenstelle\n+ 6 Unterkonten buchen"]:::manual PO_FREIGHT -->|"Nein"| PO_APPROVE PO_FBOOK --> PO_APPROVE PO_APPROVE["GENEHMIGEN in LN\nZahlungssperre wird\nautomatisch entfernt"]:::system end subgraph COST_PATH["2b - KOSTENRECHNUNGEN ~20% = ~2.600/Jahr"] direction TB K1["FIBU: ZUERST in LN buchen\nmit Zahlungssperre Code 100\nSachkonto + 6 Unterkonten:\nKostenstelle, Kostentraeger\nverb. Unternehmen, Kapitalentw.\nErgebnisherkunft, Produkt"]:::system K1 --> KC{"FIBU sicher bei\nKostenstelle?"}:::decision KC -->|Nein| KCTRL["Weiter an Controlling\nzur Kostenstellenentscheidung"]:::manual KCTRL --> K2 KC -->|Ja| K2 K2["Physische Rechnung\nan Sachbearbeiter senden"]:::manual K2 --> K3["Pruefer schreibt OK\noder unterschreibt\nKEIN Sachkonto oder\nKostenstelle vom Pruefer"]:::manual K3 --> K4["Vorgesetzter genehmigt\n4-Augen-Prinzip:\nSachbearbeiter dann Vorgesetzter"]:::manual K4 --> K5["Zurueck an FIBU"]:::manual K5 --> K6["FIBU: Freigabe pruefen\nZahlungsbed. ggf. anpassen"]:::manual end SPLIT -->|"Bestellbezogen"| PF SPLIT -->|"Kostenrechnung"| K1 SPLIT -->|"Gutschrift\nohne Bestellung"| CN["Wie Kostenrechnung\nmit negativen Betraegen"]:::special SPLIT -->|"Gutschrift\nmit Bestellung"| PF CN --> K1 PO_APPROVE --> JOURNAL K6 --> COST_PAY["Zahlungssperre-Entfernung\nals Massenjob vor Zahlung"]:::system COST_PAY --> JOURNAL JOURNAL["FIBU: Sammel-Journalisierung\nalle Buchungschargen zusammen\nfinale Uebertragung in FiBu"]:::manual JOURNAL --> PAY["Zahlungslauf\nueber Zahlungsvorschlagsliste\nin Infor LN"]:::system subgraph SPECIAL["SONDERFAELLE"] direction LR VISA["VISA-Rechnungen:\nwie normale Rechnungen\nFIBU ordnet Belege\nder Abrechnung zu"]:::special INVEST["Investitionsrechnungen:\nvorab genehmigte\nInvestitionsnummer erforderlich\nSachkonto immer 090500\nAnlagennummer erforderlich"]:::special WRONG["Falsch adressierte RE:\nzurueck an Lieferant oder\nKorrektur anfordern"]:::special end
Manual step / Manueller Schritt
Paper / Decision
System / Infor LN

Orcha Process & Integration / Orcha-Prozess & Integration

English

Full integration with d.3, Infor LN, all 10 legal entities, automated approval and direct booking into the ERP.

Deutsch

Vollständige Integration mit d.3, Infor LN, allen 10 Gesellschaften, automatisierter Freigabe und direkter Buchung ins ERP.

flowchart TD classDef orcha fill:#0078d4,stroke:#005a9e,color:#fff,stroke-width:2px classDef orchaLight fill:#eff6ff,stroke:#0078d4,color:#09090b,stroke-width:1px classDef erp fill:#d97706,stroke:#b45309,color:#fff,stroke-width:2px classDef dms fill:#059669,stroke:#047857,color:#fff,stroke-width:2px classDef external fill:#f1f5f9,stroke:#94a3b8,color:#334155,stroke-width:1px,stroke-dasharray:5 5 classDef human fill:#fffbeb,stroke:#f59e0b,color:#92400e,stroke-width:2px classDef decision fill:#fef3c7,stroke:#f59e0b,color:#92400e,stroke-width:2px classDef success fill:#dcfce7,stroke:#16a34a,color:#166534,stroke-width:2px classDef error fill:#fee2e2,stroke:#dc2626,color:#991b1b,stroke-width:1px subgraph INTAKE["1 - DOCUMENT INTAKE"] direction TB EMAIL["Email\neingangsrechnung@graeper.de"]:::external SCAN["Paper scan\nvia d.capture to d.3"]:::external DMS_PULL["d.3 DMS\nREST API retrieval"]:::external EMAIL --> INGEST SCAN --> INGEST DMS_PULL --> INGEST INGEST["Orcha Document Intake\nAll sources unified"]:::orcha end INGEST --> CLASSIFY subgraph AI["2 - AI PROCESSING"] direction TB CLASSIFY["Classification and Extraction\n- Invoice type\n- Supplier\n- Amounts and line items\n- PO references\n- VAT details\n- AI cost center suggestion"]:::orcha CLASSIFY --> FORMAL FORMAL["Formal Verification\n- Par. 14 UStG compliance\n- VAT ID validation via VIES\n- Mathematical check\n- Reverse Charge Par. 13b"]:::orcha FORMAL --> FRAUD FRAUD["Fraud Detection\n- IBAN change alerts\n- Duplicate invoice detection\n- Invoice splitting patterns\n- New bank account warnings"]:::orcha FRAUD --> SUPPLIER SUPPLIER["Supplier Verification\n- Match against Infor LN master data\n- Flag new or unknown suppliers\n- Business partner assignment\n- VAT ID + IBAN cross-check"]:::orcha end SUPPLIER --> PO_CHECK subgraph MATCH["3 - DOCUMENT MATCHING"] direction TB PO_CHECK{"PO number\ndetected?"}:::decision PO_CHECK -- "Yes ~80%" --> FOUR_WAY PO_CHECK -- "No ~20%" --> COST_ROUTE["Cost invoice\nno PO reference"]:::orchaLight FOUR_WAY["Four-Way Match\n- Invoice vs Purchase Order\n- Invoice vs Goods Receipt\n- Invoice vs Contract\n- Tolerance check qty and price"]:::orcha FOUR_WAY --> MATCH_RESULT{"Match\nresult"}:::decision MATCH_RESULT -- "Full match" --> AUTO_PATH["Full match\nTo approval engine"]:::orchaLight MATCH_RESULT -- "Deviation" --> DISCREPANCY["Deviation found\nTo approval engine"]:::orchaLight MATCH_RESULT -- "No GR" --> WAIT_GR["Park and wait\nAuto-assign on GR arrival"]:::orchaLight WAIT_GR --> FOUR_WAY end AUTO_PATH --> ENGINE DISCREPANCY --> ENGINE COST_ROUTE --> ENGINE subgraph APPROVAL["4 - APPROVAL ENGINE"] direction TB ENGINE["Rule-Based Approval Engine\n- Match results + confidence scores\n- Routing per supplier type\n- Qty to warehouse / Price to purchasing\n- Skonto deadline tracking\n- 4-eyes principle\n- Amount thresholds"]:::orcha ENGINE --> DECISION{"Decision"}:::decision DECISION -- "Clean match\nknown supplier\nunder threshold" --> AUTO_APPROVE["Auto-Approval\n- Target 80% touchless\n- No manual intervention"]:::success DECISION -- "Review needed\nor above threshold" --> ROUTE["To Approver\n- Teams and Email notification\n- One-click approval\n- Add notes or forward"]:::human DECISION -- "Critical" --> ESCALATE["Escalation\n- Multi-step approval\n- Reminder chain\n- Deputy rules"]:::human end ROUTE --> APPROVER{"Approver\ndecision"}:::decision ESCALATE --> APPROVER APPROVER -- "Approved" --> APPROVED["Approved"]:::success APPROVER -- "Rejected" --> REJECTED["Rejected\nWorkflow restart"]:::error REJECTED -.-> ENGINE AUTO_APPROVE --> BOOKING APPROVED --> BOOKING subgraph TRANSFER["5 - BOOKING IN INFOR LN"] direction TB BOOKING["Account Assignment\n- GL account + 6 sub-accounts\n- VAT code\n- Period\n- Payment terms"]:::orcha BOOKING --> ERP["Transfer to Infor ERP LN\n- Via ION API or batch file\n- Payment block removed"]:::erp ERP --> CHECK{"Booking\nsuccessful?"}:::decision CHECK -- "Yes" --> DONE["Booked and Journalized\n- Document number returned\n- Status confirmed"]:::success CHECK -- "No" --> FIX["Error Handling\n- Import review by FIBU\n- Correction and retry"]:::error FIX --> ERP end DONE --> ARCHIVE subgraph ARCHIVAL["6 - ARCHIVAL IN d.3"] direction TB ARCHIVE["Write-back to d.3\nvia REST API"]:::dms ARCHIVE --> A1["- Invoice archived (audit-proof)\n- Verification results + match protocol\n- Approval documentation (4-eyes proof)\n- Audit trail (GoBD compliant)"]:::dms end
flowchart TD classDef orcha fill:#0078d4,stroke:#005a9e,color:#fff,stroke-width:2px classDef orchaLight fill:#eff6ff,stroke:#0078d4,color:#09090b,stroke-width:1px classDef erp fill:#d97706,stroke:#b45309,color:#fff,stroke-width:2px classDef dms fill:#059669,stroke:#047857,color:#fff,stroke-width:2px classDef external fill:#f1f5f9,stroke:#94a3b8,color:#334155,stroke-width:1px,stroke-dasharray:5 5 classDef human fill:#fffbeb,stroke:#f59e0b,color:#92400e,stroke-width:2px classDef decision fill:#fef3c7,stroke:#f59e0b,color:#92400e,stroke-width:2px classDef success fill:#dcfce7,stroke:#16a34a,color:#166534,stroke-width:2px classDef error fill:#fee2e2,stroke:#dc2626,color:#991b1b,stroke-width:1px subgraph INTAKE["1 - DOKUMENTENEINGANG"] direction TB EMAIL["E-Mail\neingangsrechnung@graeper.de"]:::external SCAN["Papierscan\nueber d.capture nach d.3"]:::external DMS_PULL["d.3 DMS\nREST-API-Abruf"]:::external EMAIL --> INGEST SCAN --> INGEST DMS_PULL --> INGEST INGEST["Orcha Dokumenteneingang\nAlle Quellen vereinheitlicht"]:::orcha end INGEST --> CLASSIFY subgraph AI["2 - KI-VERARBEITUNG"] direction TB CLASSIFY["Klassifizierung und Extraktion\n- Rechnungstyp\n- Lieferant\n- Betraege und Positionen\n- Bestellreferenzen\n- USt-Details\n- KI-Kostenstellenvorschlag"]:::orcha CLASSIFY --> FORMAL FORMAL["Formale Pruefung\n- Par. 14 UStG Konformitaet\n- USt-IdNr. Validierung ueber VIES\n- Rechenpruefung\n- Reverse Charge Par. 13b"]:::orcha FORMAL --> FRAUD FRAUD["Betrugserkennung\n- IBAN-Aenderungs-Warnungen\n- Duplikat-Erkennung\n- Rechnungssplitting-Muster\n- Neue Bankverbindungs-Warnungen"]:::orcha FRAUD --> SUPPLIER SUPPLIER["Lieferantenpruefung\n- Abgleich mit Infor LN Stammdaten\n- Neue/unbekannte Lieferanten markieren\n- Geschaeftspartner-Zuordnung\n- USt-IdNr. + IBAN Kreuzpruefung"]:::orcha end SUPPLIER --> PO_CHECK subgraph MATCH["3 - BELEGABGLEICH"] direction TB PO_CHECK{"Bestellnummer\nerkannt?"}:::decision PO_CHECK -- "Ja ~80%" --> FOUR_WAY PO_CHECK -- "Nein ~20%" --> COST_ROUTE["Kostenrechnung\nkeine Bestellreferenz"]:::orchaLight FOUR_WAY["Vier-Wege-Abgleich\n- Rechnung vs Bestellung\n- Rechnung vs Wareneingang\n- Rechnung vs Vertrag\n- Toleranzpruefung Menge und Preis"]:::orcha FOUR_WAY --> MATCH_RESULT{"Abgleich-\nergebnis"}:::decision MATCH_RESULT -- "Vollstaendiger Abgleich" --> AUTO_PATH["Vollstaendiger Abgleich\nWeiter an Freigabe-Engine"]:::orchaLight MATCH_RESULT -- "Abweichung" --> DISCREPANCY["Abweichung gefunden\nWeiter an Freigabe-Engine"]:::orchaLight MATCH_RESULT -- "Kein WE" --> WAIT_GR["Parken und warten\nAuto-Zuordnung bei WE-Eingang"]:::orchaLight WAIT_GR --> FOUR_WAY end AUTO_PATH --> ENGINE DISCREPANCY --> ENGINE COST_ROUTE --> ENGINE subgraph APPROVAL["4 - FREIGABE-ENGINE"] direction TB ENGINE["Regelbasierte Freigabe-Engine\n- Abgleichergebnisse + Konfidenzwerte\n- Routing pro Lieferantentyp\n- Menge an Lager / Preis an Einkauf\n- Skonto-Fristen-Tracking\n- 4-Augen-Prinzip\n- Betragsschwellen"]:::orcha ENGINE --> DECISION{"Entscheidung"}:::decision DECISION -- "Sauberer Abgleich\nbekannter Lieferant\nunter Schwellenwert" --> AUTO_APPROVE["Auto-Freigabe\n- Ziel: 80% ohne Eingriff\n- Kein manueller Eingriff"]:::success DECISION -- "Pruefung noetig\noder ueber Schwellenwert" --> ROUTE["An Freigeber\n- Teams- und E-Mail-Benachrichtigung\n- Ein-Klick-Freigabe\n- Notizen oder Weiterleitung"]:::human DECISION -- "Kritisch" --> ESCALATE["Eskalation\n- Mehrstufige Freigabe\n- Erinnerungskette\n- Vertreterregeln"]:::human end ROUTE --> APPROVER{"Freigeber-\nentscheidung"}:::decision ESCALATE --> APPROVER APPROVER -- "Freigegeben" --> APPROVED["Freigegeben"]:::success APPROVER -- "Abgelehnt" --> REJECTED["Abgelehnt\nWorkflow-Neustart"]:::error REJECTED -.-> ENGINE AUTO_APPROVE --> BOOKING APPROVED --> BOOKING subgraph TRANSFER["5 - BUCHUNG IN INFOR LN"] direction TB BOOKING["Kontierung\n- Sachkonto + 6 Unterkonten\n- USt-Code\n- Periode\n- Zahlungsbedingungen"]:::orcha BOOKING --> ERP["Uebertragung an Infor ERP LN\n- Ueber ION-API oder Batch-Datei\n- Zahlungssperre entfernt"]:::erp ERP --> CHECK{"Buchung\nerfolgreich?"}:::decision CHECK -- "Ja" --> DONE["Gebucht und journalisiert\n- Belegnummer zurueckgemeldet\n- Status bestaetigt"]:::success CHECK -- "Nein" --> FIX["Fehlerbehandlung\n- Import-Review durch FIBU\n- Korrektur und Wiederholung"]:::error FIX --> ERP end DONE --> ARCHIVE subgraph ARCHIVAL["6 - ARCHIVIERUNG IN d.3"] direction TB ARCHIVE["Rueckschreibung nach d.3\nueber REST-API"]:::dms ARCHIVE --> A1["- Rechnung archiviert (revisionssicher)\n- Pruefergebnisse + Abgleichprotokoll\n- Freigabedokumentation (4-Augen-Nachweis)\n- Audit-Trail (GoBD-konform)"]:::dms end
Orcha
Infor ERP LN
d.3 / d.velop
Manual decision / Manuelle Entscheidung
Automated / Automatisiert

Integration Assessment / Integrationsbewertung

English

What Orcha needs to do, where the data lives, and whether it’s technically feasible — based on deep research into d.velop and Infor documentation.

Task System How Status
Document Intake
Receive email invoices E-Mail Email forwarding from eingangsrechnung@graeper.de Ready
Receive scanned invoices d.3 DMS d.3 REST API — webhook on new document or polling with date filter Ready
Download invoice PDF d.3 DMS REST API: getDmsObjectMainFile / getDmsObjectPdfFile Ready
Master Data from Infor LN
Access purchase orders Infor LN Sync.PurchaseOrder BOD via ION, or flat-file export Confirmed
Access goods receipts Infor LN Sync.ReceiveDelivery BOD via ION, or flat-file export Confirmed
Access supplier master data Infor LN Sync.SupplierPartyMaster BOD (name, address, bank, payment terms) Confirmed
Access chart of accounts & cost centers Infor LN Sync.ChartOfAccounts BOD (GL accounts + 6 sub-account dimensions) Confirmed
Booking & Payment
Book invoice into ERP Infor LN 3 options: file import (fastest start), SOAP web service, or BOD via ION Confirmed
Match invoice to PO/GR Orcha Orcha performs four-way match before booking into LN Ready
Remove payment block Infor LN Programmatic removal not clearly documented; manual via tfcmg1609m000 Unclear
Track payment status Infor LN PayableTracker BOD returns payment date + batch number Confirmed
Write-Back & Archiving
Write results back to DMS d.3 DMS REST API: updateDmsObject (properties + status) Ready
Add audit trail / notes d.3 DMS REST API: createDmsObjectNotes (GoBD-compliant) Ready
Link related documents d.3 DMS REST API: linkDmsObjects (invoice ↔ PO ↔ GR) Ready
Open Items
Network access Orcha ↔ d.3 d.3 DMS d.3 is on-prem — needs VPN, gateway, or reverse proxy To clarify
Deutsch

Was Orcha leisten muss, wo die Daten liegen und ob es technisch machbar ist — basierend auf Tiefenanalyse der d.velop- und Infor-Dokumentation.

Aufgabe System Weg Status
Dokumenteneingang
E-Mail-Rechnungen empfangen E-Mail E-Mail-Weiterleitung von eingangsrechnung@graeper.de Bereit
Gescannte Rechnungen empfangen d.3 DMS d.3 REST-API — Webhook bei neuem Dokument oder Polling mit Datumsfilter Bereit
Rechnungs-PDF herunterladen d.3 DMS REST-API: getDmsObjectMainFile / getDmsObjectPdfFile Bereit
Stammdaten aus Infor LN
Bestellungen abrufen Infor LN Sync.PurchaseOrder BOD über ION oder Dateiexport Bestätigt
Wareneingänge abrufen Infor LN Sync.ReceiveDelivery BOD über ION oder Dateiexport Bestätigt
Lieferantenstammdaten abrufen Infor LN Sync.SupplierPartyMaster BOD (Name, Adresse, Bank, Zahlungsbed.) Bestätigt
Kontenplan & Kostenstellen abrufen Infor LN Sync.ChartOfAccounts BOD (Sachkonten + 6 Unterkonto-Dimensionen) Bestätigt
Buchung & Zahlung
Rechnung ins ERP buchen Infor LN 3 Optionen: Dateiimport (schnellster Start), SOAP-Webservice oder BOD über ION Bestätigt
Rechnung mit Bestellung/WE abgleichen Orcha Orcha führt Vier-Wege-Abgleich vor Buchung in LN durch Bereit
Zahlungssperre entfernen Infor LN Programmatische Entfernung nicht klar dokumentiert; manuell über tfcmg1609m000 Unklar
Zahlungsstatus verfolgen Infor LN PayableTracker-BOD liefert Zahlungsdatum + Chargennummer Bestätigt
Rückschreibung & Archivierung
Ergebnisse ins DMS zurückschreiben d.3 DMS REST-API: updateDmsObject (Eigenschaften + Status) Bereit
Audit-Trail / Notizen hinzufügen d.3 DMS REST-API: createDmsObjectNotes (GoBD-konform) Bereit
Dokumente verknüpfen d.3 DMS REST-API: linkDmsObjects (Rechnung ↔ Bestellung ↔ WE) Bereit
Offene Punkte
Netzwerkzugang Orcha ↔ d.3 d.3 DMS d.3 ist On-Prem — VPN, Gateway oder Reverse Proxy erforderlich Zu klären
Open Questions for Gräper / Offene Fragen an Gräper
  • Which d.3 version? Do webhooks work on-prem?
  • Network access plan: VPN, gateway, or reverse proxy?
  • Infor LN version and patch level
  • Is C4WS deployed and licensed?
  • Is ION configured?
  • Exact codes for 6 sub-account dimensions
  • Tax code mapping table
  • Welche d.3-Version? Funktionieren Webhooks On-Prem?
  • Netzwerkzugangsplan: VPN, Gateway oder Reverse Proxy?
  • Infor LN Version und Patch-Level
  • Ist C4WS bereitgestellt und lizenziert?
  • Ist ION konfiguriert?
  • Genaue Codes für die 6 Unterkonto-Dimensionen
  • Steuerschlüssel-Zuordnungstabelle