Eingangsrechnungen auto. importieren / synchronisieren

Hi,

ich habe leider noch nichts in die Richtung hier im Forum finden können, leitet mich gern weiter, falls das an falschen Suchbegriffen gelegen haben könnte.

ERPNext ist ja sehr ausgeklügelt und umfangreich, aber für eine “einfache” / effiziente Rechnungserfassung vergleichsweise nicht das ergonomischte System (außer es gibt umfangreich UI Anpassungsmöglichkeiten, die ich bislang noch nicht gefunden habe).

Besonders unergonomisch finde ich z.B., dass der Beleg (Bild / PDF) nicht gleichzeitig (also neben) zur Erfassung dargestellt werden kann (oder??), so wie das bei einigen anderen Rechnungstools der Fall ist
(klar, das sind Rechnungstools mit diesem Fokus; verglichen mit anderen ERP Systemen ist NextERP da sicher schon eher noch vorn mit dabei).

Deshalb habe ich mir die Frage gestellt, ob es nicht nur diverse EXPORTs (zu DATEV & Co) gibt, sondern auch Importmöglichkeiten. Aber eben nicht einmalige, sondern z.B. täglich synchronisierbare Rechnungsabgleiche.

Wird ja vermutlich bei den bereits unterstützten Shop-Anbindungen (Shopify/WooCommerce) auch schon so sein… aber eben für die Ausgangsrechnungen und nicht für die Einkaufsbelege.

Ganz konkret fände ich zum Beispiel die Anbindung von getmyinvoices.com (oder Competitors) sehr hilfreich, weil dort ja quasi alle Rechnungen von überall her (oder auch per Cam-Scan) automatisch gesammelt werden. Mit diversen Extraktionsverfahren werden Netto/Brutto Beträge und SKR04 Konto hinzuermittelt, und so muss dann eigentlich nicht mehr besonders viel händisch gemacht werden. (Sorry, das soll hier keine Werbung sein, aber diese Vorteile haben für uns einfach einen großen Nutzen in Sachen Effizienz).

Jetzt müssten diese Daten “bloß” noch automatisch und regelmäßig ins ERPNext kommen… dazu gibt es leider keine Anbindung. Aber Anbindungen zu anderen Diensten wie (E-Mail, WebDAV, AWS, Zoho, Google Drive, etc.).

Man könnte da sicher mal anfragen, aber gerade weil ERPNext so flexibel ist, dachte ich, es könnte vielleicht auch noch kreative Möglichkeiten geben, sowas auf kürzerem Weg zu erreichen (z.B. den E-Mail Eingang entsprechend parsen, um Einkaufsrechnungen zu erzeugen?)

Deshalb folgende Fragen:

  • Wie löst die Community die Buchung von vielen Einkaufsrechnungen? Gibt es Automatisierungsmöglichkeiten?
  • Gibt es vielleicht in ERPNext bereits komfortablere (resp. schnellere) Erfassungsmöglichkeiten für Rechnungen, die ich noch nicht gefunden habe?
  • Wie kompliziert wäre es, einen Webservice (ggf. via DocType) in ERPNext zu erstellen, der von solchen 3rd Party Diensten via Webhook aufgerufen werden kann, um dann eine Folgeautomatisierung zur Einkaufsbeleg-Erstellung ablaufen zu lassen?
  • Sonstige Ideen / Meinungen zu meiner skizzierten Problemstellung?

Danke für Eure Meinungen
Philipp

Ok, ich deute das mal so, dass sich niemand, der aktiv im Forum ist, bislang über eine dahingehende Automatisierung Gedanken gemacht hat…

Deshalb dachte ich, ich teste eine solche Synchronisierung “mal schnell” mit unserem “Workflow-API-Zusammensteck-Tool” n8n, dann wird das schon.

Es hat sich herausgestellt, dass es doch an den ein oder anderen Stellen wirklich viel Überlegungs-Bedarf gibt, was bei einem auto. Sync besser betrachtet werden muss (einiges davon ist noch recht offensichtliches, einiges eher weniger):

  • Gibt es den Lieferanten bisher, oder soll er angelegt werden
  • Gibt es die Rechnung bereits oder ist sie neu und soll angelegt werden
  • Wie organisiert man die externen IDs korrekt, um Neue nicht mit den bereits intern Vergebenen falsch zu betrachten, um Dubletten zu vermeiden.
  • Merken der zuletzt verarbeiteten Rechnung, um nicht immer komplett alle Nachrichten zu laden, damit der Sync auch in Zukunft leichtgewichtig bleibt
  • “Erraten” der Artikelnummer, die nicht via GMI zugeordnet wird
  • Bei 90% unserer Lieferanten ist es so, dass wir eigentlich immer dieselbe Leistung erwerben; also werden sich die Steuersätze, die SKR04 Konten etc. bei jeder weiteren Rechnung idR nicht ändern. In diesen Fällen sollen diese Informationen aus der letzten Rechnung dieses Lieferanten übernommen werden.
  • Außerdem können diese Rechnungen (via DocType extra-Feld im Supplier) direkt Submitted werden, ohne dass noch mal jemand drauf gucken muss
  • In den anderen Fällen (z.B. Bestellungen von Amazon) müssen dagegen sehr wohl die Artikel, Steuerquote und Kontenzuordnung händisch überprüft werden. Rechnungen bei diesen Lieferanten müssen deshalb als Entwurf stehen bleiben, um manuell geprüft zu werden.

Mit diesen ganzen Gegebenheiten ist der Workflow dann doch sehr viel umfangreicher geworden als ursprünglich mal gedacht… sodass vermutlich rückblickend doch ein banales Script einfacher gewesen wäre… im Nachhinein ist man immer schlauer :slight_smile:

So sieht das jetzt (modelliert mit o.g. n8n) aus:

Jedenfalls funktioniert das jetzt für unsere Bedürfnisse, wobei sicherlich noch die ein oder andere Justierung (besonders hinsichtlich der Kostenstellen/DATEV Konten) nötig wird.

Der Workflow ist (wie oben beschrieben) auf den Datenlieferant getmyinvoices ausgelegt; aber insgesamt werden gerade mal 3 Zugriffe auf deren API abgesetzt; also sollte eine Abwandlung auf eine Alternative nicht besonders aufwändig sein.

Da das jetzt gerade noch wirklich “roh” ist, und ich zunächst noch einige Iterationen mit dem Steuerberater gehen möchte (& es auch der ein oder anderen Konfigurations-Überlegung unterliegt), lade ich den sich noch ändernden Workflow noch nicht hier hoch.

Wer aber Interesse daran hat, oder sich auch hinsichtlich der “Steuerberater Brille” einbringen möchte, kann sich natürlich sehr gern bei mir melden!

Vielleicht findet sich ja auch jemand, der aus diesem Prototyp doch noch ein Python Script machen möchte, das dann für alle innerhalb ERPNext zugänglich gemacht werden kann :wink:

Jedenfalls flutschen neue Rechnungen jetzt, egal auf welchem Weg sie zugestellt werden (ob einfach nur bei Amazon im Login-Bereich, oder via E-Mail, oder via Scan aus der App) direkt in unser ERPNext, was hinsichtlich manuellem Eingabeaufwand (und daraus resultierender Fehleranfälligkeit) wirklich extrem gut ist.

Wenn das noch jemand von Euch helfen könnte, lasst es mich einfach wissen

VG
Philipp

3 Likes

Ziemlich Cool!

Hast du dir schon mal Gedanken darüber gemacht, mehr des ERPNext eigenen Workflows im Warenbezug zu nutzen? GGf. bei der Bestellung oder Wareneingang anzufangen? Unter umständen ergeben sich Einkaufrechnungen, zumindest zu einem gewissen Teil, aus Bestellungen.

Wir haben eine Anbindung an COP Agent, die Mappen Artikel aus der IT-Welt unter einer festen Nummer, die ich dann bei dutzenden Lieferanten bestellen kann. Hieraus importieren wir die getätigten Bestellungen per API. Diese Wandeln wir dann zu Rechnungen.

https://www.getmyinvoices.com/ integration finde ich aber trotzdem dufte. Eine App dafür halte ich für total sinnvoll. Hast du da ggf. etwas als Grundriss, woran man weiter arbeiten könnte?

Hi @itsdave,

nein darüber haben wir bislang nicht nachgedacht, weil wir nur ganz selten Bestellungen nutzen. Und dort beginnt unser Prozess frühestens.
→ In unserem Dienstleistungsgewerbe haben wir keinen Wareneingang im klassischen Sinn :wink:

Und die Beauftragungen, die wir aussprechen, sind dann mehr als Kontingente zu verstehen- d.h. die Eingangs-Rechnung ist in diesen Fällen immer nur ein Abruf (also ein Anteil) des allokierten Kontingents.

