Где в Западной Европе самый низкий НДФЛ?

В большинстве западных стран применяется прогрессивная шкала налогообложения про которую ходит много легенд (вполне обоснованных, но есть нюансы) какие большие налоги получаются по сравнению с Россией с плоской шкалой 13%. В этой статье мы обзорно рассмотрим налоговые системы десяти стран Европы (в целях простоты рассматриваются только страны Западной Европы и из рассмотрения исключаются карликовые государства, а также Швейцария, потому что там всё слишком сложно): Франция, Германия, Италия, Испания, Ирландия, Нидерланды, Бельгия, Португалия, Австрия, Великобритания.

Рассматривать будем НДФЛ. На мой взгляд, это самый субъективный налог, так как пенсионные, страховые и прочие отчисления конвертируются непосредственно в некую твёрдую сумму (например, пенсии, которую будет человек получать в старости). А вот именно НДФЛ идёт в некий "общий котёл", на который потом финансируются правительство, органы правопорядка, система образования и т. д. Читателям статьи следует держать в уме, что в Европе принято указывать сумму зарплаты не только до вычета НДФЛ, но и до вычета других отчислений, поэтому данную статью нельзя использовать для оценки итоговой суммы к выплате на руки, только для сравнения подоходного налога.

Налоги рассчитываются применительно к сумме годового дохода, обычно уже после вычета пенсионных и других отчислений.

Рассматривать налоги будем для неженатого бездетного человека. Прикинуть эффект наличия супруга для большинства стран можно поделив доход на два (пороги прогрессивного налогообложения удваиваются), но верно это не для всех стран.

Помогать сравнивать НДФЛ нам будет язык программирования Python. Забегая вперёд, могу сказать, что налоговые системы во всех десяти странах можно поделить на три категории:

Напишем для каждой системы функцию вычисления эффективной налоговой ставки.

Единая ставка применяемая ко всему доходу + необлагаемая налогом сумма

Применяется в Португалии.

Необлагаемая налогом сумма зависит от диапазона доходов.

def threshold_taxes_with_allowance(amount: float, thresholds: tp.Dict[float, tp.Tuple[float, float]]):
    prev_threshold = 0.0
    for threshold, ratio in thresholds.items():
        if prev_threshold <= amount < threshold:
            return (max(0.0, amount - ratio[1]) * ratio[0]) / amount
    raise

def portugal_taxes(amount):
    return threshold_taxes_with_allowance(amount, {
        7116.0: (0.145, 0.0),
        10736.0: (0.23, 604.86),
        15216.0: (0.265, 980.63),
        19696.0: (0.285, 1284.99),
        25076.0: (0.35, 2565.21),
        36757.0: (0.37, 3066.79),
        48033.0: (0.435, 5455.84),
        75009.0: (0.45, 6176.56),
        math.inf: (0.48, 8426.0)
    })

Разные ставки для разных частей дохода

Наиболее популярная система среди рассматриваемых стран: Франция, Италия, Ирландия, Испания, Нидерланды, Бельгия, Великобритания, Австрия.

Система выгодна налогоплательщикам, так как итоговая сумма налога является монотонной функцией. Исключена ситуация, когда небольшая премия или повышение зарплаты приводит к выплате меньшей суммы на руки из-за перехода в новый налоговый класс. В то же время усложняется расчёт налогов.

def accumulated_threshold_taxes(amount: float, thresholds: tp.Dict[float, float]):
    total = 0.0
    prev_threshold = 0.0
    for threshold, ratio in thresholds.items():
        total += max(0.0, min(threshold, amount) - prev_threshold) * ratio
        prev_threshold = threshold
    return total / amount
    
def french_taxes(amount: float):
    return accumulated_threshold_taxes(amount, {
        10777.0: 0.0,
        27477.0: 0.11,
        78569.0: 0.3,
        168993.0: 0.41,
        math.inf: 0.45
    })

def italian_taxes(amount):
    return accumulated_threshold_taxes(amount, {
        15000.0: 0.23,
        28000.0: 0.25,
        50000.0: 0.35,
        math.inf: 0.43
    })


def irish_taxes(amount):
    return accumulated_threshold_taxes(amount, {
        40000.0: 0.2,
        math.inf: 0.4
    })


def spanish_taxes(amount):
    return accumulated_threshold_taxes(max(0.0, amount), {
        5550.0: 0.0,
        12450.0: 0.19,
        20200.0: 0.24,
        35200.0: 0.3,
        60000.0: 0.37,
        300000.0: 0.45,
        math.inf: 0.47
    })


