n8n und Buchhaltung: Rechnungen an bimetrics übertragen
Übertrage eine vorhandene PDF aus n8n und frag den Status ab.
Das Wichtigste
- Die Vorlage überträgt eine vorhandene PDF per API und fragt den Status ab.
- Du brauchst einen API-Schlüssel mit der Vorlage „Belege einreichen“.
- Angenommen heißt nicht verarbeitet: Entscheidend ist der Status am Beleg.
Auf dieser Seitebimetrics Redaktion ·
Was die Vorlage Schritt für Schritt tut
Eine Spur führt von deiner ID bis zum Status am Beleg.
- NODEManuell starten
- JSUpload konfigurierenKonfiguration
- NODEVorhandene PDF lesenPDF lesen
- JSDatei prüfen
- HTTPPDF hochladenUpload
- JSUploadantwort prüfenAntwort
- HTTPVerarbeitungsstatus lesenStatus lesen
- JSStatus einordnenEinordnen
- NODEWeitere Abfrage nötig?
- NODE20 Sekunden warten
- JSErgebnis
const input = {filePath: '',fileName: '',sourceDocumentId: '',};…return [{json: {baseUrl: 'https://app.bimetrics.de',…uploadRequestId: sourceDocumentId,maxStatusRequests: 6,pollIntervalSeconds: 20,}}];{"operation": "read","fileSelector": "={{ $json.filePath }}","options": {"dataPropertyName": "data","fileName": "={{ $json.fileName }}","mimeType": "application/pdf"}}{"method": "POST",…"genericAuthType": "httpHeaderAuth",…"name": "X-Upload-Request-Id","value": "={{ $('Upload konfigurieren').first().json.uploadRequestId }}"…"contentType": "multipart-form-data",…"name": "receipt[]","inputDataFieldName": "data"…}const document = response.body[0];return [{json: {documentId: document.id,uploadStatus: document.uploadDocument?.ocrStatus ?? null,duplicate: document.duplicate === true,…{"method": "GET",…"genericAuthType": "httpHeaderAuth",…}const statusValue = response.body.uploadDocument?.ocrStatus;if (!['pending', 'processing', 'success', 'failed', 'quota_paused'].includes(statusValue)) {…const outcome = statusValue === 'success' ? 'processed': statusValue === 'failed' ? 'processing_failed': statusValue === 'quota_paused' ? 'quota_paused': shouldPoll ? 'pending' : 'poll_limit_reached';sourceDocumentIddeine feste ID aus dem QuellsystemX-Upload-Request-Idgeht als Upload-ID mit der PDFdocumentIddie Antwort bringt die Beleg-IDocrStatusder Status am Beleg
Die Vorlage selbst, 11 Schritte. Wähle einen Schritt, die markierte Zeile gehört zur Spur.
Den Ablauf einrichten
Das brauchst du
- n8n und eine PDF, die es lesen kann
- Die Rolle Inhaber für den Schlüssel
- Das geht auch in der Testphase, mit Tagesgrenzen.
Vorlage importieren
Importiere die Datei und trag Pfad, Dateiname und Quell-ID ein.
Schlüssel erstellen
Wähl unter Einstellungen › API die Vorlage „Belege einreichen“.
Testlauf starten
Leg den Schlüssel als Header Auth an und starte mit einer Testdatei.
So prüfst du es Geklappt, wenn der Beleg unter Dokumente steht, mit seiner Originaldatei.
Felder der Vorlage
Im Node „Upload konfigurieren“ trägst du bei filePath den absoluten Pfad zur PDF ein, bei fileName ihren Dateinamen und bei sourceDocumentId eine feste ID aus deinem Quellsystem, etwa eingangsrechnung-2026-0042. Die ID darf 1 bis 128 druckbare ASCII-Zeichen ohne Leerzeichen enthalten. Für jede neue Datei eine neue ID, für jede Wiederholung dieselbe.
Das Header-Auth-Credential bekommt den Namen Authorization und den Wert Bearer, gefolgt von deinem Schlüssel. Wähle es in „PDF hochladen“ und „Verarbeitungsstatus lesen“. So bleibt der Schlüssel außerhalb der exportierten Workflow-Datei.
Bei Docker muss die Datei im Container liegen. Der Datei-Node liest nur freigegebene Verzeichnisse, seit n8n 2.0 standardmäßig ~/.n8n-files (N8N_RESTRICT_FILE_ACCESS_TO). In n8n Cloud liest er nur Pfade unter /home/node/. Die Vorlage ist für selbst gehostetes n8n eingerichtet und dort geprüft.
Dein erster Beleg aus dem eigenen Workflow.
Was das Ergebnis bedeutet
pendingprocessing- Die Verarbeitung steht an oder läuft. Die Vorlage fragt mit Abstand erneut ab.
success- Die API meldet die Verarbeitung als abgeschlossen. Öffne den Beleg und prüfe die Angaben.
failed- Die Verarbeitung ist fehlgeschlagen. Öffne den gespeicherten Beleg in bimetrics.
quota_paused- Die Verarbeitung wartet auf freies Kontingent an verarbeiteten Dokumenten. Prüfe dein Kontingent, statt neu hochzuladen.
success ist der gemeldete API-Zustand, keine Buchungsfreigabe.
Was im letzten Schritt steht
Solange die Verarbeitung läuft, fragt die Vorlage höchstens sechsmal mit 20 Sekunden Abstand ab. Danach behältst du die Beleg-ID und fragst später erneut ab. Bei großen Stapeln kann die Verarbeitung bis zu einer halben Stunde dauern. Die erfolgreiche Übertragung allein bestätigt noch keine abgeschlossene Verarbeitung.
Im letzten Node steht zusätzlich outcome: processed, processing_failed, quota_paused oder poll_limit_reached. Ein grüner n8n-Lauf kann auch einen korrekt behandelten Fehlerzustand bedeuten.
Wenn der Ablauf stoppt
Die Vorlage stoppt bei HTTP-Fehlern und wiederholt Uploads nicht selbst.
400, 409 und 403
- 400 · BadRequest
- Prüfe das Upload-Feld: genau eine Datei als
receipt[], keine zusätzlichen Formularfelder. - 409 · UploadRequestConflict
- Die Upload-ID wurde bereits anders verwendet oder der ursprüngliche Beleg ist nicht mehr verfügbar. Prüfe Datei, Dateiname und Feld. Eine neue ID ist für einen tatsächlich neuen Beleg vorgesehen.
- 403 · Zugriff fehlt
APIKeyPermissionDeniedbetrifft die erforderlichen Rechte,APIUnavailableden API-Zugang der Firma. Scheitert erst die Statusabfrage, kann der Beleg bereits gespeichert sein. Prüfe, ob der Schlüssel das Recht „Daten lesen“ hat, und verwende die erhaltene Beleg-ID.
Wiederholen, ohne einen zweiten Beleg anzulegen
Nach einem Verbindungsabbruch verwendest du dieselbe Upload-ID, dieselben Dateibytes, denselben Dateinamen und dasselbe Feld. Auch Firma und API-Schlüssel müssen gleich bleiben. Ein anderer Schlüssel eröffnet einen eigenen Bereich für Upload-IDs.
Die Vorlage stoppt bei HTTP-Fehlern. Sie wiederholt Uploads nicht automatisch. Warte bei 429 mindestens die Sekunden aus Retry-After ab; wiederhole vorübergehende Serverfehler nur begrenzt und mit wachsendem Abstand. Liegt bereits eine Beleg-ID vor, frage zuerst deren Status ab.
Was wir mit der Vorlage geprüft haben
Geprüft mit n8n 2.40.7 am 28. September 2026 gegen eine lokale bimetrics-Instanz: PDF-Upload, unveränderte Originaldatei in der App, identische Beleg-ID bei Wiederholung und Statusabfrage. Zusätzliche Formularfelder wurden mit 400 abgelehnt, ein geänderter Dateiname bei gleicher Upload-ID mit 409.
Die lokale Instanz verwendete einen OCR-Testadapter. Dieser Test belegt die Übertragung und Statusbehandlung, nicht die Qualität ausgelesener Rechnungsdaten.
GrundlageEntwickler-Doku: Beleg-Uploadn8n-Doku zu HTTP-Request-Credentialsn8n-Doku zum Node Read/Write Files from Disk
n8n-Doku zu HTTP-Request-Credentials, abgerufen am 01.11.2026
n8n-Doku zum Node Read/Write Files from Disk, abgerufen am 01.11.2026







