Lohnrechner

  • C#

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Lohnrechner

    Moin,

    Jemand eine Idee wie ich diesen Lohnrechner besser gestalten kann?

    Funktion:
    Nach Bruttolohneingabe soll er direkt die Prozentsätze ausrechnen.

    Code:

    C#-Quellcode

    1. private void txtBrutto_Leave(object sender, EventArgs e)
    2. {
    3. double Brutto = int.Parse(txtBrutto.Text);
    4. double AHV;
    5. double IV;
    6. double EO;
    7. double ALV;
    8. double AHVproz = double.Parse(txtAHVproz.Text);
    9. double IVproz = double.Parse(txtIVproz.Text);
    10. double EOproz = double.Parse(txtEOproz.Text);
    11. double ALVproz = double.Parse(txtALVproz.Text);
    12. //berechnung:
    13. AHV = Brutto / 100 * AHVproz;
    14. IV = Brutto / 100 * IVproz;
    15. EO = Brutto / 100 * EOproz;
    16. ALV = Brutto / 100 * ALVproz;
    17. txtAHV.Text = System.Convert.ToString(Math.Round(AHV, 2));
    18. txtIV.Text = System.Convert.ToString(Math.Round(IV, 2));
    19. txtEO.Text = System.Convert.ToString(Math.Round(EO, 2));
    20. txtALV.Text = System.Convert.ToString(Math.Round(ALV, 2));
    21. }



    nicht mehr nötig ist folgendes; (Braucht es trotzdem nicht ;) )

    Bei sowas rundet er auf 2 nach Komma:

    C#-Quellcode

    1. txtEO.Text = System.Convert.ToString(Math.Round(EO, 2));
    Bruttolohn: 1234= EO 0.7 sollte kaufmännisch gerundet 8.65 geben anstatt 8.64Edit:/

    C#-Quellcode

    1. txtEO.Text = System.Convert.ToString(Math.Round(EO, 2, MidpointRounding.AwayFromZero));
    machts auch nicht besser...

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „newsletter“ ()

    @newsletter Ohne jetzt in eine juristische Beratung zu verfallen:
    Lohnrechnung ist sagen wir mal eine gesetzlich streng überwachte Branche, da wirst Du mit Deinem Programmchen keine Chance haben irgend etwas zu leisten, es sei denn, Du willst Deinen Lohnzettel überprüfen.
    Was also soll das?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    @newsletter Ohne jetzt in eine juristische Beratung zu verfallen:
    Lohnrechnung ist sagen wir mal eine gesetzlich streng überwachte Branche, da wirst Du mit Deinem Programmchen keine Chance haben irgend etwas zu leisten, es sei denn, Du willst Deinen Lohnzettel überprüfen.
    Was also soll das?


    Das programm soll 3 Zwecke erfüllen:
    1. Personaldaten eingeben, Speichern und zukünftig nur noch Laden.
    (Hier bin ich mir noch nicht sicher wie ich dies umsetzen soll... @SqlDatenbank)
    2. Lohn mit Abzüge ausrechnen.
    3. Word Dokument erstellen und ausdrucken (=Lohnabrechnungsbeleg für Personal)

    Keine Angst, es ist alles im legalen Bereich.
    Es soll Handarbeit ersparen.

    Gruss Newsletter

    newsletter schrieb:

    Keine Angst, es ist alles im legalen Bereich.
    Das ist mir klar.
    Möglicherweise ist es illegal, dass Du das mit dieser Aufgabenstellung machen sollst.
    Mein Chef muss ein Lohnsteuerbüro dafür bezahlen, dass die unsere Abrechnungen durchführen.
    Wärst Du ein Lohnsteuer-rechnen-dürfer, würdest Du hier nicht solch Frage stellen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ist bei mir zwar schon etwas her, jedoch braucht man zur Netto Lohn Berechnung auch die Steuerklasse, welche sich wiederum aus diversen Variablen ergibt. Ist das bei dir schon im Programm drin?

    Mal davon abgesehenen ob legal oder nicht, finde ich es doch äußerst dubios das du da ein Programm schreiben sollst. Hab noch keinen Arbeitgeber gehabt der das selbst macht. Das kam immer von jemandem "offiziellen"...
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    mrMo schrieb:

    Ist bei mir zwar schon etwas her, jedoch braucht man zur Netto Lohn Berechnung auch die Steuerklasse, welche sich wiederum aus diversen Variablen ergibt. Ist das bei dir schon im Programm drin?

    Mal davon abgesehenen ob legal oder nicht, finde ich es…


    Wofür so kompliziert?

    Imgrunde ist es ja nur:
    Bruttolohn / 100 * Prozentsatz = Abzugbetrag.

    4000Fr Brutto / 100 * 0,7 EO = 28Fr EO-Abzug.

    Brutto - alle Abzüge = Nettolohn.

    Wenn das jemand jeden Monat von Hand ausrechnet gibt es eher Fehler als wenn ein Programm immer nach den selben kriterien es ausrechnet.
    Abzug ist hier deklariert:
    bsv.admin.ch/bsv/de/home/sozia…ueberblick/beitraege.html

    newsletter schrieb:

    Imgrunde ist es ja nur
    dass ein gesetzlich zertifizierter Algorithmus implementiert werden muss, und das praktisch jedes Jahr neu.
    Worauf @us4711 hinaus will: Wo bleibt bei Deinem Deinem starren Prozentwert die Steuerprogression, also die Steigerung des Prozentwertes in Abhängigkeit vom Bruttolohn?
    Das steckt nämlich in dem gesetzlich zertifizierter Algorithmus. 8o
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @newsletter Das müssten dann sagen wir mal 50 Textboxen sein. :S
    Ich bin 'raus.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @newsletter Aus den Regeln:
    Das vollständige Zitieren von Beiträgen ("Fullquotes"), die direkt über dem eigenen stehen,
    ist völlig unnötig und daher nicht erlaubt. Auch wenn sich dazwischen schon mehrere Beiträge befinden, sollte
    man nur das zitieren, was unbedingt erforderlich ist. Gerade sehr große Voll-Zitate schaden der Übersicht enorm.


    Bitte in Zukunft beachten.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum

    newsletter schrieb:

    nicht mehr nötig ist folgendes
    Falls du es trotzdem benötigst:

    VB.NET-Quellcode

    1. ​RappenRundung = Math.Round(UngerundeterWert * 20, MidpointRounding.AwayFromZero) * 0.05


    newsletter schrieb:

    wie ich diesen Lohnrechner besser gestalten kann?

    AHV/IV/EO sind jährliche Fixwerte. Das ist trivial.

    Oberhalb der ALV-Obergrenze wird mit dem ALV2-Satz gerechnet, darunter mit dem ALV-Satz.
    Diese Beträge musst du splitten.

    Zur Lohnberechnung gehören ausserdem BVG und NBUV.
    Diese Beträge sind personenbezogen unterschiedlich.

    Und ggf. Quellensteuer - Da wird's dann richtig aufwendig, weil du die kantonalen Quellensteuertabellen berücksichtigen musst.

    Wenn du diese Grundlagen nicht drauf hast, solltest du das Programm ausgiebig von jemand testen lassen, der Erfahrung mit Lohnberechnung hat.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --