Files
odoo-at-payroll/addons/l10n_at_hr_payroll_private/docs/rechenfaelle/sachbezuege.md
T

8.7 KiB
Raw Blame History

Rechenfälle steuerfreie Sachbezüge (AP12a)

Kern: Feld hr.salary_rule.l10n_at_st_frei + Methoden _l10n_at_st_frei_ytd/_l10n_at_st_frei_freie_laufen (Anbindung _l10n_at_bemessung_laufen) in l10n_at_hr_payroll/models/lohnsteuer.py, Parameter at_st_grenzen (l10n_at_hr_payroll/data/rule_parameters_lst_2026.xml). Privat: Eingabetypen ATP_SB_* (data/input_types_private.xml), Regeln SB_MAHLZEIT/SB_BETRIEBSVERANSTALTUNG/SB_SACHZUWENDUNG/SB_RABATT/ SB_HOMEOFFICE (data/salary_rules_sb_private.xml), Parameter at_sb_werte (data/rule_parameters_sb_private.xml), LNK-Anbindung _at_lnk_basis (models/payslip_private.py). SV-Seite: bestehendes l10n_at_sv49_frei/at_sv49_grenzen (die SB-Regeln setzen beide Flags).

Rechtsquellen (verifiziert 2026-09-13)

  • Mahlzeiten (lb-sac-17): § 3 Abs 1 Z 17 EStG / § 49 Abs 3 Z 12 ASVG — „großer" Essensbon € 8,00/Arbeitstag steuer- und beitragsfrei (Voraussetzungen: keine Verpflegungszulage u. a., sonst nur € 2,00); Jahresbemessung 220 Arbeitstage; Übersteigerung pflichtig.
  • Betriebsveranstaltungen (lb-sac-07, lb-sva-03): § 3 Abs 1 Z 14 EStG / § 49 Abs 3 Z 17 ASVG — Teilnahme bis € 365,/AN/Kalenderjahr frei; keine Barablöse.
  • Sachzuwendungen/Geschenke (lb-ges-02): § 3 Abs 1 Z 14 EStG — Weihnachtsgeschenke sowie Dienst-/Firmenjubiläen je bis € 186,/Jahr (gesonderter Pool neben der BV); Barzuwendungen immer pflichtig.
  • Mitarbeiterrabatte (lb-sac-02): § 3 Abs 1 Z 21 EStG / § 49 Abs 3 Z 29 ASVG — Rabatte über 20 % mit €-1.000,-Freibetrag/Jahr je AN/AG; darunter keine Bezug; darüber abgabenpflichtig (laufend oder jährlicher Sachbezug).
  • Homeoffice/Telearbeit (lb-tel-04/05): § 26 Z 9 EStG / § 49 Abs 3 Z 31 ASVG — Telearbeit-Pauschale € 3/Tag, max 100 Tage/Jahr (= € 300/Jahr) nicht steuerbar; Lohnkonto: Anzahl Telearbeitstage erfassen.
  • Alle Freibeträge: nur der übersteigende Teil ist beitrags-/steuer- pflichtig (Freibeträge, keine Freigrenzen), lohnnebenkostenfrei.

Maschinenmodell (2026)

  • Eingabe-Semantik (manuell, hr.payslip.input.amount):
    • tagesbasiert (Mahlzeiten/Homeoffice): amount = Anz. Arbeitstage; Tageswert aus at_sb_werte (mahlzeit_wert Default 8,0 = tatsächl. Bonwert, homeoffice_wert 3,0 = gesetzlich fix); Regel: result = wert, result_qty = tage → Engine: total = wert × tage, quantity = tage (für die Cap-Berechnung Cap × Tage).
    • poolbasiert (BV/Sachzuwendung/Rabatt): amount = Gesamtwert des Monats; Regel: result = amount (quantity = 1).
  • Freibetrag je Lauf (Kern, _l10n_at_st_frei_freie_laufen, Spieglung _l10n_at_sv49_freie_laufen): tagesbasiert frei = min(total, cap × menge); Homeoffice zusätzlich rest_tage = 100 YTD-Menge, poolbasiert frei = min(total, pool YTD). YTD = Summe der Zeilen (Menge bzw. Total) validierter früherer Läufe des Kalenderjahres je DN (_l10n_at_ytd_slaeufe).
  • Bemessungen: LSt-BG laufend = Arbeitslohn SVDN § 68 st_frei; LNK-BG = (laufend + im Monat gezahlter § 67) st_frei § 67 Abs 3/6 → SV-DN sind aus der LSt-BG abzugsfähig, aus der LNK-BG nicht (Zuflussprinzip, kein SV-Abzug).
  • Caps (at_st_grenzen, at_sv49_grenzen, 2026): Mahlzeit 8,0 €/AT · Rabatt 1.000 €/J · BV 365 €/J · Jubiläum 186 €/J · Homeoffice 3,0 €/AT, 100 Tage/J.

RF-SB-1 — Mahlzeiten voll im Freibetrag

10 Gutschein-Arbeitstage à 8,0 € (mahlzeit_wert):

  • SB_MAHLZEIT: total 80,00 €, quantity 10.
  • frei (SV + LSt) = min(80, 8 × 10) = 80,00 € → SV-BG, LSt-BG und LNK-BG unverändert gegenüber dem Lauf ohne SB (Tests test_01).

RF-SB-2 — Mahlzeiten mit Überhang (Bonwert 11,00 €)

at_sb_werte.mahlzeit_wert = 11,00 (versioniert), 10 AT:

  • SB_MAHLZEIT: total 110,00 € (11 × 10), quantity 10.
  • frei = min(110, 8 × 10) = 80,00 € → Überhang 30,00 €.
  • SV-BG +30,00 · LNK-BG +30,00 · LSt-BG +30,00 abzüglich der darauf entfallenden SV-DN (SV abzugsfähig: ΔLSt + ΔSVDN = 30,00 €) (test_02).

RF-SB-3 — Betriebsveranstaltungen (365-€-Pool)

Jänner 300 € (validiert), Februar 100 €:

  • Jänner: frei min(300, 3650) = 300 € → voll frei.
  • Februar: YTD 300 → frei min(100, 365300) = 65 €, Überhang 35 € in SV-/LSt-(netto SVDN)/LNK-Bemessung (test_03).

RF-SB-4 — Eigene Pools: Sachzuwendung (186) & Rabatt (1.000)

  • Sachzuwendung: Jänner 100 € (frei), Februar 100 € → frei 186100 = 86 €, Überhang 14 € (test_04).
  • Rabatt: Jänner 700 € (frei, über 20 %), Februar 500 € → frei 1.000700 = 300 €, Überhang 200 € (test_04).
  • Pools sind unabhängig (BV 365 ≠ Sachzuwendung 186).

RF-SB-5 — Homeoffice (100-Tage-Limit)

70 Tage (validiert), dann 80 Tage:

  • Jänner: 70 × 3 = 210 € frei (70 ≤ 100 Tage).
  • Februar: rest 10070 = 30 Tage → frei 30 × 3 = 90 €; Zeile 80 × 3 = 240 € → Überhang 150 € pflichtig (test_05).

RF-SB-6 — Ohne SB-Eingaben neutral

Keine ATP_SB_*-Eingaben → keine SB_*-Zeilen, _l10n_at_st_frei_freie_laufen() = _l10n_at_sv49_freie_laufen() = 0 → Bemessungen wie ohne AP12a (test_06).

AP12b — Wertgebundene Sachbezüge (2026)

