• VSB
  • Reporting der Gewinn- und Verlustrechnung (GuV) mit BOARD

Reporting der Gewinn- und Verlustrechnung (GuV) mit BOARD

BOARD für Reporting, Analyse und Planung

Lesen Sie in unserem Fachbeitrag in vereinfachter Form, wie Sie mit der Reporting und Planungslösung BOARD eine Gewinn- und Verlustrechnung (GuV) aufbauen können und wie Sie eine konsolidierte Darstellung mehrerer GuV erreichen können.

Welche Fibu-Lösung eingesetzt wird, spielt dabei nur eine untergeordnete Rolle. Die Voraussetzung ist, dass der Kontenplan und das Buchungsjournal exportiert werden können. In unserem Beispiel haben wir Lexware eingesetzt und die darunterliegende SQL Anywhere Datenbank über eine ODBC-Verbindung direkt ausgelesen.

Datenmodell in BOARD

Zunächst definieren wir das Datenmodell in BOARD, welches aus Entitäten, Cubes, Relationen und Regeln besteht. Zusätzlich benötigen wir auch DataReader, um die Cubes und Entitäten aus den Lexware-Daten automatisch zu füllen.

Entitäten

Eine Entität in BOARD bestimmt, wonach etwas ausgewertet werden soll. Oftmals wird hierfür auch der Begriff Dimension verwendet. Ein Eintrag einer Entität hat immer eine eindeutige ID (Code) und eine Beschreibung. Falls Code und Beschreibung identisch sind, kann auf die Beschreibung verzichtet werden. Folgende Entitäten definieren wir:

Firma:

Das ist der Buchhaltungsmandant, da wir in unserem Beispiel zwei Mandanten darstellen möchten. Die erste Spalte ist der Code, die zweite der Kurzname der Firma.

Entität Firma

Konto:

In diese Entität lesen wir den Kontenplan ein. Der Code wird dabei aus dem Code der Firma und der Kontonummer mit Bindestrich als Trennzeichen zusammengesetzt, damit der Code über alle Firmen hinweg eindeutig wird. Da wir die Kontenpläne von zwei Mandanten einlesen, kommen natürlich viele Konten doppelt vor. Mit dem Präfix der Firma wird der Code des Kontos eindeutig.

Entität Konto

Schema Firma:

Für den Aufbau der GuV geben wir eine fest definierte Struktur vor. Da diese je Mandant unterschiedlich sein kann, lesen wir in dieser Entität das GuV-Schema je Firma aus einer CSV-Datei ein. Diese lässt sich einfach pflegen und kann nach einer Änderung jederzeit neu eingelesen werden. Wenn die Definition des GuV-Aufbaus mit vertretbarem Aufwand direkt aus der Fibu herausgelesen werden kann, dann kann die zusätzliche CSV-Datei entfallen. Den Aufbau der CSV-Datei schauen wir uns weiter unten an, da die Datei noch weitere Informationen enthält, dir wir zunächst erklären möchten.

Auch hier wird dem Zeilencode die Firma als Präfix vorangestellt, damit wir den Aufbau der zweiten Firma ebenfalls mit einlesen können und die Zeilennummern damit eindeutig werden.

Entität Schema Firma

Schema konsolidiert:

Das konsolidierte GuV-Schema soll dazu dienen, die unterschiedlichen GuV-Schemas der einzelnen Firmen in einer einheitlichen übergeordneten Struktur konsolidiert darzustellen. Dabei handelt es sich natürlich nicht um eine Konzernkonsolidierung in eine übergeordnete Holding, sondern um die einfache Zusammenführung von zwei GuV mit unterschiedlichem Aufbau in einen gemeinsamen Aufbau, um z.B. das Ergebnis zweier GmbH’s kombiniert darzustellen.

Der Code hat diesmal kein Firmenkürzel als Präfix, da das Schema ja für alle Firmen identisch sein soll und auch keine Nummerierung in der Beschreibung der Zeilen. Dies würde in einer konsolidierten Darstellung eher verwirren.

Entität Schema konsolidiert

Periode:

Auswertungen in der Buchhaltung werden i.d.R. nicht nach Belegdatum getroffen, sondern nach Buchungsperioden. Eine Eingangsrechnung mit dem Rechnungsdatum 30.07.2017 könnte daher in die Buchungsperiode 8 gebucht werden und muss dann in den Auswertungen auch dort berücksichtigt werden. Buchungsperiode und Buchungsdatum können also abweichen.

Nachdem sich die Buchungsperioden praktisch nie ändern, haben wir es uns leichtgemacht und diese in BOARD einfach direkt in die Entität eingegeben, anstatt diese aus irgendeiner Datenquelle einzulesen. Da Entitäten immer vom Datentyp Text sind, muss für eine korrekte Sortierung der Code mit führender 0 eingegeben werden.

Hinweis für Nicht-Buchhalter: Es gibt meistens mehr Buchungsperioden als Monate im Jahr, da Abgrenzungen o.ä. gerne in Perioden jenseits der 12 gebucht werden. Für eine volle Jahresauswertung müssen daher alle Perioden selektiert werden.

Entität Periode

Das Buchungsjahr definieren wir nicht als eigene Entität, da wir hierfür die Standard-Zeit-Entität von BOARD verwenden. Das bringt uns den Vorteil, dass Vorjahresvergleiche mit einem simplen Mausklick möglich sind und alle Standard-Zeitfunktionen darauf funktionieren.

Cubes

Nach den Entitäten definieren wir die Cubes. Cubes enthalten die Daten, die ausgewertet werden. Wir erinnern uns, Entitäten definieren, wonach wir auswerten und Cubes definieren, was wir auswerten. Ein Cube hat einen Datentyp und eine Struktur. Die Struktur ist eine Zuweisung der Entitäten, nach denen wir den Cube auswerten möchten.

Wir benötigen interessanterweise nur einen einzigen Cube. Diesen nennen wir Saldo, da dieser den jeweiligen Saldo eines Kontos beinhaltet. Gebildet wird der Saldo je Konto durch das Einlesen des Buchungsjournals. Die meisten Fibu-Lösungen bieten auch Tabellen, in denen der aktuelle Kontensaldo direkt ausgelesen werden kann. Dann würden wir aber die Möglichkeit verlieren, den Saldo für beliebige selektierte Perioden ausweisen zu können. Daher müssen wir jede einzelne Buchung aus dem Journal einlesen. Das Aufreißen des Saldos nach Konto, Periode und Jahr erledigt BOARD durch die Zuweisung der Entitäten an den Saldo-Cube für uns.

Cube-Definition in BOARD

Relationen (Beziehungen)

Beziehungen zwischen Entitäten dienen der Definition automatischer Datenaggregationen. Wenn wir also Auswertungen benötigen, in denen Daten aus Cubes in mehreren hierarchischen Entitäten nach oben verdichtet werden, dann definieren wir hierfür eine Beziehung. In unserem Beispiel möchten wir die GuV von zwei Firmen in einer übergeordneten GuV verdichten. Außerdem möchten wir die Salden auch auf Ebene der Firmen verdichten. Kontoart und Konto Kategorie ignorieren wir für unser Beispiel.

Auf der linken Seite befindet sich die unterste (detaillierteste) Stufe, also das Konto. Nach rechts wird immer um eine Stufe verdichtet. Einem Zeileneintrag im „Schema Firma (GuV)“ können also mehrere Konten zugeordnet sein, deren Saldo verdichtet wird. Einem Zeileneintrag im „Schema konsolidiert (GuV)“ können wiederum mehrere Zeilen aus dem „Schema Firma (GuV)“ zugeordnet werden. Dadurch wird die einfache Konsolidierung erreicht.

Beziehung zwischen Entitäten in BOARD

Regeln

Regeln dienen in BOARD dazu, um vordefinierte Berechnungen innerhalb einer Entität ausführen zu lassen. Später erstellen wir ein DataView für die Darstellung der GuV und weisen die Regeln dort dem Cube „Saldo“ zu.

Die Regel bekommt eine Überschrift zur Identifikation und wird auf einer Entität definiert, in unserem Beispiel auf dem konsolidierten GuV-Schema. Die Notation der Berechnungen ist sehr einfach und summiert zeilenweise Abschnitte. Die Berechnung des Ergebnisses nach Steuern und das EBIT erfolgt ebenfalls hier. Regeln sind eine äußerst flexible Möglichkeit, um individuelle Berechnungen abzubilden, ähnlich wie in Excel.

Aber Achtung, wenn weitere Zeilen in die Entität eingefügt werden oder gelöscht werden, dann müssen die Berechnungen aktualisiert werden, da sonst die Zeilenbezüge nicht mehr passen. Regeln eignen sich daher primär für Entitäten, die sich nicht dynamisch durch Import o.ä. ändern.

Definition von Regeln in BOARD

Datenquellen und DataReader

