Safe Haskell | None |
---|---|
Language | Haskell2010 |
TODO: (lohnsteuern) werbungskosten
Beachten: Lebensversicherungen https://www.smartsteuer.de/portal/lexikon/L/Lebensversicherung.html#D063053300009
- privatVermoegen :: IsString t => t
- ertragsKonten :: IsString t => [t]
- einkuenfteAusGewerbebetrieb :: IsString t => t
- steuerfreieEinnahmen :: IsString t => t
- uebrigeSummeDerEinkuenfte :: IsString t => t
- arbeitslohn :: IsString t => t
- werbungskostensNichtSelbststaendigeArbeitOhneFahrten :: IsString t => t
- ausserordentlicheEinkuenfte :: IsString t => t
- einkuenfteAusBeteiligungenAnKapitalgesellschaftenKapEst :: IsString t => t
- einkuenfteAusBeteiligungenAnKapitalgesellschaften :: IsString t => t
- sonstigeEinkuenfteAusKapitalvermoegenKapEst :: IsString t => t
- sonstigeEinkuenfteAusKapitalvermoegen :: IsString t => t
- privateVerausserungsgeschaefte :: IsString t => t
- erstattungsUeberhaenge :: IsString t => t
- aufwandsKonten :: IsString t => [t]
- lohnSteuer :: IsString t => t
- altersvorsorgeAufwendungenEigenanteil :: IsString t => t
- riesterRentenEinzahlung :: IsString a => a
- altersvorsorgeAufwendungenArbeitgeberAnteil :: IsString t => t
- krankenundPflegeversicherungBasisbeitraege :: IsString t => t
- sonstigeVorsorgeAufwendungOhneBasisbeitraege :: IsString t => t
- privatAusgaben :: IsString t => t
- type AccNat l w = Acc NatuerlichePerson l w
- type Betrag l w = Acc NatuerlichePerson l w Amount
- type AccNatRW = AccountingRW NatuerlichePerson
- type BetragRW = AccountingRW NatuerlichePerson Amount
- type AccNatRO = AccountingReadOnly NatuerlichePerson
- type BetragRO = AccountingReadOnly NatuerlichePerson Amount
- kinderGeld :: NatuerlichePerson -> Amount
- alter :: Monoid w => AccNat l w Int
- jahrInDemManSoAltWird :: Monoid w => Int -> AccNat l w Int
- splitFaktor :: Num t => NatuerlichePerson -> t
- einkommenSteuer :: GewerbeSteuer -> BetragRW
- data Variante = V {}
- type VarBetragRO = Variante -> BetragRO
- type VarBetrag l w = Variante -> Betrag l w
- einkuefteAusNichtSelbststaendigerArbeit' :: RWST (Environment NatuerlichePerson FixedLedger) (AccountingRW NatuerlichePerson ()) () IO Amount
- summeDerEinkuenfte :: VarBetragRO
- uebrigeSummeDerEinkuenfte' :: VarBetragRO
- einkommenSteuerVariante :: GewerbeSteuer -> VarBetragRO
- solidaritaetsZuschlag :: GewerbeSteuer -> VarBetragRO
- gewStErmaessigung :: GewerbeSteuer -> Amount -> BetragRO
- steuerBetrag :: Amount -> Amount
- testSteuerBetrag :: Bool
- abgeltungsSteuer :: VarBetragRO
- zuVersteuerndesEinkommen :: VarBetragRO
- mute :: MonadWriter b m => m a -> m a
- aussergewoehnlicheBelastungen :: BetragRO
- sonderAusgaben :: BetragRO
- allgemeineSonderAusgaben :: BetragRO
- altersvorsorgeAufwendungen :: BetragRO
- sonstigeVorsorgeAufwendung :: BetragRO
- entlastungsbetragfuerAlleinerziehende :: BetragRO
- kinderFreibetrag :: VarBetragRO
- kinderGeldAnrechnung :: VarBetragRO
- ausbildungsKosten :: BetragRO
- kinderFreibetragUndGeld :: Monoid w => Acc NatuerlichePerson l w (Amount, Amount)
- altersentlastungsBetrag :: VarBetragRO
- altersentlastungsSaetze :: Array Int (Amount, Amount)
Konten
Vermögen
privatVermoegen :: IsString t => t Source #
Aufwandskonten
ertragsKonten :: IsString t => [t] Source #
einkuenfteAusGewerbebetrieb :: IsString t => t Source #
steuerfreieEinnahmen :: IsString t => t Source #
uebrigeSummeDerEinkuenfte :: IsString t => t Source #
positive oder negative summe aller Einkunftsarten außer aus Kapitalvermögen und privaten Veräußerungsgeschäften
arbeitslohn :: IsString t => t Source #
ausserordentlicheEinkuenfte :: IsString t => t Source #
gesetz. Renten, Pensionen, Bezüge, .. im Sinne des https://www.jurion.de/Gesetze/EStG/24a
https://www.smartsteuer.de/portal/lexikon/A/Altersentlastungsbetrag.html
einkuenfteAusBeteiligungenAnKapitalgesellschaftenKapEst :: IsString t => t Source #
nicht solche, die der tariflichen/persönlichen ESt. unterliegen (z.B. aus Betriebsvermögen)
einkuenfteAusBeteiligungenAnKapitalgesellschaften :: IsString t => t Source #
beachten: 40% steuerfrei (?)
sonstigeEinkuenfteAusKapitalvermoegenKapEst :: IsString t => t Source #
nicht solche, die der tariflichen/persönlichen ESt. unterliegen
sonstigeEinkuenfteAusKapitalvermoegen :: IsString t => t Source #
einkuenfteAusKapitalvermoegen'hen nach 32d Abs 2. http://www2.nwb.de/portal/content/ir/service/news/news_1413444.aspx http://www.haufe.de/finance/finance-office-professional/rechtmaessigkeit-der-tariflichen-besteuerung-nach-32d-abs-2-nr-1b-estg_idesk_PI11525_HI5088406.html
https://www.smartsteuer.de/portal/lexikon/E/Einkuenfte-aus-Kapitalvermoegen.html
privateVerausserungsgeschaefte :: IsString t => t Source #
erstattungsUeberhaenge :: IsString t => t Source #
Aufwandskonten
aufwandsKonten :: IsString t => [t] Source #
lohnSteuer :: IsString t => t Source #
altersvorsorgeAufwendungenEigenanteil :: IsString t => t Source #
gesetzliche Renten / Rürüp
riesterRentenEinzahlung :: IsString a => a Source #
not implemented!
riester rente (+ zulagen. aber nur bis 2100 €??. von Steuerersparnis durch SA wird die Zulage abgezogen. Aber nur wenn ergebnis positiv)
krankenundPflegeversicherungBasisbeitraege :: IsString t => t Source #
Kranken- und Pflegeversicherung Basisbeitraege" -- nur 96% der Leistungen wenn Krankengeld enthalten
privatAusgaben :: IsString t => t Source #
Types
type AccNat l w = Acc NatuerlichePerson l w Source #
type AccNatRW = AccountingRW NatuerlichePerson Source #
Utility
kinderGeld :: NatuerlichePerson -> Amount Source #
jahrInDemManSoAltWird :: Monoid w => Int -> AccNat l w Int Source #
Calcuate in which year reaches a certain age
splitFaktor :: Num t => NatuerlichePerson -> t Source #
Berechnung
einkommenSteuer :: GewerbeSteuer -> BetragRW Source #
Calculates of the Einkommensteuer for all possible variants, selects the cheapest (Günstigervergleich) and applies it (e.g. Verlust Vortäge).
Günstigervergleich
Type representing the different possible variants of Einkommensteuer calculation to be compared
V | |
|
type VarBetragRO = Variante -> BetragRO Source #
Berechnung der Einkünfte
einkuefteAusNichtSelbststaendigerArbeit' :: RWST (Environment NatuerlichePerson FixedLedger) (AccountingRW NatuerlichePerson ()) () IO Amount Source #
https://www.smartsteuer.de/portal/lexikon/E/Einkuenfte-aus-Kapitalvermoegen.html#D063026000031
http://de.wikipedia.org/wiki/Sparer-Pauschbetrag einkuenfteAusKapitalvermoegen' = withBody $ p -> assert (>=0) (positivePart $ haben einkuenfteAusKapitalvermoegen - (splitFaktor p * 801)) "Verlust aus Kapitalvermoegen not implemented"
https://www.smartsteuer.de/portal/lexikon/E/Einkuenfte-aus-nichtselbststaendiger-Arbeit.html
https://www.smartsteuer.de/portal/lexikon/E/Entfernungspauschale.html
https://www.smartsteuer.de/portal/lexikon/W/Werbungskostenpauschbetrag.html
Steuerberechnung
einkommenSteuerVariante :: GewerbeSteuer -> VarBetragRO Source #
Calculates the Einkommensteuer for a given variant
solidaritaetsZuschlag Source #
:: GewerbeSteuer | GewerbeSteuer |
-> VarBetragRO |
https://www.smartsteuer.de/portal/lexikon/S/Solidaritaetszuschlag.html
TODO eigentlich unter berücksichtigung von Kinderfreibeträgen?
https://www.jurion.de/Gesetze/SolZG/3
http://www.steuerlinks.de/steuerlexikon/lexikon/gewerbesteueranrechnung.html
:: GewerbeSteuer | |
-> Amount | geminderte Einkommensteuer |
-> BetragRO |
35 EStG
steuerBetrag :: Amount -> Amount Source #
Berechnet den Tariflichen Einkommensteuerbetrag für das zu versteuernde Einkommen
zuVersteuerndesEinkommen :: VarBetragRO Source #
Calculate the "zu versteuerndes Einkommen" for a given variant https://www.smartsteuer.de/portal/lexikon/E/Einkommensteuer.html
more references in the source code...
mute :: MonadWriter b m => m a -> m a Source #
Sonderausgaben und Belastungen
allgemeineSonderAusgaben :: BetragRO Source #
allgemeine Sonderausgaben (z.B. auch die Kirchensteuer beinhalten)
Aktuel nur Pauschbetrag implementiert
sonstigeVorsorgeAufwendung :: BetragRO Source #
http://www.steuernetz.de/aav_steuernetz/lexikon/K-24101.xhtml?currentModule=home
TODO bis 2019 möglicher Günsitgervergleich mit Berechnungsmethode bis 2004?
Sonstiges
kinderFreibetragUndGeld :: Monoid w => Acc NatuerlichePerson l w (Amount, Amount) Source #
Berechnet den anzurechnenden Freibetrag und das abzuziehende Kindergeld