Zuletzt bearbeitet vor 4 Monaten
von Sandra

GoBD-konformes digitales Rechnungswesen (CR 143660)

Einleitung / Motivation

Die Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern, Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff (GoBD) regeln die formalen Anforderungen an die Buchführung und die Aufbewahrung von steuerrechtlich relevanten elektronischen Daten und Papierdokumenten unter Bezug auf die Grundsätze ordnungsmäßiger Buchführung. Die GoBD Regeln beinhalten zudem die Anforderungen der Finanzverwaltung an eine IT-gestützte Buchführung zum elektronischen Datenzugriff im Rahmen von Außenprüfungen.

Die Finanzverwaltung wird sich ab dem 01. Januar 2017 bis zum 31. Dezember 2022 von der Papierbearbeitung vollständig trennen. Ziel ist es, die gesamte Bearbeitung komplett zu digitalisieren. Steuererklärungen werden voll automatisch geprüft und abschließend bearbeiten.

D.h., dass die Finanzverwaltung die digitalen Daten der Unternehmer im Rahmen einer digitalen Betriebsprüfung verstärkt in den Fokus nimmt. Dabei sind auch die digitalen Einzeldaten der Vorsysteme bereitzustellen sowie Verfahrensdokumentationen der Unternehmen. Für cargo support-Kunden heißt das, dass cargo support als „Vorsystem“ fungiert und dementsprechend digitale Einzeldaten bereitzustellen sind.

Um diese neuen Anforderungen seitens cargo support zu unterstützen, wird die Möglichkeit eines GoBD-konformen Jahresabschlusses bereitgestellt, um die für die Finanzverwaltung relevanten Daten elektronisch zur Verfügung zu stellen.

Neue Vorgaben / Felder / Menüs

Neue Abrechnungsrechte

Es gibt neue Rechte, die standardmäßig DEAKTIVIERT sind. Sie müssen zunächst in der Benutzergruppe hinzugefügt und aktiviert werden, damit die Geschäftsjahre bearbeitet werden können.

Release:image2019-8-2 11-37-23.png

2.1.1. Geschäftsjahre im Mandanten anzeigen

Mit dem Recht „Geschäftsjahre“ erhält man Zugriff auf den Reiter „Geschäftsjahre“ unter „Einstellungen > Mandanten“.


2.1.2. Geschäftsjahre im Abrechnungsblock

Mit dem Recht „Geschäftsjahre: Zuordnungen“ kann man das Feld „Geschäftsjahr“ im Abrechnungsblock einblenden. Im Standard ist es „read-only“. Über die Rechte kann man festlegen, dass es manuell geändert werden darf.

2.1.3. Abrechnungskontrolle

Im Menü „Einstellungen > Benutzerrechte > Benutzergruppen“ gibt es ein neues Benutzerrecht „Abrechnung: Rechnungsfreigabe (GoBD)“.

Folgenden Einstellungen sind möglich:

  • Lesen: Der Benutzer darf den neuen Menüpunkt „Abrechnungsfreigabe“ sehen. Ist das Recht für eine Usergruppe nicht vergeben, ist das Menü für diese User überhaupt nicht sichtbar.
  • Schreiben: Der Benutzer darf Rechnungen freigeben.
  • Löschen: Der Benutzer darf vorläufige Rechnungen löschen.

2.2. Neuer Nummernkreis für GoBD-Abrechnungsfreigabenummern

Es gibt einen neuen Nummernkreis "Abrechnungsfreigabenummer", der für alle vorläufigen Rechnungsnummern verwendet wird (unabhängig von der Abrechnungsart):

Diese Nummer dient „nur“ der einfacheren Identifizierung der zu kontrollierenden Abrechnungen.

Es besteht auch die Möglichkeit, diesen Nummernkreis überhaupt nicht zu verwenden. In diesem Fall erhalten alle zu kontrollierenden Abrechnungen die „Rechnungsnummer“ „Vorläufig“.

2.3. Neue Entität Geschäftsjahre“

2.3.1. Erstmaliges Anlegen eines Geschäftsjahres

Info: Theoretisch müssten die Kunden zunächst kontrollieren, welches Datum der älteste Abrechnungsblock bzw. die älteste Rechnung hat. Falls es da noch Zahlendreher geben sollte, müssten diese korrigiert werden. Es wird softwareseitig verhindert, ein Geschäftsjahr anzulegen, falls es noch Abrechnungsblöcke mit Leistungsdatum aus Vorjahren gibt:

Beim erstmaligen Anlegen eines Geschäftsjahres kommt folgende Hinweismeldung, die bestätigt werden muss:

Nun wird automatisch das älteste Jahr, für das es Abrechnungsblöcke gibt, als Basisjahr vorgeschlagen. Im Beispiel ist es das Jahr 2012. Die Felder „Name“, „Von“, „Bis“ und „Buchungsschluss“ sind Pflichtfelder und werden initial automatisch gefüllt. Der User kann die Werte bei Bedarf jedoch manuell anpassen.

Wenn der User nun auf „Speichern“ klickt, kommt erneut eine Abfrage, ob das Geschäftsjahr angelegt werden soll. Zusätzlich wird die Anzahl der Abrechnungsblöcke und der Rechnungen des Geschäftsjahres angezeigt. Erst wenn erneut mit „Ja“ bestätigt wird, wird das Geschäftsjahr angelegt

Mit Klick auf „Ja“ wird im Hintergrund automatisch das neu angelegte Geschäftsjahr (im Beispiel 2012) in alle Abrechnungsblöcke des Geschäftsjahres eingetragen.

Ja nachdem, wie viele Rechnungen es in dem Geschäftsjahr gibt, dauert dies einen Moment.

  • 000 Rechnungen -> ca. 1 Minute
  • 000 Rechnungen -> ca. 7 Minuten

Wenn man ein weiteres Geschäftsjahr anlegt, werden die neuen Termine anhand der Termine des Vorjahres wieder vorgeschlagen und können durch den User angepasst werden.

