Verfahrensdokumentation gemäß KassenSichV
M&S SystemSolutions GmbH & Fa. Compilager.de
Bauvereinstrasse 39A,
D-90489 Nürnberg
Blitz!Kasse® für Windows und Android
Stand: 08.10.2022
Softwareversionen: ab Oktober 2022
Einleitung
Dieses Dokument enthält eine Verfahrensdokumentation für die Kassensoftware-Anwendungen Blitz!Kasse Gastro,
Blitz!Kasse Handel, EXPRESSKasse Handel X² und X³ sowie Blitz!Kasse Android mit Unterstützung der TSE.
Veröffentlichung der aktuellen Version war der 01.10.2022.
Die Inhalte können bei älteren Softwareversionen leicht abweichen.
Allgemein
Software
Bei den Softwareprodukten handelt es sich um Anwendungen für das Microsoft Windows Betriebssystem
sowie für Android- und Linux-Systeme. Die Client-Server-Architektur basiert unter Windows auf C#
mit Verwendung von Framework-Technologien, unter Linux mit Mono; bei Client-Software wird des
Weiteren Android mit Java genutzt.
Aufgrund des Einsatzes einer TSE muss mindestens Windows 10 als Betriebssystem eingesetzt werden,
um alle Vorgaben der TSE-Zertifizierung zu erfüllen.
Datenbank
Als Datenbank verwenden alle Anwendungen einen eigenen MySQL-Server oder eine MariaDB-Datenbank,
die während der Installationsroutine mit installiert und konfiguriert wird. Das Server-Back-End
besteht aus MySQL oder MariaDB sowie dem REST-Server.
Es gibt ein webbasiertes Office-Front-End und eine Verkaufsmaske in der Kassensoftware.
Die Verkaufsmaske kann je nach Softwareart auf Windows, Linux oder Android basieren.
Das Passwort zur Authentifizierung ist nur dem Softwarehersteller bekannt. Die verwendete MySQL-Datenbank
ist mit 256-Bit-Schlüsseln geschützt. Jedes weitere Kassensystem im Verbund nutzt eine zentrale Datenbank.
Durch diesen Mechanismus ist sichergestellt, dass eine Manipulation der Datenbank durch Dritte
oder außerhalb der Kassensoftware ausgeschlossen ist. Auf Verlangen kann die prüfende Finanzbehörde
das zugehörige Passwort vom Softwarehersteller anfordern.
Diese Datenbank ist nicht dateibasiert und kann deshalb nicht mit Anwendungen wie Microsoft Access geöffnet werden.
Aufgrund der neuen Anforderungen an den DSFinV-K-Export war es notwendig, die Datenbank um die Speicherung von
Geschäftsvorfällen, Transaktionen und dazugehörigen Positionen zu erweitern.
Cloud wird hauptsächlich nicht verwendet. Auch ASP wird nicht verwendet. Das System wurde so konzipiert,
dass es offline funktionieren soll. Als Hardware werden handelsübliche Computer auf Windows 10 als
Mindestanforderung oder Linux- bzw. Android-basierte Geräte genutzt.
Daten-Strukturen
Grundsätzlich werden alle Informationen und Datensätze in den folgenden Datenbanken gespeichert:
- LOG – Aufzeichnung aller Aktivitäten auf der Kasse und in Office
- SETTING – Benutzer- und System-Einstellungen wie Warengruppen, Tische, Ebenen, Drucker und Personal
- STORAGE – Verkaufsdaten wie Kassenbons, Storno-Bons, stornierte Artikel, verkaufte Artikel und Z-Abschläge
- TEMP – operative Daten / laufende Bestellungen
Tabellenbeschreibung – Allgemeine Hinweise
Kod_Synchro und DeviceID sind Überbleibsel aus einer älteren Softwaregeneration und werden von
der Windows-basierten Software sowie den Terminals nicht genutzt. Sie sind aus Kompatibilitätsgründen
noch in der Datenbank vorhanden.
Das System verwendet insgesamt vier Datenbanken zu unterschiedlichen Zwecken: log,
settings, storage und temp.
Jede Tabelle enthält ein ID-Feld. Im Falle der STORAGE-Datenbank beginnt dieses immer mit der Nummer 1.
Beim Vorbereiten des Erstbeitrages werden alle Daten – mit Ausnahme des Logs – so zurückgesetzt,
dass sie anschließend wieder bei 1 beginnen. Auch die Nummern in STORAGE sollten fortlaufend sein.
Datenbank: settings
Beschreibung: Speicherung der Kassen-Einstellungen.
tbl_additions
Tabelle, in welcher die kostenpflichtigen Zusätze für eine Warengruppe oder einen Artikeltyp gespeichert werden.
- ID[integer] – automatische, aufsteigende Identifikationsnummer
- AdditionsName[string] – Name des Zusatzes
- Price1 bis Price4[float] – Preisniveaus, z. B. S / M / L / XL
- SortID[integer] – Sortiernummer in der Verkaufsmaske
- Consisted[boolean] – zeigt an, ob der Zusatz auf Lager ist
- Mode[integer] – ID des zugehörigen Warengruppentyps
- Kod_Synchro[string] – ungenutztes Feld
- DeviceId[string] – Gerät der letzten Änderung
- AdditionsColor[string] – Tastenfarbe
- AdditionsKitchenName[string] – abweichender Name auf dem Küchenzettel
tbl_areas
Tabelle zur Speicherung von Warengruppen-Typen.
- ID[integer] – Identifikationsnummer
- AreaName[string] – Name des Warengruppen-Typs
- AreaMode[int] – Identifikationsnummer des Warengruppen-Typs
- Kod_Synchro[string] – ungenutztes Feld
- DeviceId[string] – Gerät der letzten Änderung
tbl_categories
Tabelle zur Speicherung der Warengruppen.
- ID[integer] – Identifikationsnummer
- CatName[string] – Name der Warengruppe
- Mode[int] – Identifikationsnummer des Warengruppen-Typs
- Kod_Synchro[string] – ungenutztes Feld
- DeviceId[string] – Gerät der letzten Änderung
- SortID[integer] – Sortierungsnummer
- NotPrintSaldo[boolean] – Küchenzettel-Druck für diese Gruppe
tbl_customers
Tabelle zur Speicherung von Kundendaten.
- ID[integer] – Identifikationsnummer
- CustomerNumber[string] – Kundennummer
- CustomerFirma[string] – Firmenname
- CustomerName[string] – Kundenname
- CustomerStreet[string] – Adresse
- CustomerZip[string] – Postleitzahl
- CustomerCity[string] – Stadt
- CustomerCard[string] – Kundenkarten-Identifikation
- CustomerDiscount[string] – Kundenrabatt in Prozent
- CustomerComment[string] – Kommentar
- CustomerDate[long] – Eintragsdatum
- CustomerBirthday[long] – Geburtsdatum
- Kod_Synchro[string] – ungenutztes Feld
- DeviceId[string] – Gerät der letzten Änderung
tbl_discount
Tabelle zur Speicherung von möglichen Rabatten.
- ID[integer] – Identifikationsnummer
- DiscountName[string] – Bezeichnung des Rabatts
- DiscountValue[float] – Rabattwert
- IsDiscountPercentual[boolean] – Rabatt in Prozent
- DiscountCode[string] – Identifikationscode
tbl_happhour
Tabelle zur Speicherung von Aktions- / Happy-Hour-Zeiten.
- ID[integer] – Identifikationsnummer
- categorieID[integer] – Warengruppe
- productID[integer] – Produkt
- weekDayNumber[integer] – Wochentag (1–7, Mo–So)
- beginnHour / beginnMinute – Beginn
- endHour / endMinute – Ende
- discount[float] – Rabatt in Prozent
- Kod_Synchro[string] – ungenutztes Feld
- DeviceId[string] – Gerät der letzten Änderung
tbl_levels
Tabelle für Räume / Ebenen.
- ID[integer] – Identifikationsnummer
- LevelName[string] – Name der Ebene / des Raums
- LevelColor[string] – Farbe der Taste
- SortID[integer] – Sortiernummer
- LevelMode[integer] – zugehöriger Warengruppen-Typ
- LevelTaxMode[integer] – Standardsteuersatz
- LevelText[string] – Beschreibung
- LevelPersonal[string] – zugelassenes Personal
- Kod_Synchro[string] – ungenutztes Feld
- DeviceId[string] – Gerät der letzten Änderung
- LevelImage[string] – Bildpfad
- LevelImageMode[integer] – Bild einblenden
- LevelPriceDeviation[float] – Preisabweichung
- SetOutOfHauseAsDefault[boolean] – Außer-Haus als Standard
- ShowCustomerDialogByNewTable[boolean] – Kundenabfrage
tbl_level_details
Tabelle für Tische / Parkplätze.
- LevelDetailID[integer] – Identifikationsnummer
- LevelID[integer] – übergeordneter Raum / Ebene
- LevelDetailText[string] – Beschreibung
- LevelDetailName[string] – Name des Tisches / Parkplatzes
- LevelDetailColor[string] – Farbe der Taste
- Kod_Synchro[string] – ungenutztes Feld
- DeviceId[string] – Gerät der letzten Änderung
- LevelDetailPersonal[string] – zugelassenes Personal
- SortID[integer] – Sortiernummer
Weitere settings-Tabellen
- tbl_misc_products – derzeit nicht verwendet
- tb_payment_types – derzeit nicht verwendet
tbl_personal
Eingetragene Bediener / Kellner.
- PersonalID[integer] – Identifikationsnummer
- Login[string] – Login-Name
- Password[string] – verschlüsseltes Kennwort
- UserSetting1–10[boolean] – Rechte
- UserName[string] – angezeigter Name
- Status[int] – Nutzerstatus
- aktiv[int] – Aktivitätsanzeige
- Color[string] – nicht mehr verwendet
- Discount[float] – maximal möglicher Rabatt
tbl_barcode_to_product
1:n-Tabelle für Barcodes pro Produkt.
- ID[integer] – Identifikationsnummer
- productId[integer] – Waren-ID
- bardcode[string] – Barcode
tbl_printers
In der Kasse genutzte Druckerwarteschlangen.
- ID[integer] – Identifikationsnummer
- tpPrinterName[string] – Druckername
- tpPrinterServerIp[string] – IP-Adresse
- tpPrinterPort[string] – Netzwerkport
- tpPrinterCharCountProLine[integer] – Zeichenanzahl
- tpPrinterLineSpacing[integer] – Zeilenabstand
- tpSetTextAlignCommand / Left / Center / Right
- tpLineFeedCommand, tpInitPrinterCommand
- tpCutParerCommand – Papier schneiden
- tpOpenCashBoxCommand – Kassenlade öffnen
- tpSetPrintModeCommand, tpSetCharsetCommand
- tpSetDefaultLineSpacingCommand, tpSetLineSpacingCommand
- tpPrintNVImageCommand und Varianten
- tpPrinterCharSetTable[string] – Zeichentabelle
- tpPrinterWindowsName[string] – Windows-Druckername
- tpUseESCPOS[string] – Standard-ESC/POS verwenden
- tpPrintBarCodeCommand / printBarCodeSizeValues
- Kod_Synchro[string], DeviceId[string]
tbl_printers_in_categories
m:n-Tabelle für Drucker und Warengruppen. Relevanz vor allem für Bestellbelege (Saldos);
Rechnungsbelege werden auf dem Standarddrucker oder lokal festgelegten Drucker ausgegeben.
- ID[integer] – Identifikationsnummer
- tpCategorieId[int] – Warengruppen-ID
- tpPrintersId[int] – Drucker-ID
- Kod_Synchro[string], DeviceId[string]
tbl_products
Für den Verkauf eingetragene Artikel.
- ID[integer] – Identifikationsnummer
- PLU[string] – PLU-Nummer
- ProdName[string] – Artikelname
- CatId[integer] – übergeordnete Warengruppe
- Price[float] – Verkaufspreis
- PriceHH[float] – minimal zulässiger Preis
- ProdConsisted[integer] – Lagerbestand
- ProdMaxDiscount[float] – nicht mehr verwendet
- ProdTaxId[integer] – ID des Steuersatzes
- ProdTax[float] – Steuersatzwert
- Supplement[boolean] – Beilage/Variante
- ProdColor[string] – Tastenfarbe
- SortID[integer] – Sortiernummer
- Kod_Synchro[string], DeviceId[string]
- StaticTax[boolean] – Im-Haus-Regel ignorieren
- ProdKitchenName[string] – Küchenbezeichnung
- IsHoldingSet[boolean] – Set-Artikel automatisch mit einfügen
tbl_poduct_chain
1:n-Tabelle mit IDs von Set-Artikeln. Ein Master-Artikel kann mehrere Ketten-Artikel aufweisen.
- Id[integer] – Identifikationsnummer
- MasterProductId[integer] – ID des Master-Artikels
- ChainProductId[integer] – ID des Ketten-Artikels
tbl_supplements
Produktvarianten / Beilagen ohne Einfluss auf den Artikelpreis.
- ID[integer] – Identifikationsnummer
- SortID[integer] – Sortiernummer
- Consisted[boolean] – Vorrätig / nicht vorrätig
- Kod_Synchro[string], DeviceId[string]
- SupplementColor[string] – Tastenfarbe
- SupplementKitchenName[string] – Küchenbezeichnung
- Mode[int] – Warengruppen-Typ
- CategorieID[integer] – Warengruppe
- ProductID[integer] – Artikel-ID
tbl_tax
Eingetragene Steuersätze.
- ID[integer] – Identifikationsnummer
- Tax[float] – Wert des Satzes
- Name[string] – Name des Satzes
- Description[string] – Beschreibung
- Country[int] – ungenutzt
- Status[boolean] – aktiv nutzbar
- Kod_Synchro[string], DeviceId[string]
tbl_config
Tabelle zur Speicherung allgemeiner Kassen-Einstellungen.
- ID[integer] – Identifikationsnummer
- Settings[string] – Name des Einstellungsparameters
- Kod_Synchro[string], DeviceId[string]
- Value[string] – Wert des Parameters
Liste bekannter genutzter Einträge:
- CUSTOMER_DISPLAY_SERVER_IP / PORT
- CUSTOMER_DISPLAY_CHARS_PRO_LINE
- PRODUCT_TAX_ID_DEFAULT_VALUE
- PRODUCT_TAX_DEFAULT_VALUE
- OTHER_PRODUCTS_START_TEXT
- FIRMS_NAME, FIRMS_PERSON_NAME, FIRMS_STREET, FIRMS_ZIP, FIRMS_CITY
- FIRMS_TAX_NUMBER, FIRMS_TELEFON, FIRMS_EMAIL
- SINGLE_USER_MODE
- NEED_LOGIN_WITH_PASSWORD
- SHOW_PRODUCT_CONSISTED / CHECK_PRODUCT_CONSISTED
- NO_ADD_PRODUCTS_BY_CONSISTED_MINUS
- MESSAGE_BY_PRODUCT_CONSISTED_LITTLE_AS
- DEFAULT_PRINTER_ID
- BON_FOOTER
- PRINT_SALDO_SINGLE_PRODUCTS / AFTER_LIST
- CHECK_NETWORK_CONNECT / SSID_NAME
- USE_CONDENCE_BON_PRODUCTS_FUNCTION
- LOGOUT_AFTER_BON / LOGOUT_AFTER_SALDO
- GOTO_TABLES_AFTER_SALDO / GOTO_LEVELS_AFTER_SALDO
- EC_TERMINAL_PORT / USE_ZVT_TERMINAL
- CUSTOMER_DISPLAY_HANDLE
- PRINT_COMPANY_NAME, STREET, CITY, PHONE, OWNER, ZIP, TURNOVER_TAX_ID, EMAIL
Datenbank: storage
Beschreibung: Lagerung von Verkaufsdaten.
- tbl_cmdusers – nicht mehr verwendet
- tbl_config – nicht mehr verwendet
- tbl_eventlog – nicht mehr verwendet, nun in einzelner Datenbank
- tbl_metaz – nicht mehr verwendet
tbl_paymentproducts
Verkaufte Artikel werden hier gesondert von den Beleginformationen gespeichert.
- ID[integer] – Identifikationsnummer
- bonNumber[integer] – Belegnummer
- userName[string] – Bediener/Kellner
- productPlu[string] – PLU
- productName[string] – Artikelname
- orderIdName[string] – unikale Bestellbezeichnung
- paymentOrdersNumber[integer] – interne Bestellnummer
- productAdditions[string] – Zusätze
- productCategorieName[string] – Warengruppenname
- dateb[long] – Zeitpunkt
- productCount[integer] – Artikelanzahl
- productDiscount[float] – Rabatt
- productId[integer] – Artikel-ID
- mode[integer] – Warengruppen-Typ
- productPrice[float] – Preis
- productCategorieId[integer] – Warengruppe
- productTax[float] – Mehrwertsteuersatz
- staticTax[boolean] – Aussetzen der Im-Haus-Regel
- storno[boolean] – stornierte Position
- userId[integer] – Bediener-ID
- customerDiscount[float] – Kundenrabatt
- IsProcessed / ProcessedTime – Küchenmonitor
tbl_payment_receipts
Verbuchte Beleginformationen.
- ID[integer] – Identifikationsnummer
- tableText[string] – Tisch-/Parkplatzbezeichnung
- personalName[string] – Bediener/Kellner
- bonNumber[integer] – Belegnummer
- comment[string] – Kommentar
- paymentOrdersNumber[integer] – interne Bestellnummer
- customerNumber[string] – Kundennummer
- customerShippingAdress[string] – Lieferadresse
- customerText[string] – Kundenname
- paymentMode[string] – Zahlungsart
- deviceId[string] – Terminal-ID
- dateb[long] – Zeitpunkt
- paid[boolean] – bezahlt
- tip[float] – Trinkgeld
- backMoney[float] – Rückgeld
- storno[boolean] – stornierte Position
- summ[float] – Summe
- tableIdb[integer] – Tisch-/Parkplatz-ID
- totalDiscount / totalPrice / totalProductsCount
tbl_returned_order_item
Artikel, die vor dem Verkauf storniert wurden.
- ID[integer] – Identifikationsnummer
- tpOrderItemIdName[string] – unikale Bestellsignatur
- tpLevelDetailId / tpLevelDetailName – Tisch/Parkplatz
- tpProdId / tpPlu / tpProdName – Artikel
- tpUserId / tpUserName – Originalbestellung
- tpReversalUserId / tpReversalUserName – Storno
- tpProdCount / tpProdPrice / tpProdDiscount / tpProdTax
- tpDate / tpReversalDate – Zeitpunkte
- tpCatId – Warengruppe
- tpAdditions / tpSupplement / tpComment / tpReversalComment
- tpIsInstantReversal[boolean] – Sofortstorno
- tpDeviceId[string] – Terminal-ID
tbl_zpayment
Z-Abschlag-Informationen. Nicht mehr gelistete Spalten werden nicht mehr zur Ermittlung des
Z-Berichts genutzt; vielmehr wird dieser bei Bedarf aus Verkaufsdaten und Eckdaten errechnet.
- key_ident[integer] – Identifikationsnummer
- enddate[long] – Enddatum des Z-Berichts
- Startdate[long] – Startdatum nach letztem Z-Bericht
- Username[string] – Kellner/Bediener
- Userid[int] – Kellner-/Bediener-ID
- StartBonNumber / EndBonNumber – erste und letzte Rechnungsnummer
Datenbank: temp
Beschreibung: Laufende Bestellungen werden hier zwischengespeichert.
tbl_temp
Beschreibung: laufende Bestellungen.
- ID[integer] – Identifikationsnummer
- tpOrderItemIdName[string] – unikale Bestellsignatur
- tpTableID / tpTableName – Tisch / Parkplatz
- tpProdID / tpPLU / tpProdName – Artikel
- tpKellnerID / tpKellnerName – Bediener
- tpProdPrice / tpProdDiscount / tpProdTax
- tpProdVol[integer] – Artikelanzahl
- tpDate[long] – Zeitstempel
- tpCatID[integer] – Warengruppe
- tpRabatt / tpHappyHour / tpSaldo / tpBestellPrint
- tpKundenNr / tpKundenRabatt
- tpZutaten / tpBeilage / tpComment
- IsProcessed / ProcessedTime – Küchenmonitor
- StaticTax[boolean] – Im-Haus-Regel erzwingen
kds_processed
Vom Küchenmonitor verarbeitete Positionen.
- ID[integer] – Identifikationsnummer
- OrderId[integer] – Bestellnummer
- ProductId / ProductName / ProductCount / ProductPrice
- UserId / UserName – Bediener
- LevelDetailId / LevelDetailName – Tisch / Parkplatz
- TimeAdded / TimeProcessed – Zeitpunkte
- Supplement / Additions
Datenbank: log
Beschreibung: Log-Daten.
events
Beschreibung: Kassenvorgänge.
- ID[integer] – Identifikationsnummer
- EventType[string] – Art des Ereignisses
- Timestamp[long] – Zeitstempel
- Comment[string] – Kommentar
- Checksum[string] – Prüfsumme
Manipulationsschutz
In der Rechnungstabelle sind Spalten für die Speicherung von Signaturdaten vorhanden.
Gesichert werden unter anderem: SecureElementClient, SecureElementSequence,
SecureElementCounter, SecureElementSerial und SecureElementLogTime.
Beim Einsatz einer TSE in Deutschland werden weitere Daten wie ProcessType und
ProcessData in der Tabelle business transactions erfasst, um ein vollständiges DSFinV-K zu ermöglichen.
Durch Primärschlüsselspalten mit Autoinkrement-Werten wird eine fortlaufende lückenlose Nummerierung gewährleistet.
In der Software gibt es keine Möglichkeit, Rechnungen zu löschen. Bei einem Storno wird ein neuer Beleg mit neuer
Belegnummer und negativen Positionsmengen generiert.
Unterstützte Sicherheitseinrichtungen / TSE
In der Dokumentation wird für Deutschland Swissbit (u. a. USB-Stick, MicroSD) genannt.
Die TSE-Einheit wird an die Hauptkasse angebunden. Mobile Eingabeterminals wie Blitz!Kasse ORDER
laufen ebenfalls über die Hauptkasse des Geschäftes.
Technisch ist es möglich, im Verbund jede Kasse mit einer TSE auszustatten.
Inbetriebnahme
Um die TSE-Einheit zu aktivieren, muss die Hauptkasse im Voraus lizenziert sein. Die TSE-Einheit wird
mit der Kasse verbunden und in der Kassensoftware aktiviert:
Office → Fiscal Einstellungen → TSE → SWISSBIT / CRYPTOVISION.
Einzugeben sind insbesondere:
- Kassenname
- Pfad
- Admin Pin
- Admin Puk
- Zeit-Admin Pin
- Zeit-Admin Puk
Anschließend wird ein Inbetriebnahmedokument mit allen notwendigen Informationen wie Kassen-Seriennummer
und TSE-Seriennummer ausgefüllt. Der Kunde muss dieses für spätere Anmeldungen aufbewahren und eine Kopie
dem Finanzamt vorlegen.
TSE-Anmeldung beim Finanzamt
Sobald die TSE in der Kassensoftware aktiviert wurde, muss sie vom Steuerpflichtigen persönlich
beim zuständigen Finanzamt angemeldet werden.
Ausfall der Sicherheitseinrichtung
Im Falle eines Ausfalls der TSE erscheint eine Meldung mit Funktionsstörung. Der Kunde wird informiert
und kann keine weiteren Buchungen oder Rechnungsdrucke durchführen.
Funktionen
Mitarbeiteranmeldung
Um die Kasse nutzen zu können, muss sich immer ein Mitarbeiter am System anmelden. Jeder Mitarbeiter nutzt
dafür sein persönliches Kennwort. Die Anmeldeinformationen werden in Protokollen, Rechnungen, Z-Abschlägen
und Umsatzstatistiken hinterlegt.
Tischauswahl (nur Gastronomie)
Nach der Anmeldung wählt der Mitarbeiter einen Tisch unter Berücksichtigung des konfigurierten Revierzwangs.
Die Tischeinstellungen müssen im Bereich Office → Tische im Voraus vorgenommen werden.
Artikel buchen oder stornieren
Mitarbeiter können einen oder mehrere gleichnamige Artikel buchen oder stornieren.
Eine Stornierung ist nur mit entsprechenden Berechtigungen möglich.
Abrechnen
Im Abrechnungsvorgang kann das vom Kunden gegebene Geld hinterlegt werden; Wechselgeld wird automatisch kalkuliert.
Zusätzlich sind wählbar:
- Zahlungsart (Bar oder EC-Karte)
- Belegtyp, z. B. Bon, A4-Beleg, Bewirtungsbeleg
- Im-Haus- oder Außer-Haus-Buchung
Nach Bestätigung der Taste „Rechnung“ wird eine Rechnung mit fortlaufender Nummer generiert und gedruckt.
Rechnung stornieren
Eine gestellte Rechnung kann nicht zurückgeholt oder modifiziert werden. Im Office-Bereich der Kassensoftware
kann jedoch ein bereits verbuchter Bon storniert werden, sofern die notwendigen Mitarbeiterberechtigungen vorliegen.
Bei einem Storno wird ein neuer Beleg mit neuer Belegnummer und negativen Positionsmengen generiert.
Z-Abschlag / Tagesabschluss
Z-Abschläge können nur mit entsprechenden Berechtigungen durchgeführt werden. Bereits erstellte Z-Abschläge
werden in einer lückenlosen Liste gespeichert und können über Office → Z-Abschlag Liste
auf Bon oder A4 nachgedruckt werden.
Datensicherung
Alle Daten sind in einer MySQL- / MariaDB-Datenbank gespeichert. Ohne Passwort und ohne die Geheimhaltung
des Herstellers ist ein Zugriff auf oder eine Manipulation des Datenbestands nicht möglich.
Backup: Nach jedem Start der Software wird automatisch eine Datensicherung mit Zeitstempel erstellt.
Zusätzlich ist der Kunde verpflichtet, Backups regelmäßig auf einem externen Datenträger zu sichern.
Bediener-Berechtigungen
Im Bereich Office → Personal können jederzeit die jeweiligen Berechtigungen pro Person
aktiviert oder deaktiviert werden. Dort wird auch das persönliche Kennwort der Person festgelegt.
Export-Möglichkeiten
Im Backoffice können im Falle einer Betriebsprüfung die notwendigen Daten im empfohlenen GdPDU-Format exportiert werden.
Es steht eine Auswahl zwischen GoBD-Export und DSFinV-K zur Verfügung.
GoBD-Export beinhaltet
- gdpdu-01-08-2002.dcd
- INDEX.xml
- Settings.tbl_categories.csv
- Settings.tbl_personal.csv
- Settings.tbl_products.csv
- Settings.tbl_tax.csv
- Settings.tbl_paymentproducts.csv
- Settings.tbl_paymentreceipts.csv
- Settings.tbl_zpayment.csv
DSFinV-K-Export beinhaltet
- gdpdu-01-08-2002.dcd
- INDEX.xml
- Allocation_groups.csv
- Businesscases.csv
- Cash_per_currency.csv
- Datapayment.csv
- Itemamounts.csv
- Lines.csv
- Lines_vat.csv
- Payment.csv
- Subitems.csv
- Trantsactions.csv
- Transactions_tse.csv
- Transactions_vat.csv
LogExport
Durch Eingabe von IPAdresse:8001/DownloadLogFile in einem Browser kann die komplette CSV-Datei
mit allen notwendigen Informationen geladen werden.
- ID
- EventType
- Date
- Comment
- UserID
- ChangedValue
Programmierprotokoll
Alle Änderungen der Stammdaten werden fortlaufend protokolliert. Spalten- und Tabellenbezeichnungen
in der Datenbank sind in Englisch selbsterklärend, z. B. PRODUCTNAME = Artikelname, VAT = MwSt.
Durch die geforderte Einzeldatenaufzeichnung werden bei jeder Artikelposition zusätzlich weitere Informationen
wie PLU, Mitarbeitername, Tischname/-nummer, Kundennummer, Rabatt usw. gespeichert.
Zusätzliche Hinweise
- Die Software hat keinen Trainingskellner.
- Es gibt keine Tische oder Mitarbeiter, deren Umsatz nicht in Positions- bzw. Rechnungstabellen erscheint.
- Werden Tische oder Mitarbeiter gelöscht, bleibt deren Umsatz in der Datenbank erhalten.
- Dadurch bleibt die Nachvollziehbarkeit der Tagesabschlüsse gewahrt.
- Rechnungen bzw. Rechnungssummen resultieren aus den Buchungsdaten, Tagesabschlüsse aus Rechnungs- bzw. Positionsdaten.
Mitarbeiterberechtigungen – Beispiele
- Splitten
- Sofort-Storno
- Rabatt-Vergabe
- Office-Funktion betätigen
- Einstellungen-Taste betätigen
- Umsetzen
- Rechnung drucken
- Geld-Einlage / Entnahme
- Artikel ändern
- Z-Abschlag
- Bestand ändern
Informationen / Links / Disclaimer / Veränderungen durch Updates
Fa. Compilager.de Inh. G. Mindel und M&S SystemSolutions GmbH behalten sich vor,
die Verfahrensdokumentation jederzeit zu ergänzen, zu ändern oder zu erweitern.
Ebenfalls werden Feedbacks von Kunden zur Vereinfachung der Benutzung der Software mittels Updates hinzugefügt.
Diese werden in der Regel als Updates auf der Website zur Verfügung gestellt.
Es wird empfohlen, sich vor einer Prüfung durch die Finanzbehörde die jeweils aktuelle
Verfahrensdokumentation auszudrucken und dem Prüfer zur Verfügung zu stellen.
Neuigkeiten zur Verfahrensdokumentation aufgrund von Updates haben laut Dokumentation keinen Einfluss
auf die Verfahrensdokumentation.