Als Datenquellen dienen verschiedene SQL-Tabellen aus Lexware und eine manuell erstellte CSV-Datei. Die SQL-Tabellen werden über SQL-DataReader einmal nachts in BOARD eingelesen. Darauf gehen wir in diesem Beitrag allerdings nicht näher ein. Die CSV-Datei verdient einen genaueren Blick, da wir damit gleich mehrere Entitäten füllen und auch Beziehungen zwischen diesen herstellen.

Beim Einlesen der CSV-Datei werden die Entitäten „Schema Firma“ und „Schema konsolidiert“ gefüllt. Außerdem werden die Beziehungen zwischen Konto --> „Schema Firma“ --> „Schema konsolidiert“ hergestellt. Das bedeutet, dass wir damit gleichzeitig definieren, welche Konten zu welcher Zeile des GuV-Schemas zugeordnet werden und deren Saldo damit dort aggregiert wird.

Da das Konto parallel auch nach Firma aggregiert wird, müssen wir für eine spätere fehlerfreie Selektion auch den Code der Firma beim Einlesen mit zuordnen. Die Daten sind in der CSV-Datei über Tabulatoren getrennt.

Spalten in der CSV-Datei:

S1: Entspricht dem Code aus der Entität Konto (Bsp.: F2-99990) für die Herstellung der Beziehung
S2: Daraus wird der Code der Entität „Schema Firma“ erzeugt (Bsp.: F2-0010)
S3: Daraus wird der Text der Entität „Schema Firma“ erzeugt (Bsp.: 1. Umsatzerlöse)
S4: Daraus wird der Code der Entität „Schema konsolidiert“ erzeugt (Bsp.: 0010)
S5: Daraus wird der Text der Entität „Schema konsolidiert“ erzeugt (Bsp.: Umsatzerlöse)
S6: Entspricht dem Code aus der Entität Firma (Bsp.: F2) für die Herstellung der Beziehung

Auszug aus der CSV-Datei:

S1		S2	S3		S4	S5		S6
F2-99990	F2-0010	1. Umsatzerlöse	0010	Umsatzerlöse	F2
F2-4021	F2-0020	     1.1 Umsatzerlöse Dienstleistungen	0020	     Umsatzerlöse Dienstleistung	F2
F2-4351	F2-0020	     1.1 Umsatzerlöse Dienstleistungen	0020	     Umsatzerlöse Dienstleistung	F2
F2-4421	F2-0020	     1.1 Umsatzerlöse Dienstleistungen	0020	     Umsatzerlöse Dienstleistung	F2
F2-4736	F2-0020	     1.1 Umsatzerlöse Dienstleistungen	0020	     Umsatzerlöse Dienstleistung	F2
F2-4420	F2-0030	     1.2 Umsatzerlöse Reisekosten	0030	     Umsatzerlöse Reisekosten	F2
F2-4424	F2-0040	     1.3 Umsatzerlöse Lizenzen eigene	0040	     Umsatzerlöse Lizenzen eigene	F2
F2-4425	F2-0050	     1.4 Umsatzerlöse Lizenzen Handel	0050	     Umsatzerlöse Lizenzen Handel	F2
F2-4445	F2-0050	     1.4 Umsatzerlöse Lizenzen Handel	0050	     Umsatzerlöse Lizenzen Handel	F2
F2-4352	F2-0060	     1.5 Umsatzerlöse Wartung eigene	0060	     Umsatzerlöse Wartung eigene	F2
F2-4422	F2-0060	     1.5 Umsatzerlöse Wartung eigene	0060	     Umsatzerlöse Wartung eigene	F2
F2-4442	F2-0060	     1.5 Umsatzerlöse Wartung eigene	0060	     Umsatzerlöse Wartung eigene	F2
F2-4692	F2-0060	     1.5 Umsatzerlöse Wartung eigene	0060	     Umsatzerlöse Wartung eigene	F2
F2-4423	F2-0070	     1.6 Umsatzerlöse Wartung Handel	0070	     Umsatzerlöse Wartung Handel	F2
F2-4443	F2-0070	     1.6 Umsatzerlöse Wartung Handel	0070	     Umsatzerlöse Wartung Handel	F2
F2-4693	F2-0070	     1.6 Umsatzerlöse Wartung Handel	0070	     Umsatzerlöse Wartung Handel	F2
F2-4426	F2-0080	     1.7 Umsatzerlöse Serviceverträge	0080	     Umsatzerlöse Serviceverträge / Managed Service	F2
F2-4815	F2-0100	2. Bestandsveränderungen fertige / unfertige Erzeugnisse	0120	Bestandsveränderungen fertige / unfertige Erzeugnisse	F2
F2-4699	F2-0120	3. Sonstige betriebliche Erträge	0130	Sonstige betriebliche Erträge	F2
F2-4830	F2-0120	3. Sonstige betriebliche Erträge	0130	Sonstige betriebliche Erträge	F2

