Skip to content

Revenue Breakdown: Deduct Business Expenses for Correct Tax Estimate and Safe-to-Spend #339

Description

@clstaudt

Problem

compute_spendable_income equates net revenue with taxable profit. Business expenses (health insurance, professional liability, operating costs) are not deducted before estimating income tax. This overstates both the tax reserve and the safe-to-spend amount.

The RecurringExpense model exists and is already used in the salary calculation (compute_effective_salary), but the Tax & Reserves waterfall ignores it.

Required waterfall

Gross Revenue          €  5,355
− VAT (to remit)       −€    855
− Business Expenses    −€    XXX   ← from RecurringExpense
= Taxable Profit       €  X,XXX   ← new line
− Est. Income Tax      −€    XXX   ← computed on profit, not revenue
= Safe to Spend        €  X,XXX

The same structure applies to the Salary page (monthly figures).

Scope

  • SpendableIncome NamedTuple: add business_expenses and taxable_profit fields
  • compute_spendable_income in tuttle/tax_reserves.py: accept expenses list, subtract from net revenue before tax estimate
  • TaxReservesView.tsx: add Business Expenses and Taxable Profit bars to the waterfall
  • RPC handler: pass expenses to compute_spendable_income

Related: #299 (pension/retirement is one category of recurring expense that feeds into this)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions