Leistungs- und Steuerberechnungen anpassen

Diese Beispiele bieten Ihnen eine Hilfestellung beim Anpassen Ihrer Leistungs- und Steuerberechnungen.

Anwendungsfall 1

Sie möchten Provisionen als Prozentsatz des Kontos "Provisionsbasis" berechnen. Dieses benutzerdefinierte Konto ist nicht im Lieferumfang des Moduls Personalplanung enthalten. Provisionen werden berechnet, indem der im Assistenten für Leistungen und Steuern eingegebene Satz mit dem benutzerdefinierten Konto "Provisionsbasis" multipliziert wird.

Beispielformel

IF("No Property"->"BegBalance"==[OWP_EarningList.Commission])  
    IF(@ISMBR(@RELATIVE("OWP_Existing Employees",0)))  
        "Commission Basis"->"No Property" * ("OWP_Value"/100);  
    ELSE  
        #Missing;  
    ENDIF  
ENDIF

Anwendungsfall 2

Aufbauend auf dem vorherigen Beispiel möchten Sie eine Leistung namens "Versicherung" hinzufügen. Diese Leistung wird als Prozentsatz des Kontos "Leistungszulage" berechnet, wobei die folgenden Werte im Assistenten für Leistungen und Steuern ausgewählt sind:

  • Komponententyp - Benutzerdefiniert
  • Zahlungsbedingungen - Vierteljährlich (Kalenderjahr)
  • Zahlungshäufigkeit - In erster Periode zahlen
  • Höchstwert - Typ - Pauschalbetrag
  • Schwellenwertbereich - Jahr kumuliert
  • Steuerpflichtige Komponente - Ja
  • Satz für alle Monate - 10
  • Schwellenwert - 400
  • Werttyp - Sie können einen beliebigen Wert für den Werttyp auswählen, da die Leistung in der benutzerdefinierten Logik als Prozentsatz der Leistungszulage berechnet wird.

Beispielformel

IF("No Property"->"BegBalance"==[OWP_EarningList.Commission])  
    IF(@ISMBR(@RELATIVE("OWP_Existing Employees",0)))  
        "Commission Basis"->"No Property" * ("OWP_Value"/100);  
    ELSE  
        #Missing;  
    ENDIF  
ELSEIF("No Property"->"BegBalance"==[OWP_BenefitList.Insurance])
    IF("Cal TP-Index"==1 OR "Cal TP-Index"==4 OR "Cal TP-Index"==7 OR "Cal TP-Index"==10)
        "OWP_Expense amount"="OWP_Merit"->"OWP_Expense amount"*("OWP_Value"/100);
    ENDIF;
    IF("OWP_Expense amount"!=#MISSING)
        IF("OWP_Calculated Max Value"!=#MISSING)
            IF("OWP_CYTD(Prior)"+"OWP_Expense amount">"OWP_Calculated Max Value")
                IF("OWP_CYTD(Prior)"<="OWP_Calculated Max Value")
                    "OWP_Expense amount"="OWP_Calculated Max Value"-"OWP_CYTD(Prior)";
                ELSE
                    "OWP_Expense amount"=#MISSING;
                ENDIF;
            ENDIF;
        ENDIF;
    ENDIF;
    "Custom Expense"="OWP_Expense amount";
ENDIF;

Anwendungsfall 3

Aufbauend auf den vorherigen Beispielen möchten Sie eine Steuer (gestaffelte Steuer) namens "SUTA" hinzufügen. Diese Steuer wird als Prozentsatz von Benefit1, Benefit2, Benefit3 und Benefit4 berechnet, wobei die folgenden Werte im Assistenten für Leistungen und Steuern ausgewählt sind:

  • Komponententyp - Benutzerdefiniert
  • Zahlungsbedingungen - Monatlich
  • Höchstwert - Typ - Schwellenwert
  • Schwellenwertbereich - Monatlich
  • Auf der Seite "Sätze" sind keine Sätze angegeben.
  • Für die benutzerdefinierte gestaffelte Steuer müssen Sätze als Teil der benutzerdefinierten Formel angegeben werden.

Beispielformel

IF("No Property"->"BegBalance"==[OWP_EarningList.Commission])  
    IF(@ISMBR(@RELATIVE("OWP_Existing Employees",0)))  
        "Commission Basis"->"No Property" * ("OWP_Value"/100);  
    ELSE  
        #Missing;  
    ENDIF  
ELSEIF("No Property"->"BegBalance"==[OWP_BenefitList.Insurance])
    IF("Cal TP-Index"==1 OR "Cal TP-Index"==4 OR "Cal TP-Index"==7 OR "Cal TP-Index"==10)
        "OWP_Expense amount"="OWP_Merit"->"OWP_Expense amount"*("OWP_Value"/100);
    ENDIF;
    IF("OWP_Expense amount"!=#MISSING)
        IF("OWP_Calculated Max Value"!=#MISSING)
            IF("OWP_CYTD(Prior)"+"OWP_Expense amount">"OWP_Calculated Max Value")
                IF("OWP_CYTD(Prior)"<="OWP_Calculated Max Value")
                    "OWP_Expense amount"="OWP_Calculated Max Value"-"OWP_CYTD(Prior)";
                ELSE
                    "OWP_Expense amount"=#MISSING;
                ENDIF;
            ENDIF;
        ENDIF
    ENDIF
    "Custom Expense"="OWP_Expense amount";
ELSEIF("No Property"->"BegBalance"==[OWP_TaxList.SUTA])
    IF("OWP_Benefit1"->"OWP_Expense amount"+"OWP_Benefit2"->"OWP_Expense amount"+"OWP_Benefit3"->"OWP_Expense amount"+"OWP_Benefit4"->"OWP_Expense amount"<=1000)
        ("OWP_Benefit1"->"OWP_Expense amount"+"OWP_Benefit2"->"OWP_Expense amount"+"OWP_Benefit3"->"OWP_Expense amount"+"OWP_Benefit4"->"OWP_Expense amount")*(10/100);
    ELSEIF("OWP_Benefit1"->"OWP_Expense amount"+"OWP_Benefit2"->"OWP_Expense amount"+"OWP_Benefit3"->"OWP_Expense amount"+"OWP_Benefit4"->"OWP_Expense amount"<=1200)
        (("OWP_Benefit1"->"OWP_Expense amount"+"OWP_Benefit2"->"OWP_Expense amount"+"OWP_Benefit3"->"OWP_Expense amount"+"OWP_Benefit4"->"OWP_Expense amount")-1000)*(20/100) + 1000*(10/100);
    ELSEIF("OWP_Benefit1"->"OWP_Expense amount"+"OWP_Benefit2"->"OWP_Expense amount"+"OWP_Benefit3"->"OWP_Expense amount"+"OWP_Benefit4"->"OWP_Expense amount"<=1300)
        (("OWP_Benefit1"->"OWP_Expense amount"+"OWP_Benefit2"->"OWP_Expense amount"+"OWP_Benefit3"->"OWP_Expense amount"+"OWP_Benefit4"->"OWP_Expense amount")-1200)*(30/100) + (1200-1000)*(20/100) + 1000*(10/100);
    ELSE
        (1300-1200)*(30/100) + (1200-1000)*(20/100) + 1000*(10/100);
    ENDIF
ENDIF

Hinweis:

Weisen Sie dem Element OWP_Expense Amount keine Werte zu. Wenn es einen Anwendungsfall für das Anwenden weiterer Logik auf einen berechneten Wert gibt, weisen Sie OWP_Expense Amount zu OWP_Custom Expense zu. Weitere Informationen finden Sie oben im ähnlichen Anwendungsfall 2.