Pillinger Works

HELP CENTER Tax Calculator

Hungarian Tax Calculator for Traders

A detailed guide to the calculation categories, tax calculation order, and the calculator’s limitations.

Source versions: Pillinger Trader Pro 3.6.49 • Pillinger Trader UI 1.1.207 • Last update: 24 September 2026

Contents

  • 1. Scope and supported ruleset
  • 2. Tax Year configuration and data sources
  • 3. ETÜ trade calculation
  • 4. Separate crypto treatment
  • 5. Dividends and rewards
  • 6. Funded / prop payouts
  • 7. Tax free accounts
  • 8. Losses and tax equalisation
  • 9. FX conversion and missing rates
  • 10. Result cards and interface
  • 11. Limitations and checklist

1. Scope and supported ruleset

The tax engine uses country-specific rule sets. The calculation starts from the configuration saved for the User and Tax Year. A normal tax result is not produced if there is no current user, no saved Tax Year, or no active ruleset for the configured country.

2. Tax Year configuration and data sources

The calculation reads the Tax Year record, including (among other fields) the start and end dates, tax currency, time zone, FX provider, country code and user-configured tax rates. In the source code, missing or invalid date formats result in an invalid Tax Year period.

InputUse
Tax Year start_date / end_dateDefines the period included in the calculation; the end date is included as a full day.
currencyTarget currency for the calculation; the HU default is HUF.
timezoneDetermines local event dates and the period boundaries; defaults to Europe/Budapest.
fx_providerProvider used to obtain historical exchange rates; if absent, one is selected based on the country.
trading_tax_rateConfigured percentage rate for ETÜ and the funded SZJA component.
crypto_tax_rateSeparate crypto rate; trading_tax_rate is used as a fallback if it is not set.
other_trading_tax_rateRate for the second funded levy / SZOCHO component.

3. ETÜ trade calculation

The ETÜ bucket includes trades closed in the selected Tax Year, provided they do not belong to a funded account and their asset type is not crypto. The source code routes every non-crypto asset type into the ETÜ bucket; it does not restrict this bucket to a single instrument category.

Each trade result is calculated in the selected tax currency, using the configured FX provider and time zone. The engine separately totals gross profits and gross losses; their difference is the net realised result. Positive net income forms the taxable ETÜ base. If the net result is negative, the current-year taxable ETÜ base is zero.

Current-year ETÜ tax is the positive net result multiplied by trading tax rate. A tax credit derived from losses in previous years may reduce this amount.

4. Separate crypto treatment

Closed trades whose asset type is crypto and which do not belong to funded accounts are routed into a separate crypto bucket. The engine calculates the crypto net result independently from ETÜ; the results of the two buckets are not offset against each other.

The taxable crypto base is the positive net crypto result. Current-year crypto tax is calculated using crypto tax rate; if that rate is not configured, the engine falls back to trading tax rate. Crypto losses and their related tax-equalisation capacity are also tracked separately.

Default setup for the Hungarian Tax Calculator is 15% SZJA and 13% SZOCHO in some cases.

5. Dividends and rewards

The calculation processes dividend and reward entries recorded in the income table during the selected Tax Year. Each amount is converted into the tax currency using the exchange rate for its event date. Other income type values are ignored by this calculation path.

Positive dividend income and positive reward income are each assigned a separate tax amount. Under the Hungarian ruleset, the rate for both is the sum of trading tax rate and other trading tax rate.

6. Funded / prop payouts

Trading activity on funded accounts is excluded from both the ETÜ and crypto buckets. Funded taxation is not based on trade P&L; it is based on the sum of capital movements with movement_type=’out’ recorded against funded accounts. Capital IN and account size are not included in this payout total.

Payouts are converted using the exchange rate applicable on the transaction date. Two components are calculated on funded payouts: SZJA using trading_tax_rate, and SZOCHO using other_trading_tax_rate. For older HU Tax Year records, if the new SZOCHO field is zero, the engine may use the previously stored funded_szocho_rate field as a fallback.

The interface displays funded payouts, funded SZJA, funded SZOCHO and total funded tax due on separate metric cards. If historical FX is missing, the affected payout is excluded from the converted total and the number of missing rates is shown as a warning.

7. Tax free accounts

With the appropriate user settings, the HU calculator takes tax-free accounts into account. This function is good for the hungarian TBSZ. The user must independently verify that these accounts genuinely meet NAV requirements.

8. Losses and tax equalisation

The engine tracks ETÜ and crypto losses separately. Tax-equalisation capacity is created from the net loss in the loss year and the tax rate stored for that year. The rate and declared loss associated with a loss year are stored as a snapshot, so later changes to Tax Year settings do not automatically rewrite historical loss capacity.

The amount of tax credit previously used is stored in the used credit field of the historical loss record. The capacity available for the current year is the tax-credit base minus the previously used amount, floored at zero. Current-year tax credit is allocated FIFO, starting with the oldest loss year.

For ETÜ, the engine uses a two-prior-tax-year lookback. For crypto, the rule depends on the tax year: two years for 2025 and earlier, and all configured prior Hungarian Tax Years from 2026 onward. The history table may also show years with positive results, but those years do not add to the loss pool.

The interface allows certain older loss records to be edited when a later positive tax year, as defined by the code, means the loss could already have been used. This editability indicator is UI metadata; by itself it does not change the calculation or FIFO allocation.

9. FX conversion and missing rates

Trades are converted through separate; dividends, rewards and funded payouts are converted using the historical rate for their own event date. The system determines each event’s local date using the time zone configured for the Tax Year.

If a usable conversion is unavailable for a trade, the item is omitted from the totals and appears in the missing FX list. Dividend/reward and funded processing return counts of missing rates. The interface separately displays the number of counted trades and the number of items excluded because of missing FX.

The conversion for hungarian tax calculator comes from MNB source, so normally we don’t see problem with the right FX conversion.

10. Result cards and interface

The Hungarian calculator interface displays separate categories for ETÜ, crypto, dividends and rewards, and funded / prop taxation. The dividends/rewards, crypto and funded categories are shown only when the interface detects data associated with the relevant category.

The ETÜ section displays taxable income, current-year tax, tax credit from prior losses and ETÜ tax due. Its detail table shows gross profits, gross losses, net realised P&L, counted trades and trades excluded because of missing FX.

The crypto section displays similar metrics for the separate crypto bucket. ETÜ and crypto loss histories are shown in separate tables. The summary card shows ETÜ, crypto, dividends/rewards, funded and—if positive—other trading tax, together with the total tax due.

11. Limitations and checklist

The documented engine is not a complete Hungarian personal income tax return system. In the source code, the Hungarian ruleset operates on the categories and configured rates described above.

  • The calculation depends on the Tax Year configuration and the completeness of journal data.
  • Only trades closed within the selected Tax Year are included in that year’s trading result.
  • Funded trading P&L is excluded from the ETÜ/crypto buckets; the funded tax base is the recorded Capital OUT payout.
  • ETÜ and crypto are separate buckets; their losses and tax credits are not offset against each other.
  • Items affected by missing FX are not included in the converted total.
  • The engine does not perform or submit a tax return to the tax authority.
  • The user is responsible for checking tax rates and legal classification; this document is not a substitute for professional tax advice.

Did we help you?

Help Center Categories