SQL-Training: Rechnungswesen Schweiz
CRUD-Übungen mit einer echten Buchhaltungsdatenbank – von INSERT bis komplexen Auswertungen
- Sie können neue Geschäftsfälle mit INSERT korrekt in ein Buchungsjournal eintragenAnwenden
- Sie können fehlerhafte Buchungen mit UPDATE und DELETE gezielt korrigieren oder entfernenAnwenden
- Sie können mit SELECT und WHERE gezielt Buchungsdaten auswerten und filternAnwenden
- Sie können eine mehrstufige Transaktion mit mehreren SQL-Befehlen selbstständig planen und ausführenAnalysieren
Du wendest alle SQL-Grundbefehle auf eine realistische Buchhaltungsdatenbank an. Das Journal der Firma enthält echte Buchungssätze nach Schweizer Kontenplan (KMU-Kontenrahmen).
SQL-Training: Rechnungswesen Schweiz
In diesem Modul wendest du alle SQL-Grundbefehle auf eine realistische Buchhaltungsdatenbank an. Die Datenbank enthält:
- kontenklassen – die 4 Klassen: Aktiven, Passiven, Ertrag, Aufwand
- konten – der vollständige Kontenplan der Firma
- buchungen – das Journal mit allen Buchungssätzen
Öffne zuerst den SQL Playground und wähle die Datenbank «Buchhaltung». Schaue dir dann den Kontenplan an – du wirst ihn für die Aufgaben brauchen:
SELECT * FROM konten ORDER BY kontonummer;🚀 Jetzt üben!
Öffne den SQL Playground und wähle die Datenbank «Buchhaltung»:
➡️ SQL Playground öffnenTeil 1: Neue Geschäftsfälle erfassen (INSERT)
Mit INSERT erfasst du neue Buchungen im Journal. Jede Buchung hat ein Soll-Konto und ein Haben-Konto – das ist die doppelte Buchhaltung.
Beispiel: Barverkauf einer Dienstleistung fĂĽr 200 CHF.
INSERT INTO buchungen (datum, buchungstext, soll_konto, haben_konto, betrag)
VALUES ('2026-08-10', 'Dienstleistung bar', 1000, 3400, 200.00);Das Kasse-Konto (1000) wächst im Soll, der Dienstleistungsertrag (3400) im Haben.
Challenge
Aufgabe 1 – Materialeinkauf auf Rechnung
Wir kaufen am 12.08.2026 neues Verpackungsmaterial fĂĽr 450.00 CHF auf Rechnung (Kredit).
Tipp: Schaue im Kontenplan nach «MaterialAufwand» und «VerbindlichkeitenLL».
-- Dein SQL-Code hier:
Challenge
Aufgabe 2 – Privatentnahme aus Kasse
Der Inhaber entnimmt am 14.08.2026 für ein Abendessen 150.00 CHF aus der Geschäftskasse.
Tipp: Eine Privatentnahme belastet das Eigenkapital (Haben) und reduziert die Kasse (Haben). Ăśberlege: Welches Konto steht im Soll?
-- Dein SQL-Code hier:
Challenge
Aufgabe 3 – Lieferantenrechnung begleichen
Wir begleichen am 15.08.2026 eine alte Lieferantenrechnung (VerbindlichkeitenLL) ĂĽber 1'200.00 CHF per BankĂĽberweisung.
Tipp: Die Verbindlichkeit sinkt (Soll), das Bankguthaben sinkt (Haben).
-- Dein SQL-Code hier:
Teil 2: Daten korrigieren (UPDATE)
Buchungsfehler passieren. Mit UPDATE kannst du einen bestehenden Wert gezielt korrigieren. Wichtig: Immer mit WHERE arbeiten, sonst änderst du alle Zeilen!
Beispiel: Den Buchungstext von Beleg 5 korrigieren.
UPDATE buchungen
SET buchungstext = 'Neue Beschreibung'
WHERE beleg_id = 5;Challenge
Aufgabe 4 – Falscher Betrag
Bei Beleg-ID 12 wurde ein falscher Betrag gebucht. Statt 1'100.00 CHF mĂĽssten es 1'150.00 CHF sein. Korrigiere dies.
-- Dein SQL-Code hier:
Challenge
Aufgabe 5 – Falsches Datum
Die Buchung mit Beleg-ID 20 fand nicht im März, sondern am 01.04.2026 statt. Passe das Datum an.
-- Dein SQL-Code hier:
Teil 3: Daten löschen (DELETE)
Mit DELETE entfernst du Zeilen dauerhaft aus der Tabelle. Auch hier gilt: Ohne WHERE löschst du alles!
Beispiel: Fehlerhafte Buchung entfernen.
DELETE FROM buchungen
WHERE beleg_id = 99;Challenge
Aufgabe 6 – Doppelte Buchung löschen
Die Buchung mit Beleg-ID 25 wurde irrtümlich doppelt erfasst. Lösche einen der Einträge.
Hinweis: In einer echten Buchhaltung würde man eine Stornobuchung machen. Im Training löschen wir direkt.
-- Dein SQL-Code hier:
Teil 4: Informationen auswerten (SELECT)
Mit SELECT holst du Daten gezielt aus der Datenbank. Die Kombination mit WHERE erlaubt präzise Filterung.
Beispiel: Alle Buchungen ĂĽber 1'000 CHF anzeigen.
SELECT * FROM buchungen
WHERE betrag > 1000;Challenge
Aufgabe 7 – Kassenbewegungen
Erstelle eine Liste aller Buchungen, die das Konto Kasse (1000) betreffen – egal ob im Soll oder Haben.
Tipp: Nutze OR um beide Fälle abzudecken.
-- Dein SQL-Code hier:
Challenge
Aufgabe 8 – Monatsauswertung Juni
Zeige alle Buchungen an, die im Monat Juni 2026 getätigt wurden.
Tipp: Nutze WHERE datum LIKE '2026-06%'
-- Dein SQL-Code hier:
Teil 5: Die Challenge (Eigenleistung)
Jetzt bist du auf dich allein gestellt! Die folgenden Aufgaben erfordern, dass du den Kontenplan selbst konsultierst und mehrere SQL-Befehle kombinierst.
Challenge
Aufgabe 9 – Kauf einer Spezialmaschine (Split-Zahlung)
Wir kaufen am 20.08.2026 eine neue Spezialmaschine fĂĽr 12'000.00 CHF.
- Wir bezahlen 2'000.00 CHF sofort bar aus der Kasse
- Der Rest von 10'000.00 CHF bleibt als offene Rechnung (VerbindlichkeitenLL)
Hinweis: Du musst zwei separate INSERT-Befehle schreiben – je einen pro Zahlungsweg!
-- Teil 1: Barzahlung (2'000 CHF)
-- Teil 2: Restbetrag auf Rechnung (10'000 CHF)
Challenge
Aufgabe 10 – Jahresabschluss-Analyse (Mehrstufige Aufgabe)
Du bist Buchhalter und sollst den Halbjahresabschluss (Jan–Jun 2026) vorbereiten. Löse die Aufgabe in drei Schritten:
Schritt A – Fehlerbereinigung:
Vor der Auswertung musst du einen Fehler korrigieren: Die Buchung mit Beleg-ID 38 hat einen falschen Buchungstext. Er soll lauten: 'Hosting GebĂĽhren Q2 Bank'. Korrigiere dies zuerst.
-- Schritt A:
Schritt B – Aufwandsübersicht:
Erstelle eine Übersicht aller Aufwandsbuchungen (alle Konten der Klasse 4, also soll_konto zwischen 4000 und 6999) mit einem Betrag von mehr als 500 CHF. Zeige Datum, Buchungstext und Betrag an – sortiert nach Betrag absteigend.
-- Schritt B:
Schritt C – Neuer Abschlusseintrag:
Füge am 30.06.2026 einen neuen Abschluss-Buchungssatz ein: Die Büroversicherung wird mit 840.00 CHF per Bank bezahlt. Der Aufwand gehört zu «VerwaltungsAufwand». Trage den Buchungstext 'Büroversicherung Halbjahr' ein.
-- Schritt C: