Eingehende E-Rechnung auslesen
Sie bekommen XRechnungen oder ZUGFeRD-PDFs und wollen die Daten in Ihr System übernehmen.
Vorgehen
- 1
Datei base64-kodiert an den Parse-Endpoint schicken, mit Dateinamen.
- 2
Das Format wird erkannt; die Antwort enthält die strukturierten Daten plus Hinweise.
- 3
Vor der Verbuchung prüfen, ob Beträge und Steuersätze zu Ihrer Bestellung passen.
Der Aufruf
POST /api/v1/invoice/parse
bash
1curl -X POST https://api.invoice-api.xhub.io/api/v1/invoice/parse \2 -H "X-API-Key: $INVOICE_API_KEY" \3 -H "Content-Type: application/json" \4 -d '{5 "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHVibDpJbnZvaWNlIHhtbG5zOnVibD0idXJuOm9hc2lzOm5hbWVzOnNwZWNpZmljYXRpb246dWJsOnNjaGVtYTp4c2Q6SW52b2ljZS0yIiB4bWxuczpjYWM9InVybjpvYXNpczpuYW1lczpzcGVjaWZpY2F0aW9uOnVibDpzY2hlbWE6eHNkOkNvbW1vbkFnZ3JlZ2F0ZUNvbXBvbmVudHMtMiIgeG1sbnM6Y2JjPSJ1cm46b2FzaXM6bmFtZXM6c3BlY2lmaWNhdGlvbjp1Ymw6c2NoZW1hOnhzZDpDb21tb25CYXNpY0NvbXBvbmVudHMtMiI+CiAgPGNiYzpDdXN0b21pemF0aW9uSUQ+dXJuOmNlbi5ldTplbjE2OTMxOjIwMTcjY29tcGxpYW50I3Vybjp4ZWlua2F1Zi5kZTprb3NpdDp4cmVjaG51bmdfMy4wPC9jYmM6Q3VzdG9taXphdGlvbklEPgogIDxjYmM6UHJvZmlsZUlEPnVybjpmZGM6cGVwcG9sLmV1OjIwMTc6cG9hY2M6YmlsbGluZzowMToxLjA8L2NiYzpQcm9maWxlSUQ+CiAgPGNiYzpJRD5SRS0yMDI1LTAwMTwvY2JjOklEPgogIDxjYmM6SXNzdWVEYXRlPjIwMjUtMDEtMTU8L2NiYzpJc3N1ZURhdGU+CiAgPGNiYzpEdWVEYXRlPjIwMjUtMDItMTU8L2NiYzpEdWVEYXRlPgogIDxjYmM6SW52b2ljZVR5cGVDb2RlPjM4MDwvY2JjOkludm9pY2VUeXBlQ29kZT4KICA8Y2JjOkRvY3VtZW50Q3VycmVuY3lDb2RlPkVVUjwvY2JjOkRvY3VtZW50Q3VycmVuY3lDb2RlPgogIDxjYmM6QnV5ZXJSZWZlcmVuY2U+QlVZRVItUkVGLTAwMTwvY2JjOkJ1eWVyUmVmZXJlbmNlPgogIDxjYWM6QWNjb3VudGluZ1N1cHBsaWVyUGFydHk+CiAgICA8Y2FjOlBhcnR5PgogICAgICA8Y2JjOkVuZHBvaW50SUQgc2NoZW1lSUQ9IkVNIj5pbmZvQG11c3Rlci5kZTwvY2JjOkVuZHBvaW50SUQ+CiAgICAgIDxjYWM6UGFydHlOYW1lPjxjYmM6TmFtZT5NdXN0ZXIgR21iSDwvY2JjOk5hbWU+PC9jYWM6UGFydHlOYW1lPgogICAgICA8Y2FjOlBvc3RhbEFkZHJlc3M+CiAgICAgICAgPGNiYzpTdHJlZXROYW1lPk11c3RlcnN0cmHDn2UgMTwvY2JjOlN0cmVldE5hbWU+CiAgICAgICAgPGNiYzpDaXR5TmFtZT5CZXJsaW48L2NiYzpDaXR5TmFtZT4KICAgICAgICA8Y2JjOlBvc3RhbFpvbmU+MTAxMTU8L2NiYzpQb3N0YWxab25lPgogICAgICAgIDxjYWM6Q291bnRyeT48Y2JjOklkZW50aWZpY2F0aW9uQ29kZT5ERTwvY2JjOklkZW50aWZpY2F0aW9uQ29kZT48L2NhYzpDb3VudHJ5PgogICAgICA8L2NhYzpQb3N0YWxBZGRyZXNzPgogICAgICA8Y2FjOlBhcnR5VGF4U2NoZW1lPgogICAgICAgIDxjYmM6Q29tcGFueUlEPkRFODExMTI4MTM1PC9jYmM6Q29tcGFueUlEPgogICAgICAgIDxjYWM6VGF4U2NoZW1lPjxjYmM6SUQ+VkFUPC9jYmM6SUQ+PC9jYWM6VGF4U2NoZW1lPgogICAgICA8L2NhYzpQYXJ0eVRheFNjaGVtZT4KICAgICAgPGNhYzpQYXJ0eUxlZ2FsRW50aXR5PjxjYmM6UmVnaXN0cmF0aW9uTmFtZT5NdXN0ZXIgR21iSDwvY2JjOlJlZ2lzdHJhdGlvbk5hbWU+PC9jYWM6UGFydHlMZWdhbEVudGl0eT4KICAgIDwvY2FjOlBhcnR5PgogIDwvY2FjOkFjY291bnRpbmdTdXBwbGllclBhcnR5PgogIDxjYWM6QWNjb3VudGluZ0N1c3RvbWVyUGFydHk+CiAgICA8Y2FjOlBhcnR5PgogICAgICA8Y2JjOkVuZHBvaW50SUQgc2NoZW1lSUQ9IkVNIj5idWNoaGFsdHVuZ0BiZWlzcGllbC1hZy5kZTwvY2JjOkVuZHBvaW50SUQ+CiAgICAgIDxjYWM6UGFydHlOYW1lPjxjYmM6TmFtZT5CZWlzcGllbCBBRzwvY2JjOk5hbWU+PC9jYWM6UGFydHlOYW1lPgogICAgICA8Y2FjOlBvc3RhbEFkZHJlc3M+CiAgICAgICAgPGNiYzpTdHJlZXROYW1lPkJlaXNwaWVsd2VnIDQyPC9jYmM6U3RyZWV0TmFtZT4KICAgICAgICA8Y2JjOkNpdHlOYW1lPk3DvG5jaGVuPC9jYmM6Q2l0eU5hbWU+CiAgICAgICAgPGNiYzpQb3N0YWxab25lPjgwMzMxPC9jYmM6UG9zdGFsWm9uZT4KICAgICAgICA8Y2FjOkNvdW50cnk+PGNiYzpJZGVudGlmaWNhdGlvbkNvZGU+REU8L2NiYzpJZGVudGlmaWNhdGlvbkNvZGU+PC9jYWM6Q291bnRyeT4KICAgICAgPC9jYWM6UG9zdGFsQWRkcmVzcz4KICAgICAgPGNhYzpQYXJ0eVRheFNjaGVtZT4KICAgICAgICA8Y2JjOkNvbXBhbnlJRD5ERTEzNjY5NTk3NjwvY2JjOkNvbXBhbnlJRD4KICAgICAgICA8Y2FjOlRheFNjaGVtZT48Y2JjOklEPlZBVDwvY2JjOklEPjwvY2FjOlRheFNjaGVtZT4KICAgICAgPC9jYWM6UGFydHlUYXhTY2hlbWU+CiAgICAgIDxjYWM6UGFydHlMZWdhbEVudGl0eT48Y2JjOlJlZ2lzdHJhdGlvbk5hbWU+QmVpc3BpZWwgQUc8L2NiYzpSZWdpc3RyYXRpb25OYW1lPjwvY2FjOlBhcnR5TGVnYWxFbnRpdHk+CiAgICA8L2NhYzpQYXJ0eT4KICA8L2NhYzpBY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eT4KICA8Y2FjOlBheW1lbnRNZWFucz4KICAgIDxjYmM6UGF5bWVudE1lYW5zQ29kZT41ODwvY2JjOlBheW1lbnRNZWFuc0NvZGU+CiAgICA8Y2FjOlBheWVlRmluYW5jaWFsQWNjb3VudD4KICAgICAgPGNiYzpJRD5ERTg5MzcwNDAwNDQwNTMyMDEzMDAwPC9jYmM6SUQ+CiAgICAgIDxjYWM6RmluYW5jaWFsSW5zdGl0dXRpb25CcmFuY2g+PGNiYzpJRD5DT0JBREVGRlhYWDwvY2JjOklEPjwvY2FjOkZpbmFuY2lhbEluc3RpdHV0aW9uQnJhbmNoPgogICAgPC9jYWM6UGF5ZWVGaW5hbmNpYWxBY2NvdW50PgogIDwvY2FjOlBheW1lbnRNZWFucz4KICA8Y2FjOlRheFRvdGFsPgogICAgPGNiYzpUYXhBbW91bnQgY3VycmVuY3lJRD0iRVVSIj4xOTAuMDA8L2NiYzpUYXhBbW91bnQ+CiAgICA8Y2FjOlRheFN1YnRvdGFsPgogICAgICA8Y2JjOlRheGFibGVBbW91bnQgY3VycmVuY3lJRD0iRVVSIj4xMDAwLjAwPC9jYmM6VGF4YWJsZUFtb3VudD4KICAgICAgPGNiYzpUYXhBbW91bnQgY3VycmVuY3lJRD0iRVVSIj4xOTAuMDA8L2NiYzpUYXhBbW91bnQ+CiAgICAgIDxjYWM6VGF4Q2F0ZWdvcnk+CiAgICAgICAgPGNiYzpJRD5TPC9jYmM6SUQ+CiAgICAgICAgPGNiYzpQZXJjZW50PjE5LjAwPC9jYmM6UGVyY2VudD4KICAgICAgICA8Y2FjOlRheFNjaGVtZT48Y2JjOklEPlZBVDwvY2JjOklEPjwvY2FjOlRheFNjaGVtZT4KICAgICAgPC9jYWM6VGF4Q2F0ZWdvcnk+CiAgICA8L2NhYzpUYXhTdWJ0b3RhbD4KICA8L2NhYzpUYXhUb3RhbD4KICA8Y2FjOkxlZ2FsTW9uZXRhcnlUb3RhbD4KICAgIDxjYmM6TGluZUV4dGVuc2lvbkFtb3VudCBjdXJyZW5jeUlEPSJFVVIiPjEwMDAuMDA8L2NiYzpMaW5lRXh0ZW5zaW9uQW1vdW50PgogICAgPGNiYzpUYXhFeGNsdXNpdmVBbW91bnQgY3VycmVuY3lJRD0iRVVSIj4xMDAwLjAwPC9jYmM6VGF4RXhjbHVzaXZlQW1vdW50PgogICAgPGNiYzpUYXhJbmNsdXNpdmVBbW91bnQgY3VycmVuY3lJRD0iRVVSIj4xMTkwLjAwPC9jYmM6VGF4SW5jbHVzaXZlQW1vdW50PgogICAgPGNiYzpQYXlhYmxlQW1vdW50IGN1cnJlbmN5SUQ9IkVVUiI+MTE5MC4wMDwvY2JjOlBheWFibGVBbW91bnQ+CiAgPC9jYWM6TGVnYWxNb25ldGFyeVRvdGFsPgogIDxjYWM6SW52b2ljZUxpbmU+CiAgICA8Y2JjOklEPjE8L2NiYzpJRD4KICAgIDxjYmM6SW52b2ljZWRRdWFudGl0eSB1bml0Q29kZT0iSFVSIj4xMDwvY2JjOkludm9pY2VkUXVhbnRpdHk+CiAgICA8Y2JjOkxpbmVFeHRlbnNpb25BbW91bnQgY3VycmVuY3lJRD0iRVVSIj4xMDAwLjAwPC9jYmM6TGluZUV4dGVuc2lvbkFtb3VudD4KICAgIDxjYWM6SXRlbT4KICAgICAgPGNiYzpEZXNjcmlwdGlvbj5CZXJhdHVuZ3NsZWlzdHVuZzwvY2JjOkRlc2NyaXB0aW9uPgogICAgICA8Y2JjOk5hbWU+QmVyYXR1bmdzbGVpc3R1bmc8L2NiYzpOYW1lPgogICAgICA8Y2FjOkNsYXNzaWZpZWRUYXhDYXRlZ29yeT4KICAgICAgICA8Y2JjOklEPlM8L2NiYzpJRD4KICAgICAgICA8Y2JjOlBlcmNlbnQ+MTkuMDA8L2NiYzpQZXJjZW50PgogICAgICAgIDxjYWM6VGF4U2NoZW1lPjxjYmM6SUQ+VkFUPC9jYmM6SUQ+PC9jYWM6VGF4U2NoZW1lPgogICAgICA8L2NhYzpDbGFzc2lmaWVkVGF4Q2F0ZWdvcnk+CiAgICA8L2NhYzpJdGVtPgogICAgPGNhYzpQcmljZT48Y2JjOlByaWNlQW1vdW50IGN1cnJlbmN5SUQ9IkVVUiI+MTAwLjAwPC9jYmM6UHJpY2VBbW91bnQ+PC9jYWM6UHJpY2U+CiAgPC9jYWM6SW52b2ljZUxpbmU+CjwvdWJsOkludm9pY2U+",6 "filename": "eingang.xml"7}'Wo es schiefgeht
Bei ZUGFeRD steckt die Wahrheit im eingebetteten XML, nicht im sichtbaren PDF. Wer das PDF per OCR liest, übernimmt im Zweifel die falschen Zahlen.