Gut zu wissen

Die vorigen Abschnitte erklärten die Grundfunktionen des KittMedia Shops. Dennoch gibt es natürlich noch Dinge, die nicht in der täglichen Nutzung interessant sind, aber doch gut zu wissen, wenn man sie einmal benötigt.

Rechnungen neu erstellen

Es gibt keine automatische Möglichkeit, PDF-Rechnungen neu zu generieren. Dies hat rechtliche Hintergründe. Sollte es aber doch mal vorkommen, dass eine Rechnung neu generiert werden soll, ist das ganz einfach möglich, indem man einen Wert in der Datenbank auf NULL setzt.

Dazu muss man nur die Tabelle kppsX_invoice (wobei X für die Installationsnummer steht) aufrufen und die Rechnung auswählen, die man neu generieren lassen möchte. Dann muss lediglich der Wert in der Reihe pdfID auf NULL gesetzt werden. Wenn nun jemand die Rechnung aufruft, wird diese neu generiert.

Es gilt zu beachten, dass dabei die alte Rechnung noch auf dem Webspace verbleibt. Das sollte aufgrund der geringen Dateigröße kein Problem sein, will man sie jedoch entfernen, kann man folgendermaßen vorgehen:
Die pdfID in der Zeile kppsX_invoice muss man sich merken und selbige in der Tabelle kppsX_invoice_pdf suchen. Dort notiert man sich den dazugehörigen Wert in der Reihe fileHash.
Nun öffnet man auf dem Webspace das Verzeichnis storage/invoices/ im Installationspfad des Shops und sucht dort nach dem Ordner mit den beiden Anfangsbuchstaben des fileHash-Wertes, den man sich notiert hat. Darin befindet sich dann eine Datei, die genau nach diesem fileHash benannt ist, welche dann wiederum gelöscht werden kann.

Umsatzsteuervoranmeldung

Wer in der Europäischen Union ansässig ist und Produkte in andere Länder verkauft, muss Umsatzsteuer in dem Land abführen, in welchem der Kunde seinen Sitz hat. Um die dafür notwendigen Daten zu erhalten, kann man folgende SQL-Abfrage nutzen:

SELECT SUM(invoice.total) AS totalSum, SUM(invoice.valueAddedTaxIncluded) AS taxSum, (SUM(invoice.total) - SUM(invoice.valueAddedTaxIncluded)) AS net, country.countryCode FROM kpps1_invoice AS invoice LEFT JOIN (kpps1_customer AS customer, kpps1_country AS country) ON (invoice.customerID = customer.customerID AND customer.countryID = country.countryID) WHERE valueAddedTaxIncluded > 0 AND invoice.time BETWEEN UNIX_TIMESTAMP('2021-01-01 00:00:00') AND UNIX_TIMESTAMP('2021-03-31 23:59:59') GROUP BY country.countryCode ORDER BY country.countryCode ASC;
Code-Sprache: SQL (Structured Query Language) (sql)

Hier müssen nur die beiden Datum-Angaben in Zeile 6 angepasst werden. Es wird der Gesamtumsatz, die Summe der Umsatzsteuer, der Nettoumsatz und der Ländercode, sortiert und gruppiert nach Ländercode, ausgegeben. In Fall von oben zwischen dem 1. Januar 2021 00:00:00 Uhr und dem 31. März 2021 23:59:59 Uhr.

Jahresumsatz

Am Ende des aktuellen oder zu Beginn des nächsten Jahres möchte man möglicherweise die Einnahmen aus dem vorangegangenen Jahr als Summe an das Finanzamt weiterleiten. Mit der folgenden SQL-Abfrage erhält man diesen Wert:

SELECT SUM(total) FROM kpps1_invoice WHERE time BETWEEN UNIX_TIMESTAMP('2020-01-01 00:00:00') AND UNIX_TIMESTAMP('2020-12-31 23:59:59');
Code-Sprache: SQL (Structured Query Language) (sql)

Hier müssen nur die beiden Datum-Angaben in Zeile 3 angepasst werden. Es wird der Gesamtumsatz des angegebenen Zeitraums ausgegeben. In Fall von oben zwischen dem 1. Januar 2020 00:00:00 Uhr und dem 31. Dezember 2020 23:59:59 Uhr.