Diplom-Biologe | Senior IT-Consultant
|
H |
Sascha Hess xenosystems.de - IT-Consulting & Data Management |
www.xenosystems.de |
|
|
Strategische Wissens-Roadmap 2026 |
|
|
|
|
|
Kostenkalkulation & Rollen |
|
|
Transparente Kosten, klare Verantwortlichkeiten — direkt aus dem ERP |
WAS SIE IN DIESEM KIT ERHALTEN:
|
|
1 |
Kalkulationsschemas Vollkosten, Teilkosten, Deckungsbeitrag — Schritt für Schritt |
|
|
2 |
Rollendefinitionen Wer darf was — Berechtigungskonzept für ERP & BI |
|
|
3 |
Kostenstellenstruktur Aufbau und Pflege einer sauberen Kostenrechnung |
|
|
4 |
Nachkalkulation Soll-Ist-Vergleich automatisiert und revisionssicher |
|
|
5 |
30-Tage-Umsetzungsplan Kalkulationsstruktur und Rollenpflege in einem Monat |
HAFTUNGSAUSSCHLUSS
Alle Kalkulationsschemas, SQL-Skripte und Rollendefinitionen wurden sorgfältig erarbeitet. Da jede Unternehmensstruktur und ERP-Konfiguration individuell ist, übernimmt der Autor keinerlei Haftung für fehlerhafte Kalkulationen, Fehlentscheidungen oder sonstige Schäden. Alle Schemas sind mit Controlling und Buchhaltung zu validieren.
KEINE STEUERBERATUNG
Die Hinweise zur Kostenrechnung ersetzen keine steuerliche oder betriebswirtschaftliche Fachberatung. Für handels- und steuerrechtlich relevante Bewertungen ist ein Steuerberater oder Wirtschaftsprüfer hinzuzuziehen.
VERSIONSHINWEIS
Die Inhalte beziehen sich auf aktuelle Versionen von MACH, APplus und Microsoft Dynamics NAV / Business Central, Stand März 2026. Konfigurationspfade und Feldbezeichnungen können in anderen Versionen abweichen.
URHEBERRECHT
Dieses Dokument ist für den persönlichen oder betriebsinternen Gebrauch des Käufers lizenziert. Weiterverkauf, Weitergabe an Dritte und öffentliche Veröffentlichung sind ohne schriftliche Genehmigung nicht gestattet.
KEINE VERBINDUNG ZU HERSTELLERN
Dieses Kit ist ein unabhängiges Werk und steht in keinerlei Verbindung zu den genannten ERP-Herstellern. Alle Produktnamen sind eingetragene Marken ihrer jeweiligen Inhaber.
Eine ausführliche Version dieses Haftungsausschlusses befindet sich am Ende dieses Dokuments.
01 Einleitung
Warum Kostentransparenz und Rollenpflege zusammengehören
02 Kalkulationsgrundlagen
Vollkosten, Teilkosten, Deckungsbeitrag — sauber aufgebaut
03 Kostenstellenstruktur
Aufbau, Hierarchie und Pflege im ERP
04 Artikelkalkulation
Standard-, Plankosten und Nachkalkulation
05 Projektkalkulation
Aufwands- und Kostenverfolgung je Projekt
06 Rollendefinitionen
Wer darf was — ERP-Berechtigungskonzept
07 Rollen im BI & Reporting
Row Level Security und Zugriffssteuerung
08 Soll-Ist-Vergleich
Automatisierte Nachkalkulation und Abweichungsanalyse
09 Typische Fallstricke
Kalkulationsfehler und Rollenprobleme aus der Praxis
10 30-Tage-Umsetzungsplan
Kalkulation und Rollen in einem Monat sauber aufstellen
01
Zwei der häufigsten und kostspieligsten Probleme in mittelständischen ERP-Umgebungen haben auf den ersten Blick nichts miteinander zu tun — und sind doch eng verknüpft: mangelnde Kostentransparenz und unklare Zugriffsrechte.
Kostentransparenz ohne Rollenpflege ist wertlos — und riskant.
→ Eine präzise Artikelkalkulation nützt nichts, wenn jeder Mitarbeiter Einkaufspreise und Margen einsehen kann — oder schlimmer: verändern kann.
→ Ein sauberes Rollenkonzept ohne Kostentransparenz schützt Daten, die niemand richtig auswertet.
→ Fehlende Kostenstellenstrukturen führen zu Buchungen ins Nirwana — und zu Nachkostenermittlungen, die Wochen dauern.
→ Zu breite Zugriffsrechte im ERP sind das häufigste Sicherheitsrisiko — und das am leichtesten behebbare.
In über 20 Jahren ERP-Projekten zeigt sich: Unternehmen, die Kalkulation und Rollenpflege gemeinsam angehen, sparen doppelt — durch bessere Entscheidungsgrundlagen und durch weniger Datenpannen.
Dieses Kit gibt Ihnen das Handwerkszeug für beides: ein solides Kalkulationsgerüst direkt aus dem ERP und ein klares, wartbares Berechtigungskonzept — für ERP, BI und Datenbank.
|
|
WAS SIE IN DIESEM KIT ERWARTEN DÜRFEN ■ Kalkulationsschemas — Vollkosten, Teilkosten und Deckungsbeitragsrechnung Schritt für Schritt. ■ Kostenstellenstruktur — Aufbau einer sauberen, ERP-konformen Kostenrechnung. ■ Rollendefinitionen — Berechtigungskonzept für ERP, SQL Server und Power BI. ■ Nachkalkulation — Automatisierter Soll-Ist-Vergleich mit Abweichungsanalyse. ■ 30-Tage-Plan — Kalkulation und Rollen in einem Monat sauber und produktiv. |
|
|
ZIEL DIESES KITS Nach dem Lesen und Umsetzen dieses Kits haben Sie eine transparente Kostenstruktur, eine nachvollziehbare Nachkalkulation und ein sauberes Rollenpflege-Konzept — das auch bei Revisionen und Audits standhält. |
02
Bevor das erste Kalkulationsschema im ERP angelegt wird, muss die betriebswirtschaftliche Grundstruktur klar sein. Falsch angelegte Kostenträger sind im laufenden Betrieb kaum noch korrigierbar.
|
VOLLKOSTENRECHNUNG: Alle Kosten (fix + variabel) werden auf Kostenträger verteilt. + Deckt alle Kosten ab — kein Verlust bei Vollauslastung - Kostenstellen-Umlage verzerrt Produktkosten bei Unterbeschäftigung → Geeignet für: Angebotskalkulation, Preisuntergrenze (langfristig)
TEILKOSTENRECHNUNG (Direct Costing): Nur variable Kosten werden auf Produkte verrechnet. Fixkosten werden als Block gegen den Gesamtdeckungsbeitrag gestellt. + Entscheidungsrelevanter für kurzfristige Preisentscheidungen + Eliminiert Beschäftigungsabweichungen → Geeignet für: Kurzfristige Preisuntergrenze, Make-or-Buy
DECKUNGSBEITRAGSRECHNUNG (mehrstufig): DB I = Umsatz − variable Herstellkosten DB II = DB I − fixe Produktkosten (produktspezifisch) DB III= DB II − fixe Bereichskosten DB IV = DB III − fixe Unternehmenskosten = Betriebsergebnis → Geeignet für: Produktportfolio-Entscheidungen, Kundenrentabilität |
|
Position |
Beschreibung |
Kostenart |
|
+ Materialeinzelkosten |
Direkt zurechenbare Rohstoffe, Kaufteile |
Variabel |
|
+ Materialgemeinkosten |
Lager, Einkauf (% auf MEK) |
Variabel/Fix |
|
= Materialkosten gesamt |
|
|
|
+ Fertigungslöhne |
Direkte Lohnstunden × Lohnsatz |
Variabel |
|
+ Fertigungsgemeinkosten |
Maschinen, Gebäude (% auf Lohn) |
Fix |
|
+ Sondereinzelkosten Fertigung |
Werkzeuge, Vorrichtungen (direkt) |
Variabel |
|
= Herstellkosten |
|
|
|
+ Verwaltungsgemeinkosten |
% auf Herstellkosten |
Fix |
|
+ Vertriebsgemeinkosten |
% auf Herstellkosten |
Fix |
|
+ Sondereinzelkosten Vertrieb |
Fracht, Provision (direkt) |
Variabel |
|
= Selbstkosten |
|
|
|
+ Gewinnzuschlag |
% auf Selbstkosten |
|
|
= Verkaufspreis (netto) |
|
|
|
-- Gemeinkostenzuschlagssätze aus Kostenstellenrechnung ableiten -- (generisches Beispiel — Feldnamen ERP-spezifisch anpassen) SELECT ks.KostenstelleNr, ks.Bezeichnung, ks.Kostenstellentyp, -- Gesamtkosten der Kostenstelle (Plan) SUM(kb.PlanKosten) AS Gesamtkosten_Plan, -- Bezugsgröße (Fertigungslöhne oder Materialeinzelkosten) SUM(kb.BezugsGroesse) AS BezugsGroesse, -- Zuschlagssatz ROUND(100.0 * SUM(kb.PlanKosten) / NULLIF(SUM(kb.BezugsGroesse), 0), 1) AS Zuschlagssatz_Pct FROM dbo.Kostenstellen ks JOIN dbo.KostenstellenBudget kb ON ks.KostenstelleNr = kb.KostenstelleNr WHERE kb.Geschaeftsjahr = YEAR(GETDATE()) AND ks.Aktiv = 1 GROUP BY ks.KostenstelleNr, ks.Bezeichnung, ks.Kostenstellentyp ORDER BY ks.Kostenstellentyp, ks.KostenstelleNr; |
03
Eine saubere Kostenstellenstruktur ist das Fundament jeder Kostenrechnung. Einmal falsch angelegt, sind alle nachgelagerten Auswertungen wertlos — und die Korrektur im laufenden Betrieb aufwendig.
|
KOSTENSTELLENHIERARCHIE — BEWÄHRTES SCHEMA:
EBENE 1 — UNTERNEHMENSBEREICHE (2-stellig) 10 Produktion 20 Einkauf & Logistik 30 Vertrieb & Marketing 40 Verwaltung & IT 50 Geschäftsführung
EBENE 2 — ABTEILUNGEN (4-stellig) 1010 Fertigung Linie 1 1020 Fertigung Linie 2 1030 Qualitätssicherung 2010 Einkauf 2020 Lager & Logistik
EBENE 3 — KOSTENSTELLEN (6-stellig) 101010 Fertigung Linie 1 — Maschine M1 101020 Fertigung Linie 1 — Maschine M2 101030 Fertigung Linie 1 — Handarbeitsplatz
PRINZIP: Jede Kostenstelle hat genau einen Verantwortlichen (Owner). Keine Sammelkostenstellen für "alles andere". |
|
Kostenart |
Kostenstelle |
Buchungsregel |
|
Löhne & Gehälter |
Direkt je Abteilung |
Über Lohnbuchhaltung |
|
Abschreibungen |
Maschine/Anlage direkt |
Über Anlagenbuchhaltung |
|
Energiekosten |
Produktion (nach Verbrauch) |
Schlüsselung Quadratmeter / kWh |
|
Miete / Gebäude |
Alle Kostenstellen |
Schlüsselung Flächenanteil |
|
EDV / Software |
IT-Kostenstelle |
Direkt oder Umlage |
|
Vertriebskosten |
Vertrieb |
Direkt oder nach Umsatzanteil |
|
|
DIE 5 HÄUFIGSTEN KOSTENSTELLENFEHLER ■ Zu viele Kostenstellen — Buchungen landen auf falschen Stellen weil Auswahl zu unübersichtlich. ■ Keine Verantwortlichen — niemand fühlt sich zuständig, Budget wird nicht überwacht. ■ Sammelkostenstelle "Sonstiges" — Auffangbecken für alles, was nicht zugeordnet wird. ■ Historische Leichen — inaktive Kostenstellen bleiben im System, werden versehentlich bebucht. ■ Fehlende Buchungsregeln — dieselbe Kostenart wird mal auf A, mal auf B gebucht. |
|
-- Kostenstellenpflege: Ungenutzte und doppelt bebuchte Stellen finden SELECT ks.KostenstelleNr, ks.Bezeichnung, ks.Verantwortlicher, COUNT(kb.BuchungsID) AS Anzahl_Buchungen, SUM(kb.Betrag) AS Gesamtbetrag, MAX(kb.Buchungsdatum) AS Letzte_Buchung, CASE WHEN COUNT(kb.BuchungsID) = 0 THEN 'Keine Buchungen' WHEN MAX(kb.Buchungsdatum) < DATEADD(YEAR,-1,GETDATE()) THEN 'Inaktiv > 1 Jahr' ELSE 'Aktiv' END AS Status FROM dbo.Kostenstellen ks LEFT JOIN dbo.KostenbuchungsJournal kb ON ks.KostenstelleNr = kb.KostenstelleNr AND kb.Buchungsdatum >= DATEADD(YEAR, -2, GETDATE()) GROUP BY ks.KostenstelleNr, ks.Bezeichnung, ks.Verantwortlicher ORDER BY Anzahl_Buchungen ASC; |
04
Die Artikelkalkulation ist das Herzstück der Kostenrechnung im ERP. Sie beantwortet: Was kostet uns die Herstellung oder Beschaffung eines Artikels — wirklich?
|
STANDARDKOSTEN (Vorkalkulation): Werden einmalig festgelegt — für ein Geschäftsjahr. Basis für Lagerbestandsbewertung und Abweichungsanalyse. Änderungen nur zum Jahreswechsel oder bei großen Strukturänderungen. → Dynmaics BC: "Einstandspreismethode = Standard"
PLANKOSTEN (Revolvierend): Werden rollierend aktualisiert (z.B. quartalsweise). Näher an aktuellen Marktpreisen als Standardkosten. Höherer Pflegeaufwand — nur für wenige A-Artikel sinnvoll. → Geeignet für: volatile Rohstoffe, strategische Eigenfertigungsteile
GLEITENDER DURCHSCHNITT (Ist-Kosten): ERP berechnet Einstandspreis automatisch aus allen Zugängen. Kein manueller Pflegeaufwand — aber weniger Planbarkeit. → Geeignet für: Handelsware, einfache Beschaffungsartikel |
|
-- Rekursive Stücklistenkalkulation (mehrstufig) -- Berechnet Herstellkosten je Fertigungsartikel über alle Ebenen WITH StucklisteRekursiv AS ( -- Anker: Direktkomponenten der obersten Ebene SELECT sl.OberArtikelNr, sl.KomponenteNr, sl.Menge AS Menge_Gesamt, 1 AS Ebene FROM dbo.Stucklisten sl WHERE sl.OberArtikelNr = 'FG-001' -- Fertigungsartikel eingeben
UNION ALL
-- Rekursion: Unterbaugruppen SELECT sr.OberArtikelNr, sl2.KomponenteNr, sr.Menge_Gesamt * sl2.Menge AS Menge_Gesamt, sr.Ebene + 1 FROM StucklisteRekursiv sr JOIN dbo.Stucklisten sl2 ON sr.KomponenteNr = sl2.OberArtikelNr WHERE sr.Ebene < 10 -- Max. Rekursionstiefe ) SELECT sr.KomponenteNr, a.Bezeichnung, SUM(sr.Menge_Gesamt) AS Gesamt_Menge, a.StandardEinstandspreis AS EK_Preis, ROUND(SUM(sr.Menge_Gesamt) * a.StandardEinstandspreis, 2) AS Materialkosten FROM StucklisteRekursiv sr JOIN dbo.Artikel a ON sr.KomponenteNr = a.ArtikelNr GROUP BY sr.KomponenteNr, a.Bezeichnung, a.StandardEinstandspreis ORDER BY Materialkosten DESC; |
|
Prüfung |
SQL-Kennzeichen |
Alarm bei |
|
Artikel ohne Einstandspreis |
StandardEinstandspreis = 0 |
Immer |
|
Kalkulation veraltet |
LetzteKalkulation > 12 Monate |
A- und B-Artikel |
|
Negativer Deckungsbeitrag |
Verkaufspreis < Einstandspreis |
Immer |
|
Preisabweichung Einkauf > 10 % |
Ist-EK vs. Standard-EK |
A-Artikel |
|
Stückliste unvollständig |
Komponente ohne Preis in BOM |
Immer |
05
Dienstleister, Projektierer und produzierende Betriebe mit Kundenaufträgen brauchen eine Projektkostenrechnung, die Ist-Kosten laufend gegen das Budget stellt — nicht erst nach Projektende.
|
PROJEKTKOSTENSTRUKTUR — BEWÄHRTES SCHEMA:
PROJEKT (PSP-Ebene 1) └── PHASE 1: Analyse & Konzeption ├── Aufwand intern (Stunden × Stundensatz) ├── Aufwand extern (Beraterhonorare direkt) └── Reisekosten └── PHASE 2: Realisierung ├── Eigenleistung Entwicklung ├── Lizenzen & Software └── Hardware / Infrastruktur └── PHASE 3: Einführung & Test ├── Schulungskosten ├── Go-Live-Support (intern + extern) └── Reisekosten └── PHASE 4: Betrieb (laufend) ├── Wartungskosten └── Supportstunden
GRUNDREGEL: Jede Stunde, jede Rechnung, jede Reise bekommt eine Projektnummer. Keine Buchung ohne Zuordnung. |
|
-- Projekt-Soll-Ist-Vergleich mit Fertigstellungsgrad SELECT p.ProjektNr, p.ProjektName, p.Projektleiter, p.Budgetbetrag AS Soll_Budget, SUM(pk.IstKosten) AS Ist_Kosten, p.Budgetbetrag - SUM(pk.IstKosten) AS Restbudget, ROUND(100.0 * SUM(pk.IstKosten) / NULLIF(p.Budgetbetrag, 0), 1) AS Budget_Verbrauch_Pct, p.GeplantesEnde, DATEDIFF(DAY, GETDATE(), p.GeplantesEnde) AS Verbleibende_Tage, CASE WHEN SUM(pk.IstKosten) > p.Budgetbetrag THEN 'ÜBERZOGEN' WHEN 100.0 * SUM(pk.IstKosten) / NULLIF(p.Budgetbetrag,0) > 80 AND DATEDIFF(DAY, GETDATE(), p.GeplantesEnde) > 30 THEN 'Warnung: > 80% verbraucht' ELSE 'OK' END AS Status FROM dbo.Projekte p LEFT JOIN dbo.ProjektKosten pk ON p.ProjektNr = pk.ProjektNr WHERE p.Status IN ('Aktiv', 'In Planung') GROUP BY p.ProjektNr, p.ProjektName, p.Projektleiter, p.Budgetbetrag, p.GeplantesEnde ORDER BY Budget_Verbrauch_Pct DESC; |
|
VOLLKOSTENSTUNDENSATZ — KALKULATION:
Jahresgehalt (brutto) 60.000 € + Arbeitgeberanteil SV (ca. 20%) 12.000 € + Gemeinkosten-Umlage (30%) 21.600 € = Jahreskosten gesamt 93.600 €
÷ Produktive Stunden/Jahr (220 Tage × 8h × 0,80 Produktivität) 1.408 h
= Vollkosten-Stundensatz 66,48 €/h
MARKTÜBLICHE VERRECHNUNGSSÄTZE KMU: Junior-Entwickler / Sachbearbeiter: 55-75 €/h Senior-Spezialist / Projektleiter: 85-120 €/h IT-Berater extern (Vergleich): 110-180 €/h |
06
Ein sauberes Rollenkonzept ist kein bürokratisches Übel — es ist Grundschutz für Unternehmensdaten, Voraussetzung für Audits und die einzige Möglichkeit, im Schadensfall Verantwortung klar zuzuweisen.
|
NEED-TO-KNOW-PRINZIP: Jeder Nutzer erhält nur die Rechte, die er für seine Tätigkeit zwingend benötigt. Nicht mehr. Niemals "zur Sicherheit" mehr.
ROLLENBASIERTES ZUGRIFFSKONZEPT (RBAC): Rechte werden nie direkt an Personen vergeben — immer an Rollen. Personen werden Rollen zugewiesen. Wechselt eine Person, wird nur die Rollenzuweisung geändert — nicht jedes Einzelrecht.
VIER-AUGEN-PRINZIP: Kritische Transaktionen (Lieferantenstamm anlegen, Zahlung freigeben, Benutzer anlegen) brauchen immer zwei unabhängige Personen.
SEGREGATION OF DUTIES (SoD): Wer eine Transaktion anlegt, darf sie nicht auch freigeben. Wer Stammdaten pflegt, darf keine Zahlungen auslösen. Wer Rechnungen erfasst, darf keine Bankkonten verwalten. |
|
Rolle |
Einkauf |
Lager |
Vertrieb |
FiBu |
Stammdaten |
Admin |
|
ERP_Leserecht |
Lesen |
Lesen |
Lesen |
— |
Lesen |
— |
|
ERP_Einkauf |
Erfassen |
Buchen WE |
— |
Rechnungen |
— |
— |
|
ERP_Lager |
Lesen |
Voll |
Lesen |
— |
Artikel lesen |
— |
|
ERP_Vertrieb |
— |
Lesen |
Voll |
— |
Kunden |
— |
|
ERP_FiBu |
Lesen |
— |
Lesen |
Voll |
Kred./Deb. |
— |
|
ERP_Stammdaten |
Lesen |
Lesen |
Lesen |
Lesen |
Voll |
— |
|
ERP_Controller |
Lesen |
Lesen |
Lesen |
Lesen |
Lesen |
— |
|
ERP_Admin |
Voll |
Voll |
Voll |
Voll |
Voll |
Voll |
|
-- Kritische Rechte-Kombinationen prüfen (SoD-Konflikte) -- Beispiel: Wer kann Lieferanten anlegen UND Zahlungen freigeben? SELECT u.Benutzername, u.Name, u.Abteilung, STRING_AGG(r.RollenName, ', ') AS Zugewiesene_Rollen FROM dbo.ERP_Benutzer u JOIN dbo.ERP_Benutzer_Rollen br ON u.BenutzerID = br.BenutzerID JOIN dbo.ERP_Rollen r ON br.RollenID = r.RollenID WHERE u.BenutzerID IN ( -- Nutzer mit Lieferantenstamm-Recht SELECT br1.BenutzerID FROM dbo.ERP_Benutzer_Rollen br1 JOIN dbo.ERP_Rollen r1 ON br1.RollenID = r1.RollenID WHERE r1.RollenName IN ('ERP_Stammdaten', 'ERP_Admin') ) AND u.BenutzerID IN ( -- Nutzer mit Zahlungsfreigabe-Recht SELECT br2.BenutzerID FROM dbo.ERP_Benutzer_Rollen br2 JOIN dbo.ERP_Rollen r2 ON br2.RollenID = r2.RollenID WHERE r2.RollenName IN ('ERP_FiBu', 'ERP_Admin') ) AND u.Aktiv = 1 GROUP BY u.Benutzername, u.Name, u.Abteilung ORDER BY u.Abteilung; |
07
Kostenstellenberichte, Deckungsbeitragsauswertungen und Projektkalkulationen enthalten hochsensible Daten. Ohne Zugriffssteuerung im BI-System sieht jeder alles — was in der Praxis häufig unbemerkt passiert.
Row Level Security filtert Datenbankzeilen automatisch nach dem angemeldeten Benutzer — transparent für die Anwendung, ohne Code-Änderungen.
|
-- RLS: Kostenstellen-Daten nur für zuständige Controller sichtbar
-- Schritt 1: Mapping-Tabelle Benutzer → Kostenstellen-Bereich CREATE TABLE dbo.RLS_Kostenstellen_Zugriff ( Benutzername NVARCHAR(100), KST_Praefix NVARCHAR(10) -- z.B. '10' für alle Produktionskostenstellen );
INSERT INTO dbo.RLS_Kostenstellen_Zugriff VALUES ('DOMAIN\mueller', '10'), -- Controller Produktion ('DOMAIN\schmidt', '20'), -- Controller Einkauf/Logistik ('DOMAIN\admin', ''); -- Admin sieht alles (leerer Präfix = alle)
-- Schritt 2: Security-Prädikat als Inline-Funktion CREATE OR ALTER FUNCTION dbo.fn_RLS_Kostenstellen (@KostenstelleNr NVARCHAR(20)) RETURNS TABLE WITH SCHEMABINDING AS RETURN SELECT 1 AS Zugriff_Erlaubt FROM dbo.RLS_Kostenstellen_Zugriff WHERE Benutzername = USER_NAME() AND (@KostenstelleNr LIKE KST_Praefix + '%' OR KST_Praefix = '');
-- Schritt 3: Security Policy auf Kostenbuchungs-Tabelle anwenden CREATE SECURITY POLICY KST_Filter ADD FILTER PREDICATE dbo.fn_RLS_Kostenstellen(KostenstelleNr) ON dbo.KostenbuchungsJournal WITH (STATE = ON); |
|
POWER BI RLS — SETUP IN 3 SCHRITTEN:
SCHRITT 1: ROLLEN IN POWER BI DESKTOP DEFINIEREN Modellierung → Rollen verwalten → Neue Rolle Beispiel Rolle "Controller_Produktion": DAX-Filter: [KostenstelleNr] >= "1000" && [KostenstelleNr] < "2000"
SCHRITT 2: ROLLEN IM POWER BI SERVICE ZUWEISEN Dataset → Sicherheit → Mitglieder zur Rolle hinzufügen E-Mail-Adressen oder AAD-Gruppen zuweisen
SCHRITT 3: DYNAMISCHE RLS (empfohlen für viele Nutzer) DAX-Filter mit USERPRINCIPALNAME(): [Verantwortlicher_Email] = USERPRINCIPALNAME() → Jeder sieht automatisch nur "seine" Kostenstellen |
|
Dokumentationspunkt |
Pflicht |
Empfehlung |
|
Rollenname + Beschreibung |
Ja |
Klarer Business-Name, kein Technik-Kürzel |
|
Berechtigte Transaktionen |
Ja |
Liste aller Menüpunkte / Funktionen |
|
Zugewiesene Benutzer |
Ja |
Mit Datum und Freigabe durch Vorgesetzten |
|
SoD-Konflikte geprüft |
Ja |
Dokumentiert und ggf. kompensiert |
|
Letztes Review-Datum |
Ja |
Mindestens jährlich |
|
Notfall-Zugang (Breakglass) |
Empfohlen |
Dokumentiert, protokolliert, zeitlich begrenzt |
08
Der Soll-Ist-Vergleich ist das wirkungsvollste Instrument der Kostensteuerung — vorausgesetzt er ist automatisiert, aktuell und auf die richtigen Ursachen heruntergebrochen.
|
DIE 4 HAUPTABWEICHUNGEN:
PREISABWEICHUNG: Ursache: Einkaufspreise weichen von Planpreisen ab Formel: (Ist-Preis − Plan-Preis) × Ist-Menge Verantwortung: Einkauf
MENGENABWEICHUNG (Verbrauchsabweichung): Ursache: Mehr oder weniger Material verbraucht als geplant Formel: (Ist-Menge − Plan-Menge) × Plan-Preis Verantwortung: Produktion / Fertigung
BESCHÄFTIGUNGSABWEICHUNG: Ursache: Über-/Unterauslastung der Kapazitäten Formel: (Ist-Beschäftigung − Plan-Beschäftigung) × Fixkostensatz Verantwortung: Produktionsplanung / Vertrieb
LOHNABWEICHUNG: Ursache: Andere Lohngruppen / Überstunden als geplant Formel: (Ist-Lohnsatz − Plan-Lohnsatz) × Ist-Stunden Verantwortung: Personalplanung / Produktionssteuerung |
|
-- Soll-Ist-Vergleich Kostenstellenbudget (aktueller Monat + YTD) SELECT ks.KostenstelleNr, ks.Bezeichnung, ks.Verantwortlicher, -- Monat SUM(CASE WHEN MONTH(kb.Buchungsdatum) = MONTH(GETDATE()) AND YEAR(kb.Buchungsdatum) = YEAR(GETDATE()) THEN kb.IstBetrag ELSE 0 END) AS Ist_Monat, SUM(CASE WHEN MONTH(kb.Buchungsdatum) = MONTH(GETDATE()) THEN kp.PlanBetrag / 12.0 ELSE 0 END) AS Plan_Monat, -- YTD SUM(CASE WHEN YEAR(kb.Buchungsdatum) = YEAR(GETDATE()) THEN kb.IstBetrag ELSE 0 END) AS Ist_YTD, SUM(CASE WHEN YEAR(kp.Geschaeftsjahr) = YEAR(GETDATE()) THEN kp.PlanBetrag * MONTH(GETDATE()) / 12.0 ELSE 0 END) AS Plan_YTD, -- Abweichung YTD SUM(CASE WHEN YEAR(kb.Buchungsdatum) = YEAR(GETDATE()) THEN kb.IstBetrag ELSE 0 END) - SUM(CASE WHEN YEAR(kp.Geschaeftsjahr) = YEAR(GETDATE()) THEN kp.PlanBetrag * MONTH(GETDATE()) / 12.0 ELSE 0 END) AS Abweichung_YTD, ROUND(100.0 * (SUM(CASE WHEN YEAR(kb.Buchungsdatum) = YEAR(GETDATE()) THEN kb.IstBetrag ELSE 0 END) - SUM(CASE WHEN YEAR(kp.Geschaeftsjahr) = YEAR(GETDATE()) THEN kp.PlanBetrag * MONTH(GETDATE()) / 12.0 ELSE 0 END)) / NULLIF(SUM(CASE WHEN YEAR(kp.Geschaeftsjahr) = YEAR(GETDATE()) THEN kp.PlanBetrag * MONTH(GETDATE()) / 12.0 ELSE 0 END), 0), 1) AS Abweichung_Pct FROM dbo.Kostenstellen ks LEFT JOIN dbo.KostenbuchungsJournal kb ON ks.KostenstelleNr = kb.KostenstelleNr LEFT JOIN dbo.KostenstellenBudget kp ON ks.KostenstelleNr = kp.KostenstelleNr WHERE ks.Aktiv = 1 GROUP BY ks.KostenstelleNr, ks.Bezeichnung, ks.Verantwortlicher HAVING ABS(SUM(CASE WHEN YEAR(kb.Buchungsdatum) = YEAR(GETDATE()) THEN kb.IstBetrag ELSE 0 END) - SUM(CASE WHEN YEAR(kp.Geschaeftsjahr) = YEAR(GETDATE()) THEN kp.PlanBetrag * MONTH(GETDATE()) / 12.0 ELSE 0 END)) > 500 -- Nur signifikante Abweichungen ORDER BY ABS(Abweichung_Pct) DESC; |
09
Diese Fehler tauchen in fast jedem ERP-Projekt auf — beim ersten Mal teuer, beim zweiten Mal vermeidbar.
01 Gemeinkosten-Prozentsätze nie aktualisiert
Zuschlagssätze werden einmalig kalkuliert und dann jahrelang nie angepasst — obwohl sich Kostenstrukturen, Lohnkosten und Auslastung verändert haben. Ergebnis: systematisch falsche Preise.
✓ Gegenmaßnahme: Jährliche Überprüfung und Anpassung aller Gemeinkostenzuschlagssätze als Pflichtaufgabe im Jahresabschluss verankern.
02 Fehlende Stücklisten für Eigenfertigung
Eigenfertigungsartikel haben keine vollständigen Stücklisten — Materialkosten werden geschätzt. Nachkalkulation zeigt regelmäßig große Abweichungen, deren Ursache niemand kennt.
✓ Gegenmaßnahme: 100 % Stücklistenabdeckung für alle Eigenfertigungsartikel als KPI einführen und monatlich messen.
03 Fixkosten als variable Kosten kalkuliert
Abschreibungen, Mieten und Gehälter werden proportional auf Stückzahlen verrechnet — was bei Unterbeschäftigung zu unrealistisch hohen Stückkosten führt und falsche Preisentscheidungen auslöst.
✓ Gegenmaßnahme: Fixe und variable Kosten in der Kalkulation explizit trennen — mehrstufige Deckungsbeitragsrechnung einführen.
04 Projekt-Istkosten nicht vollständig erfasst
Interne Stunden werden nicht auf Projekte gebucht — "weil das aufwendig ist". Das Ergebnis: Projekte erscheinen profitabler als sie sind, Stundensätze sind systematisch zu niedrig kalkuliert.
✓ Gegenmaßnahme: Zeiterfassung mit Pflicht-Projektzuordnung einführen. Stunden ohne Projektnummer dürfen nicht gebucht werden.
05 Admin-Rechte als Default
"Für schnellen Zugriff" bekommen neue Mitarbeiter vorübergehend Admin-Rechte — und behalten sie dauerhaft, weil niemand sie wieder entzieht.
✓ Gegenmaßnahme: Halbjährliches Berechtigungs-Review, Admin-Rechte immer zeitlich begrenzt vergeben.
06 Sammelbenutzer für Schnittstellen
Alle Schnittstellen laufen unter demselben technischen Benutzer mit vollen Rechten — im Fehlerfall kann niemand zuordnen, welche Schnittstelle was verändert hat.
✓ Gegenmaßnahme: Je Schnittstelle ein eigener technischer Benutzer mit minimalen, klar definierten Rechten.
07 Rollenkonzept nicht dokumentiert
Das Berechtigungskonzept existiert nur im Kopf des IT-Leiters. Bei Personalwechsel oder Audit fehlt jede Grundlage für Nachvollziehbarkeit.
✓ Gegenmaßnahme: Rollenmatrix in pflegbarem Format (Excel / Confluence / SharePoint) führen — Änderungen versioniert protokollieren.
10
Dieser Plan führt Sie strukturiert durch die wichtigsten Schritte — von der IST-Analyse bis zu einer revisionssicheren Kalkulations- und Rollenpflege.
|
|
VOR DEM START Vollständiges ERP-Backup erstellen. Testumgebung für Rollenänderungen nutzen — niemals direkt in Produktion. Fachbereich (Controlling, Buchhaltung, IT-Leitung) von Beginn an einbinden. |
■ TAG 1-2: KOSTENSTRUKTUR ANALYSIEREN
■ Kostenstellenliste exportieren — alle aktiven und inaktiven Stellen
■ Buchungsvolumen je Kostenstelle der letzten 12 Monate auswerten
■ Inaktive Kostenstellen identifizieren (Skript aus Kapitel 3.3)
■ Fehlende Verantwortliche identifizieren und benennen
■ Gemeinkostenzuschlagssätze aus dem System extrahieren und prüfen
■ TAG 3-5: ROLLENANALYSE
■ Alle aktiven ERP-Benutzer exportieren mit zugewiesenen Rollen
■ SoD-Konflikte prüfen (Skript aus Kapitel 6.3)
■ Benutzer ohne zugeordnete Rolle oder mit Admin-Rechten identifizieren
■ Inaktive Benutzer (kein Login > 90 Tage) identifizieren
■ Ist-Rollenmatrix dokumentieren — für jeden Benutzer und jede Rolle
■ TAG 6-10: KOSTENSTELLENSTRUKTUR BEREINIGEN
■ Inaktive Kostenstellen sperren (nach Rücksprache Controlling)
■ Fehlende Verantwortliche in allen aktiven Stellen eintragen
■ Buchungsregeln je Kostenart dokumentieren und kommunizieren
■ Gemeinkostenzuschlagssätze auf Basis aktueller Plankosten neu berechnen
■ Kalkulationsschema für Eigenfertigung / Handelsware festlegen
■ TAG 11-14: ARTIKELKALKULATION PRÜFEN
■ Artikel ohne Einstandspreis identifizieren und priorisiert befüllen
■ Stücklistenvollständigkeit für A-Artikel prüfen
■ Veraltete Kalkulationen (> 12 Monate) aktualisieren
■ Negativen Deckungsbeitrag-Artikel identifizieren — mit Vertrieb besprechen
■ Ergebnisse Controlling präsentieren und freigeben lassen
■ TAG 15-17: ROLLENKONZEPT DEFINIEREN
■ Standard-Rollenmatrix (Kapitel 6.2) auf eigenes Unternehmen anpassen
■ SoD-Konflikte auflösen — Eskalation an Geschäftsführung wenn nötig
■ Neue Rollen in Testumgebung anlegen und testen
■ Schulung Benutzer: Was ändert sich? Warum?
■ TAG 18-21: ROLLEN PRODUKTIV UMSTELLEN
■ Neue Rollenzuweisung je Benutzer in Produktion umsetzen
■ Admin-Rechte auf wirklich notwendige Benutzer reduzieren
■ Inaktive Benutzer deaktivieren
■ Je Schnittstelle eigenen technischen Benutzer anlegen
■ Änderungen dokumentieren und von IT-Leitung freigeben lassen
■ TAG 22-25: SOLL-IST-VERGLEICH AUTOMATISIEREN
■ Soll-Ist-Abfrage (Skript Kapitel 8.2) als täglichen SQL Agent Job einrichten
■ Monatliche Abweichungsmail an Kostenstellenverantwortliche automatisieren
■ RLS auf sensible Berichte anwenden (Kapitel 7.1 / 7.2)
■ Power BI Kostencontrolling-Seite aufbauen (Kostenstellen, Abweichungen)
■ TAG 26-28: DOKUMENTATION
■ Kalkulationsschema dokumentieren — für Controlling und Revisoren
■ Rollenmatrix finalisieren und unterschreiben lassen
■ Review-Termine festlegen: Kalkulation jährlich, Rollen halbjährlich
■ Notfall-Zugang (Breakglass-User) dokumentieren und sicher verwahren
■ TAG 29-30: ABSCHLUSS
■ Ergebnisse präsentieren: Was wurde bereinigt? Was hat es gebracht?
■ Offene Punkte in Backlog überführen
■ Audit-Readiness prüfen: Sind alle Änderungen nachvollziehbar dokumentiert?
■ Nächste Schritte: Projektkostenrechnung, erweiterte RLS, BI-Ausbau ■
|
|
ERGEBNIS NACH 30 TAGEN Nach 30 Tagen haben Sie eine saubere Kostenstellenstruktur, aktuelle Kalkulationssätze, eine revisionssichere Rollendokumentation und einen automatisierten Soll-Ist-Vergleich. Kostenverantwortliche sehen ihre Abweichungen automatisch — ohne manuelle Berichte. |
Die in diesem Dokument enthaltenen Informationen, Kalkulationsschemas, SQL-Skripte und Rollendefinitionen wurden nach bestem Wissen und Gewissen auf der Grundlage langjähriger praktischer Erfahrung erstellt. Dennoch kann keine Gewähr für Vollständigkeit, Richtigkeit oder Aktualität übernommen werden.
Der Autor übernimmt ausdrücklich keinerlei Haftung für fehlerhafte Kalkulationen, Fehlentscheidungen, Datenverlust, Sicherheitsvorfälle oder sonstige Schäden. Alle Schemas, Abfragen und Rollenkonzepte sind mit Controlling, Buchhaltung und IT-Leitung zu validieren und freizugeben.
Hinweise zur Kostenrechnung, Bewertung und Berechtigungsvergabe ersetzen keine steuerliche, rechtliche oder datenschutzrechtliche Fachberatung. Für DSGVO-Konformität des Rollenkonzepts ist ggf. ein Datenschutzbeauftragter einzubinden.
SQL-Abfragen und Konfigurationshinweise beziehen sich auf SQL Server 2022/2025, Dynamics Business Central 2024/2025, MACH und APplus, Stand März 2026. Tabellen- und Feldbezeichnungen sind ERP-spezifisch und müssen angepasst werden.
Dieses Dokument und alle Inhalte sind urheberrechtlich geschützt. © 2026 Sascha Hess, xenosystems.de. Alle Rechte vorbehalten.
Microsoft, SQL Server, Power BI, Dynamics Business Central sind eingetragene Marken der Microsoft Corporation. MACH ist eine eingetragene Marke der MACH AG. APplus ist eine eingetragene Marke der Asseco Solutions AG. Alle anderen Produktnamen sind Eigentum ihrer jeweiligen Inhaber.
Es gilt ausschließlich deutsches Recht. Gerichtsstand ist, soweit gesetzlich zulässig, Weimar, Thüringen, Deutschland.
Sascha Hess ist Diplom-Biologe und IT-Professional mit über 20 Jahren Erfahrung in der Administration von ERP-, BI- und Datenbanksystemen. Er hat Kostenrechnungsstrukturen und Berechtigungskonzepte für mittelständische Unternehmen, produzierende Betriebe und die Bauhaus-Universität Weimar aufgebaut — von der Kostenstellenstruktur bis zur revisionssicheren Rollendokumentation.
Sein Ansatz verbindet naturwissenschaftliche Präzision mit pragmatischer IT-Erfahrung. Schwerpunkte: ERP-Kostenrechnung, Berechtigungskonzepte, SQL Server, Business Intelligence und IT-Interim-Management.
Web: www.xenosystems.de | E-Mail: info@xenosystems.de | Standort: Weimar, Thüringen / Remote
|
Service |
Beschreibung |
|
ERP-Kostenrechnung & Kalkulation |
Aufbau und Optimierung von Kostenstellenstrukturen, Kalkulationsschemas und Nachkalkulationsprozessen — direkt im ERP. |
|
ERP-Berechtigungskonzept |
Analyse, Bereinigung und Dokumentation von Rollenpflege und SoD-Prüfung für ERP, SQL Server und Power BI. |
|
BI-Dashboard-Aufbau |
Power BI / DeltaMaster Dashboards inkl. ETL-Strecken, KPI-System und Row Level Security. |
|
SQL Server DB Health Check |
Professioneller Audit Ihres SQL Servers — Managementreport, Risikobewertung und Maßnahmenplan. Scope: 3-5 Tage. |
|
Interim IT-Management |
Übernahme der IT-Steuerung auf Zeit — Budgetplanung, Dienstleister-Management, strategische IT-Ausrichtung. |
Vollständiges Dokument
Strategische Wissens-Roadmap · Checklisten · Praxisbeispiele
49,90 €
Sichere Zahlung über PayPal · Sofort-Download nach Zahlungseingang