Steuerfeste Rechnungsverwaltung

Zusammenfassung

Entwickeln Sie eine Rechnungsverwaltung mit beliebigen Mehrwertsteuersätzen.

Techniken

Tabellen, Formular, Berichte, VBA

Voraussetzungen

Access 97 und höher

Beispieldatenbank

Rechnungsverwaltung97.mdb, Rechnungsverwaltung00.mdb

André Minhorst, Duisburg

Wer individuelle Arbeiten verrichtet, möchte diese auch in Rechnung stellen. Also: Word anschmeißen, Formatvorlage rauskramen, Adresse, Datum und Positionen aufschreiben und dann noch schnell mit den Taschenrechner den Rechnungsbetrag inklusive Steuern ausrechnen. Nein! Das ist doch viel zu umständlich. Viel einfacher geht es mit der Rechnungsverwaltung, die Sie im vorliegenden Beitrag kennen lernen.

Freiberufler und kleine Unternehmen, die nicht gerade massenweise Produkte oder Leistungen verkaufen, bauen an Stelle von SAP für die Rechnungsverwaltung meist auf Word und Excel.

Da diese Programme aber nun auch nicht gerade für diese Arbeit ausgelegt sind, greifen Sie einfach mal wieder zu Access.

Kunden, Rechnungen und Positionen lassen sich in wenigen Tabellen verwalten, Formulare sorgen für eine komfortable Eingabe und die Rechnung gibt es natürlich in Form eines Berichts.

Neue Steuersätze inklusive

Nun soll das Ganze natürlich so flexibel bleiben wie möglich – das heißt vor allem, dass die Einführung eines neuen Mehrwertsteuersatzes kein Update bedeutet, sondern lediglich das Hinzufügen eines Datensatzes in der passenden Tabelle.

Außerdem sollte der Benutzer die relevanten Texte anpassen können, ohne direkt den Entwurf des Berichts bearbeiten zu müssen. Statt eines vorgefertigten “Sehr geehrte Damen und Herren” soll also durchaus eine individuelle Ansprache möglich sein, aber diese Eingabe muss im Formular, nicht im Berichtsentwurf erfolgen.

Dadurch, dass alle änderungen in passenden Textfeldern im Formular passieren und die Inhalte in den fertig formatierten Bericht gelangen, ist zumindest sichergestellt, dass die Rechnungen ein einheitliches Layout liefern. In Word ist die Wahrscheinlichkeit, in der Zeile zu verrutschen oder verschiedene Zeichenformate zu verwenden, deutlich höher.

Die Rechnungsverwaltung bewahrt den aktuellen und kommende Steuersätze in einer eigenen Tabelle namens tblSteuersaetze auf (siehe Bild 1). Das ist sehr wichtig, auch für eigene Anwendungen: Wenn sich der Mehrwertsteuersatz ändert, müssen Sie sehr vorsichtig vorgehen. Ein unbe

dachtes ändern von 16 % auf 19 % dürfte in vielen Fällen zu Problemen führen, weil dadurch bestehende Datensätze und damit Rechnungen plötzlich Positionen mit einem neuen Steuersatz enthalten – und sich die Brutto-Rechnungsbeträge damit ändern können.

Bild 1: Tabelle zur Verwaltung der Steuersätze

Bild 2: Das Hauptformular zu Rechnungseingabe

Das gilt natürlich nicht pauschal für alle Anwendungen, sondern ist eher ein gut gemeinter Ratschlag: Wenn Sie selbst an einer Access- oder sonstigen Anwendung änderungen vornehmen, um den Steuersatz zu aktualisieren, passen Sie einfach auf.

Der vorliegenden Rechnungsverwaltung können Sie mit beliebigen Steuersätzen kommen: Hauptsache, Sie legen dafür einen neuen Datensatz in der Tabelle tblSteuersaetze an und verwenden die neuen Steuersätze erst ab deren Einführung in Ihren Rechnungen.

