kloPIT kloPIT v1.24.0
Kalkulator Lokalnego Opodatkowania

Last updated: 2026-05-01 Maintained by community

Trade date vs settlement date: when does PIT-38 income arise?

Current kloPIT behavior: trade date

kloPIT currently targets foreign brokers such as Interactive Brokers and IBI Capital. For imported stock trades, the execution date from the broker statement is the controlling date. Settlement date is not currently used for tax-year assignment, and the IBKR Activity Statement CSV examples in this repository do not include a trade-level settlement-date column.

Dates used today

AreaDate usedWhy
Tax yearTrade/execution dateThe imported foreign-broker statement is normally organized around execution date, and some supported brokers do not provide settlement date. Using execution date keeps the generated PIT-38 aligned with the source document. 16 “Activity Statement ... includes information about your account activity by trade date.”
FIFO matchingTrade/execution datePurchases and sales are ordered by the documented transaction date. This keeps the disposal sequence, buy-leg cost basis and sale proceeds on one convention.
NBP rate lookupPrevious Polish business day before the trade datekloPIT converts both sale proceeds and acquisition costs using the date convention chosen for the transaction, so PLN values do not mix trade-date and settlement-date logic.
Future settlement-date modeNot enabled todayA future setting should switch all affected calculations together: tax year, FIFO dates and NBP lookup dates. For IBKR this would require a settlement-date statement/export or a trade-level settlement field if the user provides one; the current Activity Statement examples only provide Date/Time for Trades. 16 “Activity Statement ... includes information about your account activity by trade date.”

Reasons:

  • Several supported broker statements do not provide a settlement date at all. Synthesizing T+2 by adding business days would be a guess, because actual settlement can vary by venue, instrument and calendar.
  • Foreign brokers are not part of the Polish KDPW settlement chain governed by art. 7 of the Polish trading-instruments act, so the domestic “account entry after KDPW settlement” trigger does not map cleanly to IBKR or IBI. 2 „przeniesienie następuje z chwilą dokonania odpowiedniego zapisu”
  • In Interactive Brokers, sale cash is available immediately after execution for trading purposes, so the economic disposal effectively happens at trade time.
  • The trade-date approach is supported by the PIT-8C brochure published by e-pity, which states that brokerage-account income is shown on the transaction date, not the day funds are credited. 11 „przychód wykazać należy w dniu transakcji”
  • It is consistent with the “amounts due” doctrine: at execution the price is fixed, the contract is binding and the seller has an enforceable claim. 7 „są nim przychody należne, a nie otrzymane”
Consistency note: whichever date convention you choose, apply it consistently to sale proceeds, buy-leg cost basis, FIFO matches and NBP rates. Mixing conventions can produce wrong PLN results and shift gains between tax years.

Future direction

The desirable long-term behavior is a per-session setting that lets the user choose between trade-date and settlement-date semantics, with that choice applied uniformly across all FIFO matches and rate lookups.

This becomes important once kloPIT supports Polish domestic brokers such as XTB, mBank or DM BOS, where:

Statutory framework

Year-end trades: 30/31 December

The boundary between December and January is the clearest place where the two conventions diverge. Under settlement-date treatment, a sale executed in the last trading days of December can belong to the next tax year if the securities-account entry settles in January. 5 „dochód z powyższej transakcji winien Pan rozliczyć ... za rok 2024”

Illustrative T+2 calendar for a year where 27 December is Friday and 1 January is a holiday; the exact dates shift with weekends and market holidays. 4 „rozliczenie transakcji giełdowej następuje w dniu T+2”

Trade dateSettlement dateTax year by settlement dateTax year by trade date
27 Dec (Fri)31 Dec (Tue)Year NYear N
30 Dec (Mon)2 Jan, Year N+1Year N+1Year N
31 Dec (Tue)3 Jan, Year N+1Year N+1Year N

IBKR statement boundary

If an IBKR annual Activity Statement includes a 31 December trade in that year, it helps as a documentary and reconciliation point, but it is not binding Polish tax authority. It supports a good-faith trade-date workflow because IBKR activity statements are trade-date based and sale cash is usable at execution. The repo examples match that: their Trades rows use Date/Time and do not include SettleDate or Settle Date. IBKR documents separate settlement-date statement types, so a future settlement-date mode should import that kind of export instead of guessing T+2 where the source file has no trade-level settlement date. 16 “Activity Statement ... includes information about your account activity by trade date.”

Year-end loss harvesting is sensitive. kloPIT currently keeps foreign-broker trades in the trade year by default; a conservative settlement-date treatment can move 30/31 December sales into the next tax year.

Position A: settlement date (T+2)

Arguments for

Arguments against

Position B: trade date (T)

Arguments for

Arguments against

CIT analogy and its limits

KIS 0111-KDIB1-1.4010.85.2025.1.KM is a CIT ruling about unlisted sp. z o.o. shares sold for voluntary redemption. The contract had dispositive effect, so ownership passed at signing. 13 „przychód powstanie w dacie przeniesienia własności”

Current KIS practice directly supports settlement date for domestic year-end GPW trades. For foreign brokers outside the KDPW chain, settlement date is still the conservative reading, while trade date has stronger documentation and reconciliation arguments. 5 „dochód z powyższej transakcji winien Pan rozliczyć ... za rok 2024”

Decision matrix

ScenarioRecommended dateWhy
IBKR, IBI Capital or another foreign broker with no Polish PIT-8CTrade dateSettlement date is often missing, no Polish PIT-8C needs reconciliation, and this is the current kloPIT default.
Polish domestic broker issuing PIT-8CSettlement dateMatches the broker’s PIT-8C and the cleaner domestic statutory chain. 6 „momentem powstania przychodu ... jest chwila przeniesienia własności”10 „Dlaczego dane w PIT-8C różnią się od platformy”
Unlisted sp. z o.o. share saleContract date, if ownership passes at signingConsistent with the 2025 KIS CIT analogy, subject to the contract terms. 13 „przychód powstanie w dacie przeniesienia własności”
Earn-out or contingent paymentYear when the amount becomes dueConditional amounts are not necessarily taxable on the original contract date. 15 „przychód należny to przychód wymagalny”14 „kwota musi być należna, a nie jedynie warunkowa”
Foreign dividendPay dateDividends follow the cash-basis rule rather than the share-disposal rule.

Bottom line for kloPIT users

Sources

Disclaimer: educational summary, not tax advice. For high-stakes situations request an individual KIS ruling or consult a tax adviser.