def netherlands_taxes(amount):
    return accumulated_threshold_taxes(amount, {
        37149.0: 0.0928,
        73031.0: 0.3693,
        math.inf: 0.4950
    })


def belgium_taxes(amount):
    return accumulated_threshold_taxes(amount, {
        13870.0: 0.25,
        24480.0: 0.4,
        42370.0: 0.45,
        math.inf: 0.5
    })
    
def english_taxes(amount):
    return accumulated_threshold_taxes(amount, {
        k * 1.17: v # Курс английского фунта к евро по данным Google на момент написания статьи
        for k, v in {
            12570.0: 0.0,
            50270.0: 0.2,
            125140.0: 0.4,
            math.inf: 0.45
        }.items()
    })

def austria_taxes(amount):
    return accumulated_threshold_taxes(amount, {
        11693.0: 0.0,
        19134.0: 0.2,
        32075.0: 0.3,
        62080.0: 0.4,
        93120.0: 0.48,
        1000000.0: 0.5,
        math.inf: 0.55
    })

Немецкая система налогообложения

Похожа систему с единой ставкой применяемой ко всему доходу, однако в диапазоне от 10908 до 62809 евро в год ставка определяется с помощью геометрической прогрессии от 14 до 42%. Я так и не смог найти точную формулу в Интернете, но, как оказалось, точность этой формулы никак не будет влиять на ответ на вопрос “где самый низкий НДФЛ”, поэтому заменил геометрическую прогрессию арифметической:

def german_taxes(amount: float):
    total = 0.0
    if amount > 10908.0:
        part = min(amount, 62809.0)
        total += (part - 10908.0) * (((part - 10908) / 62809.0) * (0.42 - 0.14) + 0.14)  # FIXME
    if amount > 62809.0:
        total += (min(amount, 277825.0) - 62809.0) * 0.42
    if amount > 277825.0:
        total += (amount - 277825.0) * 0.45
    return total / amount

Где же самый низкий НДФЛ?

Рассмотрим диапазон зарплат от 1 евро до 250 тысяч евро в год. Это наиболее интересный диапазон, так как с одной стороны большинство смен порогов налогообложения происходит именно там, а ещё весьма маловероятно, что айтишник (как и вообще наёмный наботник, владелец же компании скорее всего будет применять множество техник по оптимизации налогообложения и будет платить не совсем НДФЛ) проживающий в одной из этих стран будет получать более 250 тысяч евро в год.

import matplotlib.pyplot as plt

def make_points(f):
    xs = []
    ys = []
    for amount in range(1, 250000, 1000):
        xs.append(amount)
        ys.append(f(amount))
    return xs, ys


plt.plot(*make_points(french_taxes), label='France')
plt.plot(*make_points(german_taxes), label='Germany')
plt.plot(*make_points(italian_taxes), label='Italy')
plt.plot(*make_points(spanish_taxes), label='Spain')
plt.plot(*make_points(irish_taxes), label='Ireland')
plt.plot(*make_points(netherlands_taxes), label='Netherlands')
plt.plot(*make_points(belgium_taxes), label='Belgium')
plt.plot(*make_points(portugal_taxes), label='Portugal')
plt.plot(*make_points(austria_taxes), label='Austria')
plt.plot(*make_points(english_taxes), label='United Kingdom')
plt.legend()
plt.xlabel("Taxable income (euros per year)")
plt.ylabel("Tax rate")
plt.show()

И нашими победителями выходят Франция и Великобритания. Также могу сказать, что по моим прикидкам (я изучил пороги прогрессивной шкалы, но не строил точные графики) среди всех некарликовых стран Евросоюза Франция имеет самый низкий НДФЛ.

Для полноты обзора рассмотрим диапазон зарплат до 1 миллиона евро в год:

В данном случае вперёд вырывается Ирландия, где примерно от 300 тысяч евро в год эффективная ставка налога становится меньше, чем во Франции и Великобритании.

В общем, если хочется платить меньше налогов и жить в ЕС, то лучше всего жить во Франции, если ваша налогооблагаемый доход ниже 300 тысяч евро в год. Также при доходах до 35 тысяч евро в год ставка НДФЛ во Франции и Великобритании выходит менее 13%, то есть жители этих стран платят НДФЛ ниже, чем платили бы в России (с учётом того, что медианная зарплата во Франции 1940 евро в месяц после налогов - не менее половины французов платит НДФЛ ниже 13%).

Обсудить в Telegram