Skip to content
Blog

Erstellung der Kontenhierarchien für Group Reporting mit Hilfe von Excel VBA

Kontenhierarchien

1. Vorgabe Hierarchieaufbau von Group Reporting

Jede Applikation in Group Reporting besteht aus mehreren Dimensionen, welche gemeinsam die Meta- oder Masterdaten der Applikation im Gegensatz zu den Bewegungsdaten definieren und beinhalten. Diese Dimensionen können frei von den Nutzer*innen festgelegt oder aber inhaltlich schon vorgegeben sein. Die inhaltlich vorgegebenen Dimensionen umfassen bspw. die Jahre, Perioden, Versionen (Plan- oder Istdaten) sowie die Gesellschaften und Konten. Die Gesellschaften oder Konsolidierungseinheiten umfassen alle gesellschaftsrechtlichen Einheiten, welche die einzelnen Teilkonzerne und schlussendlich den Gesamtkonzern ausmachen und definieren. Sie sind die gesellschaftsrechtlichen Subjekte des Konzernes, die zwar juristische Personen und damit eigenständige Entitäten des Gesellschaftsrechtes und Konzernes darstellen, aber aus wirtschaftlicher Sicht von ihren jeweiligen Mehrheitsanteilseignern vollständig oder zumindest teilweise beherrscht und gesteuert werden, was durch die Konsolidierung und damit Erstellung des Konzernabschlusses nachvollzogen werden muss.

Die Elemente der Gesellschaftsdimension und der Kontendimension werden zuerst entweder direkt in der Applikation einzeln oder jeweils über eine Exceldatei mit ihren jeweiligen Parametern definiert und dann importiert. Hier müssen alle Basiselemente sowie alle Knotenelemente definiert werden, da sie ansonsten der Hierarchie nicht bekannt sind und diese Hierarchie dann mit diesen Elementen technisch nicht geladen werden kann.

Abbildung 1_Datei mit Definition der Kontendimensionselemente und ihrer Parameter

Abbildung 1: Datei mit Definition der Kontendimensionselemente und ihrer Parameter

Nachdem diese Konten als einzelne Dimensionselemente definiert wurden und die Datei erfolgreich in die GR-Applikation importiert werden konnte, müssen anschließend noch die Kontenhierarchien festgelegt werden. Die GR-Applikationen lassen die Hierarchien entweder manuell innerhalb der Fiori-Netzoberfläche erstellen oder über eine Excel-Importfunktionalität ebenfalls in der Fiori-Oberfläche importieren. Da es häufig in den Applikationen mehrere hundert Kontenelemente gibt, welche schon über die Kontendefinitionstabelle in Excel vorhanden sind, wird üblicherweise die Excel-Hierarchieimportfunktionalität angewendet.

Die Definitionslogik der Kontenhierarchien in GR sind so aufgebaut, dass immer der Hierarchieelementtyp, die Kontonummer, die Kontobeschreibung und die Kontonummer des Vorgängerelementes in der jeweiligen Zeile benannt werden müssen. Der Hierarchieelementtyp kann entweder als „root“, „node“ oder „consolidation financial statement item“ eingepflegt werden. Diese drei Werte sind systemseitig definiert und fest vorgegeben. Als „root“ wird der oberste Knoten bezeichnet, welcher damit auch in jeglicher Hierarchie nur einmalig auftreten kann. „Nodes“ sind demnach alle Knotenelemente, welche also als Aggregations- oder Summenebenen dienen und somit alle Salden der ihnen als Nachfolger zugewiesenen Konten aufnehmen. Hier können natürlich wiederum Knoten als auch Basiskonten den jeweiligen Knoten zugeordnet werden. Basiskonten stellen in Hierarchien die unterste hierarchische Ebene dar und zeichnen sich dadurch aus, dass sie keine Nachfolger haben. Elemente können somit mehrfach und theoretisch vielfach in den Hierarchien auftreten und mannigfache Nachfolger aufweisen, bspw. im Bereich der Forderungs-, Verbindlichkeiten-, Bank-, Kassen- oder sonstigen betrieblichen Aufwand- und sonstigen betrieblichen Ertrag-Konten. Als Nachfolger dürfen sie hingegen nur genau einmal auftreten. Einmal müssen sie auftreten, da ansonsten Elemente definiert wurden, welche nicht hierarchisch verarbeitet worden sind. Treten sie dagegen mehrfach als Nachfolger auf, so werden ihre Salden auch mehrfach in der Hierarchie aggregiert und die Bilanzidentität ist nicht mehr gegeben bzw. das Jahresergebnis verfälscht. Es muss also die Regel erfüllt sein, dass jedes Element mit Ausnahme des obersten Knotens (dieser hat keinen Vorgänger, das Feld ist hier leer) einen Vorgänger hat und Knotenelemente beliebig viele Nachfolgerelemente haben können. Zusätzlich gilt noch die Regel, dass nur solche Elemente Vorgänger sein können, welche in darüberliegenden Zeilen schon als Nachfolger definiert worden sind. Somit werden Hierarchien in Excel für GR immer von den obersten zu den untersten Hierarchieebenen definiert.

Abbildung 2_Excel-Hierarchieimportformat für GR

Abbildung 2: Excel-Hierarchieimportformat für GR

Die Hierarchie wurde hier als BS oder Balance Sheet in GR über die Fiori-Oberfläche definiert und als Basis des schon bei der Kontendefinition angelegten Kontenplans C9 festgelegt. Damit können in der Hierarchie nur Elemente, welche im Kontenplan C9 enthalten sind, verwendet werden. Die Funktionalität prüft aber weiterhin, ob als Elemente in der Spalte Parent ID bereits vorher in der Spalte ID definierte Elemente verwendet werden. Weiterhin müssen alle Basiselemente den Hierarchieelementetyp „Consolidation Financial Statement Item“ erhalten, während Vorgängerelemente den Hierarchieelementetyp „Node“ und der oberste Knoten den Hierarchieelementetyp „Root“ zugewiesen bekommen.

Falls jedes Element genau einmal in der Spalte ID in dieser Tabelle der Importdatei auftritt und jeder Vorgänger im Zeilenbereich oberhalb der betreffenden Zeile als ID-Element definiert wird sowie nur Elemente des verwendeten Kontenplanes angesprochen werden, wird die Hierarchie geladen. Im Gegensatz zur manuellen Anlage ist dies erstens wesentlich schneller und zweitens viel weniger fehleranfällig. Leider ist dieses Ladeformat recht ungewohnt und nur umständlich manuell zu pflegen, weswegen hier eine VBA-Makrolösung entwickelt wurde.

2. Erstellung GR-Hierarchieimportformat mit VBA und Excel-Funktionalitäten

Die präferierte Lösung verwendet ausschließlich Excel-Funktionalitäten und VBA-Makros, welche auf bestimmte aktive Tabellenblätter angewendet werden, um Hierarchiepfade vom ersten Kontenknoten zum jeweiligen Basiselement entwickeln und visualisieren zu können. Die oberen Vorgänger stehen dabei immer links oberhalb der unteren Hierarchieelemente und werden in Treppenform bis zu den untersten Ebenen entwickelt. Die Basiskonten stehen anfangs in Spalte H oder der achten Spalte, da diese Hierarchie maximal acht Gliederungsebenen enthält. Es können aber genauso gut tiefere oder flachere Hierarchien aufgebaut werden. Daraufhin ist dann nur nach einer kleinen Anpassung der Schleifenkonstruktion (Endpunkt der For-Schleife) im VBA-Makro der Hierarchiepfad für jedes Konto zu ermitteln und zeilenweise darzustellen.

Abbildung 3_Hierarchieaufbau in Excel-Tabelle

Abbildung 3: Hierarchieaufbau in Excel-Tabelle

Anhand dieses Tabellenausschnittes kann verdeutlicht werden, dass die Vorgänger immer links oberhalb der Nachfolger-Elemente eingetragen werden und jedes Element einerseits durch seine Textbeschreibung festgelegt wird und seine individuelle Zeile erhält, in welcher kein anderes Kontenelement jemals eingetragen werden darf. Die jeweiligen Spalten geben von links nach rechts die einzelnen Hierarchieebenen an, welche aufsteigend angelegt sind (von links und 1 bis rechts und 8). Die restlichen Parameter der Kontenelemente stehen in den weiter rechts sich befindlichen Tabellenabschnitten. Hier sind vor allem der Kontentyp (Aktiva, Passiva, Aufwendungen oder Erträge) und die Detailkategorie (Spiegelbewegungsarten und Funktionsbereiche) sowie die Währungsumrechnungs- und Eliminierungsselektionen zu nennen. Auf diese Weise können die Kontendefinitionen und Kontenhierarchien miteinander verknüpft gemeinsam in Excel bearbeitet werden.

Nach Ausführung der Makros werden in jeder Zeile die kompletten Hierarchiepfade für jedes Kontenelement vom jeweils obersten bis zum in der Zeile definierten Element angegeben.

Abbildung 4_Excel-Tabelle mit kompletten Hierarchiepfaden

Abbildung 4: Excel-Tabelle mit kompletten Hierarchiepfaden

Abschließend werden jetzt die jeweiligen Spaltenpaare aus jeweils zwei Spalten (1 und 2, 2und 3 bis 7 und 8) ohne Leerzeilen untereinander eingefügt, so dass am Ende nur noch zwei Spalten befüllt sind. Hier wird dann die Funktion „Duplikate entfernen“ eingesetzt, die alle Zeilen entfernt, welche dieselbe Kombination aus Spaltenwert 1 und Spaltenwert 2 enthalten, da die Kombinationen einzigartig sein müssen. Diese Kombinationen können dann für die Hierarchieimportdatei im Excel-Format verwendet werden.

Abbildung 5_Vorlage Bilanzhierarchieimport mit einzigartigen Vorgänger-Nachfolger-Kombinationen

Abbildung 5: Vorlage Bilanzhierarchieimport mit einzigartigen Vorgänger-Nachfolger-Kombinationen

Verfasst von

Benno Rose, valantic Digital Finance

Benno Rose

Benno Rose langjährige Berufserfahrung in den Bereichen Konzernkonsolidierung, Konzern- und Einzelabschlusserstellung sowie Einführung von IFRS, US-GAAP und BilMoG für Konzerne und Einzelunternehmen. Seine Mission: Standardkonforme Abschlusserstellung in Echtzeit, um sowohl interne wie externe Interessentenanforderungen und Analyseerfordernisse jederzeit erfüllen zu können.

Nichts verpassen.
Blogartikel abonnieren.

Anmelden