Stammdaten liegen auf hr.version (ein Fahrzeug/eine Wohnung pro Dienstverhältnis im MVP), ereignisbezogene Werte auf ATP_SB_*-Eingaben. Die Werte sind vollständig versioniert: at_sb_wagen, at_sb_wagen_co2, at_sb_wohnung, at_sb_parkplatz.

  • Dienstwagen (lb-sac-03/04, § 4 SBWVO): AK × 2 % (über Grenzwert, cap 960) bzw. 1,5 % (Grenzwert erfüllt, cap 720); halber SB bei nachgewiesenen ≤ 500 Privat-km/Monat: 1 %/0,75 % (caps 480/360). CO₂-Grenzwert folgt dem Erstzulassungsjahr; 0 g/km = kein Ansatz; laufender Kostenbeitrag mindert nach § 4 Abs 7.
  • Dienstwohnung (lb-sac-09, § 2 Abs 7a SBWVO): m² × Richtwert je Bundesland; Normwohnung 30 %, Hausbesorger 35 % (kombiniert 55,5 %); arbeitsplatznah/nicht Lebensmittelpunkt: ≤ 35 m² = 0, über 3545 m² 35 % während der ersten 12 Überlassungsmonate.
  • Parkplatz (lb-sac-18, § 4a SBWVO): 14,53 €/Monat minus DN- Kostenbeitrag, soweit keine dokumentierte Ausnahme vorliegt. AP12b behandelt ihn als laufenden Bezug; der Quelltext nennt die Kategorie nicht explizit (⚠ Annahme vor Produktivsetzung gegen LStR/RIS prüfen).
  • Handy (lb-sac-15): beruflich/fallweise privat = 0; überwiegend private Mehrkosten sind laufender manueller Bezug. Verkauf unter Buchwert ist als Eingabe „Buchwert minus Kaufpreis“: SV laufend, LSt sonstig (§ 67), LNK-pflichtig.
  • Bonusmeilen (lb-sac-08): Einlösungswert ist Drittlohn, ausschließlich SV-laufend (§ 49 Abs 1 ASVG), kein eigenes LSt-/LNK-Brutto. Die darauf entfallende DN-SV mindert jedoch gemäß bestehender §-62-Kette die LSt-BG.

RF-SB-7 — Dienstwagen

AK 36.700 €, EZ 2025, CO₂ 112 g/km (≤ 126): 36.700 × 1,5 % = 550,50 €. Halber Sachbezug: 275,25 €. Bei 130 g/km: 36.700 × 2 % = 734,00 €. E-Fahrzeug (0 g/km) = 0 €. Kostenbeitrag 300 €: 550,50 300 = 250,50 €.

RF-SB-8 — Dienstwohnung und Parkplatz

  • Wien, 72,4 m²: 72,4 × 6,67 = 482,91 €.
  • Arbeitsplatznahe Kleinwohnung: 30 m² = 0 €; 40 m² im Monat 1: 40 × 6,67 × 65 % = 173,42 €.
  • Parkplatz: 14,53 € minus 5 € Kostenbeitrag = 9,53 €.

RF-SB-9 — Handy und Bonusmeilen

  • Private Handy-Mehrkosten 80 € nur bei Profil „überwiegend privat“: 80 € laufend; berufliches Profil erzeugt keine Zeile.
  • Arbeitsmittel-Verkauf (Buchwert 800 € Preis 100 €): 700 €; SV-Basis laufend +700, SV-SZ-Basis 0, LSt-sonstig und LNK +700.
  • Bonusmeilen, Einlösungswert 300 €: SV-Basis +300, LNK 0, kein eigenes LSt-Brutto; Auszahlungsnetto vermindert sich nur um die DN-SV abzüglich der daraus folgenden LSt-Entlastung.

Offene Punkte / dokumentierte Reste

  • Dienstwagen: Mini-Sachbezug (Fahrtenbuch/km-Wert/Jahresvergleich), Fahrzeugwechsel, Pool/Fahrgemeinschaft, Mehrfachfahrzeuge und einmalige Kostenbeiträge (lb-sac-04) folgen außerhalb des MVP.
  • Kleinwohnung: Aufrollung/Nachversteuerung beim Überschreiten der 12-Monats-Frist (§ 67 Abs 10), Mehrnutzer- und Gemeinschaftsflächen- aufteilung sind noch nicht automatisiert.
  • Jobticket (SBV § 4b): erst ab AP13.
  • Lohnkonto-Aufzeichnungspflichten (Mahlzeitenvoraussetzungen lb-sac-17, Telearbeitstage lb-tel-05, Rabatte > 20 % lb-sac-02 sowie Nachweise/Erklärungen AP12b): Arbeitgeber-Prüffeld, nicht Engine.
  • 2027-Werte: alle at_st_grenzen/at_sv49_grenzen, at_sb_werte und AP12b-Parameter am Jahreswechsel nachführen (Wartung/RUNBOOK).