[{"data":1,"prerenderedAt":765},["ShallowReactive",2],{"blog-b2b-email-order-entry-llm-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":25,"sources":35,"cover":66,"og":67,"expertise":68,"locales":69,"lang":71,"title":73,"description":74,"coverAlt":75,"metaTitle":76,"takeaways":77,"faq":83,"toc":99,"blocks":133,"others":493},"b2b-email-order-entry-llm","2026-10-14",9,"web",[9,10,11,12,13],"Order entry","ERP","Document AI","Idempotency","GDPR",[15,16,17,18,19,20,21,22,23,24],"email order entry automation","sales order automation","automate order entry from email","AI order processing ERP","order desk automation","PDF order to ERP","sales order automation ROI","order entry error rate","touchless order processing","order validation rules ERP",[26,29,32],{"name":27,"url":28},"Sales order","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSales_order",{"name":30,"url":31},"Enterprise resource planning","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FEnterprise_resource_planning",{"name":33,"url":34},"General Data Protection Regulation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGeneral_Data_Protection_Regulation",[36,39,42,45,48,51,54,57,60,63],{"title":37,"url":38},"Microsoft Learn: Receive change notifications through webhooks (Microsoft Graph)","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fgraph\u002Fchange-notifications-delivery-webhooks",{"title":40,"url":41},"Microsoft Learn: Azure OpenAI structured outputs","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fai-foundry\u002Fopenai\u002Fhow-to\u002Fstructured-outputs",{"title":43,"url":44},"Stripe API reference: Idempotent requests","https:\u002F\u002Fdocs.stripe.com\u002Fapi\u002Fidempotent_requests",{"title":46,"url":47},"Regulation (EU) 2016\u002F679 (GDPR), EUR-Lex","https:\u002F\u002Feur-lex.europa.eu\u002Flegal-content\u002FEN\u002FTXT\u002F?uri=CELEX%3A32016R0679",{"title":49,"url":50},"Peppol BIS Upgrade 3: ordering profiles and code lists","https:\u002F\u002Fdocs.peppol.eu\u002Fpoacc\u002Fupgrade-3\u002F",{"title":52,"url":53},"O*NET OnLine: Order Clerks (43-4151.00)","https:\u002F\u002Fwww.onetonline.org\u002Flink\u002Fsummary\u002F43-4151.00",{"title":55,"url":56},"Amazon Textract pricing","https:\u002F\u002Faws.amazon.com\u002Ftextract\u002Fpricing\u002F",{"title":58,"url":59},"Google Cloud: Document AI pricing","https:\u002F\u002Fcloud.google.com\u002Fdocument-ai\u002Fpricing",{"title":61,"url":62},"Mistral AI: OCR 4.1 model card","https:\u002F\u002Fdocs.mistral.ai\u002Fmodels\u002Focr-4-1",{"title":64,"url":65},"Conexiom: sales order automation (vendor)","https:\u002F\u002Fconexiom.com\u002F","\u002Fimages\u002Fblog\u002Fb2b-email-order-entry-llm\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fb2b-email-order-entry-llm\u002Fog.jpg","b2b-ecommerce-developer",[70,71,72],"en","de","hu","Auftragserfassung aus E-Mails automatisieren: von der Bestellmail zum ERP-Auftrag","B2B-Auftragserfassung aus E-Mails mit LLMs automatisieren: verlässlicher Posteingang, Positionsextraktion, Prüfregeln als Code, Idempotenz und DSGVO.","Umschläge entfalten sich zu ordentlichen Zeilen auf einem Klemmbrett, das auf eine Kiste zeigt.","Auftragserfassung aus E-Mails · Balázs Csorba",[78,79,80,81,82],"Bei der automatisierten Auftragserfassung aus E-Mails schreibt das Modell nie ins ERP; es schlägt einen typisierten Auftrag vor, der dieselben Prüfungen bestehen muss wie ein manuell erfasster.","Ein Auftrag wird nur automatisch angelegt, wenn jede Position jede Regel besteht; alles andere geht mit benannter Regel in eine Ausnahmewarteschlange.","Microsoft Graph wertet eine Webhook-Benachrichtigung erst bei einer 2xx-Antwort innerhalb von 3 Sekunden als zugestellt; also zuerst in eine Queue schreiben und mit 202 antworten.","Idempotenzschlüssel beim ERP-Anlageaufruf und ein Fingerabdruck auf Positionsebene verhindern den doppelten Kundenauftrag, den typischen Vorfall der Auftragsautomatisierung.","Auch B2B-Bestellmails enthalten personenbezogene Daten benannter Mitarbeiter; Rechtsgrundlage, Aufbewahrung der Rohmail und Auftragsverarbeitungsverträge brauchen vorab Entscheidungen.",[84,87,90,93,96],{"q":85,"a":86},"Was ist automatisierte Auftragserfassung aus E-Mails?","Eine Pipeline, die per E-Mail eingehende Bestellungen liest, die Positionen mit einem Dokumentmodell oder LLM extrahiert, sie gegen Verträge, Preise, Bestand und Dubletten prüft und den Kundenauftrag im ERP nur anlegt, wenn jede Regel besteht. Alles andere geht an einen Menschen in einer Ausnahmewarteschlange.",{"q":88,"a":89},"Kann ein LLM Kundenaufträge direkt im ERP anlegen?","Es sollte nicht. Lassen Sie das Modell einen strukturierten Auftrag vorschlagen und deterministischen Code entscheiden, ob er angelegt werden darf, über den einen Integrationsweg, der auch Idempotenz und Audit-Log übernimmt. Es gelten dieselben Prüfungen wie für einen vom Innendienst erfassten Auftrag.",{"q":91,"a":92},"Wie verhindert man doppelte Aufträge bei der E-Mail-Automatisierung?","Mit einem Idempotenzschlüssel beim ERP-Anlageaufruf, abgeleitet aus Nachricht und Inhalt, und einem Fingerabdruck der Positionen pro Kunde in einem Zeitfenster, der dieselbe Bestellung auf verschiedenen Wegen erkennt. Testen Sie es, indem Sie dieselbe Mail zweimal senden und genau einen Kundenauftrag erwarten.",{"q":94,"a":95},"Ist KI-gestützte Verarbeitung von Bestellmails nach der DSGVO zulässig?","Ja, mit Sorgfalt. Bestellmails benannter Mitarbeiter sind auch im B2B personenbezogene Daten. Die Verarbeitung für den Auftrag stützt sich auf die Vertragserfüllung, Anbieter brauchen Auftragsverarbeitungsverträge, Prompts sollten nur den Bestellinhalt enthalten, und die Rohmail braucht eine festgelegte Aufbewahrung, die Sie gegen die Aufbewahrungseinstellungen des eigenen Tenants geprüft haben.",{"q":97,"a":98},"Was spart automatisierte Auftragserfassung aus E-Mails?","Ein veröffentlichter Vergleichswert für die Kosten pro Bestellmail wurde nicht gefunden. Berechnen Sie ihn aus eigenen Daten: Erfassungsminuten pro Position mal Vollkosten gegenüber Prüfminuten pro Position plus Extraktionskosten pro Dokument. Der US-Medianlohn für Auftragssachbearbeiter lag 2025 bei 22,20 US-Dollar pro Stunde, rund 0,37 US-Dollar pro Minute ohne Gemeinkosten.",[100,103,106,109,112,115,118,121,124,127,130],{"id":101,"title":102},"what-to-automate-and-what-to-keep-human","Was automatisiert man, und was bleibt menschlich?",{"id":104,"title":105},"the-pipeline-from-mailbox-to-erp","Die Pipeline vom Postfach ins ERP",{"id":107,"title":108},"listening-to-the-mailbox-reliably","Wie lauscht man verlässlich am Postfach?",{"id":110,"title":111},"extracting-order-lines-not-documents","Wie extrahiert man Auftragspositionen aus einer E-Mail?",{"id":113,"title":114},"validation-rules-as-code","Welche Prüfregeln entscheiden über die Auftragsanlage?",{"id":116,"title":117},"idempotency-and-audit-trails","Wie verhindert man doppelte ERP-Aufträge?",{"id":119,"title":120},"gdpr-practicalities-for-order-emails","Was verlangt die DSGVO bei Bestellmails?",{"id":122,"title":123},"what-it-is-worth","Was ist automatisierte Auftragserfassung wert?",{"id":125,"title":126},"change-management-and-when-not-to-use-it","Wann sollte man die Auftragserfassung nicht automatisieren?",{"id":128,"title":129},"order-entry-checklist","Eine Checkliste für einen Pilot zur Auftragserfassung",{"id":131,"title":132},"sources","Quellen",[134,142,151,154,157,160,161,164,170,173,174,182,185,188,189,192,194,224,225,228,314,317,318,321,328,332,333,339,368,375,378,379,382,414,421,422,425,433,434,452,460,461],{"type":135,"content":136},"paragraph",[137,141],{"tag":138,"children":139},"strong",[140],"Automatisierte Auftragserfassung aus E-Mails"," verwandelt Bestellungen, die per E-Mail als PDF, Tabelle oder Text in der Nachricht eintreffen, in Kundenaufträge im ERP. Ein Dokumentmodell oder LLM liest die Bestellung und schlägt strukturierte Positionen vor; deterministischer Code prüft sie gegen Verträge, Preise, Bestand und frühere Aufträge; und der Auftrag wird nur angelegt, wenn jede Prüfung besteht. Alles andere landet bei einem Menschen.",{"type":135,"content":143},[144,145,150],"Dieser Artikel behandelt, was vor dem Schreiben ins ERP passiert: verlässliches Lauschen am Postfach, Extraktion von Positionen statt Dokumenten, Prüfregeln als Code, Idempotenz und Audit-Trail, DSGVO für Bestellmails, den Business Case und den Innendienst als eigentlichen Nutzer. Sind Angebote statt Aufträge Ihr Engpass, lesen Sie ",{"tag":146,"to":147,"children":148},"link","\u002Fblog\u002Fllm-rfq-quote-automation",[149],"Anfragenautomatisierung mit LLMs",", die dieselbe Extraktionsschicht nutzt.",{"type":152,"level":153,"id":101,"text":102},"heading",2,{"type":135,"content":155},[156],"Automatisieren Sie Eingang, Extraktion und Prüfung; die Entscheidung über die Anlage eines ERP-Auftrags bleibt bei deterministischen Regeln, und jede Ausnahme bleibt bei einem Menschen. Die Regel, an der das Design hängt: Das Modell schreibt nie ins ERP. Es schlägt einen typisierten Auftrag vor, der dieselben Prüfungen bestehen muss wie ein vom Innendienst erfasster Auftrag.",{"type":135,"content":158},[159],"Aufträge verzeihen weniger als Angebote. Ein falsches Angebot lässt sich korrigieren, bevor der Kunde es annimmt; ein doppelter Auftrag oder eine falsche Menge bewegt Bestand, löst Rechnungen aus und kostet sofort Vertrauen. Automatische Anlage ist daher nur erlaubt, wenn jede Position jede Regel bestanden hat, teilweise Konfidenz reicht nie. Aus meiner Erfahrung mit B2B-Commerce-Systemen ist das Anlegen des Auftrags der leichte Teil. Der schwere Teil ist, dass die E-Mail des Kunden der einzige Beleg dafür ist, was er zu bestellen glaubt; deshalb zählen Extraktionsbelege und die Ausnahmewarteschlange mehr als das Modell.",{"type":152,"level":153,"id":104,"text":105},{"type":135,"content":162},[163],"Die Pipeline hat genau einen Weg ins ERP, durch ein Prüftor, und genau einen Weg um einen Fehler herum, über einen Menschen, der den korrigierten Auftrag durch dasselbe Tor zurückschickt. Einen Umgehungsweg für eilige Aufträge gibt es nicht, denn genau dort entstehen Dubletten.",{"type":165,"src":166,"alt":167,"wide":168,"caption":169},"image","\u002Fimages\u002Fblog\u002Fb2b-email-order-entry-llm\u002Fdiagram-7.webp","E-Mail-Auftragspipeline mit Prüftor Eine E-Mail kommt über Microsoft Graph oder IMAP an und wird vor jeder Verarbeitung in eine Queue geschrieben. Die Extraktion macht daraus typisierte Auftragspositionen. Ein Prüftor aus Code-Regeln entscheidet: Sind alle Positionen gültig, legt ein ERP-Schreiber den Kundenauftrag mit Idempotenzschlüssel an und eine Bestätigung geht an den Kunden; scheitert eine Regel, geht der Auftrag mit benannter Regel in eine Ausnahmewarteschlange, ein Mensch korrigiert ihn, und er kehrt zum selben Prüftor zurück. Einen Umgehungsweg gibt es nicht.",true,"Die Pipeline vom Postfach ins ERP: Das Prüftor ist der einzige Weg ins ERP, und korrigierte Ausnahmen laufen erneut durch dasselbe Tor.",{"type":135,"content":171},[172],"Jede Stufe speichert ihr Ergebnis: die Rohnachricht, den vorgeschlagenen Auftrag, die Regelergebnisse, die ERP-Belegnummer und die Bestätigung. Alles nach dem Anlageaufruf, etwa Outbox, Wiederholungen gegen die ERP-API und nächtlicher Abgleich, ist System-zu-System-Synchronisation und sollte die Integration nutzen, die Ihr Shop für Aufträge ohnehin hat.",{"type":152,"level":153,"id":107,"text":108},{"type":135,"content":175},[176,177,181],"In Microsoft 365, das die meisten österreichischen und deutschen B2B-Unternehmen nutzen, abonnieren Sie Graph-Änderungsbenachrichtigungen, prüfen jede einzelne, schreiben sie in eine Queue und antworten sofort. Eine Benachrichtigung gilt erst als zugestellt, wenn Ihr Endpunkt innerhalb von 3 Sekunden mit 2xx antwortet; sonst wiederholt Graph bis zu 4 Stunden lang (",{"tag":178,"href":38,"children":179},"a",[180],"Microsoft Learn",").",{"type":183,"code":184},"code","\u002F\u002F Graph change-notification endpoint (sketch): validate, persist, answer fast\napp.post('\u002Fgraph\u002Fnotifications', async (req, res) => {\n  if (req.query.validationToken)                                   \u002F\u002F subscription handshake\n    return res.type('text\u002Fplain').send(String(req.query.validationToken))\n\n  for (const n of req.body.value ?? []) {\n    if (n.clientState !== process.env.GRAPH_CLIENT_STATE) continue  \u002F\u002F ignore forged notifications\n    await queue.send({ subscriptionId: n.subscriptionId, resource: n.resource })\n  }\n  res.sendStatus(202)                \u002F\u002F fetch, parse and extract later, from the queue worker\n})",{"type":135,"content":186},[187],"Dieselbe Seite beschreibt die Ausfallmodi, die zählen. Überschreiten mehr als 10 % der Antworten innerhalb von 10 Minuten die 3 Sekunden, wird der Endpunkt als langsam markiert und neue Benachrichtigungen kommen 10 Minuten verzögert. Überschreiten mehr als 15 % das 10-Sekunden-Fenster, wird er als „drop“ markiert, Benachrichtigungen werden 10 Minuten lang verworfen und lassen sich nicht wiederherstellen. Deshalb parst der Handler überhaupt nichts. Bei geringem Volumen ist das zeitgesteuerte Abfragen eines eigenen IMAP-Ordners eine akzeptable Alternative. In beiden Fällen hört die Kopie im Postfach auf, die maßgebliche Quelle zu sein, sobald der Auftrag extrahiert und protokolliert ist.",{"type":152,"level":153,"id":110,"text":111},{"type":135,"content":190},[191],"Extrahieren Sie Positionen in ein striktes Schema, behalten Sie den Rohtext neben jedem interpretierten Wert und rechnen Sie Einheiten im Code um. Positionsextraktion ist ein anderes Problem als das Zusammenfassen eines Dokuments: Mengen wie „2 Karton à 12 Stk.“, die eigenen Artikelnummern des Kunden, Formulierungen zum Liefertermin und Verweise wie „wie letztes Mal“ auf einen früheren Auftrag müssen alle in Felder gelangen, die eine Regel prüfen kann.",{"type":183,"code":193},"{\n  \"orderReference\": \"PO-88213\",\n  \"lines\": [\n    {\n      \"position\": \"10\",\n      \"customerPartNo\": \"4711-22\",\n      \"supplierPartNo\": null,\n      \"description\": \"Rillenkugellager 6204 2RS\",\n      \"quantityRaw\": \"2 Karton à 12 Stk.\",\n      \"quantity\": 2,\n      \"unitRaw\": \"Karton à 12\",\n      \"requestedDate\": \"2026-10-28\",\n      \"source\": { \"page\": 1, \"bbox\": [72, 310, 520, 326] }\n    }\n  ],\n  \"referencesPreviousOrder\": false\n}\n\u002F\u002F code, not the model, converts \"2 Karton à 12\" into 24 pieces (UN\u002FECE Rec 20 code H87)",{"type":135,"content":195},[196,197,200,201,200,204,207,208,210,211,214,215,218,219,223],"Structured Outputs garantieren die Form, nicht die fachliche Gültigkeit. Der strikte Modus von Azure OpenAI etwa verlangt, dass alle Felder required sind, unbekannte Werte werden also zu Nullable-Unions, und er unterstützt weder ",{"tag":183,"children":198},[199],"minimum"," noch ",{"tag":183,"children":202},[203],"pattern",{"tag":183,"children":205},[206],"format"," (",{"tag":178,"href":41,"children":209},[180],"). Wertebereiche, Einheitencodes nach UN\u002FECE-Empfehlung 20, die auch die Peppol-Bestellcodelisten nutzen (",{"tag":178,"href":50,"children":212},[213],"Peppol BIS","), und Datumsfenster sind daher Code. Hängen Sie Seite und Bounding Box an jedes Feld für die Prüfansicht; Mistral OCR 4.1 liefert für 4 US-Dollar pro 1.000 Seiten, Stand Oktober 2026, Boxen auf Absatzebene und Blockkonfidenzen (",{"tag":178,"href":62,"children":216},[217],"Mistral","). Die Parsing-Schicht selbst behandelt ",{"tag":146,"to":220,"children":221},"\u002Fblog\u002Funstructured",[222],"Unstructured für Dokumenten-Parsing",".",{"type":152,"level":153,"id":113,"text":114},{"type":135,"content":226},[227],"Regeln, die aus dem führenden System lesen und im Code laufen. Pro Auftrag gibt es nur zwei Ergebnisse: Alle Positionen gültig, dann anlegen; alles andere, dann Ausnahmewarteschlange mit benannter Regel. Das Modell darf für manche Regeln Werte vorschlagen, entscheidet aber keine.",{"type":229,"head":230,"rows":241},"table",[231,233,235,237,239],[232],"Regel",[234],"Führendes System",[236],"Rolle des LLM",[238],"Deterministische Prüfung",[240],"Bei Fehler",[242,253,263,273,283,293,303],[243,245,247,249,251],[244],"Bekannter Kunde",[246],"ERP, CRM",[248],"keine",[250],"Absenderdomain und Vertrag, nicht nur der From-Header",[252],"Ausnahme",[254,256,258,260,262],[255],"Vereinbarter Preis",[257],"Preisdienst, ERP",[259],"liest den Preis auf der Bestellung",[261],"Vertragspreis existiert und passt",[252],[264,266,268,270,272],[265],"Artikelzuordnung",[267],"ERP, Querverweis",[269],"schlägt Kandidaten vor",[271],"nur exakte Kennung oder bekannter Querverweis",[252],[274,276,278,280,282],[275],"Menge und Einheit",[277],"Artikelstamm",[279],"extrahiert Rohtext",[281],"Einheitenumrechnung, Mindestmenge, Staffelung",[252],[284,286,288,289,291],[285],"Verfügbarkeit",[287],"ERP, ATP",[248],[290],"lieferbar gemäß Teillieferungsregel",[292],"Ausnahme oder Teillieferung bestätigen",[294,296,298,300,302],[295],"Liefertermin",[297],"ERP, Kalender",[299],"liest die Formulierung",[301],"Termin ist machbar und in der Zukunft",[252],[304,306,308,310,312],[305],"Dublette",[307],"Auftragsprotokoll",[309],"markiert „wie letztes Mal“",[311],"gleicher Kunde und Positions-Fingerabdruck im Zeitfenster",[313],"Ausnahme, nie automatisch anlegen",{"type":135,"content":315},[316],"Schreiben Sie die Regeln gegen die echten Felder Ihres ERP, Mindestbestellmenge, Verpackungseinheit, Verfügbarkeitsprüfung und Lieferpläne, und versionieren Sie sie. Die Regelversion landet mit jeder Entscheidung im Audit-Log, sodass sich eine geänderte Regel den Aufträgen zuordnen lässt, die sie durchgelassen hat.",{"type":152,"level":153,"id":116,"text":117},{"type":135,"content":319},[320],"Führen Sie einen Idempotenzschlüssel durch den Anlageaufruf und halten Sie einen Fingerabdruck der Positionen pro Kunde. Doppelte Kundenaufträge sind der typische Vorfall der Auftragsautomatisierung: ein wiederholter Webhook, ein neu gestarteter Worker oder ein Kunde, der dasselbe PDF mit „bitte bestätigen“ noch einmal schickt.",{"type":135,"content":322},[323,324,327],"Die Stripe-API ist eine gute Referenz für die Semantik: vom Client erzeugte Schlüssel mit bis zu 255 Zeichen, bei Wiederholung die gespeicherte Antwort der ersten Anfrage, ein Fehler, wenn die Parameter von der ursprünglichen Anfrage abweichen, und Schlüssel, die nach mindestens 24 Stunden gelöscht werden dürfen (",{"tag":178,"href":44,"children":325},[326],"Stripe","). Leiten Sie Ihren Schlüssel aus Message-ID und Anhang-Hash ab, nie aus personenbezogenen Daten. Der Schlüssel fängt technische Wiederholungen ab; der Fingerabdruck aus Kunde und Positionsmenge im Zeitfenster fängt die fachliche Dublette ab, dieselbe Bestellung zweimal gesendet.",{"type":165,"src":329,"alt":330,"wide":168,"caption":331},"\u002Fimages\u002Fblog\u002Fb2b-email-order-entry-llm\u002Fdiagram-24.webp","Ereignisprotokoll eines Auftrags (nur anhängend) Fünf Ereignisse von links nach rechts, jeweils angehängt und nie geändert: die empfangene Nachricht mit Message-ID und Anhang-Hash; der vorgeschlagene Auftrag aus der Extraktion; die ausgeführten Prüfungen mit Regelversionen; der angelegte Kundenauftrag mit ERP-Nummer und Idempotenzschlüssel; und die an den Kunden gesendete Bestätigung.","Der Audit-Trail: fünf nur angehängte Ereignisse pro Auftrag, sodass jeder ERP-Kundenauftrag bis zur genauen E-Mail und zu den Regelversionen zurückverfolgt werden kann, die ihn durchgelassen haben.",{"type":152,"level":153,"id":119,"text":120},{"type":135,"content":334},[335,336,181],"Die DSGVO gilt auch im B2B. Erwägungsgrund 14 nimmt Daten über juristische Personen aus, etwa Firmenname und Kontaktdaten des Unternehmens, aber eine Bestellmail eines benannten Mitarbeiters mit Signatur und Durchwahl bleibt personenbezogen (",{"tag":178,"href":47,"children":337},[338],"DSGVO, EUR-Lex",{"type":340,"ordered":341,"items":342},"list",false,[343,348,353,363],[344,347],{"tag":138,"children":345},[346],"Rechtsgrundlage:"," Art. 6 Abs. 1 lit. b, Vertragserfüllung, deckt die Verarbeitung der Bestellung; Missbrauchs- und Betrugsprüfungen stützen sich auf berechtigte Interessen nach Art. 6 Abs. 1 lit. f.",[349,352],{"tag":138,"children":350},[351],"Auftragsverarbeiter:"," Jeder OCR- oder Modellanbieter im Ablauf braucht einen Auftragsverarbeitungsvertrag nach Art. 28, und die Pipeline braucht angemessene Sicherheit nach Art. 32.",[354,357,358,362],{"tag":138,"children":355},[356],"Datenminimierung:"," Schicken Sie dem Modell das Bestelldokument, nicht den ganzen Verlauf mit Signaturen und Historie; ",{"tag":146,"to":359,"children":360},"\u002Fblog\u002Fpii-redaction-llm-pipelines",[361],"PII-Schwärzung in LLM-Pipelines"," beschreibt die Techniken.",[364,367],{"tag":138,"children":365},[366],"Speicherbegrenzung:"," Nach Art. 5 Abs. 1 lit. e braucht die Rohmail, sobald der Auftrag im ERP ist, eine festgelegte Aufbewahrungsfrist und einen Archiv- oder Löschschritt.",{"type":369,"variant":370,"title":371,"body":372},"callout","warn","Aufbewahrung prüfen, bevor Sie Löschung versprechen",[373],[374],"Versprechen Sie nicht, dass die Kopie im Postfach nach der Verarbeitung gelöscht wird, bevor Sie die Aufbewahrungseinstellungen des Tenants geprüft haben. Aufbewahrungsrichtlinien in Microsoft 365 können Mails unabhängig davon behalten, was ein Benutzer oder eine Pipeline löscht; das Versprechen hängt also von der Konfiguration des Kunden ab, nicht von Ihrem Code.",{"type":135,"content":376},[377],"Ein Assistent für die Auftragserfassung steht nicht auf der Hochrisikoliste in Anhang III des EU AI Act; ordnen Sie ihn als internes Produktivitätswerkzeug ein und behaupten Sie keinen Compliance-Status, den Sie nicht geprüft haben.",{"type":152,"level":153,"id":122,"text":123},{"type":135,"content":380},[381],"Sie ist die Erfassungsminuten wert, die sie einspart, die Monatsendspitzen, die sie abfängt, und die falschen Aufträge, die sie verhindert, und für nichts davon gibt es einen veröffentlichten B2B-Vergleichswert. Für diesen Artikel ließ sich keine öffentliche Zahl zu Kosten pro Bestellmail oder Fehlerquoten verifizieren; der Business Case entsteht daher aus Formeln und der eigenen Basislinie des Innendienstes.",{"type":340,"ordered":341,"items":383},[384,392,404,409],[385,388,389,181],{"tag":138,"children":386},[387],"Bearbeitungszeit:"," Kosten pro Position sind Erfassungsminuten mal Vollkosten, verglichen mit Prüfminuten pro Position mal Lohn plus Extraktionskosten pro Dokument. Als Bezugspunkt nennt O*NET für Auftragssachbearbeiter in den USA einen Medianlohn 2025 von 22,20 US-Dollar pro Stunde, rund 0,37 US-Dollar pro Minute ohne Gemeinkosten, bei 78.900 Beschäftigten, deren Aufgaben das Prüfen von Auftragsdaten und Lagerverfügbarkeit umfassen (",{"tag":178,"href":53,"children":390},[391],"O*NET",[393,396,397,400,401,181],{"tag":138,"children":394},[395],"Extraktionskosten:"," vergleichsweise gering; Stand Oktober 2026 berechnet Amazon Textract 0,0015 US-Dollar pro Seite für Text und 0,015 US-Dollar pro Seite mit Tabellen (",{"tag":178,"href":56,"children":398},[399],"AWS","), Google Document AI OCR 1,50 US-Dollar pro 1.000 Seiten (",{"tag":178,"href":59,"children":402},[403],"Google Cloud",[405,408],{"tag":138,"children":406},[407],"Falsche Aufträge:"," Gutschrift, Ersatzlieferung, Fracht in beide Richtungen und die Folgekosten beim Kunden. Benennen Sie diese Bestandteile und messen Sie sie im Pilot, statt eine Branchenzahl zu zitieren.",[410,413],{"tag":138,"children":411},[412],"Spitzen:"," Kapazität ohne Neueinstellungen zeigt sich am Monatsende als Alter des Rückstands und Überlauf der Ausnahmen, nicht als eingesparte Stellen.",{"type":135,"content":415},[416,417,420],"Anbieter wie Conexiom bewerben diesen Ablauf im großen Maßstab und nennen mehr als 1,5 Milliarden Positionen pro Jahr und über 40 ERP-Integrationen (",{"tag":178,"href":65,"children":418},[419],"Conexiom","); werten Sie das als Marktbeleg, dass das Problem real ist, nicht als Vergleichswert. Die Entscheider, meist COO, Leitung Kundenservice oder Order-to-Cash, suchen nach „Auftragserfassung aus E-Mails automatisieren“, und das Versprechen ist eine niedrigere manuelle Bearbeitungsquote, gemessen an den eigenen Zahlen des Innendienstes, nie Personalabbau.",{"type":152,"level":153,"id":125,"text":126},{"type":135,"content":423},[424],"Automatisieren Sie nicht, wenn das Auftragsvolumen eine Warteschlange nicht rechtfertigt, wenn Vertragspreise unerreichbar sind, wenn Kunden bereits EDI- oder Peppol-Bestellungen senden, dann verbessern Sie den Kanal, statt PDFs zu parsen, oder wenn die Rechtsabteilung kein LLM im Weg von Kundendokumenten akzeptiert; dann sind deterministische Vorlagen plus OCR die Rückfallebene.",{"type":135,"content":426},[427,428,432],"Der Innendienst ist Nutzer, Prüfer und Veränderungsrisiko zugleich. Beginnen Sie mit „KI entwirft, Menschen senden“, veröffentlichen Sie die Bearbeitungsquote, machen Sie Korrekturen zu einem Klick und behandeln Sie jede Korrektur als Bestand, der den Abgleich verbessert. Wo Nutzung oder Leistung pro Person protokolliert wird, binden Sie den Betriebsrat früh ein; ",{"tag":146,"to":429,"children":430},"\u002Fblog\u002Fworks-council-ai-tools-austria-germany",[431],"KI-Werkzeuge und der Betriebsrat"," beschreibt den Rahmen in Österreich und Deutschland.",{"type":152,"level":153,"id":128,"text":129},{"type":340,"ordered":168,"items":435},[436,438,440,442,444,446,448,450],[437],"Ein Referenzset aus zwei bis vier Wochen echter, anonymisierter Postfachhistorie aufbauen.",[439],"Extraktionsgenauigkeit pro Feld messen, nicht pro Dokument.",[441],"Prüfen, welche Regeln am häufigsten scheitern, und die Daten dahinter korrigieren.",[443],"Dieselbe Bestellung zweimal senden und genau einen Kundenauftrag erwarten.",[445],"Einen End-to-End-Test über den einen maßgeblichen ERP-Schreiber fahren; ich würde ihn mit Playwright MCP von einer Test-Mail bis zum angelegten Auftrag steuern.",[447],"Mit dem Innendienst eine Bearbeitungszeit für die Ausnahmewarteschlange vereinbaren.",[449],"Die Aufbewahrungsregel für Rohmails festschreiben und durchsetzen.",[451],"Die Version des Extraktionsmodells festschreiben und das Referenzset bei jeder Änderung erneut laufen lassen.",{"type":135,"content":453},[454,455,459],"Ein Pilot mit festem Umfang auf einigen Wochen echter Postfachhistorie, mit Extraktionsbericht, funktionierender Ausnahmewarteschlange und geprüftem Anlageweg gegen einen ERP-Testmandanten, ist ein klar abgegrenztes Projekt. Wenn Sie einen planen, deckt meine ",{"tag":146,"to":456,"children":457},"\u002Fexpertise\u002Fb2b-ecommerce-developer",[458],"B2B-E-Commerce-Arbeit"," die ERP- und Katalogseite ab, von der er abhängt.",{"type":152,"level":153,"id":131,"text":132},{"type":340,"ordered":168,"items":462},[463,466,469,472,475,478,481,484,487,490],[464],{"tag":178,"href":38,"children":465},[37],[467],{"tag":178,"href":41,"children":468},[40],[470],{"tag":178,"href":44,"children":471},[43],[473],{"tag":178,"href":47,"children":474},[46],[476],{"tag":178,"href":50,"children":477},[49],[479],{"tag":178,"href":53,"children":480},[52],[482],{"tag":178,"href":56,"children":483},[55],[485],{"tag":178,"href":59,"children":486},[58],[488],{"tag":178,"href":62,"children":489},[61],[491],{"tag":178,"href":65,"children":492},[64],[494,568,623,697],{"slug":495,"published":496,"minutes":497,"category":7,"tags":498,"keywords":504,"about":516,"sources":525,"cover":562,"og":563,"expertise":68,"locales":564,"lang":71,"title":565,"description":566,"coverAlt":567},"schema-org-structured-data-b2b-shop","2026-10-17",10,[499,500,501,502,503],"Schema.org","Structured data","B2B e-commerce","Technical SEO","Nuxt",[505,506,507,508,509,510,511,512,513,514,515],"schema.org b2b shop","product structured data b2b","merchant listing structured data","product snippet vs merchant listing","unitpricespecification referencequantity","productgroup variants structured data","organization schema vatid","b2b prices behind login seo","json-ld nuxt schema org","merchant return policy structured data","mpn gtin structured data",[517,519,522],{"name":499,"url":518},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSchema.org",{"name":520,"url":521},"JSON-LD","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FJSON-LD",{"name":523,"url":524},"Business-to-business","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBusiness-to-business",[526,529,532,535,538,541,544,547,550,553,556,559],{"title":527,"url":528},"Google Search Central: Introduction to Product structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fproduct",{"title":530,"url":531},"Google Search Central: Merchant listing (Product, Offer) structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fmerchant-listing",{"title":533,"url":534},"Google Search Central: Product snippet structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fproduct-snippet",{"title":536,"url":537},"Google Search Central: Product variant structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fproduct-variants",{"title":539,"url":540},"Google Search Central: Organization structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Forganization",{"title":542,"url":543},"Google Search Central: Merchant return policy structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Freturn-policy",{"title":545,"url":546},"Google Search Central: General structured data guidelines","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fsd-policies",{"title":548,"url":549},"Google Search Central: Generate structured data with JavaScript","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fgenerate-structured-data-with-javascript",{"title":551,"url":552},"Schema.org: Offer","https:\u002F\u002Fschema.org\u002FOffer",{"title":554,"url":555},"Schema.org: UnitPriceSpecification","https:\u002F\u002Fschema.org\u002FUnitPriceSpecification",{"title":557,"url":558},"Unhead: Product schema (defineProduct)","https:\u002F\u002Funhead.unjs.io\u002Fdocs\u002Fschema-org\u002Fapi\u002Fschema\u002Fproduct",{"title":560,"url":561},"Nuxt SEO: Schema.org identity setup","https:\u002F\u002Fnuxtseo.com\u002Fdocs\u002Fschema-org\u002Fguides\u002Fsetup-identity","\u002Fimages\u002Fblog\u002Fschema-org-structured-data-b2b-shop\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fschema-org-structured-data-b2b-shop\u002Fog.jpg",[70,71,72],"Schema.org-Strukturdaten für B2B-Shops: Preise hinter Logins, Einheiten und Varianten","Produkt-Markup für B2B-Shops: Snippet oder Händlereintrag, welcher Preis, Artikelnummern, Grundpreise, Varianten, Organization und SSR in Nuxt.","Ein Produktrechteck mit dünnem Rahmen und einem kleinen Feld, das eine niedrige Wand verdeckt.",{"slug":569,"published":496,"minutes":6,"category":7,"tags":570,"keywords":575,"about":587,"sources":595,"cover":617,"og":618,"expertise":68,"locales":619,"lang":71,"title":620,"description":621,"coverAlt":622},"ai-assistant-b2b-shop-customer-support",[501,571,572,573,574],"AI assistant","Customer support","LLM agents","EU AI Act",[576,577,578,579,580,581,582,583,584,585,586],"ai assistant b2b shop","ai customer support b2b ecommerce","llm chatbot order status","ai agent customer service tools","chatbot liability air canada","klarna ai assistant results","human handoff chatbot design","eu ai act chatbot disclosure","owasp excessive agency","ai support resolution rate","b2b customer portal chatbot",[588,591,594],{"name":589,"url":590},"Customer service","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCustomer_service",{"name":592,"url":593},"Chatbot","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FChatbot",{"name":523,"url":524},[596,599,602,605,608,611,614],{"title":597,"url":598},"Klarna: AI assistant handles two-thirds of customer service chats in its first month (press release, 2024)","https:\u002F\u002Fwww.klarna.com\u002Finternational\u002Fpress\u002Fklarna-ai-assistant-handles-two-thirds-of-customer-service-chats-in-its-first-month\u002F",{"title":600,"url":601},"Entrepreneur: Klarna is hiring customer service agents again, according to its CEO (May 2025)","https:\u002F\u002Fwww.entrepreneur.com\u002Fbusiness-news\u002Fklarna-ceo-reverses-course-by-hiring-more-humans-not-ai\u002F491396",{"title":603,"url":604},"ABA Business Law Today: BC tribunal confirms companies remain liable for information provided by AI chatbot","https:\u002F\u002Fwww.americanbar.org\u002Fgroups\u002Fbusiness_law\u002Fresources\u002Fbusiness-law-today\u002F2024-february\u002Fbc-tribunal-confirms-companies-remain-liable-information-provided-ai-chatbot\u002F",{"title":606,"url":607},"OWASP GenAI Security Project: LLM06:2025 Excessive Agency","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm062025-excessive-agency\u002F",{"title":609,"url":610},"OWASP GenAI Security Project: LLM05:2025 Improper Output Handling","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm052025-improper-output-handling\u002F",{"title":612,"url":613},"EU AI Act, Article 50: Transparency obligations","https:\u002F\u002Fartificialintelligenceact.eu\u002Farticle\u002F50\u002F",{"title":615,"url":616},"Intercom: Fin pricing and billable outcomes","https:\u002F\u002Ffin.ai\u002Fpricing","\u002Fimages\u002Fblog\u002Fai-assistant-b2b-shop-customer-support\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fai-assistant-b2b-shop-customer-support\u002Fog.jpg",[70,71,72],"Ein KI-Assistent für den Support im B2B-Shop: Tools, Berechtigungen und die Übergabe an Menschen","Wie man einen KI-Support-Assistenten für einen B2B-Shop baut: was automatisieren, Tools im Kundenkontext, Übergabe an Menschen, AI Act und Kennzahlen.","Eine hohe Mauer mit schmalem Durchgang: Ein Pfeil führt in ein Feld mit drei Quadraten, ein zweiter nach unten zu einer Ablage.",{"slug":624,"published":496,"minutes":625,"category":7,"tags":626,"keywords":631,"about":643,"sources":653,"cover":690,"og":691,"expertise":692,"locales":693,"lang":71,"title":694,"description":695,"coverAlt":696},"vue-ai-chat-ui-streaming-accessibility",11,[627,503,628,629,630],"Vue","Accessibility","Streaming","AI chat",[632,633,634,635,636,637,638,639,640,641,642],"vue ai chat ui","nuxt llm streaming","sse vs fetch streaming","aria-live streaming text","accessible chat interface","abort fetch stream vue","dompurify markdown llm","role log chat","reduced motion chat ui","wcag 2.2 chat","screen reader streaming",[644,647,650],{"name":645,"url":646},"Web accessibility","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWeb_accessibility",{"name":648,"url":649},"Server-sent events","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FServer-sent_events",{"name":651,"url":652},"Vue.js","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVue.js",[654,657,660,663,666,669,672,675,678,681,684,687],{"title":655,"url":656},"MDN: Using server-sent events","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FServer-sent_events\u002FUsing_server-sent_events",{"title":658,"url":659},"MDN: AbortController","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FAbortController",{"title":661,"url":662},"MDN: ReadableStream","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FReadableStream",{"title":664,"url":665},"MDN: TextDecoderStream","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FTextDecoderStream",{"title":667,"url":668},"MDN: ARIA log role","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAccessibility\u002FARIA\u002FReference\u002FRoles\u002Flog_role",{"title":670,"url":671},"W3C: Understanding SC 4.1.3 Status Messages","https:\u002F\u002Fwww.w3.org\u002FWAI\u002FWCAG22\u002FUnderstanding\u002Fstatus-messages.html",{"title":673,"url":674},"W3C WAI: What's new in WCAG 2.2","https:\u002F\u002Fwww.w3.org\u002FWAI\u002Fstandards-guidelines\u002Fwcag\u002Fnew-in-22\u002F",{"title":676,"url":677},"MDN: prefers-reduced-motion","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002F@media\u002Fprefers-reduced-motion",{"title":679,"url":680},"DOMPurify README","https:\u002F\u002Fgithub.com\u002Fcure53\u002FDOMPurify",{"title":682,"url":683},"markdown-it README","https:\u002F\u002Fgithub.com\u002Fmarkdown-it\u002Fmarkdown-it",{"title":685,"url":686},"AI SDK docs: useChat","https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-ui\u002Fchatbot",{"title":688,"url":689},"Vue docs: nextTick","https:\u002F\u002Fvuejs.org\u002Fapi\u002Fgeneral.html#nexttick","\u002Fimages\u002Fblog\u002Fvue-ai-chat-ui-streaming-accessibility\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fvue-ai-chat-ui-streaming-accessibility\u002Fog.jpg","vue-nuxt-developer",[70,71,72],"Streaming-Chat mit KI in Vue und Nuxt: von Anfang an barrierefrei","KI-Chat in Vue oder Nuxt: Fetch-Streams, Abbruch und Retry, sicheres Markdown-Rendering, aria-live-Meldungen, Tastaturnavigation und Reduced Motion.","Eine Nachrichtenkarte mit blinkendem Cursor, eine gepunktete Linie öffnet sich zu Wellen, daneben ein Haken.",{"slug":698,"published":496,"minutes":6,"category":7,"tags":699,"keywords":704,"about":716,"sources":726,"cover":759,"og":760,"expertise":692,"locales":761,"lang":71,"title":762,"description":763,"coverAlt":764},"llm-translation-pipeline-i18n",[700,701,702,627,703],"Translation","i18n","LLM","Localization",[705,706,707,708,709,710,711,712,713,714,715],"llm translation pipeline","icu messageformat placeholders","vue i18n llm translation","translation memory llm","glossary enforcement translation","german informal sie du","hungarian translation quality llm","structured output json translation","machine translation post-editing","locale file validation","cldr plural categories",[717,720,723],{"name":718,"url":719},"Internationalization and localization","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FInternationalization_and_localization",{"name":721,"url":722},"ICU MessageFormat","https:\u002F\u002Funicode-org.github.io\u002Ficu\u002Fuserguide\u002Fformat_parse\u002Fmessages\u002F",{"name":724,"url":725},"Vue I18n","https:\u002F\u002Fvue-i18n.intlify.dev\u002F",[727,729,732,735,738,741,744,747,750,753,756],{"title":728,"url":722},"Unicode ICU User Guide: Formatting Messages",{"title":730,"url":731},"Vue I18n: Message Format Syntax","https:\u002F\u002Fvue-i18n.intlify.dev\u002Fguide\u002Fessentials\u002Fsyntax",{"title":733,"url":734},"Nuxt i18n: Getting started","https:\u002F\u002Fi18n.nuxtjs.org\u002Fdocs\u002Fgetting-started",{"title":736,"url":737},"Unicode CLDR: Plural rules","https:\u002F\u002Fcldr.unicode.org\u002Findex\u002Fcldr-spec\u002Fplural-rules",{"title":739,"url":740},"OpenAI: Structured outputs","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fstructured-outputs",{"title":742,"url":743},"DeepL API: Glossaries","https:\u002F\u002Fdevelopers.deepl.com\u002Fdocs\u002Fapi-reference\u002Fglossaries",{"title":745,"url":746},"W3C: Localization vs. internationalization","https:\u002F\u002Fwww.w3.org\u002FInternational\u002Fquestions\u002Fqa-i18n",{"title":748,"url":749},"GNU gettext manual","https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Fgettext\u002Fmanual\u002Fgettext.html",{"title":751,"url":752},"RFC 5646: Tags for Identifying Languages","https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc5646",{"title":754,"url":755},"Rat für deutsche Rechtschreibung","https:\u002F\u002Fwww.rechtschreibrat.com\u002F",{"title":757,"url":758},"Microsoft Writing Style Guide","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fstyle-guide\u002Fwelcome\u002F","\u002Fimages\u002Fblog\u002Fllm-translation-pipeline-i18n\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-translation-pipeline-i18n\u002Fog.jpg",[70,71,72],"Eine LLM-Übersetzungspipeline für i18n: Glossar, Platzhalter und Review","Produkt- und Website-Texte mit LLMs übersetzen, ohne Platzhalter, Pluralformen oder Tonalität zu beschädigen: Glossar, ICU-Nachrichten, QA-Checks, Review.","Drei Quellkarten, eine übersetzte Karte mit Glossar-Lesezeichen, dann eine geprüfte Klemmschiene.",1792337023367]