Analysis··6 min read

18% Plus 5%: How Investment Profit Is Actually Calculated in Ukraine

The most common tax mistake a Ukrainian investor makes is not a wrong rate. It is taxing the wrong number.

Investment profit under Article 170.2 of the Tax Code is an annual, netted figure. Not per trade, not per position, not per broker. You take every investment operation closed during the calendar year, subtract documented acquisition costs from proceeds, add the results together — including the negative ones — and what remains is the base.

What that changes

TradeResult
Sold position A+$4,000
Sold position B−$1,500
Sold position C+$500
Annual investment profit$3,000
PIT 18%$540
Military levy 5%$150
Tax due$690

An investor who declares the $4,000 winner and quietly forgets the $1,500 loser overpays by $345. That is not caution — it is a donation, and it also breaks the loss carry-forward for later years.

Losses carry forward

A negative annual result does not produce a refund. It reduces the taxable investment profit of subsequent years, without a time limit written into the general rule. The mechanism only works if the loss was actually declared in the year it occurred.

This is the argument for filing a declaration in a bad year even when nothing is owed. The loss you do not record is a deduction you cannot use in the year you finally make money.

The acquisition cost has to be documented

The base is proceeds minus documented cost. A broker report showing the purchase, the date and the price is the document. Without it, the tax authority has grounds to treat the entire sale amount as profit — which on a position bought at 90 and sold at 100 turns a 10% gain into a tax on the full 100.

Keep the annual statements. Keep the trade confirmations. A broker that closes your account, or a platform that exits the market, takes its reporting portal with it.

The currency question

For a foreign brokerage account, each operation is converted into hryvnia at the National Bank rate on the date of the operation — the buy at the buy-date rate, the sale at the sale-date rate. The consequence is that hryvnia devaluation between purchase and sale produces taxable profit even on a position that was flat in dollars.

That is not a loophole or an error. It is what taxing in the national currency means, and it is why the hryvnia result and the dollar result on the same trade can point in different directions.

How I read it

The 23% headline is the least interesting part of this. What decides the actual bill is the discipline of the record: every closed position, its documented cost, the rate on the right date, and the losses declared rather than hidden.

An investor with clean records pays tax on the real result. An investor without them pays tax on whatever can be reconstructed — and reconstruction never runs in the taxpayer's favour.

Frequently asked questions

Is investment profit taxed per trade or per year?
Per year. The taxable base is the total result of all investment operations for the calendar year — gains netted against losses. A profitable trade in March and a losing trade in October offset each other; you are taxed on the balance.
What happens to a losing year?
A negative annual result is not refunded, but it carries forward and reduces the taxable investment profit of future years. This makes the loss worth recording accurately in the declaration even when no tax is due.
Is the acquisition cost deductible?
Yes. Investment profit is the difference between the sale proceeds and the documented acquisition cost of the same asset. Without documents proving the purchase price, the whole sale amount risks being treated as the base.
Does OVDP income enter the calculation?
No. Income from Ukrainian government bonds is exempt and stays outside the investment profit computation entirely, along with the military levy.

Ruslan Averin is an independent investor and market analyst, author of averin.com, publishing market research since 2014.

A
Ruslan AverinInvestor & Market Analyst

Writes on capital allocation, risk, and market structure.