2.3.2. Anlage von weiteren alten Geschäftsjahren

Es ist sinnvoll, so viele Geschäftsjahre anzulegen, wie man Jahre mit cargo support arbeitet. Wenn man z.B. im Jahr 2009 mit cargo support gestartet hat, sollte das erste Geschäftsjahr „2009“ sein und durchgängig Geschäftsjahre bis in die Gegenwart angelegt werden. Dies sollte man für alle alten Jahre separat machen, da das Geschäftsjahr das maßgebliche Klassifizierungsmerkmal für die Speicherung der Aufträge und Fahrten ist.

Es ist aber auch möglich, alle Vorjahre in einem aggregierten Geschäftsjahr zu speichern. Diesem Geschäftjahr könnte man z.B. den Namen „Vorjahre“ oder „2007-2017“ geben. Dann könnte man ab 2018 mit der jährlichen Anlagen von Geschäftsjahren beginnen.

2.3.3. Jährliche Neuanlage von Geschäftsjahren

Nachdem man einmalig alle „alten“ Geschäftsjahre angelegt hat, muss man nur noch einmal im Jahr ein neues Geschäftsjahr anlegen.

Folgende Felder gibt es unter „Einstellungen > Mandanten > Geschäftsjahre“:

  • Name *: Wird automatisch vorgefüllt, kann manuell geändert werden (Pflichtfeld)
  • Von *: Wird automatisch vorgefüllt, kann manuell geändert werden; es wird softwareseitig überprüft, dass sich die „von“- und „bis“-Zeiten unterschiedlicher Geschäftsjahre nicht überschneiden und lückenlos sind (Pflichtfeld)
  • Bis *: Wird automatisch vorgefüllt, kann manuell geändert werden; es wird softwareseitig überprüft, dass sich die „von“- und „bis“-Zeiten unterschiedlicher Geschäftsjahre nicht überschneiden und lückenlos sind (Pflichtfeld)
  • Buchungsschluss *: Hier wird festgelegt, ab welchem Datum nicht mehr in das aktuelle Buchungsjahr gebucht werden darf
  • Status: Der Status des Geschäftsjahres wird durch cargo support automatisch gesetzt; daher ist das Feld „read-only“, kann also durch den User nicht geändert werden. Es gibt folgende Statuswerte
    • Offen: jedes neu angelegte Geschäftsjahr bekommt zunächst den Status „offen“
    • Abschluss läuft
    • Abgeschlossen
    • Archiviert
  • Buchungsabschluss begonnen am: Datum des Beginns des Buchungsabschlusses
  • Buchungsabschluss begonnen durch: User, der den Buchungsabschluss begonnen hat
  • Geschlossen durch: User, der den Buchungsabschluss geschlossen hat
  • Geschlossen am: Datum des Abschlusses des Buchungsabschlusses
  • Archiviert am: Datum der Archivierung des Buchungsabschlusses
  • Archiviert durch: User, der den Buchungsabschluss archiviert hat
  • Anzahl Abrechnungsblöcke: Hier werden ALLE Abrechnungsblöcke angezeigt, die aufgrund ihres Leistungsdatums in das Geschäftsjahr fallen; d.h., dass sowohl die Auftragsabrechnungsblöcke, als auch die Fahrtabrechnungsblöcke angezeigt werden. Achtung: es werden nur Abrechnungsblöcke angezeigt, bei denen der Haken „Abrechnen“ angehakt ist.

Die Anzahl der Abrechnungsblöcke wird laufend aktualisiert, sobald neue Auftrags- oder Fahrt-Abrechnungsblöcke angelegt werden.

  • Anzahl Rechnungen: Hier werden ALLE Rechnungen angezeigt, die aufgrund ihres Leistungsdatums in das Geschäftsjahr fallen; d.h., dass sowohl die Auftragsrechnungen, als auch Fahrtrechnungen angezeigt werden.

Die Anzahl der Rechnungen wird laufend aktualisiert, sobald neue Auftrags- oder Fahrt-Rechnungen erstellt werden.

  • Anzahl Zahlungen: Falls Zahlungen rückerfasst werden, werden die Zahlungen hier angezeigt, die aufgrund ihres Leistungsdatums in das Geschäftsjahr fallen; d.h., dass sowohl die Auftragszahlungen, als auch Fahrtzahlungen angezeigt werden.

Die Anzahl der Zahlungen wird laufend aktualisiert, sobald neue Auftrags- oder Fahrt-Zahlungen erfasst werden.

Folgende Prüfungen gibt es bei Anlage eines neuen Geschäftsjahres:

  • Das „von“-Datum darf nicht hinter dem „bis-Datum“ liegen
  • Der Buchungsschluss muss größer oder gleich dem „bis“-Datum sein
  • Falls es bereits Geschäftsjahr für den Mandaten gibt, gilt, dass
    • die Buchungsjahre sich nicht überschneiden dürfen
    • die Buchungsjahre lückenlos sein müssen
  • Falls es das erste Geschäftsjahr ist,
    • darf es keine Abrechnungsblöcke geben. deren Leistungsdatum vor dem ersten Geschäftsjahr liegt
    • darf es keine Rechnungen geben, deren Rechnungsdatum vor dem ersten Geschäftsjahr liegt
    • darf es keine Zahlungen geben, deren Zahlungsdatum vor dem ersten Geschäftsjahr liegt
    • Letztendlich bedeutet dies, dass die Buchungsjahre in chronologischer Reihenfolge erfasst werden müssen.

2.4. Neues Feld „Geschäftsjahr“

Das neue Feld „Geschäftsjahr“ wird sowohl im Abrechnungsblock des Auftrags, als auch im Abrechnungsblock der Fahrt automatisch anhand des Leistungsdatums des Abrechnungsblocks eingetragen.

