Schlagwörter
Der dritte und letzte Beitrag zu Hauptbuchjournalimporten mit der Hilfe von Electronic Reporting zeigt auf, wie man Splitbuchungen in MSDyn365FO Hauptbuchjournale importieren kann.
10 Sonntag Feb 2019
Posted Hauptbuch
inSchlagwörter
Der dritte und letzte Beitrag zu Hauptbuchjournalimporten mit der Hilfe von Electronic Reporting zeigt auf, wie man Splitbuchungen in MSDyn365FO Hauptbuchjournale importieren kann.
01 Freitag Feb 2019
Posted Hauptbuch
inSchlagwörter
Der zweite Beitrag setzt den ersten unmittelbar fort und zeigt auf wie man mit Hilfe von Electronic Reporting Hauptbuchjournale in MSDyn365FO erstellen kann die Buchungen auf Debitoren-, Kreditoren- und Bankkonten ausführen.
24 Donnerstag Jan 2019
Posted Hauptbuch
inSchlagwörter
In diesem Beitrag betrachten wir, wie man Hauptbuchjournale erstellen und die zugehörigen Hauptbuchjournalzeilen in MSDyn365FO mit der Hilfe von Electronic Reporting importieren kann. Ein wesentlicher Vorteil dieser Importmethode besteht darin, dass sie den Import wesentlich schneller ausführt als das Standard Excel Journal Add-in. Darüber hinaus brauchen die Hauptbuchjournale nicht vorher angelegt werden, sondern können in einem einzigen Verarbeitungslauf zusammen mit den Journalzeilen importiert werden. Schließlich ergeben sich weitere Vorteile aus der Flexibilität und Anzahl der erstellbaren Journalvorlagen.
22 Samstag Aug 2015
Posted Hauptbuch
inSchlagwörter
Innerhalb dieses Beitrags möchte ich Ihnen aufzeigen, wie das Excel add-in für den Import von Hauptbuchjournalen dafür verwendet werden kann projekt- und anlagenbezogene Buchungen nach Dynamics AX zu importieren.
Im Gegensatz zu den im vorherigen Beitrag aufgezeigten Importen muss der Import von projekt- und anlagenbezogenen Buchungen sicherstellen, dass neben der LederJournalTrans Tabelle gleichzeitig auch die zugehörigen LederJournalTrans_Asset bzw. LederJournalTrans_Project Tabellen mit den im Excel-Vorlagendokument aufbereiteten Daten gefüllt werden.
Um dies zu realisieren bin ich zunächst wie im vorherigen Beitrag aufgezeigt vorgegangen und habe zunächst alle für die Buchung notwendigen Felder aus der LedgerJournalTrans_Project Tabelle in die LedgerJournalTrans Tabelle per drag & drop übernommen.
Das gleiche habe ich im Anschluss für die notwendigen Felder der LedgerJournalTrans_Asset Tabelle gemacht.
Im Anschluss hieran habe ich die Pflichtfeld- und Bearbeitungs-Feldeigenschaften der neu hinzugefügten Felder der LedgerJournalTrans Tabelle sowie – zur besseren Identifikation der Felder – das zugehörige Label geändert.
Schließlich habe ich die neu der LedgerJournalTrans Tabelle hinzugefügten Felder per drag & drop in die AxdLedgerGeneralJournal Query übernommen.
Nach Durchführung einer vollständigen CIL Generierung, der Aktualisierung der AIF Services in der AIF Service Form im AOT sowie der Deaktivierung und erneuten Aktivierung des eingehenden LedgerServices Ports, konnten die neu hinzugefügten Felder im Excel-Vorlagendokument identifiziert werden. Der folgende Screenshot zeigt dies exemplarisch auf.
Wie im vorherigen Blogbeitrag aufgezeigt habe ich schließlich die neuen Felder in das Excel-Vorlagendokument eingebunden, eine Test-Projektbuchung erfasst und nach Dynamics AX hochgeladen.
Im Ergebnis schien alles soweit in Ordnung. D.h. nach dem Import in das Hauptbuchjournal konnte ich im Gegenkontenbereich das entsprechend angesprochene Projekt „TM1“ identifizieren.
Nachdem ich mir allerdings Details der Projektbuchung im Projektreiter betrachten wollte, musste ich feststellen, dass kein Import der projektbezogenen Felder stattgefunden hat.
Nachdem ich mir nochmals die Beziehungen der drei eingangs erwähnten Tabellen angeschaut habe, musste ich feststellen, dass der Excelimport von projekt- und anlagenbezogene Buchungen ohne eine entsprechende Erweiterung nicht funktionieren kann.
Dies liegt darin begründet, dass die LedgerJournalTrans_Asset bzw. LedgerJournalTrans_Project Tabellen über die RecId mit der LedgerJournalTrans Tabelle verbunden sind und die RecId erst nach dem Import der Werte in die LedgerJournalTrans Tabelle feststeht. Mit anderen Worten, nach dem Import der Werte in das Hauptbuchjournal müsste eine Aktualisierungsfunktionalität sicherstellen, dass die entsprechenden Werte in den zugehörigen LedgerJournalTrans_Asset bzw. LedgerJournalTrans_Project Tabellen gefüllt werden.
Lösungsansatz
Nach einigem hin und her habe ich schließlich meine Kollegin Ewa Watkins um Rat gefragt. Das Ergebnis unserer Diskussionen war die Integration eines sog. event handlers in der insert Methode der LedgerJournalTrans Tabelle. Der angesprochene event handler stellt sicher, dass mit dem Import der Daten aus dem Excel-Vorlagendokument eine entsprechende Aktualisierung der LedgerJournalTrans_Asset/ LedgerJournalTrans_Project Tabellen erfolgt.
In den folgenden Unterkapiteln möchte ich Ihnen die angesprochene Erweiterung rund um den angesprochenen event handler aufzeigen. Bitte beachten Sie in diesem Zusammenhang, dass der nachfolgend bereitgestellte Beispielcode nicht ohne weiteres in einer Liveumgebung implementiert werden sollte, da er lediglich zu Demonstrationszwecken verwendet wurde. Es empfiehlt sich daher die nachfolgend dargestellten Schritte in einer Entwicklungs-/Testumgebung nachzuvollziehen.
Schritt 1: Import des beigefügten xpo-Dokuments
Bitte beachten Sie, dass ich aufgrund von Sicherheitseinschränkungen auf dieser Webseite lediglich ein Dokument mit dem Typ “.docx” beifügen konnte. Um den Beispielcode nutzen zu können ist es daher erforderlich das Dokument zunächst herunterzuladen und anschließend den Dokumententyp von „.docx“ in „.xpo“ zu ändern. SharedProject_EWA_Ludwig
Nach dem Import können Sie das folgende Projekt identifizieren, in dem Anpassungen in den blau hervorgehobenen Methoden vorgenommen werden müssen.
Schritt 2: Mapping der Tabellenfelder
Nach dem Import des xpo Dokuments ist eine Zuordnung der Felder der LedgerJournalTrans Tabelle zu den entsprechenden Feldern der LedgerJournalTrans_Asset und LedgerJournalTrans_Project Tabelle erforderlich. Diese Zuordnung ist beispielhaft in den folgenden beiden Screenshots dargestellt.
Schritt 3: Angabe der zusätzlich zu importierenden Felder
In der createExtendedJournals Methode sind schließlich die projekt- und anlagenbezogenen Felder anzugeben, die zusätzlich zu importieren sind. Beispiel:
Schritt 4: Drag & drop der event handler Methode in die insert Methode der LedgerJournalTrans Tabelle
Beispiel:
Schritt 5: Änderung der Eigenschaften des event handlers
Nachdem der event handler der insert Methode der ledgerJournalTrans Tabelle zugeordnet wurde, ist dessen CalledWhen Eigenschaft von „PRE“ auf „POST“ abzuändern, wie dies im nächsten Screenshot dargestellt ist.
Schritt 6: Aktualisierung der Dokumentendienste
Der nächste Erweiterungsschritt besteht in der Aktualisierung des LedgerGeneralJournalService Dienstes. Beispiel:
Ergebnis dieser Aktualisierung ist eine entsprechende Erweiterung der AxLedgerJournalTrans Klasse um projekt- und anlagenbezogene Parameter.
Schritt 7: Einrichtung eines neuen Excel-Vorlagendokuments und Import der Daten nach Dynamics AX
Nach Durchführung einer vollständigen CIL Generierung, der Aktualisierung der AIF Services in der AIF Service Form im AOT sowie der Deaktivierung und erneuten Aktivierung des eingehenden LedgerServices Ports, können die projekt- und anlagenbezogenen Zusatzfelder schließlich dem Excel-Vorlagendokument hinzugefügt werden.
Der folgende Screenshot zeigt jeweils eine projekt- und anlagenbezogene Buchung auf, die anschließend nach Dynamics AX importiert wurde.
Im entsprechenden Dynamics AX Hauptbuchjournal können nun die importierten Buchungen im Überblicksreiter identifiziert werden. Darüber hinaus ist über die beschriebene Erweiterung über den event handler sichergestellt, dass auch die Daten im Anlagen- und Projektreiter des Journals mit den Daten aus der Excel-Vorlage gefüllt wurden. Dies ist in den nächsten Screenshots beispielhaft dargestellt.
Zusammenfassung
Über in diesem und im vorherigen Beitrag beschriebenen Erweiterungen können nahezu alle in der Finanzbuchhaltung und im Controlling erforderlichen Buchungen in Excel aufbereitet und nach Dynamics AX zur Buchung übergeben werden.
Bitte beachten sie in diesem Zusammenhang allerdings die im vorherigen Beitrag erwähnten Fallstricke, die unter allen Umständen beachtet und abgewogen werden sollten.
Einen abschließenden Hinweis, den ich im Zusammenhang mit dem in diesem Beitrag bereitgestellten Beispielcode machen möchte ist, dass dieser Beispielcode so konzipiert wurde, dass projekt- bzw. anlagenbezogenen Buchungstransaktionen auf der Gegenkontoseite der Buchung zu erfassen sind. Wenn sie den bereitgestellten Beispielcode daher in einer Liveumgebung nutzen möchten, sind entsprechende Ergänzungen erforderlich um auch andere Buchungsfälle wie Splitbuchungen bzw. Projekt-/Anlagenbuchungen auf der Kontoseite der Buchung abbilden zu können.
Ungeachtet dieser Einschränkungen hoffe ich, dass ihnen dieser und der vorherige Beitrag einige nützliche Informationen zum Dynamics AX Excel add-in und dessen Einsatz im Finance & Controllingbereich liefern konnten.
Abschließend möchte ich mich an dieser Stelle ganz besonders bei meiner Kollegin Ewa Watkins bedanken ohne deren Unterstützung dieser Beitrag nicht möglich gewesen wäre.
14 Freitag Aug 2015
Posted Hauptbuch
inSchlagwörter
Wie man über das Dynamics AX Excel add-in Hauptbuchtransaktionen aus Excel heraus importieren kann ist an vielen Stellen (TechNet, AX-Blogs, etc.) bereits ausführlich dokumentiert. Siehe z.B. die folgende Webseite.
Versucht man diese Standardfunktionalität in einer Live-Umgebung anzuwenden, so wird man allerdings sehr schnell auf verschiedene Problemstellungen stoßen, welche den Einsatz des Excel add-in’s für den Import von Buchungsbelegen ins Hauptbuch erheblich einschränken. An dieser Stelle können exemplarisch der Import von debitorenbezogenen Buchungsbelegen, der Import von Anlagen- und Projektbuchungen sowie der Import von Steuerinformationen genannt werden.
Innerhalb dieses und des folgenden Beitrags möchte ich Ihnen aufzeigen, wie man die Excel add-in Standardfunktionalität so erweitern kann, dass man hierüber nahezu alle Arten von Buchungen in Dynamics AX Hauptbuchjournale importieren kann. Bevor allerdings auf diese Erweiterungen im Detail eingegangen wird, soll die Einrichtung und die Nutzung der Basis Excel add-in Funktion für den Import von Hauptkontobuchungen aufgezeigt werden.
Hinweis: Bitte beachten Sie, dass alle nachfolgenden Abbildungen/Screenshots in Englisch dargestellt werden, um Probleme aus anderslautenden deutschen Übersetzungen zu vermeiden.
Einrichtung der Standard Excel add-in Funktion für den Import von Sachkontobuchungen
Schritt 1: Deployment der LedgerServices Gruppe im AOT
Um das Excel add-in für den Import von Hauptbuchbelegen überhaupt nutzen zu können, ist in einem ersten Schritt das Deployment der entsprechenden Servicegruppe erforderlich.
Schritt 2: Aktivierung des eingehenden Ports
Nach der grundlegenden Bereitstellung der LedgerServices ist im Systemverwaltungsmodul unter den eingehenden Ports sicherzustellen, dass der entsprechende Dienst aktiviert ist.
Schritt 3: Einrichtung Dokumentendatenquelle
Im dritten Schritt ist dafür Sorge zu tragen, dass im Organisationsverwaltungsmodul eine entsprechende Dokumentendatenquelle bereitgestellt wird, wie dies in den folgenden Screenshots beispielhaft dargestellt ist.
Schritt 4: Einrichtung Excel-Vorlagedokument
Schließlich kann in Excel über die Auswahl „Add Data“ eine Verbindung zu der eingerichteten Dokumentendatenquelle hergestellt werden. Beispiel:
Ist diese Verbindung hergestellt, so können zum einen die Journalkopfdaten per drag & drop aus dem am linken Bildrand eingeblendeten Tabellenbereich eingerichtet werden.
In gleicher Weise können anschließend die einzelnen Journalbuchungszeilenfelder eingerichtet werden. Der nachfolgende Screenshot zeigt dies beispielhaft zusammen mit der Verknüpfung der Journalkopf- und Journalzeilenpositionen auf.
Hinweis: Anstatt ein eigenes Excel-Vorlagendokument einzurichten, kann stattdessen auch das von Microsoft bereitgestellte Vorlagendokument genutzt werden. In einer Dynamics AX „Contoso“ Demoumgebung kann man dieses Dokument unter den Hauptbuchvorlagen finden. Wenn Sie das Microsoft Vorlagendokument in einer Liveumgebung nutzen möchten, dann fragen Sie bitte ihren Systemadministrator, der ihnen dieses Vorlagendokument bereitstellen kann.
Bitte beachten Sie dass im Microsoft Vorlagendokument die Journalkopfdaten, die Journalpositionen und Notizen in eigenen Tabellenblätter dargestellt werden. Dies ändert an der generellen Funktionsweise allerdings nichts. Beispiel:
Problemstellungen der Standard Excel add-in Funktion für den Import von Sachkontobuchungen
Sobald Sie das Excel-Vorlagendokument eingerichtet haben, können Sie dieses mit Buchungsdaten befüllen und diese nach Dynamics AX importieren. In meinem Beispiel schlug der Versuch die Daten nach Dynamics AX zu importieren fehl, weil das Excel add-in standardmäßig nicht alle Buchungsarten unterstützt; in meinem Fall die kundenbezogene Buchung in der dritten Zeile des Vorlagendokuments.
Der nachfolgende Screenshot zeigt nochmals die zugehörige Status-(Fehler-) Meldung auf und verdeutlicht, dass die Standard Excel add-in Funktion lediglich für den Import von Sachkonto-, Bank- und Kreditorenbuchungen konzipiert wurde.
Erweiterung der Standard Excel add-in Funktion
Um das Problem der für den Upload zugelassenen Buchungsarten zu umgehen, habe ich die folgenden Erweiterungen in den validateAccountType und validateOffsetAccountType Methoden der LedgerJournalTransType Klasse vorgenommen.
Neben dem aufgezeigten Problem der zulässigen Buchungsarten besteht ein weiteres Problem der standardmäßig bereitgestellten Excel add-in Funktion darin, dass nicht alle für Belegbuchungen erforderlichen Felder bereitgestellt werden. So sind im Standard Excel-Vorlagendokument bspw. keine Felder für den Import von Steuerfeldern, Rechnungsinformationen, usw. vorhanden.
Glücklicherweise gibt es auch für diese Problemstellung eine Lösung, die darin besteht alle zusätzlich notwendigen Felder von der LedgerJournalTrans Tabelle in die AxdLedgerGeneralJournal Query zu kopieren, wie dies im nächsten Screenshot beispielhaft dargestellt ist.
Nachdem die neuen Felder wie aufgezeigt der Query hinzugefügt wurden, sind die folgenden Schritte erforderlich, um den Import dieser zusätzlich erforderlichen Felder in Dynamics AX Hauptbuchjournale zu gewährleisten:
Nachdem all diese Schritte durchlaufen wurden stehen die neu hinzugefügten Felder im Auswahlbereich des Excel-Vorlagendokuments zur Verfügung und können eingefügt werden. Der folgende Screenshot stellt dies nochmals dar.
Bitte beachten Sie dass an dieser Stelle das Excel-Vorlagedokument vollständig neu aufgebaut werden muss. Eine Erweiterung eines zuvor genutzten Vorlagendokuments ist regelmäßig nicht möglich.
Nachdem die neu hinzugefügten Felder im Excel-Vorlagendokument eingefügt und mit Daten gefüllt wurden kann der Inhalt dieser Felder nach dem Upload im entsprechenden Dynamics AX Journal identifiziert werden. In den beiden folgenden Screenshots sind diese zusätzlich bereitgestellten und importierten Felder gelb hervorgehoben.
Weitere Tipps & Tricks
Vor dem Abschluss dieses Beitrags möchte ich an dieser Stelle noch einige wichtige Tipps im Zusammenhang mit Nutzung der Excel add-in Importfunktion erwähnen.
Tipp 1:
Um zu verhindern, dass nach dem Upload der Buchungsdaten das Excel-Vorlagendokument mit allen bislang durchgeführten Buchungen aktualisiert wird, was viel Zeit in Anspruch nehmen kann, empfiehlt es sich einen Filter wie im folgenden Screenshot dargestellt einzurichten.
Tipp 2:
Buchhalter bereiten ihre Buchungsdaten häufig in eigenen separaten Excel-Dokumenten auf, die sie anschließend in das Excel-Vorlagendokument importieren. Bei diesem Import ist mir aufgefallen, dass häufig die erste Zeile nicht nach Dynamics AX importiert wird. Eine Lösung dieses Problems besteht darin den Import in die zweite Buchungsjournalzeile des Excel-Vorlagendokuments vorzunehmen.
Tipp 3:
Nach dem Import der Buchungen in Dynamics AX Hauptbuchjournale kann es vorkommen, dass Sie eine Fehlermeldung erhalten die besagt dass bestimmte Buchungsbelege nicht ausgeglichen sind. Beispiel:
Anstatt an dieser Stelle das komplette Buchungsjournal zu löschen und zu versuchen den Fehler im Excel-Vorlagendokument zu korrigieren empfiehlt es sich von der „Buchen und Übertragen“ Funktion Gebrauch zu machen. Diese Buchungsfunktion führt dazu, dass die als nicht ausgeglichen identifizierten Belege in ein neues Journal übertragen werden. Hierbei werden auch die Dynamics AX Rundungsregeln angewandt, so dass sich die scheinbar fehlerhaft nicht ausgeglichenen Buchungen über dieses neue Journal i.d.R. problemlos buchen lassen.
Zusammenfassung
Die aufgezeigten Erweiterungen an der Excel add-in Funktion für Buchungsimporte ins Hauptbuch erlauben Ihnen nahezu alle Arten von Buchungen in Excel aufzubereiten, um diese nach Dynamics AX zu übergeben und dort zu buchen. In diesem Zusammenhang sind allerdings die folgenden Fallstricke zu beachten: