Finanzbericht (Fenster ID-216)

Aus iDempiere de
Wechseln zu:Navigation, Suche

Finanzberichte

Was ist ein Finanzbericht?

Ein Finanzbericht ist ein druckbarer Bericht, der eine Zusammenfassung (nicht nur) von Finanzdaten enthält. Es kann sich um eine Kontenübersicht, eine Saldenliste, eine Bilanz oder eine Gewinn- und Verlustrechnung handeln. Alle diese Anwendungsfälle werden durch den Generator für Finanzberichte abgehandelt.

Finanzberichte (Fenster Finanzbericht (Fenster ID-216), Seitenkategorie Category:Finanzberichte) werden benutzt, um periodengerechte Werte auszugeben oder nebeneinanderzustellen. Diese erlauben es, in einem ersten Schritt Saldierungen von Konten, Mengen, und dergleichen vorzunehmen und so z.B. Jahres-, Quartals-, Monats-, und Vorjahreswerte nebeneinanderzustellen. Klassische Beispiele sind die Bilanz, die Gewinn- und Verlustrechnung aber auch viele Arten von Umsatz- und Kostenanalysen, die Gruppen von Kunden, Verkaufsmitarbeitern, Produkten, etc. gegenüberstellen.

Der Finanzbericht unterscheidet sich vom normalen Bericht (siehe Statistik und Berichte) dadurch, das keine gewöhnlichen Tabellendaten ausgegeben werden sondern sowohl die Spalten als auch die Zeilen des Berichts einzeln definiert und durch Formeln festgelegt werden können (und müssen).

Sind diese Periodenwerte entsprechend berechnet, bedienen sich die Finanzberichte für Ausgabe und Layout auch dem bekannten internen Berichtsgenerator.

Als Informatiker gesprochen gesagt dienen Finanzberichte als eine Möglichkeit, eine Art Kreuztabellen (ähnleich einer Pivot-Tabelle) zu berechnen. In einem ersten Schritt wird diese Kreuztabelle berechnet. Im zweiten Schritt wird diese dann über den normalen Berichtsgenerator ausgegeben (siehe also dort zur Definition von Druckformaten, Layout, etc. etc.).

Für einen Finanzbericht muss man als erstes die Zeilen und die Spalten definieren, die man ausgeben will. Die entsprechenden Fenster sind Berichtspositionssatz (Fenster ID-218) und Berichtsspaltensatz (Fenster ID-217).

Wie funktioniert das?

Um das genauer zu erklären hole ich etwas aus: Ein Finanzbericht besteht aus Zeilen und Spalten. Die Spalten werden über einen sogenannten Berichtsspaltensatz (siehe Berichtsspaltensatz (Fenster ID-217)) definiert. Das ist ein Satz von Spaltendefinitionen, die z.B. bedeuten, das wir eine Jahressumme, eine Periodensumme, eine Vorjahressumme, etc. im Bericht haben wollen. Die Zeilen des Finanzreports werden über einen Reportpositionssatz definiert. Dort steht drin, welche Zeilen ("Report-Positionen") unser Bericht haben soll und aus welchen Konten er berechnet werden soll. Da steht also sowas wie "Die Zeile soll heissen 'technische Anlagen und Maschinen' und soll die Konten 0400-0599 zusammenfassen." Um nun einen Finanzbericht für die Bilanz zu erzeugen, muss man also zuerst im Berichtspositionssatz (Fenster ID-218) einen neuen Satz anlegen. Diesen kann man dann im Programm per Hand oder direkt aus der CSV-Datei füllen.

Darüber hinaus kann man noch einen Datenwürfel definieren (Das erhöht bei sehr grossen Datenmengen die Performanz, weil es die Daten verdichtet). Ist der Import abgeschlossen, kann man im Fenster Finanzbericht (Fenster ID-216) den fertigen Report aus einer Spaltensatz, einem Positionssatz und einem Report zusammenstellen. Dazu kann man nach der Anzeige des Reports noch das Druckformat anpassen wie üblich.