Das Geschäftsjahr kann manuell auf ein anderes Geschäftsjahr umgestellt werden, solange der Buchungsschluss des Vorjahres noch nicht erreicht ist und der Nutzer das Recht besitzt, manuell ein Geschäftsjahr zu ändern. In der Regel kann man also nur das aktuelle und ggf. das Vorjahr auswählen. Im Beispiel ist der Buchungsschluss der Jahre 2017 und 2018 noch nicht erreicht. Alle anderen Vorjahre sind abgeschlossen. Diese werden in der Auswahl rot markiert.

Es wird softwareseitig verhindert, dass abgeschlossene Geschäftsjahre ausgewählt werden können.

2.5. Konfiguration des GoBD-Abrechnungsprozesses

Im Menü „Einstellungen > Mandanten > Details > Buchhaltung > Abrechnung“ gibt es eine neue Einstellung: „Rechnung mit Abrechnungsblöcken aus verschiedenen Geschäftsjahren“.

Folgende Varianten sind möglich:

  • Erlaubt: Rechnungen mit unterschiedlichen Geschäftsjahren sind erlaubt.
  • Nicht erlaubt: Standardmäßig ist es nicht erlaubt, Rechnungen mit Abrechnungsblöcken aus unterschiedlichen Geschäftsjahren zu erstellen.
  • Freigabe erforderlich: Bei dieser Variante ist eine Freigabe erforderlich. Erst nach erteilter Freigabe wird die Rechnung erzeugt.

Die gleiche Überprüfung gibt es auch für unterschiedliche Leistungsjahre. Der Prozess ist identisch mit dem für unterschiedliche Geschäftsjahre.

Die Details der einzelnen Varianten werden nachfolgend beschrieben: 4.1 GoBD-Freigabe bei Abrechnungserstellung / 4-Augen Prinzip.

2.6. Neue Vorgaben für GoBD-Freigabegründe

Unter „Vorgaben > Abrechnung > Abrechnungsgründematrix“ können die unterschiedlichen Gründe angelegt werden, die bei der Freigabe im Menü „Abrechnungskontrolle“ auswählbar sein sollen.

3. Kontrolle bei der Abrechnungsfreigabe

Es gibt diverse softwareseitige Kontrollen bei Eingabe eines Leistungsdatums:

3.1. Eingabe eines Leistungsdatums eines „alten“ Geschäftsjahres

Wenn das Vorjahr (im Beispiel 2017) noch nicht abgeschlossen ist, darf man noch Abrechnungsblöcke mit einem Leistungsdatum für dieses Geschäftsjahr anlegen. Es kommt aber eine Warnmeldung für den User, wenn er im Jahr 2018 einen Abrechnungsblock anlegt.

Folgende weitere Prüfungen gibt es: Prüfungen bei der Abrechnungsfreigabe

  • Fehler
    • Falls "Abrechnen" angehakt ist, dann muss ein Geschäftsjahr zugeordnet sein
    • Falls "Abrechnen" nicht angehakt ist, dann darf kein Geschäftsjahr zugeordnet sein
    • Das Geschäftsjahr darf nicht abgeschlossen sein
    • Das Leistungsdatum darf nicht hinter dem Geschäftsjahr liegen
    • Das Tagesdatum darf nicht hinter dem Buchungsschluss des Geschäftsjahres liegen
  • Warnungen
    • Das Geschäftsjahr sollte nicht im Zustand "Abschluss läuft" sein
    • Das Leistungsdatum sollte nicht vor dem Geschäftsjahr liegen, falls das passende Geschäftsjahr noch offen ist (ohne dass der "Abschluss läuft")

4. Kontrolle bei der Rechnungserstellung

4.1. GoBD-Freigabe bei Abrechnungserstellung / 4-Augen Prinzip

Generell sollten Sammelrechnungen immer aus Abrechnungsblöcken bestehen, die alle das gleiche Geschäftsjahr haben. Es gibt jedoch Ausnahmen, in denen dies „erlaubt“ ist.

In den cargo support Einstellungen kann konfiguriert werden, wie der Prozess der GoBD-Abrechnungskontrolle aussehen soll. Siehe 2.5 Konfiguration des GoBD-Abrechnungsprozesses.

Folgende Varianten sind möglich:

  • Erlaubt: Rechnungen mit unterschiedlichen Geschäftsjahren sind erlaubt. Wenn eine Rechnung mit unterschiedlichen Geschäftsjahren erstellt wird, kommt folgender Hinweis:

Wenn mit „Ja“ bestätigt wird, wird die Rechnung erstellt. Beim Erstellen der Rechnung wird das Geschäftsjahr im Abrechnungsblock automatisch bei allen Abrechnungsblöcken mit einem „alten“ Geschäftsjahr (im Beispiel 2017) auf das aktuelle Geschäftsjahr (2018) geändert.

D.h., dass in der erstellten Sammelrechnung alle Abrechnungsblöcke das gleiche Geschäftsjahr 2018 haben. Lediglich das Leistungsdatum der alten Abrechnungsblöcke verbleibt im „alten“ Jahr.

  • Nicht erlaubt: Standardmäßig ist es nicht erlaubt, Rechnungen mit Abrechnungsblöcken aus unterschiedlichen Geschäftsjahren zu erstellen.

Falls ein Benutzer dies versucht, erscheint folgende Fehlermeldung und es ist unmöglich, eine Rechnung zu erstellen. In diesem Fall muss der Benutzer 2 separate Rechnungen erstellen (Pro Geschäftsjahr eine separate Rechnung).

  • Freigabe erforderlich: Bei dieser Variante ist eine Freigabe erforderlich. Erst nach erteilter Freigabe wird die Rechnung erzeugt. Diese Variante wird im nachfolgenden Gliederungspunkt 4.1.1 Abrechnungserstellung bei unterschiedlichen Geschäftsjahren mit Kontrolle erläutert.

Die gleiche Überprüfung gibt es auch für unterschiedliche Leistungsjahre. Der Prozess ist identisch mit dem für unterschiedliche Geschäftsjahre.

4.1.1. Abrechnungserstellung bei unterschiedlichen Geschäftsjahren mit Kontrolle

