fire-planner/fire_planner/tax/bulgaria.py
2026-05-07 17:06:19 +00:00

32 lines
1.3 KiB
Python

"""Bulgaria regime — 10% flat tax on worldwide income.
Article 48 of the Personal Income Tax Act sets a flat 10% on
worldwide income for residents. Capital gains on EU/EEA-listed
securities held over the relevant holding period are exempt
(Art 13(1)(3)) — most of our portfolio qualifies. We approximate
all capital gains as 10% to be conservative (CGT on US-listed
ETFs from a Bulgarian resident is contested terrain; many funds
the planner holds are Irish UCITS so the EU exemption likely
applies, but we don't optimise for that here).
"""
from __future__ import annotations
from decimal import Decimal
from fire_planner.tax.base import TaxBreakdown, TaxInputs, TaxRegime
FLAT_RATE = Decimal("0.10")
class BulgariaTaxRegime(TaxRegime):
name = "bulgaria"
def compute_tax(self, inputs: TaxInputs) -> TaxBreakdown:
chargeable = (inputs.earned_income + inputs.pension_withdrawal + inputs.capital_gains +
inputs.dividends + inputs.interest)
return TaxBreakdown(
income_tax=(inputs.earned_income + inputs.pension_withdrawal) * FLAT_RATE,
capital_gains_tax=inputs.capital_gains * FLAT_RATE,
dividend_tax=(inputs.dividends + inputs.interest) * FLAT_RATE,
notes=("bulgaria-flat", f"chargeable={chargeable}"),
)