Definition von Zeilen (Berichtspositionssatz)

Die Zeilendaten benutzen als Basis eine der Buchführungsdimensionen, die in der Tabelle der Buchführungsdaten benutzt werden. Der zur Erklärung einfachste Fall sind Konten. Hier benutzt der Bericht bestimmte Konten, die bekanntlich im Buchführungsschema, d.h. im Kontenplan angegeben werden. Wer der klassischen Installationsanleitung folgt, wird zu Beginn der Installationsanleitung eine Bilanz und eine Gewinn- und Verlustrechnung aus seinem Kontenplan generieren. Man kann aber ebenso auch eigene Berichte definieren.

Ist die "Positionsart" des Zeileneintrags "Segmentwert", so wird der Inhalt des angegebenen Kontos ausgegeben. Ist das angegebene Konto ein Summenkonto, so wird hier die Summe aller Unterkonten als eine Zeile betrachtet (bei der Erzeugung des Berichts im Fenster "Finanzbericht" kann man auswählen, ob die verwendeten Konten auch nochmal einzeln aufgeführt werden sollen).

Die Positionsart "Berechnung" bietet die Möglichkeit, die Werte anderer Zeilen zu addieren oder zu subtrahieren etc.

Wer eine Kommentarzeile oder eine Überschrift erzeugen möchte, kann eine Zeile mit der Art "Berechnung" erzeugen, ohne eine echte Formel anzugeben. Man sollte dazu den Operator auf Addieren setzen und die beiden Operanden-Felder freilassen. (Lässt man den Operator frei, gibt das pro Zeile eine "Störungsmeldung", die im entsprechenden Fenster zu sehen ist und im Swing-Client zu einem unangenehmen "Beep" führt.) Man kannn der aktuellen iDempiere-Version auch komplett freie Zeilen erzeugen mit der Positionsart "Blank Line" (siehe Tips & Tricks).

Import eines Finanzberichtes

Man kann einen Satz von Berichts-Positionen auch aus einer CSV-Datei importieren. Insbesondere ist das interessant, weil man diese Definition direkt in der Datei mit dem Kontenplan abhandeln kann. Hierzu steht etwas mehr auf der Setie zur Einrichtung der Buchhaltung.

andere Berichtsquellen als Konten

Im Register "Berichtsquelle" kann jedoch auch etwas anderes als ein Konto ausgewählt werden. So kann man also anstatt einer Kontenübersicht seine Kunden in einem Baum von Kundengruppen organisieren und dann eine Übersicht über die Umsätze seiner Kundengruppen erzeugen. Grundsätzlich sollte jede dieser Hierarchien es ermöglichen, einen entsprechenden Baum zu definieren.

Für fortgeschrittene Problemstellungen ist es auch möglich, für eine Dimension (z.B. für "Kunden") einen zweiten Baum zu definieren. Jeder Kunde kann dann je nach Berichtsanforderung in jedem Baum woanders einsortiert sein (z.B. ein Baum nach Kundengruppen, ein Baum nach Außendienst und ein Baum nach Bundesländern). Bei der Erzeugung des Berichts (im Fenster "Finanzbericht") wird man unter anderem nach einer Berichtshierarchie gefragt. Eine solche kann man anlegen, um die zu verwendenden Bäume mit unserem Bericht zu verknüpfen.


Tips und Tricks

Wer beim Druck des Finanzberichts mit der Einstellung "Quellen auflisten" einen Kontennachweis der ausgegebenen Zeilen aktiviert, wird in vielen Berichten viel zu viele Daten bekommen. Das Problem ist, das man in hierarchischen Berichten (z.B. der Bilanz) für jede Obersumme alle Konten auflistet und dann für jede Zwischensumme nochmal. Je nach Hierarchieebenen kann so jedes Konto X-mal auf dem Bericht stehen und dieser wird dadurch völlig unbrauchbar. In diesem Fall darf man nicht verzweifeln, sondern kann mit etwas liebevoller Arbeit dafür sorgen, das wirklich nur die Zeilen, von denen man einen Kontennachweis erwartet (das sind die "Blätter" der Baumhierarchie) auf "Segmentwert" gesetzt werden. Die anderen Zeilen werden dann per Formel aus den ersteren erzeugt.

Falls das nicht in einem Schritt geht (die Addition erlaubt immer nur zwei Summanden-Zeilen), muss man eben eine zusätzliche Zeile für ein Zwischenergebnis einfügen. Diese kann man dann mit dem Feld "gedruckt" so einstellen, das sie im Ausdruck nicht erscheint (sie wird aber wohl intern für die Berechnung genutzt).

Wer eine Positionszeile als "Blank line" konfiguriert, kann das Problem bekommen, das zwar in Summenspalten die Zeile ebenfalls frei ist, das aber in Prozentspalten eine "0,00" steht (ich halte das für einen Bug. Man kann das beheben, indem man nach Erzeugung des Berichts in das Druckformat geht und i, Formatelement der entsprechenden Spalte in der Anzeigelogik sowas einträgt wie "@Col_1@!0" (Den Namen der Spalte sieht man im Feld "Spalte"). Dann ist die Freizeile im Ausdruck wirklich frei.

Definition von Spalten (Berichtsspaltensatz)

In den Spalten werden periodenbezogene Werte der Buchungszeilen zusammengeführt. Hier gibt es interessante (und ehrlich gesagt leicht verwirrende) Einstellungsmöglichkeiten.

Art des Betrags

Grundlegend wichtig ist die Spalte "Art des Betrags". Am einfachsten zu verstehen sind hier die Einstellungen "Soll" und "Haben". Diese zählen entsprechend nur Konten zusammen, die auf der einen oder der anderen Seite stehen. Hiermit ist es möglich, diese in zwei Spalten auszugeben, wie das in kaufmännischen Berichten oft gewünscht ist.

Auch einfach ist die Einstellung "gebuchtes Vorzeichen". Hier werden Soll-Buchungen als "+" und Haben-Buchungen als "-" betrachtet und das Ergebnis ausgegeben.

Nun ergibt sich aber z.B. in einer Gewinn- und Verlustrechnung, das auf diese Art das Ergebnis "umgedreht" ist, d.h. ein Gewinn steht dort als Minus-Wert. Da das nicht so schön ist, gibt es die Einstellung "Saldo (erwartetes Vorzeichen)". Diese dreht aber nun das Vorzeichen nicht einfach überall in dieser Spalte um sondern sie erlaubt, das Vorzeichen für jedes einzelne Konto auf die "richtige" Seite zu drehen. Das erlaubt, das im gleichen Bericht (z.B. Bilanz) manche Werte umgedreht werden (Passivbuchungen) und manche nicht (Aktivbuchungen), so das im Ergebnis die Aktiva und Passiva beide positiv sind (was ja auch der kaufmännischen Logik entspricht).

Um das zu erreichen, ist es allerdings immens wichtig, das im Kontenplan bei jedem Konto angegeben ist, was das "erwartete" Vorzeichen ist. Dort kann man die Kontenart und das Kontovorzeichen angeben. Die Grundregel hierzu ist, das alle Unterkonten eines Summenkontos die gleiche Kontenart haben müssen. Ist das nicht so, werden Soll und Haben wild durcheinanderaddiert und nichts stimmt mehr.

Außerdem gibt es die Möglichkeit, bei einzelnen (oder natürlich auch allen) Zeilen das Vorzeichen einfach umzudrehen. Dazu setzt man in der Spalte das Flag "Show Opposite Sign" UND in der Positionszeile das Flag "Show Opposite Sign". Nur, wenn beides in einem Tabellenfeld sich kreuzt, wird das Vorzeichen umgedreht. Wer das bei allen Positionssätzen anhakt, kann so natürlich auch eine ganze Spalte umdrehen, deren Ausrichtung ihm nicht gefällt (z.B. in einer GuV, die sonst einen negativen Gewinn auswirft). Siehe auch: https://wiki.idempiere.org/en/NF8.2_Reverse_Sign_In_Financial_Report_Cell

Spaltenart

Die Spaltenart kann drei Werte haben:

  • Buchungsart - wird ausgewertet, wenn in der Berichtsposition nicht festgelegt.
  • Segmentwert - Bei der endgültigen Erzeugung des Berichts (im Fenster Finanzbericht) muss man eine Periode angeben. Deren Gesamtwert wird dann verwendet
  • relative Periode - Es wird nicht die angegebene Periode verwendet (Periodenart auf "Periode"), sondern z.B. die davor, dahinter, 12 Monate davor oder aber auch das ganze Jahr (Periodenart auf "Jahr") bzw. das Jahr davor. Hiermit sind Vergleiche zwischen verschiedenen Perioden denkbar ("dieses - letztes Jahr", "dieser Monat - ganzes Jahr" etc.). Dies wird nicht ausgewertet, wenn in der Berichtsposition bereits festgelegt wurde, welche Periodenart betrachtet werden soll.
  • relative Periode bis - Es werden mehrere Perioden bis zu dieser Periode verwendet, vorausgesetzt 'relative Periode' wurde gesetzt.
  • Berechnung - Die Spalte wird von anderen Spalten berechnet. Zum einen kann man hier auch über den Trick, Spalten nicht zu drucken, Ergebnisse über mehrere Rechenschritte zusammenfassen, zum anderen interessant ist hier auch, eine Spalte als Prozentsatz einer bestimmten Zeile auszugeben. So kann man in einer Kostenaufstellung (z.B. auch der Gewinn- und Verlustrechnung) die Kosten in Prozent vom gesamten Verkaufsumsatz angeben.

weitere Hilfe und Dokumentation

Ein sehr schönes (englisches) Tutorial zum Thema ist adempiere:Financial_Report_Writer. Ein anderes Tutorial (das mir nicht so gut gefällt, aber etwas tiefere Informationen hat) gibt es [von Walking Tree].

Beschreibung des Fensters


Fenster: Finanzbericht

Beschreibung: Verwaltung Finanzberichte

Hilfe: Ein "Finanzbericht" ist eine Kombination aus Berichtspaltensatz und Zeilensatz.



TAB: Finanzbericht

Beschreibung: null


Hilfe null


Finanzbericht - Finanzbericht - Fenster (iDempiere 1.0.0).png



Folgende Felder werden in der Standardmaske angezeigt:


Original Name (englisch) Name (deutsch) Beschreibung Hilfe Technische Daten
Client Mandant Mandant für diese Installation Ein "Mandant" ist eine Firma oder eine juristische Person. Mandanten können keine Daten teilen/nicht gemeinsam auf Daten zugreifen. AD_Client_ID
numeric(10) NOT NULL
Table Direct
Organization Organisation Organisatorische Einheit innerhalb des Mandanten Eine "Organisation" ist die Geschäftseinheit eines Mandanten oder eine juristische Person, z.B. ein Geschäft oder eine Abteilung. Organisationen können gemeinsam auf Daten zugreifen, bzw. die Daten gemeinsam verwenden. AD_Org_ID
numeric(10)
Table Direct
Accounting Schema Buchführungsschema Regeln der Buchführung Ein "Buchführungsschema" legt grundlegende Buchführungseinstellungen fest, wie z.B. die verwendete Kostenrechnungsart, die Währung und die Buchungsperiode. C_AcctSchema_ID
numeric(10) NOT NULL
Table Direct
Calendar Kalender Bezeichnung des Buchführungskalenders Das Feld "Kalender" zeigt einen Buchführungskalender an. Es können mehrere Kalender verwendet werden. Z. B. können Sie einen Standardkalender definieren, der vom 1. Januar bis zum 31. Dezember und einen fiskalischen, der vom 1. Juli bis zum 30. Juni gilt. C_Calendar_ID
numeric(10) NOT NULL
Table Direct
Name Name Alphanumerischer Identifikator des Eintrags Der "Name" eines Eintrags wird zusätzlich zum Suchschlüssel als Standardsuchoption verwendet. Ein Name kann bis zu 60 Zeichen lang sein. Name
character varying(60) NOT NULL
String
Description Beschreibung Optionale Kurzbeschreibung des Datensatzes Eine Beschreibung ist auf 255 Zeichen begrenzt. Description
character varying(255)
String
Active Aktiv Der Datensatz ist im System aktiv Es gibt zwei Methoden um Datensätze im System zu sperren: Eine Methode ist den Datensatz zu löschen. die andere ist es den Datensatz zu deaktivieren. Ein deaktivierter Datensatz kann nicht mehr ausgewählt werden, steht aber weiterhin in Berichten zur Verfügung. Es gibt zwei Gründe dafür einen Datensatz zu deaktivieren und nicht zu löschen: (1) Das System benötigt den Datensatz für Audits (2) Der Datensatz wird von anderen Datensätzen referenziert. Es ist z.B. nicht möglich einen Geschäftspartner zu löschen, wenn zu diesen Geschäftspartner Rechnungen vorliegen. In diesem Fall wird der Geschäftspartner deaktiviert und kann nicht mehr für zukünftige Vorgänge verwendet werden. IsActive
character(1) NOT NULL
Yes-No
Report Line Set Berichtspositionssatz null null PA_ReportLineSet_ID
numeric(10) NOT NULL
Table Direct
Report Column Set Berichtsspaltensatz Zusammenstellung von Spalten für einen Bericht. Der "Berichtspaltensatz" zeigt die in einem Bericht verwendeten Spalten an. PA_ReportColumnSet_ID
numeric(10) NOT NULL
Table Direct
Report Cube Report Cube Legen Sie einen "Report" für die Vorkalkulation der zusammengefassten Buchführungsdaten fest. Für jede Periode eines gewählten Kalenders werden Datenzusammenfassungen erzeugt. Die Daten werden nach den von Ihnen ausgewählten Dimensionen gruppiert. PA_ReportCube_ID
numeric(10)
Table
Jasper Process Jasper-Prozess Der vom Druckmodul verwendete Jasper-Prozess (falls definiert) null JasperProcess_ID
numeric(10)
Table
List Sources Quellen auflisten Quellen von Berichtpositionen anzeigen. Quellkonten für die gewählte Saldenzusammenfassung anzeigen. ListSources
character(1) NOT NULL
Yes-No
List Transactions Transaktionen anzeigen Berichttransaktionen anzeigen. Transaktionen von Berichtquellpositionen auflisten ListTrx
character(1) NOT NULL
Yes-No
Create Report Bericht erstellen Finanzbericht erstellen Standard ist die aktuelle Periode. Sie können weitere Einschränkungen eingeben. Sie können eine alternative Berichtshierarchie auswählen. Processing
character(1) NOT NULL
Button
Print Format Druckformat Daten Druckformat Unter "Druck Format" legen Sie fest, wie Daten für den Druck aufbereitet werden. AD_PrintFormat_ID
numeric(10)
Table Direct
Create Report (Jasper) Bericht erstellen (Jasper) Finanzbericht erstellen (Jasper) Standard ist die aktuelle Periode. Sie können weitere Einschränkungen eingeben. Sie können eine alternative Berichtshierarchie auswählen. JasperProcessing
character(1)
Button
Cookies helfen uns bei der Bereitstellung von iDempiere de. Durch die Nutzung von iDempiere de erklärst du dich damit einverstanden, dass wir Cookies speichern.