Xenosystems Logo
Sascha Hess

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

 


Rechtliche Hinweise und Haftungsausschluss

 

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.

 


 

Inhaltsverzeichnis

 

 

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

Einleitung

 

Warum Kostentransparenz und Rollenpflege zusammengehören

 

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

Kalkulationsgrundlagen

 

Vollkosten, Teilkosten, Deckungsbeitrag — sauber aufgebaut

 

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.

 

2.1 Die drei Kalkulationsverfahren im Überblick

 

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

 

 

2.2 Kalkulationsschema Vollkosten (Industrie)

 

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)

 

 

 

2.3 Gemeinkostenzuschlagssätze berechnen

 

-- 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

Kostenstellenstruktur

 

Aufbau, Hierarchie und Pflege im ERP

 

Eine saubere Kostenstellenstruktur ist das Fundament jeder Kostenrechnung. Einmal falsch angelegt, sind alle nachgelagerten Auswertungen wertlos — und die Korrektur im laufenden Betrieb aufwendig.

 

3.1 Hierarchieprinzipien

 

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".

 

 

3.2 Kostenarten-Mapping

 

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

3.3 Kostenstellenpflege — häufige Fehler

 

 

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

Artikelkalkulation

 

Standard-, Plankosten und Nachkalkulation

 

Die Artikelkalkulation ist das Herzstück der Kostenrechnung im ERP. Sie beantwortet: Was kostet uns die Herstellung oder Beschaffung eines Artikels — wirklich?

 

4.1 Kalkulationsarten im ERP

 

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

 

 

4.2 Mehrstufige Stücklistenkalkulation

 

-- 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;

 

 

4.3 Kalkulations-Plausibilitätsprüfung

 

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

Projektkalkulation

 

Aufwands- und Kostenverfolgung je Projekt

 

Dienstleister, Projektierer und produzierende Betriebe mit Kundenaufträgen brauchen eine Projektkostenrechnung, die Ist-Kosten laufend gegen das Budget stellt — nicht erst nach Projektende.

 

5.1 Projektkosten-Struktur

 

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.

 

 

5.2 Projekt-Soll-Ist-Übersicht

 

-- 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;

 

 

5.3 Stundensatz-Kalkulation

 

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

Rollendefinitionen

 

Wer darf was — ERP-Berechtigungskonzept

 

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.

 

6.1 Rollenkonzept-Grundprinzipien

 

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.

 

 

6.2 Standard-Rollenmatrix ERP

 

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

 

6.3 Kritische Berechtigungen identifizieren

 

-- 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

Rollen im BI & Reporting

 

Row Level Security und Zugriffssteuerung

 

Kostenstellenberichte, Deckungsbeitragsauswertungen und Projektkalkulationen enthalten hochsensible Daten. Ohne Zugriffssteuerung im BI-System sieht jeder alles — was in der Praxis häufig unbemerkt passiert.

 

7.1 SQL Server Row Level Security (RLS)

 

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);

 

 

 

 

 

 

 

7.2 Power BI Row Level Security

 

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

 

 

7.3 Rollendokumentation — Mindestanforderungen

 

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

Soll-Ist-Vergleich

 

Automatisierte Nachkalkulation und Abweichungsanalyse

 

Der Soll-Ist-Vergleich ist das wirkungsvollste Instrument der Kostensteuerung — vorausgesetzt er ist automatisiert, aktuell und auf die richtigen Ursachen heruntergebrochen.

 

8.1 Abweichungsarten verstehen

 

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

 

 

8.2 Automatischer Soll-Ist-Vergleich

 

-- 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

Typische Fallstricke

Kalkulationsfehler und Rollenprobleme aus der Praxis

 

Diese Fehler tauchen in fast jedem ERP-Projekt auf — beim ersten Mal teuer, beim zweiten Mal vermeidbar.

 

9.1 Kalkulationsfehler

 

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.

 

9.2 Rollenprobleme

 

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

30-Tage-Umsetzungsplan

 

Kalkulation und Rollen in einem Monat sauber aufstellen

 

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.

 

WOCHE 1: IST-ANALYSE

 

■ 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

 

WOCHE 2: KALKULATION AUFBAUEN

 

■ 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

 

WOCHE 3: ROLLEN BEREINIGEN

 

■ 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

 

WOCHE 4: AUTOMATISIERUNG & ABSCHLUSS

 

■ 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.

 


 

Ausführlicher Haftungsausschluss und Lizenzbestimmungen

 

1. Allgemeiner Haftungsausschluss

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.

 

2. Keine Steuer- oder Rechtsberatung

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.

 

3. Versionsabhängigkeit

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.

 

4. Urheberrecht und Nutzungsrechte

Dieses Dokument und alle Inhalte sind urheberrechtlich geschützt. © 2026 Sascha Hess, xenosystems.de. Alle Rechte vorbehalten.

 

5. Markenrechte

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.

 

6. Anwendbares Recht und Gerichtsstand

Es gilt ausschließlich deutsches Recht. Gerichtsstand ist, soweit gesetzlich zulässig, Weimar, Thüringen, Deutschland.

 


 

Über den Autor

 

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

Kostenkalkulation Rollen 2026

Strategische Wissens-Roadmap · Checklisten · Praxisbeispiele

49,90 €

Sichere Zahlung über PayPal · Sofort-Download nach Zahlungseingang