dolibarr.steuer/sql/dolibarr_allversions.sql
2026-02-03 14:47:27 +01:00

202 lines
9.6 KiB
SQL
Executable file

--
-- Script run when an upgrade of Dolibarr is done. Whatever is the Dolibarr version.
-- EÜR Modul für Deutschland 2025
--
-- ============================================================================
-- Kontenrahmen (SKR03 basiert für EÜR)
-- ============================================================================
CREATE TABLE IF NOT EXISTS llx_steuer_konto (
rowid INTEGER AUTO_INCREMENT PRIMARY KEY,
kontonummer VARCHAR(10) NOT NULL,
bezeichnung VARCHAR(255) NOT NULL,
kategorie VARCHAR(50) NOT NULL, -- 'einnahme', 'ausgabe', 'ust', 'vorsteuer'
euer_zeile INTEGER DEFAULT NULL, -- Zeile in Anlage EÜR
ust_kennzeichen VARCHAR(10) DEFAULT NULL, -- USt-Kennzeichen für UStVA
aktiv TINYINT(1) DEFAULT 1,
entity INTEGER DEFAULT 1,
UNIQUE KEY uk_konto_nummer (kontonummer, entity)
) ENGINE=InnoDB;
-- ============================================================================
-- EÜR Buchungen
-- ============================================================================
CREATE TABLE IF NOT EXISTS llx_steuer_buchung (
rowid INTEGER AUTO_INCREMENT PRIMARY KEY,
ref VARCHAR(30) NOT NULL, -- Buchungsnummer
datum DATE NOT NULL, -- Belegdatum
belegnummer VARCHAR(50) DEFAULT NULL, -- Externe Belegnummer
beschreibung VARCHAR(255) NOT NULL,
fk_konto INTEGER NOT NULL, -- Verweis auf llx_steuer_konto
betrag_netto DOUBLE(24,8) DEFAULT 0,
betrag_ust DOUBLE(24,8) DEFAULT 0, -- USt/VSt Betrag
betrag_brutto DOUBLE(24,8) DEFAULT 0,
ust_satz DOUBLE(5,2) DEFAULT 0, -- 0, 7, 19
typ VARCHAR(20) NOT NULL, -- 'einnahme', 'ausgabe'
zahlungsart VARCHAR(30) DEFAULT NULL, -- 'bar', 'bank', 'paypal', etc.
fk_soc INTEGER DEFAULT NULL, -- Verknüpfung zu Kunde/Lieferant
fk_facture INTEGER DEFAULT NULL, -- Verknüpfung zu Rechnung
fk_facture_fourn INTEGER DEFAULT NULL, -- Verknüpfung zu Lieferantenrechnung
note_private TEXT,
date_creation DATETIME,
tms TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
fk_user_creat INTEGER,
fk_user_modif INTEGER,
status TINYINT(4) DEFAULT 1, -- 0=Entwurf, 1=Gebucht
entity INTEGER DEFAULT 1,
INDEX idx_buchung_datum (datum),
INDEX idx_buchung_konto (fk_konto),
INDEX idx_buchung_typ (typ),
INDEX idx_buchung_ref (ref)
) ENGINE=InnoDB;
-- ============================================================================
-- USt-Voranmeldung Perioden
-- ============================================================================
CREATE TABLE IF NOT EXISTS llx_steuer_ustva (
rowid INTEGER AUTO_INCREMENT PRIMARY KEY,
jahr INTEGER NOT NULL,
periode VARCHAR(10) NOT NULL, -- '01'-'12' für Monat, 'Q1'-'Q4' für Quartal
periode_typ VARCHAR(10) NOT NULL, -- 'monat' oder 'quartal'
-- Lieferungen und Leistungen
kz81 DOUBLE(24,8) DEFAULT 0, -- Steuerpfl. Umsätze 19%
kz86 DOUBLE(24,8) DEFAULT 0, -- Steuerpfl. Umsätze 7%
kz35 DOUBLE(24,8) DEFAULT 0, -- Steuerpfl. Umsätze andere Sätze
kz36 DOUBLE(24,8) DEFAULT 0, -- USt auf Kz35
-- Steuerfreie Umsätze
kz41 DOUBLE(24,8) DEFAULT 0, -- Innergemeinschaftl. Lieferungen
kz44 DOUBLE(24,8) DEFAULT 0, -- Steuerfreie Ausfuhrlieferungen
-- Vorsteuer
kz66 DOUBLE(24,8) DEFAULT 0, -- Vorsteuer aus Rechnungen
kz61 DOUBLE(24,8) DEFAULT 0, -- Vorsteuer aus igE
kz67 DOUBLE(24,8) DEFAULT 0, -- Vorsteuer nach § 13b
-- Berechnung
ust_summe DOUBLE(24,8) DEFAULT 0, -- Summe USt
vst_summe DOUBLE(24,8) DEFAULT 0, -- Summe VSt
zahllast DOUBLE(24,8) DEFAULT 0, -- USt - VSt (positiv = Zahllast)
status TINYINT(4) DEFAULT 0, -- 0=Entwurf, 1=Berechnet, 2=Übermittelt
uebermittelt_am DATE DEFAULT NULL,
note_private TEXT,
date_creation DATETIME,
tms TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
fk_user_creat INTEGER,
entity INTEGER DEFAULT 1,
UNIQUE KEY uk_periode (jahr, periode, entity)
) ENGINE=InnoDB;
-- ============================================================================
-- Gewerbesteuer
-- ============================================================================
CREATE TABLE IF NOT EXISTS llx_steuer_gewerbe (
rowid INTEGER AUTO_INCREMENT PRIMARY KEY,
jahr INTEGER NOT NULL,
gewinn_euer DOUBLE(24,8) DEFAULT 0, -- Gewinn aus EÜR
hinzurechnungen DOUBLE(24,8) DEFAULT 0, -- § 8 GewStG
kuerzungen DOUBLE(24,8) DEFAULT 0, -- § 9 GewStG
gewerbeertrag DOUBLE(24,8) DEFAULT 0, -- Nach Freibetrag
freibetrag DOUBLE(24,8) DEFAULT 24500, -- Freibetrag Einzelunternehmen
hebesatz DOUBLE(5,2) DEFAULT 400, -- Gemeinde-Hebesatz in %
steuermessbetrag DOUBLE(24,8) DEFAULT 0,
gewerbesteuer DOUBLE(24,8) DEFAULT 0,
anrechnung_est DOUBLE(24,8) DEFAULT 0, -- Anrechnung auf ESt
status TINYINT(4) DEFAULT 0,
note_private TEXT,
date_creation DATETIME,
tms TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
fk_user_creat INTEGER,
entity INTEGER DEFAULT 1,
UNIQUE KEY uk_jahr (jahr, entity)
) ENGINE=InnoDB;
-- ============================================================================
-- Standard EÜR-Konten nach SKR03 einfügen
-- ============================================================================
-- EINNAHMEN
INSERT IGNORE INTO llx_steuer_konto (kontonummer, bezeichnung, kategorie, euer_zeile, ust_kennzeichen) VALUES
('8400', 'Erlöse 19% USt', 'einnahme', 14, '81'),
('8300', 'Erlöse 7% USt', 'einnahme', 14, '86'),
('8100', 'Steuerfreie Umsätze Inland', 'einnahme', 10, NULL),
('8120', 'Steuerfreie igL', 'einnahme', 11, '41'),
('8150', 'Steuerfreie Ausfuhrlieferungen', 'einnahme', 12, '44'),
('8200', 'Erlöse ohne USt §19', 'einnahme', 14, NULL),
('8500', 'Provisionserlöse', 'einnahme', 14, '81'),
('8600', 'Sonstige Erlöse', 'einnahme', 16, '81'),
('8700', 'Erlöse aus VuV', 'einnahme', 17, NULL),
('8800', 'Zinserträge', 'einnahme', 18, NULL),
('8900', 'Privatentnahmen Sachen', 'einnahme', 19, '81'),
('8910', 'Private Kfz-Nutzung', 'einnahme', 19, '81'),
('8920', 'Private Telefonnutzung', 'einnahme', 19, '81');
-- AUSGABEN - Wareneinkauf
INSERT IGNORE INTO llx_steuer_konto (kontonummer, bezeichnung, kategorie, euer_zeile, ust_kennzeichen) VALUES
('3400', 'Wareneingang 19% VSt', 'ausgabe', 26, '66'),
('3300', 'Wareneingang 7% VSt', 'ausgabe', 26, '66'),
('3100', 'Wareneingang steuerfrei', 'ausgabe', 26, NULL);
-- AUSGABEN - Personal
INSERT IGNORE INTO llx_steuer_konto (kontonummer, bezeichnung, kategorie, euer_zeile, ust_kennzeichen) VALUES
('4100', 'Löhne und Gehälter', 'ausgabe', 31, NULL),
('4130', 'Gesetzliche Sozialaufwendungen', 'ausgabe', 32, NULL),
('4140', 'Freiwillige Sozialaufwendungen', 'ausgabe', 33, NULL);
-- AUSGABEN - Raumkosten
INSERT IGNORE INTO llx_steuer_konto (kontonummer, bezeichnung, kategorie, euer_zeile, ust_kennzeichen) VALUES
('4200', 'Raumkosten/Miete', 'ausgabe', 34, '66'),
('4210', 'Miete Geschäftsräume', 'ausgabe', 34, '66'),
('4230', 'Heizung', 'ausgabe', 34, '66'),
('4240', 'Gas, Strom, Wasser', 'ausgabe', 34, '66'),
('4250', 'Reinigung', 'ausgabe', 34, '66'),
('4260', 'Instandhaltung Räume', 'ausgabe', 34, '66');
-- AUSGABEN - Sonstige Betriebsausgaben
INSERT IGNORE INTO llx_steuer_konto (kontonummer, bezeichnung, kategorie, euer_zeile, ust_kennzeichen) VALUES
('4500', 'Fahrzeugkosten', 'ausgabe', 51, '66'),
('4510', 'Kfz-Steuer', 'ausgabe', 51, NULL),
('4520', 'Kfz-Versicherung', 'ausgabe', 51, NULL),
('4530', 'Kraftstoff', 'ausgabe', 51, '66'),
('4540', 'Kfz-Reparaturen', 'ausgabe', 51, '66'),
('4580', 'Sonstige Kfz-Kosten', 'ausgabe', 51, '66'),
('4600', 'Werbekosten', 'ausgabe', 53, '66'),
('4610', 'Geschenke abzugsfähig', 'ausgabe', 54, '66'),
('4630', 'Geschenke nicht abzugsfähig', 'ausgabe', 55, '66'),
('4650', 'Bewirtungskosten 70%', 'ausgabe', 56, '66'),
('4660', 'Reisekosten Unternehmer', 'ausgabe', 57, NULL),
('4670', 'Reisekosten Arbeitnehmer', 'ausgabe', 58, '66'),
('4700', 'Porto', 'ausgabe', 49, '66'),
('4710', 'Telefon', 'ausgabe', 49, '66'),
('4750', 'Bürobedarf', 'ausgabe', 49, '66'),
('4780', 'Fremdleistungen', 'ausgabe', 49, '66'),
('4790', 'Sonstige Betriebsausgaben', 'ausgabe', 49, '66'),
('4800', 'Reparatur/Instandhaltung', 'ausgabe', 39, '66'),
('4830', 'Versicherungen', 'ausgabe', 46, NULL),
('4840', 'Beiträge IHK/Verbände', 'ausgabe', 47, NULL),
('4850', 'Fortbildungskosten', 'ausgabe', 48, '66'),
('4900', 'Rechts- und Beratungskosten', 'ausgabe', 50, '66'),
('4910', 'Buchführungskosten', 'ausgabe', 50, '66'),
('4920', 'Jahresabschlusskosten', 'ausgabe', 50, '66'),
('4940', 'Bankgebühren', 'ausgabe', 48, NULL),
('4950', 'Nebenkosten Geldverkehr', 'ausgabe', 48, NULL),
('4960', 'Miete für Einrichtungen', 'ausgabe', 38, '66'),
('4970', 'Leasing', 'ausgabe', 38, '66'),
('4980', 'Software/Lizenzen', 'ausgabe', 39, '66');
-- AUSGABEN - AfA
INSERT IGNORE INTO llx_steuer_konto (kontonummer, bezeichnung, kategorie, euer_zeile, ust_kennzeichen) VALUES
('4820', 'AfA Sachanlagen', 'ausgabe', 36, NULL),
('4822', 'AfA immaterielle WG', 'ausgabe', 37, NULL),
('4824', 'AfA GWG', 'ausgabe', 38, NULL),
('4826', 'Sonderabschreibungen', 'ausgabe', 38, NULL);
-- AUSGABEN - Zinsen
INSERT IGNORE INTO llx_steuer_konto (kontonummer, bezeichnung, kategorie, euer_zeile, ust_kennzeichen) VALUES
('2100', 'Zinsaufwendungen', 'ausgabe', 45, NULL),
('2110', 'Zinsen langfristige Darlehen', 'ausgabe', 45, NULL);