Man hätte der Anwendung noch ein Formular zum Ergänzen der Steuersätze mitgeben können – aber die sehr seltenen Ergänzungen kann man auch mal direkt in der Tabelle vornehmen. Natürlich nur, wenn man die Anwendung nur selbst verwendet und nicht weitergibt.

Das Hauptformular der Rechnungsverwaltung dient der Eingabe von Rechnungen (siehe Bild 2).

Es zeigt alle wichtigen Details im überblick an; lediglich zum Hinzufügen oder Bearbeiten eines Kunden muss man ein weiteres Formular öffnen. Die Bedienung des Formulars bedarf keiner weiteren Anleitung. Falls Sie ein Eingabefeld für die Rechnungsnummer vermissen: Es gibt keines. Die Anwendung nimmt einem die Erstellung der Rechnungsnummer ab und erzeugt diese als Kombination aus der Jahreszahl und einer vierstelligen laufenden Nummer wie im folgenden Beispiel (etwa 2006-0001). Einzelheiten dazu finden Sie weiter unten.

Bild 3: Eingeben von Kundendaten

Bild 4: Anzeige einer abgeschlossenen Rechnung

Kunden anlegen und bearbeiten

Die Schaltfläche Bearbeiten neben dem Kombinationsfeld zur Auswahl eines Kunden öffnet das Formular frmKunden – entweder im Bearbeitungs- oder im Anfügemodus, je nachdem, ob im Kombinationsfeld bereits ein Kunde ausgewählt ist.

Die einzige Besonderheit beim Anlegen eines Kunden ist, dass Sie zusätzlich zum Namen und/oder der Firma noch eine Bezeichnung eingeben müssen. Diese wird später im Rechnungsformular zur Auswahl angeboten und sorgt zum einen dafür, dass man keine Funktion mehr stricken muss, die beim Fehlen von Angaben wie Name oder Firma einen passenden Ausdruck zur Anzeige zusammenbaut. Zum anderen können Sie so mehrere Rechnungsadressen etwa für die gleiche Firma anlegen und diese im Kombinationsfeld an ihren Bezeichnungen unterscheiden (siehe Bild 3).

Rechnungen abschließen

Irgendwann einmal ist der Punkt erreicht, an dem man sicher keine änderungen an einer Rechnung mehr vornehmen muss – normalerweise sollte dies spätestens mit der Bezahlung der Fall sein. Damit Sie bereits erledigte Rechnungen nicht versehentlich ändern, können Sie diese mit der Schaltfläche Rechnung abschließen sperren – die dadurch ausgelöste Funktion schreibt lediglich das aktuelle Datum in ein Feld der Rechnungstabelle und aktualisiert das Formular. Dieses wiederum deaktiviert alle Eingabefelder, sobald es eine gesperrte Rechnung anzeigt.

Es lassen sich dann lediglich noch die drei Schaltflächen im unteren Bereich des Formulars betätigen (siehe Bild 4).

Drucken oder Vorschau

Zwei der drei Schaltflächen, die auch bei gesperrtem Datensatz noch aktiviert sind, drucken die Rechnung direkt auf den aktuellen Standarddrucker aus oder zeigen sie in der Berichtsvorschau an. Letzteres eröffnet die Möglichkeit, über das Datei-Menü den Drucken-Dialog zu öffnen und einen alternativen Drucker auszuwählen.

Schneller geht”s nicht

Wenn man ein paar Rechnungen angelegt hat, liegen wohl alle notwendigen Floskeln etwa für den Rechnungstext in den einen oder anderen Rechnungsdatensatz vor. Außerdem arbeitet der eine oder andere ja doch mehrmals für den gleichen Auftraggeber und erledigt unter Umständen sogar die gleichen Aufgaben für diesen.

Für all diese Fälle ist die Schaltfläche Neue Rechnung auf Basis dieser Rechnung vorgesehen: Sie legt einen neuen Rechnungsdatensatz an, der genau die gleichen Daten der aktuellen Rechnung enthält, und kopiert auch die enthaltenen Rechnungspositionen mit. Einzig die Rechnungsnummer wird automatisch aktualisiert.

Druck machen

Die Ausgabe der Rechnung erfolgt im Bericht rptRechnung. Diesen müssen Sie freilich noch an Ihre Bedürfnisse anpassen, da Sie vermutlich nicht Max Mustermann heißen (siehe Bild 5).

Bild 5: Vorschau auf die zu erstellende Rechnung

Da sich Ihre Adresse, Bankverbindung, Steuernummer und dergleichen vermutlich nur selten ändern, passen Sie diese nur einmal an. Dies geschieht direkt im Berichtsentwurf; eine Tabelle und die notwendigen Formulare zum komfortablen Eingeben dieser Daten wären zwar nette Features, würden den Rahmen dieses Artikels aber sprengen. Außerdem mag vielleicht der eine oder andere eine ganz individuelle Gestaltung seines Briefkopfes vornehmen oder hat gar eine Vorgabe umzusetzen.

Das Datenmodell besteht aus mehr Tabellen, als es die recht einfache und wenig umfangreiche Oberfläche erkennen lässt (siehe Bild 6).

Die Tabellen tblRechnungen, tblKunden und tblPositionen enthalten die wesentlichen Daten, die Tabellen tblAnreden, tblSteuersaetze und tblEinheiten sind lediglich Lookuptabellen zur vereinfachten Eingabe von Daten.

Zwischen tblRechnungen und tblKunden besteht eine 1:n-Beziehung, da jeder Rechnung ein Kunde, jedem Kunden aber mehrere Rechnungen zugewiesen werden können.

Andersherum ist es bei den Rechnungen und den enthaltenen Positionen: Jede Rechnung kann mehrere Positionen enthalten, aber jede Position nur in einer einzigen Rechnung vorkommen.

Das ist ein großer Unterschied zum Datenmodell etwa von Bestellverwaltungen wie der Nordwind-Datenbank: Hier dient die Positionstabelle erst dazu, beliebige Kombinationen aus Rechnungen und Artikeln festzulegen; in der vorliegenden Anwendung sind jedoch keine sich wiederholenden Positionen eingeplant.

Die Anwendung enthält drei Formulare, von denen sfmRechnungen als Unterformular zur Anzeige der Rechnungspositionen im Formular frmRechnungen dient. Das dritte Formular im Bunde heißt frmKunden und dient zum Anlegen und Bearbeiten von Kunden.

Bild 6: Das Datenmodell mit allen Tabellen der Rechnungsverwaltung

Bild 7: Das Unterformular sfmRechnungen enthält Steueelemente zur Bearbeitung von Rechnungspositionen.

Formular zur Anzeige von Rechnungspositionen

Das im Formular frmRechnungen enthaltene Unterformular sfmRechnungen dient zur Eingabe der Positionen einer Rechnung (siehe Bild 7). Das Unterformular ist an die Tabelle tblPositionen gebunden und enthält die in der Abbildung zu erkennenden Felder der Tabelle. Das einzige weitere Steuerelement ist das nur durch den Rahmen zu erkennende Textfeld unten rechts im Detailbereich. Dieses benötigt man beim Anzeigen einer gesperrten Rechnung zum Deaktivieren unpassender Steuerelemente – dazu später mehr.

Formular zur Anzeige der Rechnungen

Einige Details mehr weist das Formular frmRechnungen auf. Es ist an die Tabelle tblRechnungen gebunden, zeigt aber nicht alle enthaltenen Felder in Form bearbeitbarer Textfelder an – die Rechnungsnummer etwa taucht nur in der Titelleiste des Formulars auf.

Ermittlung der Rechnungsnummer

Eine der wichtigsten Funktionen dieses Formulars ist die Ermittlung der Rechnungsnummer. Die fortlaufende Nummer im aktuellen Jahr speichert die Datenbank im Feld Rechnungsnummer der Tabelle tblRechnungen. Die in diesem Feld gespeicherten Rechnungsnummern sollen jedes Jahr mit 1 beginnen und dann fortlaufend durchnummeriert werden. Die Nummern gelöschter Rechnungen werden – sofern es nicht um die zuletzt eingegebene Rechnung handelt – nicht wieder verwendet.

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

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar