In diesem Artikel

Businessplan und fortgeschrittene Finanzplanung mit Formeln

Universell
Doppelte Buchhaltung
Bildung

Die Eingabe von Formeln ist ausschliesslich mit Banana Buchhaltung Plus - Advanced Plan möglich.

In Banana WebApp öffnen

Öffnen Sie Banana Buchhaltung Plus in Ihrem Browser ohne Installation. Passen Sie die Vorlage an, geben Sie die Transaktionen ein und speichern Sie die Datei auf Ihrem Computer.

Vorlage im Banana WebApp öffnen

Dokumentation zur Vorlage

Die Eingabe von Formeln ist ausschliesslich mit Banana Buchhaltung Plus - Advanced Plan möglich. Jetzt aktualisieren!

Diese Datei enthält Beispiele von Buchungen in der Tabelle Budget, welche von der Spalte Formeln sowie den Spalten Anzahl und Einheitspreis Gebrauch machen.

Für Anleitungen betreffend der Tabelle Budget und deren Spalten, sehen Sie bitte die Seite Tabelle Budget.

Insbesondere ist darauf zu achten, dass die Reihenfolge der Berechnungen nach Datum erfolgen und nicht in der Reihenfolge, in der die Budgetbuchungen eingegeben wurden.

Spalten Anzahl und Einheitspreis

In der Ansicht Formeln sind auch die Spalten Quant. und Einheitspreis ersichtlich.

  • Beleg 10: Die Spalte Quant. enthält die Menge der in einem Monat verkauften Kaffees und die Spalte Preis die Einnahmen für einen einzigen Kaffee.
    Das Programm berechnet den Betrag (Spalte Betrag).
  • Die Werte in den Spalten Quant. und Preis können auch mit Minuszeichen eingegeben werden, aber der Betrag wird in positiv umgewandelt.

Formel in Javascript-Sprache

In der Spalte Formel können die Berechnungsausdrücke in Javascript-Sprache erfasst werden.

  • Wenn das Ergebnis der Formel eine Zahl ist, wird es als Betrag übernommen.
  • Belege 21, 22 und 23: Es können Zahlen oder mathematische Ausdrücke angegeben werden.
  • Belege 40 und 41:  "//" zeigt an, dass der Text ein Kommentar ist.
  • Beleg 42: Der Text zwischen /* und */ ist ein Kommentar und wird nicht als Teil der Formel berücksichtigt.

Fehler in den Formeln

Falls Fehler vorhanden sind:

  • Die Zeile worin sich der Fehler befindet, erscheint in rot.
  • Die Beschreibung des Fehlers erscheint im Fenster "Meldungen".

Um stetige Meldungen zu vermeiden, werden in der Beispielsdatei die Fehler kommentiert (beginnend mit "//").

Trennzeichen Strichpunkt ";"

Im Javascript wird jeder Befehl mit "," beendet. Die Ausdrücke können auf einer Zeile verkettet werden. Der Rückgabewert ist das Ergebnis des letzten Ausdrucks.

Trennzeichen Komma ","

Im Javascript wird das Komma verwendet, um die Argumente in einer Funktion zu trennen. Das Trennzeichen Komma trennt in diesem Falle die verschiedenen Ausdrucksformen und das Ergebnis ist dasjenige des letzten Ausdrucks.
Das Kommazeichen ist nicht als Trennzeichen von Dezimalzahlen zu verwenden, da es in der Formel als Trennzeichen von Argumenten interpretiert und demzufolge ist der Zahlenwert abgeschnitten.

Dezimaltrennzeichen "."

Javascript verwendet den Punkt "." als Dezimaltrennzeichen. Unabhängig von den Einstellungen der Dezimalstellen, welche im Betriebssystem festgelegt wurden, wird somit immer der Punkt verwendet.

Einfache mathematische Berechnungen

In der Formel können mathematische Berechnungen eingegeben werden, welche aus einfachen Zahlen bestehen.

Texte und Variablen

  • Die Texte sind Werte zwischen Anführungs- und Schlusszeichen oder Zitate.
  • Die Variablen sind Elemente, die den Wert, welcher ihnen zugeteilt wurde übernehmen.
    • Der Name von Variablen muss mit einem Buchstaben oder mit einem Unterstrich beginnen.
    • Die Variablen müssen zuerst mittels Zuordnung "namevariablen = 100" definiert werden.

Beispiele:

  • Beleg 70:
    "Banana" zwischen Anführungszeichen ist ein Text
  • Beleg 101:
    Der Variable Betrag wird der Wert 100 zugeteilt.
  • Beleg 102:
    Es wird der Inhalt der Variable Betrag übernommen.
  • Belegk 103:
    Der Inhalt der Variable Betrag wird übernommen und danach 10 hinzugefügt.
  • Beleg 104:
    Der Variable Betrag wird der Inhalt der Variable Betrag mit Zusatz von 10 zugeteilt.
    Die Variable Betrag wird gleich 110 sein.
  • Beleg 105:
    Diese Formel wird monatlich durchgeführt "Repeat = M".
    • Das erste Mal 110 + 10 = 120.
    • Das zweite Mal 120 + 10 = 130 und so weiter.
  • Beleg 106:
    Wird der Kommentar entfernt, erscheint eine Warnung, dass die Variable Betrag 1 nicht definiert wurde.
  • Beleg 110:
    Wir weisen der Variable Namen den Text "Banana" zu.

