Einnahmen-Überschussrechnung mit Access

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

André Minhorst, Duisburg

Die Erstellung von Einnahmen-überschussrechnungen ist für die meisten Freiberufler eine Qual: Einmal im Jahr werden alle Rechnungen des abgelaufenen Jahres gesammelt, in eine handschriftliche oder vielleicht per Excel erstellte Liste eingetragen und anschließend ausgewertet. Möglicherweise ist es auch einmal im Monat oder im Quartal soweit, dass das Finanzamt Informationen über eine eventuelle Umsatzsteuervorauszahlung erwartet. In jedem Fall hilft Ihnen die im vorliegenden Beitrag beschriebene Musterlösung weiter. Sie sorgt nicht nur für eine komfortable Eingabe, auch für die Ausgabe in Form eines entsprechenden Berichtes.

Bevor Sie erfahren, wie die einzelnen Komponenten der Musterlösung des vorliegenden Beitrags funktionieren, lernen Sie erst einmal ihre Funktionen kennen.

Die Datenbankanwendung Einnahmen-überschussrechnung soll Freiberuflern, die ihren Gewinn durch Einnahmen-überschussrechnung und nicht durch Buchführung ermitteln, den Großteil der Arbeit abnehmen.

Der Anwender muss hier nur noch die Geschäftsvorfälle eintragen. Anschließend kann er dann die entsprechenden Auswertungen wie zum Beispiel die Ermittlung der monatlichen oder quartalsmäßigen Umsatzsteuervorauszahlung und auch die Ermittlung der Umsatzsteuer für das ganze Jahr anzeigen lassen.

Hinweis

Die Anwendung ist nicht nur für Freiberufler interessant. Wenn Ihnen die Wahl zwischen Einnahmen-überschussrechnung nicht offen steht und Sie damit diese Anwendung in der Praxis nicht direkt einsetzen können, so besteht dennoch die Möglichkeit, aus den dort verwendeten Techniken zu lernen und diese in andere Anwendungen zu integrieren.

Start der Anwendung

Sie starten die Anwendung wie jede andere Datenbankanwendung auch. Es stehen zwei Versionen für Access 97 (Eü97.mdb), für Access 2000 und höher (Eü2000.mdb) zur Verfügung. Sie finden die Datenbanken auf der beiliegenden Heft-CD.

Die Anwendung erwartet Sie mit einem Intro-Dialog und zeigt statt der üblichen Access-Elemente wie dem Datenbankfenster und den Standardmenüs ein speziell auf diese Anwendung zugeschnittes Menü an (siehe Bild 1).

Praxis-Tipp

Wenn Sie die Datenbankanwendung bearbeiten möchten, halten Sie beim öffnen die Umschalttaste gedrückt, also beispielsweise beim Doppelklick auf den Datenbanknamen im Windows-Explorer. Es erscheinen dann die Standardmenüs und das Datenbankfenster.

Das Menü Datei enthält lediglich zwei Einträge zum Drucken des aktuell angezeigten Berichts sowie zum Beenden der Anwendung.

Eingabe von Geschäftsvorfällen

Die Eingabe von Rechnungsinformationen erfolgt im Dialog Geschäftsvorfall erfassen, den Sie über den Menüeintrag Geschäftsvorfälle/Neu öffnen (siehe Bild 2).

Bild 1: Startbildschirm der Musterlösung

Bild 2: Anlegen eines neuen Geschäftsvorfalls

Hier können Sie alle zu einem Geschäftsvorfall gehörenden Informationen eintragen. Das Feld Datum enthält als Eingabehilfe eine Schaltfläche, mit der Sie einen Kalender zur Auswahl des Datums anzeigen können.

Unter Geschäftsvorfall tragen Sie die Bezeichnung des Vorfalls ein. Die beiden Kombinationsfelder Kategorie und Geschäftsvorfallart dienen zur Auswahl der jeweiligen Informationen. Unter Geschäftsvorfallart gibt es dabei die beiden Möglichkeiten Eingang und Ausgang.

Die Rechnungsnummer wird entweder automatisch festgelegt oder von Hand eingegeben. Dabei wird direkt überprüft, ob die Rechnungsnummer schon vorhanden ist. Jede Rechnungsnummer kann für Eingangs- und Ausgangsrechnungen je einmal vergeben werden, da diese noch durch ein entsprechendes Präfix ergänzt werden können (zum Beispiel AR1 oder ER12).

Ob die Rechnungsnummer automatisch erstellt wird oder nicht, legen Sie in den Optionen der Anwendung fest, die weiter unten beschrieben werden. Falls die Rechnungsnummer manuell erstellt werden muss, können Sie mit der Schaltfläche mit dem Zauberstab eine freie Nummer auswählen lassen.

Im unteren Bereich kann der Anwender die Umsatzdaten eingeben. Der Umsatz selbst kann wahlweise als Brutto- oder Nettoumsatz eingegeben werden. Es ist lediglich festzulegen, welche Variante gewählt wurde. Die Option ist auf den Wert Netto voreingestellt.

Geschäftsvorfall als Serie anlegen

Beim Erfassen von Geschäftsvorfällen können Sie wahlweise nur einen, aber auch mehrere Vorfälle mit gleichen Eigenschaften anlegen. Die einzige Variable ist dabei das Datum.

Zum Anlegen einer Serie klicken Sie auf die Schaltfläche Serie bearbeiten und öffnen so den Dialog Datumserie bearbeiten.

Hier können Sie sowohl das Startdatum anpassen, das auf den im vorherigen Dialog festgelegten Datumswert eingestellt ist. Außerdem wählen Sie hier das Intervall aus (Tag, Woche, Monat oder Jahr) und geben die Schrittweite an. In Bild 3 wird beispielsweise eine Terminserie mit zweiwöchigem Abstand über zwölf Einheiten festgelegt.

Ansehen der Geschäftsvorfälle in der übersicht

Die übersicht kann über den Menüeintrag Geschäftsvorfälle/übersicht aufgerufen werden. Sie zeigt in zwei Tabellen die nach Eingang und Ausgang unterteilten Geschäftsvorfälle an (siehe Bild 4).

Die angezeigten Daten können nach dem Datum und nach Geschäftsvorfällen ohne Rechnungsnummern gefiltert werden. Letzteres hat den Hintergrund, dass beim Anlegen von Serien bei ausgeschalteter automatischer Rechnungsnummerierung Geschäftsvorfälle ohne Rechnungsnummer generiert werden. Mit der Filterfunktion können Sie diese Datensätze leicht identifizieren und um entsprechende Rechnungsnummern ergänzen.

Bild 3: Anlegen einer Serie von Geschäftsvorfällen

Bild 4: übersicht der Geschäftsvorfälle

Das Formular enthält je Datensatz zwei Schaltflächen, mit denen der Datensatz entweder im Detail angezeigt oder gelöscht werden kann. Letzteres natürlich erst nach der Bestätigung durch den Benutzer.

Auswertung der Geschäftsvorfälle

Die Anwendung enthält einen Bericht, der die Eigenschaften der Geschäftsvorfälle auf unterschiedliche Arten darstellen kann.

Der Dialog Auswertungen anzeigen dient der Einstellung der Berichtseigenschaften. Je nachdem, über welchen der Untereinträge des Menüpunktes Auswertung Sie das Formular aufrufen, wird eine der drei unter Auswertung angezeigten Punkte ausgewählt.

Neben der Auswahl einer der drei Varianten Monats-, Quartals- und Jahresauswertung mit den entsprechenden Datumsangaben können Sie in dem Dialog noch festlegen, wie die Daten gruppiert werden sollen.

Dabei stehen die Varianten Zeitraum und Eingang/Ausgang zur Verfügung. Außerdem können Sie die Reihenfolge der Gruppierung festlegen.

Anzeige der Auswertung

Nach dem Festlegen der Auswertungseigenschaften und einem Mausklick auf die Schaltfläche Anzeigen öffnet die Anwendung den Bericht mit der Auswertung (siehe Bild 6).

Der Bericht zeigt die Auswertung für die in Bild 5 gemachten Angaben. Er enthält die Daten für das dritte Quartal, zuerst nach dem Monat und dann nach Eingang und Ausgang gruppiert. Jede Gruppierung enthält eine Summe der enthaltenen Beträge. Am Fuß des Berichts wird der Einnahmen-überschuss angezeigt.

Bild 5: Anpassung der anzuzeigenden Auswertung

Bild 6: Auswertung der Einnahmen-überschussrechnung

Verwaltung von Stammdaten

Im Menü Stammdaten finden Sie drei Einträge, die zum Bearbeiten der Kategorien, Mehrwertsteuersätze und sonstiger Optionen dienen.

Kategorien bearbeiten

über den Menüeintrag Stammdaten/Kategorien öffnen Sie den Dialog Kategorien. Der Dialog dient zum Bearbeiten und Löschen bestehender und zum Anlegen neuer Kategorien (siehe Bild 7). Eine Umbenennung von Kategorien wirkt sich auch unmittelbar auf bereits angelegte Geschäftsvorfälle aus.

Mehrwertsteuersätze bearbeiten

Die Mehrwertsteuersätze können im Dialog Mehrwertsteuersätze bearbeitet werden (siehe Bild 8). Da sich änderungen der Steuersätze ebenfalls auf bereits vorhandene Geschäftsvorfälle auswirken würden, ist die Bearbeitung gesperrt. Es können lediglich neue Steuersätze angelegt werden. Auch das Löschen von Steuersätzen, die bereits für einen Geschäftsvorfall festgelegt wurden, ist nicht möglich.

Sonstige Optionen

Die Anwendung bietet die Möglichkeit, Rechnungen automatisch mit einer Nummer zu versehen. Das ist vor allem dann interessant, wenn Geschäftsvorfälle auftreten, die periodisch wiederkehren.

Bild 7: Bearbeiten von Kategorien

Bild 8: Dialog zum Verwalten der Mehrwertsteuersätze

Bild 9: Optionen für die Rechnungseingabe und -ausgabe

Im oberen Teil des Dialoges Optionen können Sie festlegen, ob die Rechnungsnummern automatisch oder manuell erstellt werden sollen.

Im unteren Teil legen Sie fest, mit welchem Präfix Eingang- und Ausgangsrechnungen bei der Ausgabe per Bericht versehen werden sollen (siehe Bild 9).

Das Datenmodell der Einnahmen-überschussrechnung beinhaltet vier Tabellen, die zur Beschreibung der Geschäftsvorfälle und deren Details dienen. Informationen zu den einzelnen Feldern der Tabellen und deren Verknüpfungen können Sie Bild 10 entnehmen.

Neben der Haupttabelle tblGeschaeftsvorfaelle gibt es drei Lookup-Tabellen, mit denen die Kategorie, der Mehrwertsteuersatz sowie die Geschäftsvorfallart des Geschäftsvorfalls ausgewählt werden können.

Hinweis

Für weitere Informationen über die Tabellen und deren Aufbau konsultieren Sie die Musterlö-sung.

Neben diesen Tabellen gibt es lediglich noch die Tabelle tblOptionen. Diese Tabelle besteht nur aus einem Ja/Nein-Feld, in dem gespeichert wird, ob die Rechnungsnummern automatisch oder manuell erstellt werden sollen.

Bild 10: Datenmodell der Einnahmen-überschussrechnung

Die Datenbank enthält eine benutzerdefinierte Menüleiste und zeigt bis auf wenige Ausnahmen keine Standardmenüs an. Eine dieser Ausnahmen ist die Anzeige von Berichten. Hier ist die Anzeige der Berichtsmenüleiste erforderlich, um beispielsweise den Zoom-Faktor und andere Ansichteigenschaften einzustellen.

Steuerung der Menüleiste

Die Steuerung der Menüleiste erfolgt über einen Satz speziell dafür vorgesehener Funktionen und Prozeduren, die Sie in dem VBA-Modul mdlMenueleisten finden.

Hinweis

Die Funktionen und Prozeduren zum Erstellen werden im Beitrag Dynamische Menüs mit VBA in Ausgabe 4/2003 von Access im Unternehmen erläutert. Die dort vorgestellten Methoden werden jedoch ständig optimiert, sodass die Funktionen unter Umständen kleine Unterschiede aufweisen können.

Dieses Modul besteht aus zwei unterschiedlichen Sätzen von Prozeduren und Funktionen:

Der erste Satz umfasst alle Prozeduren, die dem Anlegen der Menüs, Untermenüs und Steuerelemente dienen. Diese werden seit Ausgabe 4/2003 von Access im Unternehmen für einige Musterlösungen verwendet und sind in jeder Musterlösung gleich. Es können lediglich änderungen durch Korrekturen von Fehlern oder durch Optimierungen auftreten.

Der zweite Satz besteht aus den anwendungsspezifischen Prozeduren und Funktionen. Die wichtigste Prozedur ist dabei die Prozedur MenueErstellen. Sie enthält neben einigen anderen Anweisungen die Aufrufe der Prozeduren aus der ersten Gruppe, um die einzelnen Elemente des Menüs anzulegen. Außerdem gibt es noch die Funktionen, die durch das Betätigen der einzelnen Menüeinträge ausgelöst werden. Diese können beispielsweise dem Drucken eines Berichts, Beenden der Datenbank oder dem Anzeigen eines bestimmten Formulars dienen.

Wenn Sie sich den Inhalt des Moduls zu Gemüte führen und gegebenenfalls auf den oben genannten Beitrag Dynamische Menüs mit VBA zurückgreifen, werden Sie schnell feststellen, wie einfach Sie auch Ihren eigenen Anwendungen dynamische Menüs hinzufügen können.

Beim normalen Start der Anwendung, also ohne gleichzeitiges Drücken der Umschalttaste, wird automatisch das Formular frmIntro angezeigt.

Dieses Formular finden Sie in allen Musterlösungen und Beispieldatenbanken. In Anwendungen mit benutzerdefinierter Menüleiste hat es allerdings eine besondere Funktion, wie folgende Punkte zeigen:

  • Das Formular schaltet beim Start die Warnmeldungen aus, wie zum Beispiel bei Datensatzänderungen, blendet alle Standardmenüs aus und ruft die Prozedur zum Erstellen des benutzerdefinierten Menüs auf (s. Quellcode 1).
  • Das Formular wird nach dem Mausklick auf Start nicht geschlossen, sondern lediglich unsichtbar gemacht (s. Quellcode 2).
  • Dadurch ist es bis zum Schließen der Datenbank geöffnet. Wird die Datenbank geschlossen, passiert das gleiche mit dem Formular. Dabei wird das Ereignis Beim Entladen ausgelöst, wo die herkömmlichen Menüs wieder eingeblendet und die Fehlermeldungen wieder aktiviert werden (s. Quellcode 3).
  • Private Sub Form_Current()
        DoCmd.SetWarnings False
        AlleMenueleistenAusblenden
        MenueErstellen
    End Sub

    Quellcode 1

    Private Sub lblStart_Click()
        Me.Visible = False
    End Sub

    Quellcode 2

    Private Sub Form_Unload(Cancel As _    Integer)
        If Me.ctlDatenbankSchliessen = _        False Then
            DoCmd.ShowToolbar "Database"
            DoCmd.ShowToolbar "Menu Bar"
        End If
        DoCmd.SetWarnings True
    End Sub

    Quellcode 3

    Praxis-Tipp

    Natürlich sehen Sie von all diesen Aktionen nicht sehr viel, da das Formular ja unsichtbar ist. Wenn Sie trotzdem sichergehen wollen, dass die gewünschten Schritte durchgeführt werden, sollten Sie einfach eine MsgBox-Anweisung in Quellcode 3 unterbringen. Sie werden dann beim Schließen der Datenbank feststellen, dass die Vorgehensweise funktioniert.

    Für die Funktionalität der Anwendung sind die Formulare zur Anzeige der übersicht über die Geschäftsvorfälle, zum Anlegen neuer Geschäftsvorfälle und damit verbunden das Formular zum Definieren von Terminserien sowie das Formular zur Festlegung der Auswertungsoptionen interessant.

    Die weiteren Formulare dienen lediglich dem Verwalten der Stammdaten wie der Optionen, der Kategorien und der Mehrwertsteuersätze und weisen keine besonders interessanten Eigenschaften auf.

    Da eine übersicht ohne Daten keinen Sinn macht, lernen Sie nun zunächst die Formulare zum Eingeben der Geschäftsvorfälle kennen.

    Eingeben von Geschäftsvorfällen

    Das Formular frmGeschäftsvorfallDetailansicht dient im Wesentlichen der Eingabe neuer Geschäftsvorfälle. Es kann zwar auch zum Bearbeiten von Datensätzen verwendet werden, aber dies sollte in der Regel nicht notwendig sein, da beim Anlegen eines Geschäftsvorfalles mit ein wenig Konzentration wohl kaum Fehler passieren dürften.

    Das Formular besteht aus den in Bild 11 dargestellten Steuerelementen. Die Eingabefelder orientieren sich exakt an den Feldern der Tabelle tblGeschaeftsvorfaelle, lediglich das Primärindexfeld GeschaeftsvorfallID wird nicht angezeigt. Dementsprechend dient die Tabelle tblGeschaeftsvorfaelle als Datenherkunft für das Formular.

    Außerdem enthält das Formular zwei Schaltflächen, die Funktionen zur Erleichterung der Eingabe enthalten, sowie einige Steuerelemente zur Anzeige von Informationen rund um den Umsatz im unteren Bereich des Formulars.

    Bild 11: Entwurfsansicht des Formulars frmGeschaeftsvorfallDetailansicht

    öffnen des Formulars

    Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

    Testzugang

    eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

    diesen und alle anderen Artikel mit dem Jahresabo

    Schreibe einen Kommentar