Im Menü „Abrechnung > Abrechnungserstellung“ soll eine Rechnung mit Abrechnungsblöcken aus unterschiedlichen Geschäftsjahren erstellt werden.

Nach dem Klick auf den Button „Abrechnungen aus Auswahl erstellen“ kommt folgender Hinweis:

Wenn mit „Ja“ bestätigt wird, werden bei dieser „Freigabe erforderlich“-Variante die nachfolgenden Infos angezeigt:


Nach Klick auf „ok“ passiert folgendes:

  • Die Abrechnungsblöcke „verschwinden“ aus dem Menü „Abrechnung > Abrechnungserstellung“.
  • Die noch zu kontrollierende Abrechnung wird in dem neuen Menü „Abrechnung > Abrechnungskontrolle“ angezeigt, wo sie kontrolliert und freigegeben werden muss.
  • Achtung: Es wird noch KEINE Rechnung erstellt.

4.1.2. Neues Menü „Abrechnungskontrolle“

Ein anderer Benutzer (mit entsprechenden Rechten) kann nun in Menü „Abrechnung > Abrechnungskontrolle““ die vorläufige Rechnung kontrollieren.

Mit Doppelklick auf einen Eintrag öffnen sich die Details der zu erstellenden Rechnung.

Bei Bedarf kann auch das Rechnungsformular gedruckt werden. Da es noch keine „echte“ Rechnung ist, gibt es auf diesem Formular 2 Unterschiede:

  • Quer über das Formular wird „Rechnungs-Entwurf“ geschrieben
  • Statt der „echten“ Rechnungsnummer steht hier die Abrechnungsfreigabenummer „AFN000014“

Abrechnung freigeben:

Falls alles in Ordnung ist, kann über den Button „Abrechnung freigeben“ die Rechnung „echt“ erstellt werden.

Es erscheint ein schwebendes Fenster, in dem der Grund für die Freigabe ausgewählt werden muss. Die Bemerkung ist optional.

Nach Klick auf „Ok“

  • wird eine neue „echte“ Rechnungsnummer gezogen und die Rechnung direkt erstellt.
  • „verschwindet“ die vorläufige Rechnung aus dem Menü „Abrechnungskontrolle“.
  • Werden in der Rechnung die Infos zur Abrechnungskontrolle gespeichert.

Abrechnung ablehnen:

Wenn der Abrechnungskontrolleur den Button „Abrechnung ablehnen“ klickt,

  • wird keine echte Rechnung erstellt.
  • „verschwindet“ die vorläufige Rechnung aus dem Menü „Abrechnungskontrolle“.
  • „erscheinen“ die Abrechnungsblöcke erneut im Menü „Abrechnungserstellung“ und können vom Benutzer angepasst werden

4.1.3. Anzeige in der erstellten Rechnung

Im Menü „Abrechnung > Abrechnungsliste / Offene Posten“ sind einige neue Felder hinzugekommen, die bei der Freigabevariante zusätzlich gefüllt werden.

5. Geschäftsjahresabschluss

Der Geschäftsjahresabschluss wird einmal im Jahr durchgeführt. Falls im Laufe des Jahres „unsauber“ gearbeitet wurde, kann der Aufwand ggf. ziemlich groß sein, alle „fehlerhaften“ Abrechnungsblöcke zu korrigieren.

Um den Aufwand zu verteilen, ist es sinnvoll die Prüfung der Abrechnungsblöcke regelmäßig, z.B. monatlich, durchzuführen.

Daher gibt es 2 Varianten für die Prüfung des Geschäftsjahres:

  • 1 Unterjährige Geschäftsjahresprüfung
  • 2 Geschäftsjahr prüfen

Beide Prüfungen sind inhaltlich identisch. Es werden folgende Parameter überprüft:

  • Prüfung, ob es Abrechnungsblöcke gibt, deren Leistungsdatum nicht in das zu prüfende Geschäftsjahr gehören.
  • Prüfung, ob alle Abrechnungsblöcke, die dem Geschäftsjahr zugeordnet sind, abgerechnet wurden.
  • Prüfung, ob alle Abrechnungsblöcke, die dem Geschäftsjahr zugeordnet sind, ein passendes Leistungsdatum haben.

Wenn alles in Ordnung ist, kommt folgende Meldung.

Unterschiede gibt es in der Anzahl der Abrechnungsblöcke, die geprüft werden und in der Bedienung durch den User.

5.1. Unterjährige Geschäftsjahresprüfung

Die unterjährige Geschäftsjahresprüfung dient insb. dazu, etwaige fehlerhafte Daten möglich frühzeitig zu identifizieren und zu korrigieren, um somit den zeitlichen Aufwand für die jährliche Geschäftsjahresprüfung zu reduzieren.

5.1.1. Grundeinstellungen

Um die unterjährige Geschäftsjahresprüfung durchführen zu können, müssen einmalig einige Grundeinstellungen vorgenommen werden.

Neuen Formular-Typ „Geschäftsjahr-Report“ anlegen

Im Menü „Einstellungen > Drucker > Formulartypen“ muss zunächst neuer Formular-Typ angelegt werden: „Geschäftsjahr-Report“.

Neuen Formular-Ordner „AccountingYearCheckResultReport“ mit Formular „Geschäftsjahr-Report“ anlegen

Dann muss ein neuer Formularordner manuell angelegt werden mit folgendem Namen: AccountingYearCheckResultReport hinterlegt werden.

In diesem Ordner muss das Formular „Geschäftsjahr-Report.repx“ enthalten sein:

Formulareinstellungen für den „Geschäftsjahr-Report“ festlegen

Im Menü „Einstellungen > Drucker > Formulareinstellungen“ muss für das Formular „Geschäftsjahr-Report“ eine neue Formulareinstellung vorgenommen werden.

Achtung: Das Ziel muss „Excel Export“ sein.

Einstellungen > Softwareeinstellungen > Menü > Allgemeine Einstellungen

