Technischer Implementierungshintergrund
Diese Informationen sind nur für Personen gedacht, die selbst als Entwickler das Modul RESTRUKT in seinen Basisfunktionen anpassen wollen. Es setzt tiefgreifende SQL Kenntnisse voraus.
RESTRUKT arbeitet nach dem Prinzip eines Buchungsautomaten. Alle finanzielle relevanten Werte und Parameter werden im Hintergrund in einer Buchung im Buchungsjournal umgesetzt.
Buchungsmethodik
Jede Buchung muss folgende Parameter ermitteln
KontoID - KontoID, auf welchem die Buchung erfolgt
UrsprungskontoID - KontoID des Kontos, welche die Buchungskette ausgelöst hat → somit nicht zwingend das Gegenkonto
Quelle - Ursprungskonto mit Urspungsperiode
VerteilungsID - ID der Verteilungsmethode, über welcher ein Monatswert auf Tage zerlegt wurde
Buchungskreis - Kalkulationsprozess, welcher diese Buchung ausgelöst hat → somit kein Buchungskreis im buchhalterischen Sinne
Buchungsdatum - Zuordnung zu einem Monat (Buchungsperiode 13 etc. existiert nicht)
Buchungstext - aussagekräftiger Text für alle Drilldownanzeigen
Betrag - Dezimalwert mit 10 Nachkommastellen → nicht auf Cent reduziert, da sonst viele Rundungsdifferenzen bei Split von Monatswerten auf Tage
Bewegungsart
Systemkonten
Restrukt benötigt zwingend eine Satz an Systemkonten für die korrekte Arbeit
GuV Systemkonten
STEE - Einkommensteuer, geplanter Steueraufwand wird immer als Zuführung Steuerrückstellungen gebucht
Bilanz Systemkonten
BANK - Konto für alle liquiditätswirksamen Bewegungen
GVV - Gewinn-/Verlustvortrag
JÜ - Jahresüberschuss (Pseudokonto für Druck der Bilanz), zählt nicht in die Summe GuV / Bilanz
STRST - Steuerrückstellungen
BAUS - Konto für Bilanzausgleich
Factorykonventionen
Es muss eine Factory ZT geben, diese nimmt alle Steuerungsproducts auf
alle anderen Factories werden frei als Mandantenfactories verwendet
Productlinekonventionen
Innerhalb einer Factory
Muss es immer die Productline ST geben, diese enthält Steuerungsproducts welche direkt adressiert werden
Muss es immer die Productline BIL geben, diese enthält die Bilanz
allen anderen Productlines können beliebige IDs verwenden, die Datenverarbeitung erfolgt auschließlich auf Basis der Templates
Ausserhalb von ST / BIL könnten (sollten aber nicht) somit auch Products gemischt verwendet werden (außer Products vom Typ Bilanz / Steuerung)
die Anzeigereihenfolge der Productlines wird über das Globalattribut Anzeigereihenfolge gesteuert
Bewegungsarten
Über Bewegungsarten wird gesteuert
Kapitalflussrechnung - Unterscheidung von zahlungswirksamen und nicht zahlungswirksamen Bilanzbewegungen
Direkter Finanzplan - separieren von Zahlungen innerhalb der Bilanzbewegungen
Unterscheidung der Spalten Abbau und Aufbau an Bilanzkonten
Die Bewegungsarten sind in Tabelle calc.tBewegungsarten definiert. Diese Tabelle wird nicht gejoint, die Findung der Bewegunsart läuft über die Funktion calc.sfBewegungsartFinder.
Folgende Bewegungsarten werden unterschieden
Bewegungsarten von GuV Konten
GuV Konten müssen alle Bewegungen unterschieden
nach Klassifizierung zahlungswirksam / nicht zahlungswirksam zum korrekten Ausweis in IST und PLAN Perioden im Finanzplan
nach aus Modul oder Erfassung
Module müssen immer gebucht sein, bevor Erfassung erfolgt
GUV.ZW - GuV Bewegung zahlungswirksam aus Eingabe
GUV.NZW - GuV Bewegung zahlungsunwirksam aus Eingabe
GUV.ZW.MODUL - GuV Bewegung zahlungswirksam aus Modul
GUV.NZW.MODUL - GuV Bewegung zahlungsunwirksam aus Modul
Zusammenhang zur Produktanzeige
Spalte im Product | Datenquelle | Bewegungsarten | Bemerkung | Drilldown | Aktualisierung |
---|---|---|---|---|---|
P Typ (PT) | Verweis auf GJK | keine | |||
Periode (P) | Verweis auf GJK | keine | |||
Erfassungswert (PW) | gespeicherter Eingabewerte | GUV.NZW | ZW/NZW wird bei Buchung aus dem Globalattribut 4 “Zahlungswirksamkeit” abgeleitet. Wird vom Saldenlistenimporter bei der Pipelineausführung für Aufbereitung kumulierter Importwerte überschrieben. | keiner | Erfassung |
Importwert kumuliert (IWK_0) | Import per Matrixconnector | keine | Wird nicht im Journal gebucht, aus diesem Wert wird der Erfassungswert als unkumlierter Wert nach einem Import rückgerechnet. | keiner, ausgeblendete Spalte | Import |
Planwert aus Modul (ZUM) | berechnet aus Buchungsjournal | GUV.ZW.MODUL GUV.NZW.MODUL | Die Bewegungsart muss schon vom Modul beim buchen im Buchungsjournal gesetzt werden. Nur relevant für Planperioden, da Planwerte aus Modulen nur die Planperioden betreffen. | Listung nach Modul | nach Neukalkulation |
Gesamtwert (GW_0) | berechnet aus Buchungsjournal | GUV.* | wird von extern (MatrixConnector) gelesen | keiner | nach Neukalkulation |
Umsatzsteuersatz (UST) | Eingabewert | keine | Wird bei Kalkulation für IST Perioden gelöscht | keiner | Erfassung |
Zahlungsmethode (ZM) | Erfassung Flex | keine | Wird bei Kalkulation für IST Perioden gelöscht | keiner | Erfassung Flex |
Bewegungsarten von Bilanzkonten
Spalte im Product | Datenquelle | Bewegungsarten | Bemerkung | Drilldown |
---|---|---|---|---|
P Typ (PT) | Verweis auf GJK | keine | keiner | |
Periode (P) | Verweis auf GJK | keine | keiner | |
Anfangsbestand (AB_0) | berechnet aus Buchungsjournal | EB_0 Vormonat | keiner | |
Aufbau aus GuV (AUFBAUG) | berechnet aus Buchungsjournal | BIL.AUFBAU.AKTIV.GUV.ZW BIL.AUFBAU.AKTIV.GUV.NZW | Listung nach Quellkonto | |
Abbau aus GuV (ABBAUG) | berechnet aus Buchungsjournal | BIL.ABBAU.AKTIV.GUV.ZW BIL.ABBAU.AKTIV.GUV.NZW BIL.ABBAU.PASSIV.GUV.ZW BIL.ABBAU.PASSIV.GUV.NZW | Listung nach Quellkonto | |
Aufbau bilanziell (AUFBAUB) | berechnet aus Buchungsjournal | BIL.AUFBAU.AKTIV.SYS BIL.AUFBAU.PASSIV.SYS | Listung nach Quellkonto | |
Abbau bilanziell (ABBAUB) | berechnet aus Buchungsjournal | BIL.ABBAU.AKTIV.SYS BIL.ABBAU.PASSIV.SYS | Listung nach Quellkonto | |
Aufbau manuell (AUFBAUM) | gespeicherter Eingabewert | BIL.AUFBAU.AKTIV.MAN BIL.AUFBAU.PASSIV.MAN | keiner | |
Abbau manuell (ABBAUM) | gespeicherter Eingabewert | BIL.ABBAU.AKTIV.MAN BIL.ABBAU.PASSIV.MAN | keiner | |
Umsatzsteuer (UST) | gespeicherter Eingabewert | keine | keiner | |
Gesamtbewegung (BW_0) | berechnet aus Buchungsjournal | Alle des Monats | Listung nach Quellkonto | |
Endbestand (EB_0) | IST: gespeicherter Erfassungswert PLAN: berechnet aus Buchungsjournal | Alle historisch | Wird per MC gelesen | keiner |
BIL.I - IST - Bewegungswert rückgerechnet aus importierten Endsalden
GuV Induziert
Bilanzinduziert
BIL.AUFBAU.AKTIV.SYS (Zugang auf Aktivkonto systemseitig zwischen Bilanzkonten)
BIL.ABBAU.AKTIV.SYS (Abgang auf Aktivkonto systemseitig zwischen Bilanzkonten) SY
BIL.AUFBAU.PASSIV.SYS (Zugang auf Passivkonto systemseitig zwischen Bilanzkonten)
BIL.ABBAU.PASSIV.SYS (Abgang auf Passivkonto systemseitig zwischen Bilanzkonten)
BIL.AUFBAU.AKTIV.MAN (Zugang auf Aktivkonto manuell zwischen Bilanzkonten)
BIL.ABBAU.AKTIV.MAN (Abgang auf Aktivkonto manuell zwischen Bilanzkonten)
BIL.AUFBAU.PASSIV.MAN (Zugang auf Passivkonto manuell zwischen Bilanzkonten)
BIL.ABBAU.PASSIV.MAN (Abgang auf Passivkonto manuell zwischen Bilanzkonten)
Wertreihenbeladung bei Products vom Typ Bilanz
Prinzip des indirekten Finanzplans
Der indirekte Finanzplan erklärt die Bank, zeigt aber viele Bewegungen welche die Bank überhaupt nicht betreffen → diesen Plan versteht nur der erfahrene Leser einer Bilanz - er zeigt eine Bilanzdifferenz.
Der indirekte Finanzplan erklärt die Bankveränderung einer Periode durch Auflistung der Bewegungen aller anderen Bilanzkonten.
GuV Ergebnis
- alle zahlungsunwirksamen GuV Erträge (Ertragskonten, GUV.NZW)
+ alle zahlungsunwirksamen GuV Kosten (Auswandskonten, GUV.NZW)
+/- Veränderung aller Bilanzkonten (außer BANK, alle Bewegungen außer BIL.GUV.ZU.NZW, BIL.GUV.AB.NZW)
= Bewegung der Bank
Alles was aus der GuV IN die Bilanz fließt (Abschreibung, Zuschreibung….) gilt als zahlungsunwirksam, alles was aus der GuV direkt über die Bank läuft oder was DURCH die Bilanz läuft (Forderungen, Verbindlichkeiten, Umsatzsteuer...) gilt als zahlungswirksam. IN die Bilanz bedeutet es kommt aus der GuV und geht dann eigene Wege (Rückstellung → mal sehen, was mit der Zeit kommt → Bank oder Auflösung), DURCH die Bilanz bedeutet, der Weg ist von Anfang an vorgeplant und läuft meist genau so ab (Umsatz → Forderung → 30 Tage → Bank).
Prinzip des direkten Finanzplans
Der direkte Finanzplan zeigt sehr anschaulich alle Bewegungen der Bank, verbirgt aber viele Ursachen → diesen Plan versteht jeder, der sein Portmonnaie versteht (Geld rein, Geld raus)
Der direkte Finanzplan erklärt die Bankveränderung einer Periode durch Auflistung aller Bewegungen, welche tatsächlich stattfinden.