Finanzen: Steuerkarte mit Orientierungshinweis und neuer Anteilsformulierung, Ladetext auf Deutsch
TaxCard zeigt am Ende immer "Orientierungswert, ersetzt keine Steuerberatung."; der Anteil heisst "<x> % der Grenze von 25.000 €" statt "<x> % der 25.000-€-Grenze". AdminRoute zeigt "Wird geladen …" statt "Loading...". Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0b1101d384
commit
e9cfae28ee
5 files changed
+36
-6
No files matched your search
@@ -9,7 +9,7 @@ export default function AdminRoute({ children }) {
|
||||
return (
|
||||
<div className="text-center p-4" style={{ marginTop: 80 }}>
|
||||
<div className="spinner"></div>
|
||||
<p>Loading...</p>
|
||||
<p>Wird geladen …</p>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import { taxView } from '../../lib/financeView'
|
||||
* Block 4: „Steuer“. Rücklage (Betrag und woraus sie sich ergibt), Kleinunternehmer-Zähler gegen die Grenzen,
|
||||
* Vorjahr (nur wenn eingetragen), Gewerbesteuer-Hinweis (nur wenn nötig) und die nächste ESt-Vorauszahlung
|
||||
* (nur wenn eingestellt). Ist der Zähler unbekannt (Stripe nicht erreichbar), steht das als Text da, nie eine 0.
|
||||
* Am Ende steht immer der Hinweis „Orientierungswert, ersetzt keine Steuerberatung.“
|
||||
*/
|
||||
export default function TaxCard({ steuer }) {
|
||||
const v = taxView(steuer)
|
||||
@@ -44,6 +45,8 @@ export default function TaxCard({ steuer }) {
|
||||
<div className="fin-fact-sub">am {v.prepayment.dateText}</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
<p className="fin-hint fin-tax-note">{v.noteText}</p>
|
||||
</div>
|
||||
</Card>
|
||||
)
|
||||
|
||||
@@ -292,10 +292,13 @@ const KLEIN_LIMIT_CENTS = 2_500_000
|
||||
const KLEIN_HARD_LIMIT_CENTS = 10_000_000
|
||||
const GEWERBE_ALLOWANCE_CENTS = 2_450_000
|
||||
|
||||
/** Dauerhafter Hinweis unter den Steuerwerten: die Zahlen sind Näherungen. */
|
||||
export const TAX_NOTE = 'Orientierungswert, ersetzt keine Steuerberatung.'
|
||||
|
||||
/**
|
||||
* Texte der Steuerkarte aus `steuer`:
|
||||
* { reserve: { amountText, basisText }, small: { known, counterText, shareText, limitText, hardText, previousText },
|
||||
* gewerbeText, prepayment: { dateText, amountText } | null }.
|
||||
* gewerbeText, prepayment: { dateText, amountText } | null, noteText }.
|
||||
* Ist der Kleinunternehmer-Zähler null (Stripe nicht erreichbar), steht „unbekannt“ statt einer Zahl.
|
||||
*/
|
||||
export function taxView(steuer) {
|
||||
@@ -331,7 +334,7 @@ export function taxView(steuer) {
|
||||
counterText: known ? `${euro(k.jahrCents)} von ${euroWhole(limit)}${year !== null ? ` (${year})` : ''}` : 'unbekannt (Stripe nicht erreichbar)',
|
||||
shareText:
|
||||
known && isNum(k.anteilFolgejahr)
|
||||
? `${percentDe(k.anteilFolgejahr * 100, 1)} % der ${euroWhole(limit).replace(' €', '-€')}-Grenze`
|
||||
? `${percentDe(k.anteilFolgejahr * 100, 1)} % der Grenze von ${euroWhole(limit)}`
|
||||
: null,
|
||||
limitText: `Über ${euroWhole(limit)} im Jahr${year !== null ? ` ${year}` : ''}: ab ${
|
||||
year !== null ? year + 1 : 'dem Folgejahr'
|
||||
@@ -344,6 +347,7 @@ export function taxView(steuer) {
|
||||
? `Der Gewinn${year !== null ? ` ${year}` : ''} liegt über dem Gewerbesteuer-Freibetrag von ${euroWhole(GEWERBE_ALLOWANCE_CENTS)} (natürliche Personen und Personengesellschaften, § 11 GewStG). Auf den übersteigenden Gewerbeertrag kann Gewerbesteuer anfallen.`
|
||||
: null,
|
||||
prepayment,
|
||||
noteText: TAX_NOTE,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user