Durchflussregler if .. then .. else

Es können alle Bedingungsausdrücke von JavaScript verwendet werden. Das Thema ist breit und wir verweisen Sie auf die Dokumentationen der JavaScript-Sprache.

Bitte beachten Sie nur jenes, das JavaScript betrifft:

  • Das Gleichheitszeichen "=" wird verwendet, um einer Variable einen a-Wert zuzuweisen "a=10".
  • Zum Vergleichen hingegen, werden zwei aufeinanderfolgenden Gleichheitszeichen verwendet "==". If (10==10) {1};

  • Belege 200, 201, 202 und 203:
    Trifft die in den runden Klammern nach dem Wort "if" angegebene Kondition zu "(10==10)", wird im Betrag das Resultat des nachfolgenden Ergebnisses, welches zwischen geschweiften Klammern steht "{1}", angezeigt.
    Trifft sie nicht zu "(10==9)", wird der Wert des Betrages Null sein.

Eigenschaften und Funktionen

Es können die vordefinierten Funktionen von JavaScript verwendet werden, wie z.B. die der Math-Bibliothek.

Um eine Funktion aufzurufen, wird deren Name gefolgt von den Funktionsparametern, welche in Klammern geschrieben werden, eingeben.
Die Anzahl der Parameter hängt von der Funktion ab.

  • Beleg 220:
    Math.min. (10, 30, 2) gibt den Minimalwert der angegebenen und durch Komma getrennten Werte an. 

Zeilenobjekt für die aktuelle Zeile "row"

Das Objekt row des Typs Banana.Document.Row bezieht sich auf die aktuelle Zeile.

Die Funktion value gibt durch Angabe des xml-Spaltennamens den Inhalt der spezifischen Spalte zurück.

Vordefinierte Funktionen debit und credit

Die Formel erlaubt als Resultat nur positive Werte.

  • Die Funktion debit gibt den als Parameter angegebenen Wert an, sofern dieser positiv ist.
  • Die Funktion credit gibt den als Parameter angegebenen Wert mit invertiertem Zeichen an, wenn der angegebene Wert negativ ist.

Buchhaltungsfunktionen für den gesamten Zeitraum

Werden die spezifichen Budgetfunktionen ohne Angabe eines Zeitraums angewendet, wird der Werte bezogen auf die gegenwärtige Situation zurückgegeben.
Es ist zu beachten, dass die Verarbeitung der Zeilen nach dem Datum erfolgt und es somit keine dem der Datum der Zeile in Bearbeitung folgenden Werte gibt.

Buchhaltungsfunktionen auf einen Zeitraum begrenzt

Hier werden die Funktionen für einen bestimmten Zeitraum verwendet.

Die Funktion budgetBalance für den laufenden Zeitraum ist dieselbe wie die von der Funktion ohne Zeitraum, weil die Funktion budgetBalance den Saldo am Ende des Zeitraumes wiedergibt und in jedem Falle ist die bearbeitende Zeile ebenfalls die letzte des gegenwärtigen Zeitraums.
Für die Funktionen budgetOpening und budgetTotal wird hingegen auch das Anfangsdatum berücksichtigt und demzufolge ist die Periode wichtig.

Funktionen für die Zinsberechnung

Die Funktion budgetInterest berechnet den Zins auf dem angegebenem Konto unter Berücksichtigung der effektiven Tagen (365/365) vom angegebenem Datum an.
Um die Zinsen vom laufendem Monat zu berechnen, ist als Datum dasjenige des Monatsendes anzugeben. 

  • Beleg 500:
    Der zweite Parameter ist der Zinssatz. Die 5 bedeutet 5%. Ist er positiv, werden die Zinsen für die Tage berechnet, in denen der Saldo im Soll war.
  • Beleg 520:
    Hier ist der Zinssatz negativ, demzufolge wird der Zins für die Tagen berechnet, in denen der Saldo im Haben war (z.B. -5).

Funktionen für die Berechnung der Gewinnsteuer

  • Beleg 600:
    Die Gewinnsteuer wird auf der Bewegung der Endgruppe "budgetTotal" der Erfolgsrechnung (in diesem Fall die Gruppe 02) während dem Zeitraum berechnet. 
    credit(budgetTotal("Gr=02","YC"))*0.10
    • Sie erhalten die Bewegung der Gruppe während dem laufenden Jahr
      budgetTotal("Gr=02","YC")
    • Die Funktion credit() gibt den Wert nur falls negativ zurück und konvertiert ihn in positiv.
      credit(budgetTotal("Gr=02","YC"))
    • Das Resultat wird mit 0.10 (Prozentsatz 10%) multipliziert.
    • In der Spalte KtSoll ist das Steuerkonto der Erfolgsrechnung anzugeben.
    • In der Spalte KtHaben ist das Bankkonto oder das Kreditorenkonto für die Steuer anzugeben.

Benutzerdefinierte Funktionen

Der Tabelle Dokumente wurde eine Datei "_budget.js" hinzugefügt, wo Javascript-Funktionen definiert werden können, welche in der Spalte Formel aufgerufen werden können.

Berechnung der Gewinnsteuer mit progressivem Satz

  • Beleg 610:
    Zuerst wird der Gewinn berechnet und der Variable zugeordnet.
  • Beleg 611:
    Der Gewinn wird der Funktion calcolaimposte() weitergegeben, welche den Steuerprozentsatz aufgrund des Betrages verwendet und den zu bezahlenden Steuerbetrag wiedergibt.

Andere benutzerdefinierte Funktionen

  • Beleg 620:
    Die Funktion test() wird aufgerufen, welche ebenfalls im Dokument _budget.js definiert wurde und einfach einen Wert zurückgibt.

Verwendung von Variablen für nachfolgende Berechnungen

Die Variablen sind sehr nützlich, um Werte zu speichern, welche für die nachfolgenden Berechnungen benötigt werden.

  • Belege 700, 701, 702, 703 und 704:
    Indexierung des Umsatzes
    • Beleg 700:
      Wir setzen den Index auf 1 (100%).
      Wir verwenden weder das Haben-Konto, noch das Soll-Konto, weil diese Zeile nur zum Speichern des Index gebraucht wird. 
    • Beleg 702:
      Der Umsatz ist multipliziert um 1000 vom Preisindex Wert.
      Wir benutzen die Variable Umsätze auch um die Einkaufskosten zu berechnen, indem sie um (0,2 = 20%) multipliziert wird.
    • Beleg 704:
      Ab dem 1. März wird der Index um 0,1 pro Monat erhöht.
      Ab diesem Zeitpunkt wird der Wert der Verkäufe schrittweise erhöht.
  • Belege 720, 721 und 722:
    Wir weisen der Variable vmonat (Verkäufe Monat) den Verkaufswert des Monats zu.
    Hierauf wird die Kommission berechnet.

Spalte JRepeatNumber

Im Feld JRepeatNumber des "row"-Objektes der aktuellen Zeile gibt man die Anzahl Wiederholungen ein.

  • Die erste Wiederholung ist 0.
  • Die zweite Wiederholung ist 1 und dann fortlaufend.

Der Wert von JRepeatNumber wird verwendet, wenn keine normale Variable möglich ist, weil der Wert aufgrund der Wiederholung bereits überschrieben wurde.
Durch die Verwendung von JRepeatNumber als Parameter eines Objektes können alle Sequenzen registriert und zu einem späteren Zeitpunkt wieder aufgerufen werden.

 

Vorschau der Vorlage

Luca's Bar & Restaurant

Basiswährung: .

Doppelte Buchhaltung

Tabelle: Konten
Gruppe Beschreibung Summ. in
    BILANZ  
    AKTIVEN  
  Kasse Kasse Total Aktiven
  Bank Bankkonto Total Aktiven
  Kunden Kundenkonto Total Aktiven
  Einrichtung Einrichtung Total Aktiven
  Lager Warenlager Total Aktiven
Total Aktiven   TOTAL AKTIVEN Buchhaltungssaldo
       
    PASSIVEN  
  Lieferanten Lieferantenkonto Total Passiven
  Kredit Kredit Total Passiven
  Kapital Eigenkapital Total Passiven
GV   Jahresgewinn oder Jahresverlust Total Passiven
Total Passiven   TOTAL PASSIVEN Buchhaltungssaldo
       
    ERFOLGSRECHNUNG  
    ERTRAG  
  Verkauf Verkäufe Total Ertrag
  Aktivzinsen Aktivzinsen Total Ertrag
Total Ertrag   TOTAL ERTRAG Gewinn(-) oder Verlust(+) der Erfolgsrechnung
       
    AUFWAND  
  Personal Personalkosten Total Aufwand
  Einkauf Wareneinkauf Total Aufwand
  Miete Miet- und Nebenkosten Total Aufwand
  Administration Administrative Kosten Total Aufwand
  Passivzinsen Passivzinsen Total Aufwand
  Abschreibung Amortisationen Total Aufwand
Total Aufwand   TOTAL AUFWAND Gewinn(-) oder Verlust(+) der Erfolgsrechnung
       
Gewinn(-) oder Verlust(+) der Erfolgsrechnung   Gewinn(-) oder Verlust(+) der Erfolgsrechnung GV
       
Buchhaltungssaldo   Differenz muss = 0 sein  
       

Helfen Sie uns, unsere Dokumentation zu verbessern

Ihre Anregungen wie wir diese Seite verbessern könnten sind uns "jederzeit willkommen.

Sagen Sie uns bitte, welches Thema eine bessere Erklärung braucht oder wie wir ein Thema verständlicher argumentieren könnte

Diesen Artikel teilen: Twitter | Facebook | LinkedIn | Email