Im ASCII-DataReader weisen wir die Spalten der CSV-Datei zu den Feldern unserer Entitäten zu. Über die Aktion bestimmen wir, dass bei den Entitäten „Schema konsolidiert“ und „Schema Firma“ neue Sätze eingefügt und der Text bereits bestehender Sätze überschrieben wird. Bei der Zuordnung der Codes für Konto und Firma wurde keine Aktion ausgewählt, da hier nur eine Zuordnung zu bereits bestehenden Einträgen erfolgen soll und keine Änderungen durch den DataReader in diesen Entitäten erfolgen sollen. Diese kommen ja aus Lexware.

BOARD ASCII-DataReader

Darstellung der GuV in BOARD

Nachdem das Datenmodell erstellt und die Daten und Beziehungen über die DataReader eingelesen wurden, ist der Rest geradezu ein Kinderspiel. Wir verwenden für die Darstellung ein DataView, welches eines der mächtigsten Screenobjekte in BOARD ist. Ein DataView zeigt, vereinfacht ausgedrückt, Cubes nach Dimensionen in tabellarischer Form an.

Wir nehmen also unseren Saldo-Cube als Datenblock in das Layout des DataViews auf und nennen diesen „EUR“. Dann ziehen wir den Cube nochmal ins Layout, nennen diesen „VJ“ und aktivieren die Checkbox „Vorjahr“. Dadurch werden autom. die Vorjahreswerte der selektieren Entitäten für diesen Datenblock angezeigt. Praktisch oder? Außerdem erstellen wir eine Berechnung, in der wir EUR – VJ rechnen und das Ergebnis als Einfärbung darstellen. Grün, wenn akt. Jahr besser als VJ, andernfalls rot. Farbabstufungen nach Größe der Abweichung wären ebenfalls denkbar.

Den beiden Datenblöcken EUR und VJ weisen wir noch die weiter oben erstellte Regel "GuV" für die Entität "Schema konsolidiert" zu, damit die dort hinterlegten Berechnungen auf den Werten der Cubes ausgeführt werden. Wir erinnern uns, darüber errechnen wir Gruppensummen oberhalb der Detailzeilen, das Ergebnis nach Steuer und das EBIT.

Zuweisung der Cubes in einem DataView

Über die Achsen des Layouts (Zeilen und Spalten) definieren wir, nach welchen Entitäten die Cubes aufgerissen werden. In unserem Beispiel ist das „Schema konsolidiert“.

Zuweisung der Entitäten in einem DataView

Verschiedene kleinere Formatierungseinstellungen lassen wir jetzt unter den Tisch fallen.

Als Ergebnis erhalten wir eine konsolidierte Darstellung von zwei Firmen in einer GuV mit Vorjahresvergleich und Abweichungsalarm. Natürlich handelt es sich um Daten aus unseren Demofirmen.

Eine weitere Darstellungsmöglichkeit wäre die Firmen als einzelne Spalten nebeneinander zu stellen und um eine konsolidierte Spalte zu ergänzen. So fällt der direkte Vergleich der Firmen sehr leicht.

Über Selektoren auf dem Screen können wir frei definieren, welche Firmen, welches Jahr und welche Perioden wir auswerten möchten. Natürlich werden die Vorjahresvergleiche auf die gleiche Periodenauswahl des Vorjahres angewendet.

Wir hoffen, dass wir Ihnen mit diesem Beitrag die unglaubliche Flexibilität von BOARD vermitteln konnten. BOARD geht weit über die üblichen Visualisierungsmöglichkeiten hinaus und bietet eine leistungsfähige Plattform für die Umsetzung einfacher und komplexer Auswertungen.

Eine Stärke von BOARD ist die Möglichkeit, auch Planungsanwendungen aufbauen zu können. Von der Vertriebsplanung, über die Kostenstellenplanung bis zur Finanzplanung oder der kompletten Unternehmensplanung ist alles möglich. Der universelle Ansatz unterstützt sowohl das herkömmliche Gegenstromverfahren, als auch treiberbasierte Modelle oder eine Kombination. Natürlich arbeitet die Planung auf dem gleichen Datenmodell wie das Reporting. Dadurch entsteht eine nahtlose Integration von Reporting, Analyse und Planung.

Weitere Informationen zu BOARD

Zurück