FIFO vs Weighted Average — Which Method for PIT-38?

A detailed comparison of the two most popular cost valuation methods. Find out which one is mandatory in Poland and why the weighted average method is not accepted by tax authorities.

Author: Podatek Giełdy Team

Capital gains tax specialists

Verified by a tax advisor

Quick Answer

In Poland, only the FIFO method (First In, First Out) is allowed for calculating the cost of acquiring securities in PIT-38.

The weighted average method is used in accounting, but is not accepted for personal income tax (Art. 30b of the PIT Act).

Comparison at a Glance

CriterionFIFOWeighted Average
Allowed in Poland (PIT-38)
For income tax
Operating principleFirst bought = first soldAverage price of all units
Calculation complexityHigher — requires transaction historyLower — one formula

What Is the FIFO Method?

FIFO (First In, First Out) means that when selling, the shares purchased first are settled first. This is the only method allowed for tax purposes in Poland.

Example — FIFO in Practice

Suppose you bought XYZ shares at different prices:

  • January: 10 shares × 100 PLN = 1,000 PLN
  • March: 10 shares × 120 PLN = 1,200 PLN
  • May: 10 shares × 150 PLN = 1,500 PLN

You sell 15 shares at 160 PLN each. With FIFO, the cost comes from the first purchases:

  • 10 shares from January × 100 PLN = 1,000 PLN
  • 5 shares from March × 120 PLN = 600 PLN
  • Total cost: 1,600 PLN
  • Revenue: 15 × 160 PLN = 2,400 PLN
  • Income: 2,400 − 1,600 = 800 PLN

FIFO advantages: transparent, verifiable by tax authorities, clearly matches purchases to sales.

Read more about FIFO in our comprehensive guide →

What Is the Weighted Average Method?

The weighted average method calculates the cost of acquisition as the average price of all purchased units. It is used in accounting, but not accepted for Polish PIT-38.

Example — Weighted Average

Same purchases as above:

  • January: 10 × 100 PLN = 1,000 PLN
  • March: 10 × 120 PLN = 1,200 PLN
  • May: 10 × 150 PLN = 1,500 PLN
  • Total: 30 shares for 3,700 PLN

Average price: 3,700 ÷ 30 = 123.33 PLN per share

Selling 15 shares at 160 PLN:

  • Cost: 15 × 123.33 PLN = 1,850 PLN
  • Revenue: 15 × 160 PLN = 2,400 PLN
  • Income: 2,400 − 1,850 = 550 PLN

Note: The weighted average method is NOT allowed for PIT-38 in Poland. Using it may lead to errors in your tax return and issues with the tax office.

Why Is FIFO Required in Poland?

Polish tax law (Art. 30b of the PIT Act) mandates the FIFO method for calculating the cost of acquiring financial instruments. This is not optional — the tax office will only accept FIFO-based calculations.

Key Reasons for the FIFO Requirement

  • Clear identification — each sale is assigned a specific purchase with a known price
  • Verifiability — the tax office can check each transaction
  • Consistency with EU regulations — FIFO is the standard in most European markets
  • Prevention of manipulation — the taxpayer cannot freely choose which lots to sell

Automatic FIFO Calculation

Our calculator automatically applies the FIFO method to all your trades. Simply upload your broker export and get your PIT-38 ready.