Nun muss unter „Einstellungen > Softwareeinstellungen > Menü > Allgemeine Einstellungen“ > Export“ noch der Excel Export Pfad angelegt werden. In diesen Ordner werden die die fehlerhaften Abrechnungsblöcke exportiert.

5.1.2. Unterjährige Geschäftsjahresprüfung durchführen

Für die unterjährige Geschäftsjahresprüfung gibt es unter „Einstellungen > Mandanten > Details > Geschäftsjahre“ den Button „Abrechnungsblöcke prüfen vor Leistungsdatum“. Als Datum ist dort im Standard „Heute - 6 Monate“ eingestellt (der Screenshot ist am 23.07.2018 gemacht worden, daher ist der 23.01.2018 voreingestellt. Das Datum kann natürlich manuell geändert werden.

Falls die MItarbeiter keine Admin-Rechte haben und kein Zugang zum Mandantenmenü haben, kann die Prüfung auch im Menu "Abrechnung > Abrechnungskontrolle" vorgenommen werden. Die Funktion ist an beiden Stellen identisch.

Wenn man den Button klickt, werden die Abrechnungsblöcke geprüft. Das dauert einige Sekunden.

Es werden alle Abrechnungsblöcke geprüft,

  • deren Leistungsdatum vor dem ausgewählten End-Datum liegt
  • die im Geschäftsjahr liegen, welches dem End-Datum entspricht
  • zum Mandanten gehören
  • die nicht gelöscht sind
  • deren Fahrten bzw. Aufträge nicht gelöscht sind
  • bei denen der Haken "Abrechnungsblock berechnen" gesetzt ist
  • die keine Abrechnungsblöcke von Auftrags- oder Fahrtvorlagen sind

In der Regel sind noch Daten zu korrigieren, so dass nach der Prüfung folgender Hinweis kommt:

Wenn man mit „Ok“ bestätigt, wird automatisch ein neuer Reiter „Geschäftsjahr prüfen“ erstellt. In diesem Reiter werden alle Abrechnungsblöcke aller Niederlassungen des Mandantens angezeigt, die noch korrigiert werden müssen.

In diesem Reiter kann man sortieren, filtern, gruppieren, nach Excel exportieren etc.  – analog zu allen anderen cargo support Menüs.

Falls es mehrere Niederlassungen mit unterschiedlichen Verantwortlichen für die Abrechnungsprüfung gibt, gibt es noch einen einfacheren Weg, die noch zu kontrollierenden Abrechnungsblöcken nach Niederlassung zu trennen. Dazu muss man einfach auf den Druckbutton gehen und dann den „Geschäftsjahr Report“ auswählen.

Da in den Formulareinstellungen das Druckziel „Excel“ hinterlegt wurde, wird nun kein „normales“ Formular gedruckt, sondern es werden Exceldateien erstellt. Das kann einige Sekunden dauern.

Die obigen Daten werden nun nach Niederlassung sortiert und es wird pro Niederlassung ein separates Exceldokument erstellt. Die Dateien sind in dem oben hinterlegten Ordner zu finden; die Bezeichnung der Exceldateien erfolgt automatisch anhand folgender Logik: Geschäftsjahresprüfung für (Niederlassung) & (Datum und Uhrzeit des Exports).

Im Menü Einstellungen > Mandanten > Geschäftsjahre“ klickt man mit der rechten Maustaste auf das Geschäftsjahr, für das man eine Aktion ausführen möchte und hat dann folgende 3 Optionen:

5.2.  Geschäftsjahr prüfen

Wenn man die Abrechnungsblöcke regelmäßig kontrolliert hat (siehe 5.1.2 Unterjährige Geschäftsjahresprüfung durchführen), wird es bei der jährlichen Geschäftsjahresprüfung keine große Anzahl an fehlerhaften Abrechnungsblöcken geben. Wie oben beschrieben, sind die Prüfkriterien für die unterjährige Geschäftsjahresprüfung und die finale Geschäftsjahresprüfung identisch.

Nach Klick auf „Geschäftsjahr prüfen“ werden folgende Parameter überprüft:

  • Prüfung, ob es Abrechnungsblöcke gibt, deren Leistungsdatum nicht in das zu prüfende Geschäftsjahr gehören.
  • Prüfung, ob alle Abrechnungsblöcke, die dem Geschäftsjahr zugeordnet sind, abgerechnet wurden.
  • Prüfung, ob alle Abrechnungsblöcke, die dem Geschäftsjahr zugeordnet sind, ein passendes Leistungsdatum haben.

Wenn alles in Ordnung ist, kommt folgende Meldung.

Wichtig: Mit dieser Funktion findet lediglich eine Prüfung des ausgewählten Geschäftsjahres statt. Es wird noch nichts fest abgeschlossen. Diese Funktion dient der Kontrolle, welche Abrechnungsdaten in cargo support noch manuell angepasst werden müssen.

5.3.  Jahresabschluss starten

Folgende Voraussetzungen werden beim Klick auf „Jahresabschluss starten“ überprüft:

Voraussetzungen:

  • Geschäftsjahr ist offen
  • Tagesdatum >= Ende des Geschäftsjahr
  • Alle vorherigen Geschäftsjahre wurden abgeschlossen

Wenn alles in Ordnung ist, kommt folgende Abfrage:

Nach Klick auf „Ja“ ändert sich der Status auf „Abschluss läuft“.

Dadurch wird das Geschäftsjahr nicht mehr automatisch eingetragen, falls ein User ein Leistungsdatum ändert.

5.4. Geschäftsjahr abschließen

Nach Klick auf „Geschäftsjahr abschließen“ werden folgende Parameter überprüft:

  • Geschäftsjahr ist auf Status "Abschluss läuft"
  • Die Geschäftsjahr-Prüfung gibt keine Fehler mehr zurück

5.4.1. Geschäftsjahr abschließen ohne Anpassen des Geschäftsjahres

Wenn keine Fehler mehr auftreten, ändert sich der Status des Geschäftsjahres auf „Abgeschlossen“.

5.4.2.  Geschäftsjahr abschließen mit automatischem  Anpassen des Geschäftsjahres

Folgende Änderungen sind dann in der Software nicht mehr möglich:

  • Das Geschäftsjahr im Abrechnungsblock kann nicht mehr ausgewählt werden;
  • Die Abrechnungsblöcke sind generell nicht mehr editierbar;
  • Zum Abrechnungsblock erfasste Zahlungen können nicht mehr editiert werden.

5.5. Geschäftsjahr archivieren

Je länger ein Kunde cargo support einsetzt, desto mehr Stamm- und Bewegungsdaten sind erfasst und desto mehr wächst die Datenbank. Grundsätzlich sollte dies keine negativen Auswirkungen auf z.B. die Performance der Software haben, aber generell gilt: je weniger Daten in der Datenbank, desto besser die Performance in der Software. Daher gibt es nun in cargo support die Möglichkeit, Bewegungsdaten geschäftsjahrweise aus der Livedatenbank zu löschen (5.6 Geschäftsjahr löschen).

Da Daten aus cargo support steuerrechtlich aufbewahrt werden müssen, dürfen diese nicht einfach aus der Livedatenbank gelöscht werden. Erst wenn diese Daten revisionssicher archiviert worden sind, dürfen die Daten aus der Livedatenbank gelöscht werden.

Achtung: Für das Archivieren der Daten sind die Kunden selbst verantwortlich. cargo support stellt lediglich die Möglichkeit bereit, vom Kunden selbstständig archivierte Altdaten aus cargo support in einem cargo support read-only-Modus anzusehen. cargo support bietet KEINE revisionssichere Archivierung.

Nachfolgend ist eine Variante beschrieben, wie die Altdaten aus cargo support durch den Kunden selbstständig archiviert werden können.

5.5.1. Backup vom Livesystem erstellen

Wird noch detailliert beschrieben.

5.5.2. Backup einspielen (z.B. auf VMWare)

Wird noch detailliert beschrieben.

5.5.3. cargo support im read-only-Modus öffnen

Der Archiv-Modus wird durch hinzufügen von


<archiveMode Value="true" />


zur Datenbank-Konfiguration aktiviert.



In dispo wird in der Titel-Zeile angezeigt, dass der Archiv-Modus aktiv ist.


Im Archiv-Modus

  • Kann der Benutzer keinerlei Änderungen vornehmen
    • dies ist auf verschiedenen Ebenen implementiert (Benutzer-Rechte, Buttons deaktiviert, keine Schreibzugriffe auf die DB)
  • Sind etliche Menüpunkte entfernt, u.a.
    • alle Import-Funktionen
    • Rechnungs-Vorbereitung & -Erstellung
    • Einlesen von Tacho-Daten
    • Nacherfassung
    • Funktionen zum Reparieren der Datenbank und dgl.
    • Ändern des Passwortes
  • Kann der Benutzer keine Bildschirmeinstellungen mehr speichern
    • auch die "zuletzt verwendete BE" wird nicht mehr gespeichert
  • Kann der Benutzer keine Skripte ausführen
  • Kann der Benutzer keine Dokumente archivieren
  • Kann der Benutzer drucken
    • aber es werden keine Dokumente mehr archiviert
    • noch die üblichen Änderungen vorgenommen (z.B. bei Markierung das eine Rechnung gedruckt wurde, etc.)
  • Werden keine Emails mehr versendet
    • weder manuell
    • noch per Track & Trace
  • Führt der Appserver keine Cron-Jobs mehr auf; d.h. keine Kommunikation mit externen Systemen: TR02, Schnittstellen etc.
  • Führt der Appserver keine Heal- oder Bereinigungs-Skripte/Funktionen mehr aus
  • Alle Schreiboperationen auf der DB werden unterbunden
  • Ist die (OBU-)Telematik und Handy-Telematik deaktiviert
  • Können der Dispoplan und Routenplaner nicht mehr gestartet werden
  • Werden weder REDIS noch RabbitMQ benötigt

5.5.4. Geschäftsjahre als archiviert kennzeichnen

Nachdem ein Geschäftsjahr geschlossen wurde, ändert sich der Status auf abgeschlossen.

In diesem Status ist es über die Rechte-Maustaste-Option möglich, das Geschäftsjahr als archiviert zu markieren.

Achtung: Mit dieser Funktion erfolgt KEINE Archivierung der cargo support-Daten. Die Archivierung der Daten muss vom Kunden selbstständig vorgenommen werden. Siehe die Beschreibung in Punkt 5.5 Geschäftsjahr archivieren.

Die Funktion „Geschäftsjahr als archiviert markieren“ ermöglicht es softwareseitig lediglich, ein Geschäftsjahr zu löschen. Die Funktion dient insb. dazu, dass man ein Geschäftsjahr nicht versehentlich bereits löscht, bevor es sauber archiviert ist.

Das Löschen eines Geschäftsjahres ist nur möglich, wenn der Status des Geschäftsjahres „Archiviert“ ist.

5.6. Geschäftsjahr löschen

5.6.1. Allgemeines zum Löschen der Daten

Je länger ein Kunde cargo support einsetzt, desto mehr Stamm- und Bewegungsdaten sind erfasst und desto mehr wächst die Datenbank. Grundsätzlich sollte dies keine negativen Auswirkungen auf z.B. die Performance der Software haben, aber generell gilt: je weniger Daten in der Datenbank, desto besser die Performance in der Software. Daher gibt es nun in cargo support die Möglichkeit, Bewegungsdaten geschäftsjahrweise aus der Livedatenbank zu löschen.

Achtung: Da Daten aus cargo support steuerrechtlich aufbewahrt werden müssen, dürfen diese nicht einfach aus der Livedatenbank gelöscht werden. Erst wenn diese Daten revisionssicher archiviert worden sind, dürfen die Daten aus der Livedatenbank gelöscht werden (siehe die Details dazu: 5.5 Geschäftsjahr archivieren).

Generell sind 2 unterschiedliche Datengruppen zu unterscheiden: die Stammdaten bleiben immer in der Live-Datenbank erhalten und werden nicht „aufgeräumt“. Die Bewegungsdaten, die VOR einem definierten Stichtermin erfasst wurden (z.B. Leistungsdatum 29.02.2017), werden komplett aus der Live-Datenbank gelöscht und separat vom Livesystem archiviert. Nachfolgend einige Beispiele zur Verdeutlichung:

Stammdaten

  • Adressen
  • Fahrzeuge
  • Mitarbeiter
  • Sämtliche Vorgaben
  • Auftragsvorlagen

Bewegungsdaten

  • Aufträge
  • Fahrten
  • Abrechnungsblöcke
  • Rechnungen
  • Zahlungseingänge
  • Routenplanerdaten
  • Ortungsdaten
  • TR02-/SBV-Daten
  • Konflikte

Die Basis für das Löschen ist das Geschäftsjahr des Abrechnungsblocks. Es werden nur Aufträge und Fahrten gelöscht,

  • deren Abrechnungsblöcke entweder bereits abgerechnet sind oder
  • deren Abrechnungsblöcke den Haken „Abrechnen“ nicht gesetzt haben.

D.h. also, dass nie Aufträge und Fahrten mit offenen Abrechnungsblöcken gelöscht werden. Außerdem werden Aufträge und Fahrten immer nur zusammen gelöscht, d.h., dass ein Auftrag mit abgerechnetem Abrechnungsblock nicht gelöscht wird, wenn in der zugehörigen Fahrt noch ein offener Abrechnungsblock vorhanden ist. Umgekehrt wird auch eine Fahrt mit abgerechnetem Abrechnungsblock nicht gelöscht, wenn es im zugehörigen Auftrag noch offene Abrechnungsblöcke gibt.

5.6.2. Löschen des Geschäftsjahrs in cargo support

Folgende Punkte sind beim Löschen von Geschäftsjahren zu beachten:

  • Falls das Geschäftsjahr sehr umfangreich ist, empfiehlt es sich eine 64-Bit-Version zum Löschen zu verwenden, da der Speicherbedarf von Dispo durchaus mehrere GB betragen kann.
  • Die Datenbank-Belastung beim Löschen ist recht hoch und greift naturgemäß auf alte Daten zu, die normalerweise nicht angepackt werden; dadurch werden anderen Datenbank-Operationen verlangsamt. Daher sollte man das Löschen eher in den Abendstunden, oder am Wochende durchführen.
  • Bis zur Beantwortung der Sicherheitsabfrage ist die Lösch-Operation harmlos.
  • Man kann die Funktion also verwenden, um zu prüfen, was alles gelöscht werden würde
  • Am besten sollte man zum Löschen cargo support nahe an der Datenbank starten, vielleicht sogar auf dem DB-Server selbst, wenn dieser genügend Speicher hat.
    • Man kann cargo support während des Löschens gefahrlos beenden. In diesem Fall wird das Geschäftsjahr ebenfalls auf den Status "Teilweise gelöscht" gesetzt. Nach einem Neustart von cs kann man dann die Lösch-Funktion auf das teilweise gelöschte Geschäftsjahr wieder anwenden, und das Löschen wird fortgesetzt
      • Dabei werden keine Sicherheitsabfragen oder dgl. mehr gestellt
    • Dies ist nützlich, falls cargo support während des Löschens mal abstürzen sollte oder man das Löschen auf mehrere Abende oder Wochenenden verteilen will.

Nachfolgend werden die einzelnen Schritte beschrieben, wie ein Geschäftsjahr durch einen User gelöscht werden kann.

Ein Geschäftsjahr kann man nicht „aus Versehen“ löschen. Einerseits ist der Zugriff auf diese Funktion über das Rechtesystem eingeschränkt. Andererseits kann ein Geschäftsjahr nur gelöscht werden, wenn es den Status „Archiviert“ hat. In allen anderen Geschäftsjahr-Statuswerten ist ein Löschen nicht möglich.

Außerdem gibt es diverse Rückfragen, die nachfolgend aufgelistet werden. Die Funktion wird über die rechte Maustaste aufgerufen:

Wenn man Geschäftsjahr löschen“ auswählt, kommt folgende Abfrage:

Wenn man mit „Ja“ bestätigt, werden zunächst die zu löschenden Daten ermittelt. Ein Fortschrittsbalken zeigt an, wie weit der Prozess fortgeschritten ist.

Achtung: An dieser Stelle werden noch keine Daten gelöscht.

Danach werden die Daten, die gelöscht werden sollen, in einem schwebenden Fenster angezeigt und können bei Bedarf noch einmal gesichtet werden.

Wenn man dann auf „Ok“ klickt, erscheint folgendes Fenster:

Hier muss noch einmal der exakte Name des Geschäftsjahres eingegeben werden. Erst nachdem man dann auf „ok“ geklickt hat, werden die Daten wirklich gelöscht.

Beim Löschen der Daten wird ebenfalls ein Fortschrittsbalken angezeigt.

Falls es beim Löschen eine Fehlermeldung geben sollte, kann das Löschen problemlos fortgesetzt werden.

Das Geschäftsjahr erhält den Status „Teilweise gelöscht“ und über die rechte Maustaste kann man erneut die Funktion „Geschäftsjahr löschen“ ausführen.

Achtung: Das Arbeiten mit cargo support ist unabhängig von dem Löschstatus möglich. Wenn z.B. übers Wochenende Geschäftsjahre gelöscht werden sollten und es einen Abbruch gab, muss das Geschäftsjahr übers Wochenende nicht zwingend komplett gelöscht werden. Auch bei teilweise gelöschten Geschäftsjahren ist das Arbeiten in cargo support am Montagmorgen problemlos möglich.

5.6.3. Technische Details des Löschvorgangs

Technisch erfolgt das Löschen in mehreren Schritten:

  • Zuerst wird nur ermittelt, welche Aufträge, Angebote, Freie Abrechnungsblöcke und Rechnungen gelöscht werden können.
    • Aufgrund der komplexen Lösch-Regeln kann dies relativ lange dauern (s.o.)
  • Danach wird in einem schwebenden Fenster kurz aufgelistet welche Daten gelöscht werden
  • Nach einer Bestätigung und einer extra Sicherheitsabfrage (bei der man noch einmal „manuell“ den Namen des zu löschenden Jahres eingeben muss), fängt die Software an, alle Daten des Abrechnungsjahres zu löschen
    • Dies kann einige Stunden dauern
  • Am Ende werden alle obigen Tabellen nochmal von Mysql optimiert
    • ALTER TABLE {table} ENGINE=INNODB;
    • Dies defragmentiert die Tabelle
  • Es ist möglich (und nicht ganz unwahrscheinlich), das nicht alle Aufträge / Rechnungen, etc. eines Abrechnungsjahres gelöscht dürfen
    • B. weil die Fahrt eines Auftrags erst im nächsten Jahr abgerechnet wurde
    • In diesem Fall wird das Geschäftsjahr in den Status "Teilweise gelöscht" gesetzt
      • es wird automatisch mitgelöscht, sobald spätere Geschäftsjahre gelöscht werden, und das Geschäftsjahr dadurch komplett geleert wurde

Beim Löschen eines Datensatzes werden alle Untergeordneten Datensätze mitgelöscht. Es wird in folgenden Tabellen gelöscht:

  • accounting_blocks
  • accounting_positions
  • bills
  • billing_positions
  • calculative_tours
  • cash_expenditure
  • component_trip
  • damages
  • date_calculation_conflicts
  • depot_damage_pictures
  • depot_damages
  • depot_movements
  • depot_jobs
  • fast_search_entries
  • geofences
  • history_entry
  • history_businesslogic_entry
  • history_businesslogic_operation
  • incoming_payments
  • offers
  • offers_calculations
  • opening_times
  • order_cargo_contents
  • order_codes
  • order_preparations
  • order_preparation_informations
  • orders
  • package_assignments
  • pallet_accessories
  • pallet_exchange
  • request_offers
  • request_recipients
  • requests
  • routeplanner_calculations
  • route_calculations
  • route_calculations_segments
  • route_calculations_segment_tolls
  • support_survey
  • status_history
  • status_requests
  • telematics_log
  • todo_instance
  • tourplan_numbers
  • track_and_trace
  • trip_documents
  • trip_pallet_accounting
  • trip_resource
  • trip_state_history
  • trip_waypoints
  • trips
  • vemags_applications
  • vemags_application_history
  • warehouse_jobs
  • waypoint_activity
  • waypoint_activity_conflict
  • waypoint_activity_resource
  • waypoint_cargo_contents
  • waypoint_time_restriction

Daneben werden die Referenzen zu archivierten Dokumenten gelöscht. Wenn die letzte Referenz eines Dokuments gelöscht wurde, dann wird auch das archivierte Dokument selbst gelöscht. Dies gilt sowohl für die Tabellen in der Archiv-Datenbank, als auch im Dateisystem.

Folgende Lösch-Regeln gelten: Die "Geschäftsjahr löschen"-Funktion löscht folgenden Daten (mitsamt der Unterdaten):

  • Aufträge
  • Angebote
  • Freie Abrechnungsblöcke
  • Rechnungen

Ein Auftrag wird nur dann gelöscht, wenn alle der folgenden Bedingungen erfüllt sind:

  • Der Auftrag liegt (mit dem Auftragsdatum) im Zeitraum des zu löschenden Abrechnungsjahres (oder ist älter)
  • Alle Abrechnungsblöcke liegen im zu löschenden Geschäftsjahr oder bereits (teil)gelöschten Geschäftsjahren oder sind keinen Geschäftsjahren zugeordnet (da nicht abgerechnet oder für einen anderen Mandanten ohne Geschäftsjahre)
  • Das gleiche muss ebenfalls für alle Abrechnungsblöcke aller Fahrten gelten (d.h. alle Fahrten müssen selbst löschbar sein)
  • Falls es Sammelrechnungen gibt müssen alle Aufträge aller Sammelrechnungen löschbar sein
  • Falls es Fahrten mit Sammelgutschriften gibt, müssen alle Fahrten aller Gutschriften löschbar sein
  • Falls es Fahrten gibt die per ILV vergeben wurden, müssen alle ILV-Aufträge löschbar sein

Ein Angebot wird nur dann gelöscht, wenn alle der folgenden Bedingungen erfüllt sind:

  • Der Angebot liegt (mit dem Auftragsdatum) im Zeitraum des zu löschenden Abrechnungsjahres (oder ist älter)
  • Alle Abrechnungsblöcke liegen im zu löschenden Geschäftsjahr oder bereits (teil)gelöschten Geschäftsjahren oder sind keinen Geschäftsjahren zugeordnet (da. nicht abgerechnet oder für einen anderen Mandanten ohne Geschäftsjahre)
  • Alle aus dem Angebot erstellten Aufträge müssen löschbar sein

Ein freier Abrechnungsblock wird nur dann gelöscht, wenn alle der folgenden Bedingungen erfüllt sind:

  • Der Abrechnungsblock liegt im zu löschenden Geschäftsjahr oder bereits (teil)gelöschten Geschäftsjahre
  • Falls es Sammelrechnungen gibt müssen alle Abrechnungsblöcke der Sammelrechnungen löschbar sein
  • Eine Rechnung wird nur dann gelöscht, wenn alle der folgenden Bedingungen erfüllt sind:
  • Die Rechnung liegt im zu löschenden Geschäftsjahr oder bereits (teil)gelöschten Geschäftsjahre
  • Alle Aufträge oder Fahrten, die abgerechnet wurden müssen löschbar sein









Diskussionen