{"id":55000382,"date":"2006-08-01T00:00:00","date_gmt":"2021-02-11T21:05:33","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=382"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Steuerfeste_Rechnungsverwaltung","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/","title":{"rendered":"Steuerfeste Rechnungsverwaltung"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg06.met.vgwort.de\/na\/7df74bc67ba24ed2ba64011550c02bb0\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<h3>Zusammenfassung<\/h3>\n<p>Entwickeln Sie eine Rechnungsverwaltung mit beliebigen Mehrwertsteuers&auml;tzen.<\/p>\n<h3>Techniken<\/h3>\n<p>Tabellen, Formular, Berichte, VBA<\/p>\n<h3>Voraussetzungen<\/h3>\n<p>Access 97 und h&ouml;her<\/p>\n<h3>Beispieldatenbank<\/h3>\n<p>Rechnungsverwaltung97.mdb, Rechnungsverwaltung00.mdb<\/p>\n<h3><\/h3>\n<p><b>Andr&eacute; Minhorst, Duisburg<\/b><\/p>\n<p><b>Wer individuelle Arbeiten verrichtet, m&ouml;chte diese auch in Rechnung stellen. Also: Word anschmei&szlig;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&auml;ndlich. Viel einfacher geht es mit der Rechnungsverwaltung, die Sie im vorliegenden Beitrag kennen lernen.<\/b><\/p>\n<p>Freiberufler und kleine Unternehmen, die nicht gerade massenweise Produkte oder Leistungen verkaufen, bauen an Stelle von SAP f&uuml;r die Rechnungsverwaltung meist auf Word und Excel.<\/p>\n<p>Da diese Programme aber nun auch nicht gerade f&uuml;r diese Arbeit ausgelegt sind, greifen Sie einfach mal wieder zu Access.<\/p>\n<p>Kunden, Rechnungen und Positionen lassen sich in wenigen Tabellen verwalten, Formulare sorgen f&uuml;r eine komfortable Eingabe und die Rechnung gibt es nat&uuml;rlich in Form eines Berichts.<\/p>\n<h3>Neue Steuers&auml;tze inklusive<\/h3>\n<p>Nun soll das Ganze nat&uuml;rlich so flexibel bleiben wie m&ouml;glich &#8211; das hei&szlig;t vor allem, dass die Einf&uuml;hrung eines neuen Mehrwertsteuersatzes kein Update bedeutet, sondern lediglich das Hinzuf&uuml;gen eines Datensatzes in der passenden Tabelle.<\/p>\n<p>Au&szlig;erdem sollte der Benutzer die relevanten Texte anpassen k&ouml;nnen, ohne direkt den Entwurf des Berichts bearbeiten zu m&uuml;ssen. Statt eines vorgefertigten &#8222;Sehr geehrte Damen und Herren&#8220; soll also durchaus eine individuelle Ansprache m&ouml;glich sein, aber diese Eingabe muss im Formular, nicht im Berichtsentwurf erfolgen.<\/p>\n<p>Dadurch, dass alle &auml;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&ouml;her.<\/p>\n<p>Die Rechnungsverwaltung bewahrt den aktuellen und kommende Steuers&auml;tze in einer eigenen Tabelle namens tblSteuersaetze auf (siehe Bild 1). Das ist sehr wichtig, auch f&uuml;r eigene Anwendungen: Wenn sich der Mehrwertsteuersatz &auml;ndert, m&uuml;ssen Sie sehr vorsichtig vorgehen. Ein unbe<\/p>\n<p>dachtes &auml;ndern von 16 % auf 19 % d&uuml;rfte in vielen F&auml;llen zu Problemen f&uuml;hren, weil dadurch bestehende Datens&auml;tze und damit Rechnungen pl&ouml;tzlich Positionen mit einem neuen Steuersatz enthalten &#8211; und sich die Brutto-Rechnungsbetr&auml;ge damit &auml;ndern k&ouml;nnen.<\/p>\n<p><IMG height=\"190\" src=\"..\/fileadmin\/_temp_\/{4EA5D99B-D4F1-4619-B700-3419FD290944}\/pic001.png\" width=\"354\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Tabelle zur Verwaltung der Steuers&auml;tze<\/span><\/b><\/p>\n<p><IMG height=\"389\" src=\"..\/fileadmin\/_temp_\/{4EA5D99B-D4F1-4619-B700-3419FD290944}\/pic002.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Das Hauptformular zu Rechnungseingabe<\/span><\/b><\/p>\n<p>Das gilt nat&uuml;rlich nicht pauschal f&uuml;r alle Anwendungen, sondern ist eher ein gut gemeinter Ratschlag: Wenn Sie selbst an einer Access- oder sonstigen Anwendung &auml;nderungen vornehmen, um den Steuersatz zu aktualisieren, passen Sie einfach auf.<\/p>\n<p>Der vorliegenden Rechnungsverwaltung k&ouml;nnen Sie mit beliebigen Steuers&auml;tzen kommen: Hauptsache, Sie legen daf&uuml;r einen neuen Datensatz in der Tabelle tblSteuersaetze an und verwenden die neuen Steuers&auml;tze erst ab deren Einf&uuml;hrung in Ihren Rechnungen.<\/p>\n<p>Man h&auml;tte der Anwendung noch ein Formular zum Erg&auml;nzen der Steuers&auml;tze mitgeben k&ouml;nnen &#8211; aber die sehr seltenen Erg&auml;nzungen kann man auch mal direkt in der Tabelle vornehmen. Nat&uuml;rlich nur, wenn man die Anwendung nur selbst verwendet und nicht weitergibt.<\/p>\n<p>Das Hauptformular der Rechnungsverwaltung dient der Eingabe von Rechnungen (siehe Bild 2).<\/p>\n<p>Es zeigt alle wichtigen Details im &uuml;berblick an; lediglich zum Hinzuf&uuml;gen oder Bearbeiten eines Kunden muss man ein weiteres Formular &ouml;ffnen. Die Bedienung des Formulars bedarf keiner weiteren Anleitung. Falls Sie ein Eingabefeld f&uuml;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.<\/p>\n<p><IMG height=\"317\" src=\"..\/fileadmin\/_temp_\/{4EA5D99B-D4F1-4619-B700-3419FD290944}\/pic003.png\" width=\"278\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Eingeben von Kundendaten<\/span><\/b><\/p>\n<p><IMG height=\"395\" src=\"..\/fileadmin\/_temp_\/{4EA5D99B-D4F1-4619-B700-3419FD290944}\/pic004.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Anzeige einer abgeschlossenen Rechnung<\/span><\/b><\/p>\n<h3>Kunden anlegen und bearbeiten<\/h3>\n<p>Die Schaltfl&auml;che Bearbeiten neben dem Kombinationsfeld zur Auswahl eines Kunden &ouml;ffnet das Formular frmKunden &#8211; entweder im Bearbeitungs- oder im Anf&uuml;gemodus, je nachdem, ob im Kombinationsfeld bereits ein Kunde ausgew&auml;hlt ist.<\/p>\n<p>Die einzige Besonderheit beim Anlegen eines Kunden ist, dass Sie zus&auml;tzlich zum Namen und\/oder der Firma noch eine Bezeichnung eingeben m&uuml;ssen. Diese wird sp&auml;ter im Rechnungsformular zur Auswahl angeboten und sorgt zum einen daf&uuml;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&ouml;nnen Sie so mehrere Rechnungsadressen etwa f&uuml;r die gleiche Firma anlegen und diese im Kombinationsfeld an ihren Bezeichnungen unterscheiden (siehe Bild 3).<\/p>\n<h3>Rechnungen abschlie&szlig;en<\/h3>\n<p>Irgendwann einmal ist der Punkt erreicht, an dem man sicher keine &auml;nderungen an einer Rechnung mehr vornehmen muss &#8211; normalerweise sollte dies sp&auml;testens mit der Bezahlung der Fall sein. Damit Sie bereits erledigte Rechnungen nicht versehentlich &auml;ndern, k&ouml;nnen Sie diese mit der Schaltfl&auml;che Rechnung abschlie&szlig;en sperren &#8211; die dadurch ausgel&ouml;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.<\/p>\n<p>Es lassen sich dann lediglich noch die drei Schaltfl&auml;chen im unteren Bereich des Formulars bet&auml;tigen (siehe Bild 4).<\/p>\n<h3>Drucken oder Vorschau<\/h3>\n<p>Zwei der drei Schaltfl&auml;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&ouml;ffnet die M&ouml;glichkeit, &uuml;ber das Datei-Men&uuml; den Drucken-Dialog zu &ouml;ffnen und einen alternativen Drucker auszuw&auml;hlen.<\/p>\n<h3>Schneller geht&#8220;s nicht<\/h3>\n<p>Wenn man ein paar Rechnungen angelegt hat, liegen wohl alle notwendigen Floskeln etwa f&uuml;r den Rechnungstext in den einen oder anderen Rechnungsdatensatz vor. Au&szlig;erdem arbeitet der eine oder andere ja doch mehrmals f&uuml;r den gleichen Auftraggeber und erledigt unter Umst&auml;nden sogar die gleichen Aufgaben f&uuml;r diesen.<\/p>\n<p>F&uuml;r all diese F&auml;lle ist die Schaltfl&auml;che Neue Rechnung auf Basis dieser Rechnung vorgesehen: Sie legt einen neuen Rechnungsdatensatz an, der genau die gleichen Daten der aktuellen Rechnung enth&auml;lt, und kopiert auch die enthaltenen Rechnungspositionen mit. Einzig die Rechnungsnummer wird automatisch aktualisiert.<\/p>\n<h3>Druck machen<\/h3>\n<p>Die Ausgabe der Rechnung erfolgt im Bericht rptRechnung. Diesen m&uuml;ssen Sie freilich noch an Ihre Bed&uuml;rfnisse anpassen, da Sie vermutlich nicht Max Mustermann hei&szlig;en (siehe Bild 5).<\/p>\n<p><IMG height=\"639\" src=\"..\/fileadmin\/_temp_\/{4EA5D99B-D4F1-4619-B700-3419FD290944}\/pic005.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Vorschau auf die zu erstellende Rechnung<\/span><\/b><\/p>\n<p>Da sich Ihre Adresse, Bankverbindung, Steuernummer und dergleichen vermutlich nur selten &auml;ndern, passen Sie diese nur einmal an. Dies geschieht direkt im Berichtsentwurf; eine Tabelle und die notwendigen Formulare zum komfortablen Eingeben dieser Daten w&auml;ren zwar nette Features, w&uuml;rden den Rahmen dieses Artikels aber sprengen. Au&szlig;erdem mag vielleicht der eine oder andere eine ganz individuelle Gestaltung seines Briefkopfes vornehmen oder hat gar eine Vorgabe umzusetzen.<\/p>\n<p>Das Datenmodell besteht aus mehr Tabellen, als es die recht einfache und wenig umfangreiche Oberfl&auml;che erkennen l&auml;sst (siehe Bild 6).<\/p>\n<p>Die Tabellen tblRechnungen, tblKunden und tblPositionen enthalten die wesentlichen Daten, die Tabellen tblAnreden, tblSteuersaetze und tblEinheiten sind lediglich Lookuptabellen zur vereinfachten Eingabe von Daten.<\/p>\n<p>Zwischen tblRechnungen und tblKunden besteht eine 1:n-Beziehung, da jeder Rechnung ein Kunde, jedem Kunden aber mehrere Rechnungen zugewiesen werden k&ouml;nnen.<\/p>\n<p>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.<\/p>\n<p>Das ist ein gro&szlig;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.<\/p>\n<p>Die Anwendung enth&auml;lt drei Formulare, von denen sfmRechnungen als Unterformular zur Anzeige der Rechnungspositionen im Formular frmRechnungen dient. Das dritte Formular im Bunde hei&szlig;t frmKunden und dient zum Anlegen und Bearbeiten von Kunden.<\/p>\n<p><IMG height=\"243\" src=\"..\/fileadmin\/_temp_\/{4EA5D99B-D4F1-4619-B700-3419FD290944}\/pic006.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6:  Das Datenmodell mit allen Tabellen der Rechnungsverwaltung<\/span><\/b><\/p>\n<p><IMG height=\"145\" src=\"..\/fileadmin\/_temp_\/{4EA5D99B-D4F1-4619-B700-3419FD290944}\/pic007.png\" width=\"500\" border=\"0\"><\/p>\n<p><!--30percent--><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7:  Das Unterformular sfmRechnungen enth&auml;lt Steueelemente zur Bearbeitung von Rechnungspositionen.<\/span><\/b><\/p>\n<p><b>Formular zur Anzeige von Rechnungspositionen<\/b><\/p>\n<p>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&auml;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&ouml;tigt man beim Anzeigen einer gesperrten Rechnung zum Deaktivieren unpassender Steuerelemente &#8211; dazu sp&auml;ter mehr.<\/p>\n<p><b>Formular zur Anzeige der Rechnungen<\/b><\/p>\n<p>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 &#8211; die Rechnungsnummer etwa taucht nur in der Titelleiste des Formulars auf.<\/p>\n<h3>Ermittlung der Rechnungsnummer<\/h3>\n<p>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&ouml;schter Rechnungen werden &#8211; sofern es nicht um die zuletzt eingegebene Rechnung handelt &#8211; nicht wieder verwendet.<\/p>\n<p>Zur eindeutigen Vergabe von Rechnungsnummern stellt die Anwendung dieser Zahl noch die Jahreszahl voran, in dem die Rechnung ausgestellt wurde (etwa &#8222;2006-0001&#8220;). Die Anwendung speichert die Jahreszahl nicht separat, sondern nur als Teil des Rechnungsdatums. F&uuml;r die Anzeige der Rechnungsnummer in der Titelleiste des Formulars sowie in der Druckversion der Rechnung setzt die Anwendung die Rechnungsnummer aus der im Datum enthaltenen Jahreszahl und der Rechnungsnummer zusammen.<\/p>\n<p>Das Ermitteln der Rechnungsnummer &uuml;bernimmt die Routine FormularAktualisieren, die zu verschiedenen Gelegenheiten aufgerufen wird:<\/p>\n<li>beim Anzeigen eines neuen Datensatzes,<\/li>\n<li>nach dem Aktualisieren des Rechnungsdatums und<\/li>\n<li>nach dem Aktualisieren von Kundendaten.<\/li>\n<p>Die Routine ist in Quellcode 1 abgebildet. Sie pr&uuml;ft zun&auml;chst, ob entweder noch gar keine Rechnungsnummer vorhanden ist oder ob das Jahr des aktuellen Rechnungsdatums sich von dem Inhalt eines tempor&auml;ren Textfeldes txtJahrTemp unterscheidet. Dieses Textfeld wird erstmalig beim Anzeigen eines Datensatzes mit dem Jahr des Rechnungsdatums gef&uuml;llt. Warum dies Nun, die Rechnungsnummer ist vom aktuellen Jahr abh&auml;ngig, und zwar ermittelt die Routine die neue Rechnungsnummer, indem Sie per DMax-Funktion die gr&ouml;&szlig;te bisher vergebene Nummer der bisherigen Rechnungen f&uuml;r das betroffene Jahr ermittelt und eins hinzurechnet.<\/p>\n<p><IMG height=\"93\" src=\"..\/fileadmin\/_temp_\/{4EA5D99B-D4F1-4619-B700-3419FD290944}\/pic008.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 8:  Die Titelleiste enth&auml;lt grundlegende Informationen zur aktuell angezeigten Rechnung.<\/span><\/b><\/p>\n<p><b>Quellcode 1: Ermitteln der Rechnungsnummer<\/b><\/p>\n<pre>Private Sub FormularAktualisieren()\r\n    Dim intRechnungsjahr As Integer\r\n    Dim bolKeineNummer As Boolean\r\n    Dim bolJahrGeaendert As Boolean\r\n    Dim bolRechnungsdatum As Boolean\r\n    Dim strKunde As String\r\n    Dim strRechnungsnummer As String\r\n    \r\n    bolKeineNummer = IsNull(Me!Rechnungsnummer)\r\n    bolRechnungsdatum = Not IsNull(Me!Rechnungsdatum)\r\n    If bolRechnungsdatum Then\r\n        bolJahrGeaendert = Year(Me!Rechnungsdatum) &lt;&gt; _            Me!txtJahrTemp\r\n    Else\r\n        bolJahrGeaender = False\r\n    End If\r\n    \r\n    If (bolKeineNummer Or bolJahrGeaendert) _        And bolRechnungsdatum Then\r\n        Me!Rechnungsnummer = Nz(DMax(\"Rechnungsnummer\", _            \"tblRechnungen\", \"Year(Rechnungsdatum) = \" _            & Year(Me!Rechnungsdatum)) + 1, 1)\r\n    End If\r\n    \r\n    If Not bolRechnungsdatum Then\r\n        intRechnungsjahr = 0\r\n    Else\r\n        intRechnungsjahr = Year(Me!Rechnungsdatum)\r\n    End If\r\n    \r\n    strKunde = Nz(Me!KundeID.Column(1), \".\/.\")\r\n    strRechnungsnummer = Format(intRechnungsjahr, \"0000\") _        & \"-\" & Format(Nz(Me!Rechnungsnummer, 0), \"0000\")\r\n    Me.Caption = \"Rechnungsverwaltung - Kunde: \" & strKunde _        & \" - Rechnungsnummer: \" & strRechnungsnummer\r\n    \r\n    If Not IsNull(Me!Rechnungsdatum) Then\r\n        Me!txtJahrTemp = Year(Me!Rechnungsdatum)\r\n    End If\r\nEnd Sub<\/pre>\n<p>Das passiert allerdings nur, wenn folgende Bedingungen zutreffen: Es muss ein Rechnungsdatum, aber noch keine Rechnungsnummer vorhanden sein, oder das Rechnungsdatum muss aktualisiert worden sein.<\/p>\n<p>Letzterer Fall w&uuml;rde bedeuten, dass zwar eine Rechnungsnummer vorhanden ist, sich aber auf ein &uuml;berholtes Vorlageexemplar zur aktuellen Rechnung bezieht &#8211; und da diese Nummer f&uuml;r das laufende Jahr ja durchaus schon vergeben sein kann, muss die Routine eine neue Rechnungsnummer ermitteln.<\/p>\n<p>Um zu dem tempor&auml;ren Textfeld mit der Jahreszahl zur&uuml;ckzukommen: Es ist technisch nicht ausgeschlossen, dass ein Benutzer das Rechnungsdatum und damit das Jahr mehrmals &auml;ndert, ohne den Datensatz zu speichern. In dem Fall gibt es keinen Wert, mit dem man das aktuelle Jahr vergleichen k&ouml;nnte &#8211; also speichert man diesen nach jeder &auml;nderung in einem eigenen Textfeld.<\/p>\n<p>Der Rest der Routine stellt die Informationen f&uuml;r die Anzeige in der Titelleiste zusammen. &uuml;blicherweise sieht dies wie in Bild 8 aus, aber es kann ja auch vorkommen, dass noch kein Rechnungsdatum und\/oder keine Rechnungsnummer vorhanden ist.<\/p>\n<p>In dem Fall sorgt die Routine f&uuml;r die Anzeige der Dummy-Rechnungsnummer 0000-0000. Und bei fehlendem Kunden zeigt die Titelleiste statt dessen Bezeichnung die Zeichenkette .\/. an.<\/p>\n<p>Damit die Routine bei einer erneuten &auml;nderung des Rechnungsdatums auch die Rechnungsnummer anpassen kann, stellt sie noch den Inhalt des Textfeldes txtJahrTemp auf den aktuellen Wert ein.<\/p>\n<h3>Aktuelles Datum ausw&auml;hlen<\/h3>\n<p>Ein Klick auf die Schaltfl&auml;che zum Ausw&auml;hlen des aktuellen Datums als Rechnungsdatum l&ouml;st die Routine aus Quellcode 2 aus. Diese weist lediglich dem Feld Rechnungsdatum das aktuelle Datum zu und ruft die oben beschriebene Routine FormularAktualisieren auf.<\/p>\n<p><b>Quellcode 2: Festlegn des aktuellen Datums als Rechungsdatum<\/b><\/p>\n<pre>Private Sub cmdAktuellesDatum_Click()\r\n    Me!Rechnungsdatum = Date\r\n    FormularAktualisieren\r\nEnd Sub<\/pre>\n<h3>Kunden anlegen oder bearbeiten<\/h3>\n<p>Je nachdem, ob das Kombinationsfeld KundeID einen Wert enth&auml;lt oder nicht, &ouml;ffnet die Prozedur hinter der Bearbeiten-Schaltfl&auml;che (s. Quellcode 3) das Formular frmKunden im Eingabe- (acFormEdit) oder Bearbeitungsmodus (acFormAdd). Beim Bearbeiten &uuml;bergibt der Aufruf zus&auml;tzlich eine WhereCondition, die zum Anzeigen des aktuell im Kombinationsfeld ausgew&auml;hlten Kunden f&uuml;hrt.<\/p>\n<p>Da das Formular in beiden F&auml;llen au&szlig;erdem als modaler Dialog ge&ouml;ffnet wird (WindowMode:=acDialog), unterbricht Access die Ausf&uuml;hrung der Prozedur, bis das Formular frmKunden den Fokus wieder abgibt &#8211; und das passiert entweder, wenn man es schlie&szlig;t oder unsichtbar macht (Me.Visible = False).<\/p>\n<p>Um der Beschreibung des Formulars vorzugreifen: Klickt man nach dem Bearbeiten auf die Schaltfl&auml;che OK, schlie&szlig;t die ausgel&ouml;ste Prozedur das Formular, anderenfalls &#8211; also beim Abbrechen &#8211; wird es unsichtbar geschaltet.<\/p>\n<p>Die Prozedur aus Quellcode 3 wertet dies aus, indem sie mit der Funktion IstFormularGeoeffnet pr&uuml;ft, ob das Formular frmKunden geschlossen oder nur unsichtbar gemacht wurde. Wurde es geschlossen, hat der Benutzer m&ouml;glicherweise Daten ge&auml;ndert, also aktualisiert die Routine aus Quellcode 3 auch das Kombinationsfeld und schlie&szlig;t das unsichtbare Formular frmKunden endg&uuml;ltig.<\/p>\n<p><b>Quellcode 3: &ouml;ffnen des Formulars frmKunden zum Hinzuf&uuml;gen oder Bearbeiten von Kundne<\/b><\/p>\n<pre>Private Sub cmdKundeBearbeiten_Click()\r\n    If IsNull(Me.KundeID) Then\r\n        DoCmd.OpenForm \"frmKunden\", _            WindowMode:=acDialog, _            DataMode:=acFormAdd\r\n    Else\r\n        DoCmd.OpenForm \"frmKunden\", _            WindowMode:=acDialog, _            WhereCondition:=\"KundeID = \" _            & Me!KundeID, DataMode:=acFormEdit\r\n    End If\r\n    If IstFormularGeoeffnet(\"frmKunden\") Then\r\n        Me!KundeID = Forms!frmKunden!KundeID\r\n        DoCmd.Close acForm, \"frmKunden\"\r\n    End If\r\nEnd Sub<\/pre>\n<h3>Rechnung abschlie&szlig;en<\/h3>\n<p>Wenn der Benutzer auf die Schaltfl&auml;che Rechnung abschlie&szlig;en klickt, tr&auml;gt die passende Routine (s. Quellcode 4) das aktuelle Datum in das Feld AbgeschlossenAm ein und aktualisiert das Formular (Me.Requery). Letzteres l&ouml;st allerdings das Ereignis Beim Anzeigen des Formulars aus &#8211; und damit die Ereignisprozedur Form_Current.<\/p>\n<p><b>Quellcode 4: Abschlie&szlig;en einer Rechnung<\/b><\/p>\n<pre>Private Sub cmdRechnungAbschliessen_Click()\r\n    Me!AbgeschlossenAm = Date\r\n    Me.Requery\r\nEnd Sub<\/pre>\n<h3>Beim Anzeigen<\/h3>\n<p>Das Ereignis Beim Anzeigen findet immer statt, wenn das Formular einen neuen Datensatz anzeigt &#8211; also etwa direkt nach dem &ouml;ffnen oder auch nach manuellen Datensatzwechseln.<\/p>\n<p>Die passende Routine dieses Formulars versorgt zun&auml;chst das tempor&auml;re Textfeld txtJahrTemp mit dem Jahr des Rechnungsdatums oder, falls noch kein Rechnungsdatum vorhanden ist, mit der Zahl 0.<\/p>\n<p>Interessant ist der Teil der Routine, der pr&uuml;ft, ob die aktuell angezeigte Rechnung schon abgeschlossen ist und gegebenenfalls die Steuerelemente deaktiviert, um weitere &auml;nderungen an den Rechnungsdaten zu verhindern.<\/p>\n<p>Genau genommen muss man diese nicht nur deaktivieren, sondern bei noch nicht abgeschlossenen Rechnungen auch wieder aktivieren, denn die Steuerelemente behalten den Wert ihrer En-abled-Eigenschaft beim Datensatzwechsel bei.<\/p>\n<p>Also ruft die Routine aus Quellcode 5 die Prozedur SteuerelementeAktivieren je nach Sperrungszustand des Rechnungsdatensatzes entweder mit dem Wert True oder False f&uuml;r den Parameter bolAktivieren auf.<\/p>\n<p><b>Quellcode 5: Dieser Routine wird beim Anzeigen eines Datensatzes ausgel&ouml;st.<\/b><\/p>\n<pre>Private Sub Form_Current()\r\n    Dim intRechnungsjahr As Integer\r\n    If IsNull(Me!Rechnungsdatum) Then\r\n        intRechnungsjahr = 0\r\n    Else\r\n        intRechnungsjahr = _            Year(Me!Rechnungsdatum)\r\n    End If\r\n    Me!txtJahrTemp = intRechnungsjahr\r\n    FormularAktualisieren\r\n    If Not IsNull(Me!AbgeschlossenAm) Then\r\n        SteuerelementeAktivieren True\r\n    Else\r\n        SteuerelementeAktivieren False\r\n    End If\r\nEnd Sub<\/pre>\n<h3>Steuerelemente aktivieren und deaktivieren<\/h3>\n<p>Das Sperren der Steuerelemente im Formular frmRechnungen und dem Unterformular sfmRechnungen behandelt ein eigener Artikel namens Aktivieren und Deaktivieren von Steuerelementen (Shortlink 390) in der kommenden Ausgabe 5\/2006.<\/p>\n<h3>Aus alt mach neu<\/h3>\n<p>Wer oft Rechnungen an den gleichen Kunden stellt, die sich nur durch Nuancen unterscheiden oder wer immer gleiche Rechnungen an verschiedene Kunden sendet, wird die Funktion hinter der Schaltfl&auml;che Neue Rechnung auf Basis dieser Rechnung m&ouml;gen: Sie kopiert die aktuelle Rechnung in einen neuen Datensatz und erstellt Duplikate von den enthaltenen Positionen &#8211; passend verkn&uuml;pft mit dem neuen Rechnungsdatensatz. Im Detail sieht das wie in Quellcode 6 aus. Die Prozedur cmdNeueRechnung_Click kopiert zun&auml;chst mit einer INSERT INTO-Aktionsabfrage den Datensatz, der aktuell im Formular angezeigt wird, in einen neuen Datensatz.<\/p>\n<p>Au&szlig;en vor bleibt dabei die Rechnungsnummer &#8211; die liefert die passende Funktion im Formular, wenn das Formular den neuen Datensatz anzeigt.<\/p>\n<p>Zwischendurch ermittelt die Prozedur noch den Wert des Feldes RechnungID. Dies passiert mit der DMax-Funktion, die einfach den gr&ouml;&szlig;ten vorhandenen Wert f&uuml;r dieses Feld ermittelt. Damit erwischt man zuverl&auml;ssig den neuen Datensatz, da der Prim&auml;rschl&uuml;sselwert per Autowert-Funktion erzeugt wird &#8211; und die summiert zum bis dahin gr&ouml;&szlig;ten Wert immer noch eins hinzu.<\/p>\n<p>Den Wert von RechnungID f&uuml;gt die Prozedur dann beim Anlegen der Rechnungspositionen in die neuen Datens&auml;tze ein, damit diese mit dem neuen Rechnungsdatensatz verkn&uuml;pft sind.<\/p>\n<p>Damit der Benutzer mit dem neuen Rechnungsdatensatz weiterarbeiten kann, zeigt das Formular diesen direkt an. Dies l&ouml;st das Beim Anzeigen-Ereignis des Formulars aus, das wiederum f&uuml;r das Ermitteln einer Rechnungsnummer f&uuml;r die neue Rechnung sorgt (siehe Prozedur cmdNeueRechnung_Click im Modul Form_frmRechnungen der Beispieldatenbank).<\/p>\n<p>Die Ausgabe der Rechnungen erledigt der Bericht rptRechnung (siehe Bild 9). Dieser hat als Datenherkunft die Abfrage qryRechnungen, die wiederum alle sechs Tabellen der Datenbank enth&auml;lt.<\/p>\n<p><IMG height=\"507\" src=\"..\/fileadmin\/_temp_\/{4EA5D99B-D4F1-4619-B700-3419FD290944}\/pic009.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 9:  Entwurfsansicht des Berichts zur Anzeige der Rechnungen<\/span><\/b><\/p>\n<h3>Rechnungssumme<\/h3>\n<p>Der Detailbereich enth&auml;lt die in der Tabelle tblPositionen enthaltenen sowie einige zus&auml;tzliche Felder.<\/p>\n<p>Eines davon hei&szlig;t txtMehrwertsteuer und berechnet nach folgender Formel die Mehrwertsteuer:<\/p>\n<pre>=[PreisEinheit]*[Anzahl]*[Steuersatz]<\/pre>\n<p>Das Feld txtGesamtNetto berechnet das Produkt aus dem Grundpreis f&uuml;r die aktuelle Position und der Anzahl:<\/p>\n<pre>=[PreisEinheit]*[Anzahl]<\/pre>\n<p>Das Feld txtGesamtBrutto wiederum berechnet den Bruttopreis f&uuml;r die im aktuellen Datensatz enthaltene Position:<\/p>\n<pre>=[PreisEinheit]*[Anzahl]*(1+[Steuersatz])<\/pre>\n<p>Man k&ouml;nnte solche Felder auch direkt in der Abfrage unterbringen und berechnen, aber der Zeitgewinn bei der Berechnung macht sich bei dieser Menge von Datens&auml;tzen nicht bemerkbar.<\/p>\n<p>Nicht angezeigt wird das Feld txtSumme. Es dient der Summierung der Bruttopreise der einzelnen Positionen und bildet damit die Grundlage f&uuml;r die Angabe der Rechnungssumme im Berichtsfu&szlig;. Sein Steuerelementinhalt lautet folgenderma&szlig;en:<\/p>\n<pre>=[PreisEinheit]*[Anzahl]*(1+[Steuersatz])<\/pre>\n<p>Das Textfeld txtGesamtsumme im Berichtsfu&szlig; hat den Steuerelementinhalt =[txtSumme], was gleichbedeutend mit dem Wert des Feldes txtSumme im letzten angezeigten Datensatz ist.<\/p>\n<p>Damit txtSumme die Betr&auml;ge f&uuml;r alle Positionen bis zur letzten Position aufaddiert, stellt man f&uuml;r dieses Textfeld die Eigenschaft Laufende Summe auf den Wert Nein ein.<\/p>\n<h3>Detaillierte Steuern<\/h3>\n<p>Unterhalb der Gesamtsumme soll der Bericht detailliert anzeigen, wie hoch die im Betrag enthaltene Steuer ist und welchem Steuersatz dies entspricht.<\/p>\n<p>Das Textfeld txtMwSt soll daher mit einem Text wie &#8222;Enthaltene Mehrwertsteuer: EUR 1,68 (7%), EUR 26,72 (16%)&#8220; gef&uuml;llt werden.<\/p>\n<p>Das ist nicht ganz trivial und l&auml;sst sich auf verschiedene Arten l&ouml;sen. Eine M&ouml;glichkeit ist, f&uuml;r jeden der Steuers&auml;tze ein Feld mit laufender Summe im Detailbereich unterzubringen und im Berichtsfu&szlig; den gew&uuml;nschten Ausdruck zusammenzustellen.<\/p>\n<p>Das ganze hat nur einen Nachteil: Bald gibt es eine Mehrwertsteuererh&ouml;hung, und dann muss man den Berichtsentwurf anpassen. Sch&ouml;ner w&auml;re doch eine L&ouml;sung, mit der beliebige Mehrwertsteuers&auml;tze dynamisch handhaben k&ouml;nnte.<\/p>\n<p><b>Quellcode 8: Zusammensetzen der Empf&auml;ngeradresse und des Berichtstitels<\/b><\/p>\n<pre>Private Sub Berichtskopf_Format(Cancel As Integer, FormatCount As Integer)\r\n    Dim strAnschrift As String\r\n    strAnschrift = strAnschrift & Me!Firma + vbCrLf\r\n    strAnschrift = strAnschrift & Me!Anrede + \" \" & Me!Vorname + \" \" & Me!Nachname + vbCrLf\r\n    strAnschrift = strAnschrift & Me!Abteilung + vbCrLf\r\n    strAnschrift = strAnschrift & Me!Strasse + vbCrLf\r\n    strAnschrift = strAnschrift & Me!PLZ + \" \" & Me!Ort + vbCrLf\r\n    Me.Caption = \"Rechnung - Kunde: \" & Me!Bezeichnung & \" - Rechnungsnummer: \" _        & Year(Me!Rechnungsdatum) & \"-\" & Format(Me!Rechnungsnummer, \"0000\")\r\n    Me!txtAnschrift = strAnschrift\r\nEnd Sub<\/pre>\n<p>Das riecht nach VBA: Die passende Routine wird durch das Ereignis Beim Formatieren des Berichtsfu&szlig;es ausgel&ouml;st und bezieht sich nicht auf die im Detailbereich des Berichts enthaltenen Steuerelemente, sondern greift direkt auf die Tabellen zu. Dabei durchl&auml;uft sie in einer &auml;u&szlig;eren Schleife die Tabelle tblSteuersaetze und in einer inneren Schleife alle Positionen der aktuellen Rechnung aus der Tabelle tblPositionen, die dem aktuellen Steuersatz der &auml;u&szlig;eren Schleife unterliegen (siehe Prozedur Berichtsfu&szlig;_Format im Modul Report_repRechnung der Beispieldatenbank).<\/p>\n<h3>Adresse zusammensetzen<\/h3>\n<p>Ein weiteres, immer wieder gern gesehenes Thema ist das Zusammenstellen des Empf&auml;ngers &#8211; und zwar so, dass keine L&uuml;cken durch leere Felder aufgrund fehlender Informationen entstehen. In dieser L&ouml;sung enth&auml;lt der Bericht lediglich ein leeres Textfeld, das per VBA mit dem passenden Ausdruck gef&uuml;llt wird.<\/p>\n<p>Die passende Routine wird durch das Ereignis Beim Formatieren des Berichtskopfes ausgel&ouml;st. Diese Routine verwendet das Plus-Zeichen (+), um Ausdr&uuml;cke miteinander zu verkn&uuml;pfen.<\/p>\n<p>Der Clou ist der Unterschied zum &uuml;blicherweise f&uuml;r diesen Zweck verwendeten kaufm&auml;nnischen Und (&#038;): Wenn einer der damit verkn&uuml;pften Ausdr&uuml;cke Null ist, wird der ganze Ausdruck Null. Der Ausdruck Me!Firma + vbcrlf liefert also den Namen der Firma und einen Zeilenumbruch, wenn eine Firma vorhanden ist, und sonst den Wert Null. Damit spart man sich umst&auml;ndliche If-Abfragen beim Zusammensetzen von Adressausdr&uuml;cken (s. Quellcode 8).<\/p>\n<h3>Hinweis<\/h3>\n<p>Wenn Sie im VBA-Code eines Berichts auf die Felder der Datenherkunft zugreifen m&ouml;chten, m&uuml;ssen Sie diese in den Berichtsentwurf ziehen und deren Sichtbar-Eigenschaft auf Nein setzen, wenn diese im Bericht nicht angezeigt werden sollen. Dies ist auch der Grund daf&uuml;r, warum Sie im Entwurf des Rechnungsberichts in Bild 9 im oberen Bereich eine Reihe von Textfeldern sehen, die in der Vorschau und im Ausdruck nicht zu finden sind. <\/p>\n<p>Die Routine aus Quellcode 8 stellt nicht nur die Empf&auml;ngeradresse zusammen, sondern auch noch die Titelzeile f&uuml;r den Bericht.<\/p>\n<p>Wer nicht jeden Tag einige Rechnungen versendet, sondern dies eher unregelm&auml;&szlig;ig oder selten tut, erh&auml;lt mit der hier vorgestellten Rechnungsverwaltung ein passendes Werkzeug mit praktischen Funktionen.<\/p>\n<p>Au&szlig;erdem ist er f&uuml;r wechselnde Mehrwertsteuers&auml;tze und damit f&uuml;r die Zukunft ger&uuml;stet: Neue Mehrwertsteuers&auml;tze legt man einfach an und kann diese direkt verwenden. Dabei ist nat&uuml;rlich zu beachten, dass man nicht einfach den Mehrwertsteuersatz von 16 % auf 19 % &auml;ndert, denn dies wirkt sich auch bestehende Rechnungen aus.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Finanzen00.mdb<\/p>\n<p>Finanzen97.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/11394974-ECCB-4988-BF96-00FF74E61B93\/aiu_382.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer individuelle Arbeiten verrichtet, m&ouml;chte diese auch in Rechnung stellen. Also: Word anschmei&szlig;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&auml;ndlich. Viel einfacher geht es mit der Rechnungsverwaltung, die Sie im vorliegenden Beitrag kennen lernen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662006,66042006,44000027],"tags":[],"class_list":["post-55000382","post","type-post","status-publish","format-standard","hentry","category-662006","category-66042006","category-Loesungen"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Steuerfeste Rechnungsverwaltung - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Steuerfeste Rechnungsverwaltung\" \/>\n<meta property=\"og:description\" content=\"Wer individuelle Arbeiten verrichtet, m&ouml;chte diese auch in Rechnung stellen. Also: Word anschmei&szlig;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&auml;ndlich. Viel einfacher geht es mit der Rechnungsverwaltung, die Sie im vorliegenden Beitrag kennen lernen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-11T21:05:33+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg06.met.vgwort.de\/na\/7df74bc67ba24ed2ba64011550c02bb0\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"20\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerfeste_Rechnungsverwaltung\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerfeste_Rechnungsverwaltung\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Steuerfeste Rechnungsverwaltung\",\"datePublished\":\"2021-02-11T21:05:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerfeste_Rechnungsverwaltung\\\/\"},\"wordCount\":3625,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerfeste_Rechnungsverwaltung\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/7df74bc67ba24ed2ba64011550c02bb0\",\"articleSection\":[\"2006\",\"4\\\/2006\",\"L\u00f6sungen\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerfeste_Rechnungsverwaltung\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerfeste_Rechnungsverwaltung\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerfeste_Rechnungsverwaltung\\\/\",\"name\":\"Steuerfeste Rechnungsverwaltung - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerfeste_Rechnungsverwaltung\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerfeste_Rechnungsverwaltung\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/7df74bc67ba24ed2ba64011550c02bb0\",\"datePublished\":\"2021-02-11T21:05:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerfeste_Rechnungsverwaltung\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerfeste_Rechnungsverwaltung\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerfeste_Rechnungsverwaltung\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/7df74bc67ba24ed2ba64011550c02bb0\",\"contentUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/7df74bc67ba24ed2ba64011550c02bb0\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerfeste_Rechnungsverwaltung\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Steuerfeste Rechnungsverwaltung\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Steuerfeste Rechnungsverwaltung - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/","og_locale":"de_DE","og_type":"article","og_title":"Steuerfeste Rechnungsverwaltung","og_description":"Wer individuelle Arbeiten verrichtet, m&ouml;chte diese auch in Rechnung stellen. Also: Word anschmei&szlig;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&auml;ndlich. Viel einfacher geht es mit der Rechnungsverwaltung, die Sie im vorliegenden Beitrag kennen lernen.","og_url":"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-02-11T21:05:33+00:00","og_image":[{"url":"http:\/\/vg06.met.vgwort.de\/na\/7df74bc67ba24ed2ba64011550c02bb0","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"20\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Steuerfeste Rechnungsverwaltung","datePublished":"2021-02-11T21:05:33+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/"},"wordCount":3625,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/#primaryimage"},"thumbnailUrl":"http:\/\/vg06.met.vgwort.de\/na\/7df74bc67ba24ed2ba64011550c02bb0","articleSection":["2006","4\/2006","L\u00f6sungen"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/","url":"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/","name":"Steuerfeste Rechnungsverwaltung - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/#primaryimage"},"thumbnailUrl":"http:\/\/vg06.met.vgwort.de\/na\/7df74bc67ba24ed2ba64011550c02bb0","datePublished":"2021-02-11T21:05:33+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/#primaryimage","url":"http:\/\/vg06.met.vgwort.de\/na\/7df74bc67ba24ed2ba64011550c02bb0","contentUrl":"http:\/\/vg06.met.vgwort.de\/na\/7df74bc67ba24ed2ba64011550c02bb0"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Steuerfeste_Rechnungsverwaltung\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Steuerfeste Rechnungsverwaltung"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000382","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000382"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000382\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000382"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000382"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}