Deine Info hilft mir aber dennoch gut, um zu verstehen, warum es wahrscheinlich für viele gar nicht so dringend ist, wie ich das gesehen habe :wink: Auch wenn ich es mir dennoch einfacher vorstelle, sich nicht selbst um die Anlage und PDF Upload etc. zu kümmern.

Als Grundriss kann ich Dir gern, wie auch angeboten, den oben dargestellten Workflow zur Verfügung stellen… der ist ja lauffähig; ich müsste dann nur vorher einiges an Spezifika rausnehmen, bzw. die hinterlegte ERPNext URL parametrisierbar machen.

Das macht aber natürlich nur Sinn, wenn Du das auch wo (n8n) einspielen kannst. Der Workflow wird zwar als JSON Export durchgeführt, d.h. man kann die API Aufrufe schon erkennen, aber Details zum Datenfluss sind wahrscheinlich nicht ganz so offensichtlich - habe ich jetzt aber auch noch nicht in der Tiefe das JSON angesehen.

Alternativ könnte ich Dir den groben Ablauf versuchen als wagen Pseudocode zu beschreiben, aus dem die API Aufrufe ersichtlich werden.

Hilft Dir eins der beiden Dinge, oder hast Du einen anderen Vorschlag?

OK, verstehe. Auch wir haben viele Rechnungen, die ohne Bestellung eingehen, daher werde ich da in Zukunft auch etwas automatisieren.

Ich schwanke nun zwischen 2-3 Ideen:

  • Rechnungen selbst extrahieren (PDF Text extrahieren, Scan+OCR, ZUGFeRD, und viel regex.)
  • Unser bisher schon genutztes DMS (Inoxision) weiter ausbauen
  • Einen Dienst, wie getmyinvoice verwenden.

Mein Ansatz wäre aber eher, eine App für ERPNext zu schreiben und ggf. die getmyinvoice API zu nutzen.

Welchen Vorteil siehst du in der Verwendung von n8n? Wenn du eine eigene ERPNext/Frappe Instanz hast und somit eigenen Code ausführen kannst, ist es IMHO einfacher das direkt aus einer Frappe-App zu regeln?

1 Like

Das “selbst extrahieren” ist m.E. ziemlich aufwändig. Es gibt zwar einige vielversprechende Open Source Projekte, aber diese sind (für mich) eher als “Modul” zu verstehen… also wenn es nicht zum Kerngeschäft gehört ist es finanziell eher sinnvoll auf Dienste wie GMI zurückzugreifen (was auch nicht perfekt ist, aber das Extraktions-Level ist schon gut).
Wenn Ihr da aber tiefere Ambitionen hat, würde ich mich da ggf. anschließen.

Es wäre definitiv der bessere Weg für die Anbindung eine ERPNext App zu schreiben!

Der Vorteil von n8n war für mich jetzt einfach: Speed!
Einfach weil niemand bei uns tiefere Erfahrung mit Python hat und wir noch keine frappe Apps geschrieben haben.

Vor allem bei der “großen” Ursprungs-Resonanz macht das überhaupt keinen Sinn mehr Energie hineinzustecken, wenn das Problem sonst für niemanden existiert.

Für uns ist ja in erster Linie wichtig gewesen, dass unser Problem gelöst ist… wenn es sonst niemand hat, wäre das: Story-Ende :slight_smile:

Wenn aber schon: Unterstütze ich sehr gern mit dem dabei entstandenen Wissen, damit eine gute App daraus entstehen kann. Und gern investieren wir auch noch mehr Aufwand (auch an einer möglichen Frappe App), wenn das für andere Personen interessant wäre. Aber eben nicht im Alleingang, wenn es niemandem sonst weiterhilft. → Für uns reicht die aktuelle Lösung mit n8n.

Ich hoffe das passt so zum Verständnis… gib Bescheid, wenn ich unterstützen kann, wenn Du Infos möchtest, o.ä.

VG
Philipp

Hallo zusammen,

ich beschäftige mich auch gerade mit dem Thema. ERPnext hat aus meiner Sicht kein gutes DMS. Ich werde vermutlich eine Kombination aus Agorum, welches auch OpenSource ist (zumindest zum Teil) und ERPnext verwenden.
Es wäre echt super, wenn es eine Lösung für ERPnext geben könnte.

Ein erster Ansatz ist die Erkennung der Rechnung:

VG
Georg

1 Like

Es gibt hier einen ersten Ansatz: