Forex tax records navigator — from broker statements to a documented return

Seven steps, an interactive document checklist and a conversion ledger help you prepare your Forex records. Start with your tax residence, instrument, reporting period and tax category: there is no worldwide Forex tax rate or universal return. The international workflow organises records after you establish the applicable rules. A separate, fully worked Poland 2025 case covers a Polish tax resident's private CFD trading under Article 30b of the Polish Personal Income Tax Act, including PIT-38, NBP exchange rates and an auxiliary 19% calculation. Business trading, prop-firm payments, actual currency exchange and other instruments require their own classification. This is educational material, not individual tax advice.

Checked: 18 September 2026. The international ledger accepts your chosen reporting period; it does not maintain a database of tax laws. The Polish example specifically concerns tax year 2025, whose ordinary filing deadline was 30 April 2026. It can support a review or correction of that return. Do not transfer its forms, dates or loss years automatically to 2026 or another jurisdiction.

Forex tax records workflow from broker statements through currency conversion to a documented return, with a checklist and records calculator
The essentials in 60 seconds
  • Classify first, calculate second. Residence, contract and tax year determine the rules. International mode totals records only; Poland 2025 mode applies the limited calculation explained below.
  • Use taxable events, not bank withdrawals. Under the Polish case, realisation of CFD rights, usually closure, matters; partial settlements, commissions and swaps need separate review. Other jurisdictions may require year-end valuation.
  • Keep positive amounts and costs separate. Each needs a defensible recognition date and currency-conversion method. The preceding-business-day NBP rule belongs to the Polish case, not every country.
  • Review pre-filled returns and retain submission evidence. A broker's tax statement may cover only part of your activity. In Poland, editing Twój e-PIT without sending does not submit the changes; keep the UPO acknowledgement.

Start: which case is yours?

First confirm your tax residence, the legal nature of the instrument and the character of the income. Citizenship, your broker's address and your account currency do not, by themselves, establish tax residence. A move between countries or possible dual residence may require examination of the relevant treaty. The three routes below describe how to gather data after you establish the correct reporting framework. See tax reporting across jurisdictions and the exceptions in the FAQ.

Your situationWhat to do
The broker issues a tax information statementReconcile it with account records and check which events, currencies and reporting rules it covers. Transfer the verified amounts to the appropriate return fields without adding the same transactions again from this ledger. Ask the issuer to explain or correct errors. In the Polish case this document is PIT-8C; its 2025 amounts belong in row 1 of section C of PIT-38(18).
No statement suitable for your tax jurisdictionFollow all seven steps using full source records and the applicable conversion rules. A foreign broker's report is evidence, not necessarily a ready-to-file domestic tax calculation. Establish foreign-income and supplementary-reporting obligations separately; a broker's foreign address alone does not establish the Polish PIT/ZG requirement.
A mixture of bothReconcile all accounts, distinguish statement-covered amounts from amounts you calculate yourself, and remove duplicates. Combine only categories that your tax rules permit you to combine. In Poland, PIT-8C figures and other Article 30b figures go into their respective rows of the same PIT-38; foreign-income classification still requires a separate check.
From reporting context to a complete returnConfirm residence, category and period. Verify a suitable tax statement or reconstruct records. Reconcile both routes, submit the required return and save proof.Confirm your reporting contextVerify the tax statementReconstruct the required recordsReconcile, file, pay and retain evidenceResidence · instrument · category · periodCheck coverage and correct any errorsClassify events and document currency ratesSuitable statement availableNo suitable statementNo duplicate transactions or incompatible categories

Seven steps from statements to filing

  1. Confirm the case and reporting period. Write down your residence, instrument, private or business status, tax category, reporting currency and source of the rules for that year. A broker's statement determines how you collect some figures, not whether a tax obligation exists. Do not assume every tax year ends on 31 December: the UK 2025/26 Self Assessment year runs from 6 April 2025 to 5 April 2026, as shown in HMRC's guidance. If different categories require different treatment, use separate datasets.
  2. Download full reports from every account. In MT4, look for Account History, select the period and use “Save as Detailed Report”; in MT5, use History and a report for the relevant period. Menu names vary by platform version, so check your broker's documentation. You need closures, partial settlements, commissions, swaps and other ledger postings, with currencies, timestamps and transaction identifiers. Record the server time zone and how you determine the relevant local tax date. Review transactions around midnight and the tax-year boundary particularly carefully. A time zone such as Europe/Warsaw uses CET or CEST depending on the date. Include earlier documents for costs associated with positions opened before the reporting period.
  3. Identify the events recognised in this period. Under the Polish private-CFD case, income from derivative rights arises on realisation, usually closure or partial settlement, rather than withdrawal to your bank. An open position's unrealised valuation is not its realised closing result. That is not a universal rule: the US generally applies year-end mark-to-market treatment to qualifying Section 1256 contracts, subject to the definitions and exceptions in IRS Publication 550. Do not assume every retail FX contract qualifies. Review commissions and swaps separately: the date a cost is incurred for currency conversion and the year in which it becomes deductible can differ. The contract and actual cash-settlement terms matter.
  4. Convert positive amounts and costs under the applicable rules. Record the source currency, reporting currency, relevant dates, source and exchange rate per one unit of the source currency. Divide a quote per 100 units by 100 first. If an amount is already in the reporting currency, enter a rate of 1. Do not substitute today's rate when the required historical rate is missing. The ledger does not fetch rates. Poland uses the preceding-business-day NBP rule described below. For comparison, HMRC's guidance for foreign-currency assets under capital gains rules converts acquisition and disposal amounts separately at their relevant dates and expects a reasonable, consistent rate source; it does not simply convert a foreign-currency net gain at disposal. That example does not determine the treatment of every Forex contract. Keep a copy of your jurisdiction's relevant guidance and the method actually used.
  5. Aggregate compatible income and cost categories separately. Reconcile the signed amounts without using the contract's notional value as a realised CFD result. In the Polish case, positive cash-settled CFD results enter income and negative settled results enter costs. Review separately charged commissions and positive or negative swaps. A fee already shown as negative must not be subtracted a second time, which would turn it into a gain. Nor may a fee included in a net figure be deducted again. A net balance does not replace separate return fields. In the Polish example, +100 USD of realised result and a separately reported −5 USD fee, both converted at 4 PLN/USD, produce PLN 400 income and PLN 20 costs, not PLN 380 income. Group entries only when category and applicable conversion treatment match, retaining the underlying transactions.
  6. Prepare the return and any required schedules. Use the right form and instructions for the jurisdiction and year. Establish separately whether foreign income, foreign tax paid, financial accounts or another category has additional reporting requirements. Determine whether a credit or deduction is allowed and how it is limited. The general ledger does not calculate foreign tax credits, loss relief, tax bands or tax payable. The Polish case below gives the specific PIT-38(18) fields and PIT/ZG conditions; the mere existence of a foreign broker does not settle those questions.
  7. Review, submit, pay and archive. Check any pre-filled proposal against your complete records. Confirm that the return was actually submitted, save its acknowledgement and retain evidence of payment. Filing and payment deadlines, automatic acceptance and correction procedures depend on the jurisdiction. A saved draft is not proof of submission. If a deadline has passed, first determine whether a return exists and whether you need a late return or a correction, then establish any outstanding tax and interest. The Polish example explains both the ordinary 30 April 2026 deadline and the limited payment procedure for automatically accepted returns.

Keep the classification and conversion method in your archive, not just the final figure. A country's use of a familiar word such as “Forex” does not settle the tax category. For example, the Australian Taxation Office's CFD ruling considers ordinary-income treatment for business or commercial profit-making activity and the associated conditions for deductions. It is not a rule that every private trader worldwide reports a capital gain. When the facts do not fit the method you have established, separate the event for review rather than forcing it into the ledger.

Interactive document checklist

The checklist and ledger use this browser's local storage when available. No account is required. If storage is blocked, a message explains that you should export or print before closing the page. The tool's script does not transmit your entries or call an exchange-rate API. The wider website may use advertising and analytics services; do not enter tax identification numbers, login credentials or account numbers here. “Print checklist” prepares an archive copy. The counter measures checked boxes, not the correctness or completeness of a tax return.

Toolkit L · Forex tax records document checklist · checked 18 September 2026 · educational material · forexmechanics.com/tax-navigator/
Documents for your reporting periodCheck each item as you assemble it
✓Document or informationWhere to find it
Reports of closures, partial realisations, commissions, swaps and other relevant postings from every account; dates, currencies and time zones. Include year-end valuations if your rules require them.Trading platform and broker, step 2
Any tax information statements issued by your brokers, checked for scope and accuracy. For Poland 2025: PIT-8C, whose taxpayer delivery deadline was 2 March 2026.Client portal or broker correspondence
Separate positive amounts and costs, recognition and event dates, source currency and amount, rate date and source, rate per unit and reporting-currency value.The ledger below or a verified spreadsheet
Copies of the rate records used for each relevant income and cost date, with the conversion method. For Poland: the appropriate NBP average-rate tables.Applicable official or otherwise permitted rate source
Prior returns and a record of each eligible loss, amounts already used, method, remaining balance and expiry. For Poland 2025: examine unused losses from 2020–2024.Your archive or tax authority portal
Verified payment reference and destination, kept securely outside this tool. In Poland, use your own tax micro-account generated from PESEL or NIP through podatki.gov.pl.Official tax authority service
Contracts and records establishing the nature and country of income, any supplementary return and foreign tax actually paid. For Poland, establish PIT/ZG separately.Broker agreement, transaction records and tax evidence
Bank and broker transfer confirmations for completeness checks. Transfers are supporting reconciliation evidence, not a substitute for identifying taxable events.Bank and broker
A list of bonuses, cashback, interest, residence changes, business accounts, crypto, prop-firm payments and unclear postings requiring separate classification.Your review notes for an adviser or official enquiry

After filing, add the submitted return, its acknowledgement and payment confirmation. Retain loss documentation for later years in which relief is claimed, following the applicable retention rules.

0/9 checked
A trader’s tax records on a desk: broker statements, a completed document checklist and archived exchange-rate evidence beside a laptop
A trader’s tax records on a desk: broker statements, a completed document checklist and archived exchange-rate evidence beside a laptop

Conversion ledger and Polish calculation

Enter separate positive amounts (+) and costs (−) already classified for your selected period and category. These may include settled CFD results, separately charged commissions or swaps, depending on the applicable rules. Do not paste a whole account's or day's net result in place of separate components. The international mode is a supporting records ledger: it does not determine taxable income, deductibility or tax payable. Keep incompatible tax categories in separate datasets and export before clearing the ledger for another one.

Set the jurisdiction, period, category, reporting currency and conversion/recognition method first. In each row, “Date recognised in this period” identifies when the amount belongs in the selected period. “Event / cost-incurrence date” records the underlying event used for the conversion analysis. These can differ for a deferred cost. In the Poland 2025 mode, positive income must have an event date in 2025; an earlier cost date is permitted only after you confirm that the cost is deductible in 2025. Preserve evidence of that conclusion. For a foreign-currency row, record the rate date and source; for an amount already in the reporting currency, use rate 1 and leave those rate-reference fields blank. The tool validates format and completeness, not the tax classification or accuracy of the chosen rate.

Products are calculated exactly from the entered decimal numbers; positive and negative products are totalled separately before the totals are rounded to your chosen number of decimal places. Individual row displays are rounded too, so adding their displayed values can differ from rounding the full-precision total. The selected precision is a records setting, not a declaration of the legally required rounding method. CSV preserves the original inputs and exact products. In Poland 2025 mode, category totals use two decimal places; the tax base and final 19% result are rounded to full PLN, with fractions below 0.50 rounded down and fractions of 0.50 or more rounded up.

The Polish calculation applies only to the entered set and the manually established loss allowance. It excludes the foreign tax credit, solidarity levy, interest and other parts of PIT-38. If you enter only one of several accounts, its result is not the tax due on your complete return. International mode never applies the Polish rate or Polish loss deduction.

Storage availability will be checked when JavaScript starts.

Toolkit L · Forex tax records ledger · version 1.0 · checked 18 September 2026 · manual classification and exchange rates · forexmechanics.com/tax-navigator/
Separate amounts and conversion recordsPositive = classified positive amount; negative = classified cost

International mode totals supporting records only. It does not calculate tax or verify jurisdiction-specific rules.

Event and source detailsSource amount (+/−)Rate per 1 source unitReporting valueAction
Positive amounts — total—
Costs — total entered—
Records balance—

Complete the settings and at least one row. Missing data does not mean zero tax.

Use a decimal point and either no thousands separator or spaces: 1000.50 or 1 000.50. Commas are rejected to avoid confusing a decimal separator with a thousands separator. Both “-” and “−” are accepted; omit currency symbols. Amounts and rates support up to eight decimal places; the Polish deduction supports two. Technical limits: 2,000 rows, one trillion per amount or category total in the reporting currency, and a rate of one million. An error in any non-empty row blocks all totals and exports. Completely empty rows are ignored.

CSV uses UTF-8, semicolons, decimal points and YYYY-MM-DD dates. Every record includes the mode, jurisdiction, period, category, reporting currency, precision and method. It includes exact products and a summary; Polish deduction and tax fields are empty in international mode. Import dates and descriptive fields as text in your spreadsheet. Potential formula-like text is prefixed with an apostrophe and marked in “text_protected”. The tool does not import CSV. Changing settings does not convert existing entries.

Costs: what to classify and check

The entries below preserve the distinctions needed for the Polish example. For another jurisdiction, use them as questions to investigate, not as a universal list of deductible expenses. The sign of a broker posting alone does not establish its tax treatment.

ItemTreatment to check — Poland's Article 30b case
Broker transaction commissionsA documented commission connected with a transaction may qualify as a cost. Establish the incurrence date, conversion rate and deduction year. If the report gives a net figure, separate its components in the records without deducting the fee twice.
Negative swap settlementsConsider a negative CFD-related settlement on the cost side and a positive one on the income side. Determine whether it is a separate cash settlement or part of realising the instrument. Do not assume one timing rule fits every contract.
Losses on closed positionsEligible negative settled results reduce income in the same return. An excess of costs over income may form a loss carried to later years under the rules in loss relief; another country's offset and carryforward rules may differ.
Courses, training, books, hardware, subscriptions and VPSDo not automatically deduct these in a private PIT-38 merely because they support trading. Each expense needs a legal basis, documented connection with income and a check of restrictions. Training and personal equipment do not become transaction costs simply because you bought them. Resolve uncertain expenses separately; see tax myths.
CryptocurrencyPoland has a separate regime and separate PIT-38 fields. Do not combine crypto results with private Forex/CFD results or offset their losses against each other. The fact that they appear on the same form does not create one tax category.
Relevant aggregate income above PLN 1 millionCheck the Polish solidarity levy: 4% of the excess of its defined base above PLN 1 million. The base is not all money received into a bank account. Article 30b income is within the statutory list, subject to the specified reductions. DSF-1 requires a separate calculation; this tool does not perform it. This threshold is not an international rule.

Poland 2025: the PIT-38 procedure

This section is jurisdiction-specific. It concerns a Polish tax resident's private cash-settled CFD trading taxable under Article 30b for 2025. It is the Polish worked case within the international navigator, not a filing route for residents of other countries. Residence is not established solely by citizenship or account currency; examine the applicable treaty where necessary. The statutory basis, annual form instructions and official guidance are listed in sources.

Reports, realisation and separate cost dates

A broker operating in Poland may issue PIT-8C, whereas a foreign broker commonly does not. Verify what your actual broker provides. For 2025, the deadline for delivering PIT-8C to the taxpayer was 2 March 2026: the end of February fell on a Saturday. Reconcile the information with the source report, clarify discrepancies with the issuer, and never include the same history twice by adding both PIT-8C figures and reconstructed ledger figures.

Income from CFD rights arises when those rights are realised, usually on closure or partial settlement. Your own deposits and withdrawals do not replace this event record. An unrealised valuation of a position still open on 31 December is not the result of closing that position. Commissions and swaps require separate examination. The cost-incurrence date used for currency conversion and the year of deduction are different questions. Article 23(1)(38a) governs the deferred recognition of expenditure associated with acquiring a derivative; do not assume every daily charge or payment has identical treatment. Establish from the contract whether a posting represents an independent cash settlement, and retain evidence for expenses incurred before the year in which they become deductible.

The NBP conversion rule

Article 11a(1)–(2) requires the average NBP exchange rate from the last business day preceding receipt of income or incurrence of the cost, respectively. Convert the components separately. For USD or EUR, use the NBP Table A archive. A Monday event normally refers back to Friday, but a Friday public holiday may require an earlier business day. Record the table's date and number as well as the rate per one unit. If the published quote is per 100 units, divide by 100 first. For a currency outside Table A, establish the appropriate average-rate table and date.

An amount already denominated in PLN needs no second conversion: enter PLN and rate 1, leaving table fields blank. A missing rate or unavailable archive stops the calculation until the correct value is established; today's quote is not a replacement. The tool checks that a foreign-currency rate date precedes the event and is not a weekend. It does not check holidays, identify the last eligible business day or verify the quoted NBP value. Those checks remain part of your records preparation.

Return fields and foreign income

In PIT-38(18) for 2025, PIT-8C amounts belong in section C, row 1, fields 20 and 21. Income and costs not reported in PIT-8C belong in row 2, fields 22 and 23. Eligible deductions for prior losses from 2020–2024 go in field 30. The ledger's totals are supporting figures: reconcile all accounts and the correct categories before using them in the return. Loss relief is explained in the separate section below.

A foreign broker's address does not automatically require PIT/ZG. The Ministry of Finance brochure relates the schedule to foreign income taxable in Poland under the foreign-tax-credit method in Article 30b(5a)–(5b). Prepare a separate schedule for each relevant country in which income was obtained. The absence of foreign tax paid does not, by itself, settle whether the schedule is required. Establish the income's nature, the appropriate country and the applicable treaty; if the contract is unclear, consult Poland's National Tax Information service (KIS) or an adviser. A credit for qualifying foreign tax actually paid is subject to a proportional limit, which this calculator does not compute.

Twój e-PIT, filing and payment

The filing window for 2025 was 15 February–30 April 2026. Review the prepared PIT-38 against all your accounts. A return prepared using PIT-8C information may be automatically accepted if it has not been rejected or replaced by a return you submit. Other income or costs require you to add the missing figures and send the return. Merely saving edits is not submission. If no PIT-38 has been prepared for you, do not assume that one will create itself.

The ordinary payment deadline was 30 April 2026, using your own Polish tax micro-account. A specific procedure applies to tax shown by an automatically accepted return: the tax office sends information about the amount, and payment is due within seven days of receipt. That is not a general deferral for tax on omitted transactions. If you review 2025 after the deadline, determine whether a late return or a correction is needed, then establish any outstanding tax and interest. Keep the UPO, the official submission acknowledgement, and confirmation of payment. See the Ministry's guidance on automatic acceptance and unsent edits.

Polish 2025 return: four key dates31 December 2025: year end. 15 February 2026: Twój e-PIT filing window opens. 2 March 2026: taxpayer delivery deadline for PIT-8C. 30 April 2026: ordinary PIT-38 filing and payment deadline.Tax year endsTwój e-PIT opensPIT-8C delivery deadlineFile and payIdentify 2025 eventsCheck pre-filled dataCheck the client portalOrdinary deadline31 December 202515 February 20262 March 202630 April 2026Additional income or costs? Complete and send the return; automatic acceptance will not add missing data.
Illustrative scenario: incomplete e-PIT data. A taxpayer has a Polish PIT-8C and a separate account with a foreign broker. They postpone calculating the missing transactions, then assume the tax office's proposal includes everything. A return based only on PIT-8C omits part of their income and costs. They need to establish the filing status, correct or submit the return, and check for outstanding tax and interest. Opening e-PIT, or even editing without sending, does not finish the task. This is a model scenario showing the consequences of missing data, not a documented client's story.

Worked example: a USD account and three transactions

Illustrative assumptions — Poland 2025 only: three cash-settled CFD realisations, with no additional commissions or swaps included in these amounts, no other accounts, no prior loss deduction and no foreign tax credit. The figures are the realised results of the instruments, not balances after separately charged fees; positive and negative components remain separate. The calendar dates are real, but the rates 3.9000 / 3.8500 / 3.8200 are invented for the arithmetic, not actual NBP quotations.

ClosureSettled CFD resultIllustrative NBP rate from preceding business dayPLN
Tuesday, 11 March 2025+420.00 USD3.9000 (Monday, 10 March)+1,638.00
Monday, 16 June 2025−180.00 USD3.8500 (Friday, 13 June)−693.00
Thursday, 6 November 2025+95.50 USD3.8200 (Wednesday, 5 November)+364.81

Income: 1,638.00 + 364.81 = PLN 2,002.81. Costs: PLN 693.00. Net income: PLN 1,309.81 → rounded tax base PLN 1,310 → 19% = PLN 248.90 → PLN 249 payable to the tax micro-account under these assumptions. Notice the date mechanics: Monday's closure uses Friday's rate, and each event has its own rate. The calculator multiplies by the rate you select and enter; it does not select Friday or verify the quote against NBP. Never use these fictional rates in an actual return. Retrieve the correct values and table numbers from the archive. A separately charged commission needs an additional cost entry with its own date and rate, rather than a reduced realisation result.

Illustrative scenario: calculating from bank transfers. A taxpayer subtracts deposits from withdrawals and calls the difference income. This misses profits retained with the broker, confuses transfer timing with realisation of the instrument, and may use a bank's conversion rate instead of the required NBP rate. Rebuilding the correct ledger means returning to the underlying events and costs, not fitting a result to the bank balance. Keep transfers for completeness checks; establish the tax result from the documents supporting the relevant taxable events.
A documented USD-to-PLN conversion ledger for the Polish example, with separate income and cost amounts, event dates, NBP rate references and reporting-currency values
A documented USD-to-PLN conversion ledger for the Polish example, with separate income and cost amounts, event dates, NBP rate references and reporting-currency values

Loss relief and carryforwards

For your jurisdiction, establish whether an offset is permitted, which category it belongs to, whether a claim or election is needed, how much can be used, and when unused relief expires. Do not combine employment income, business results, dividends, crypto and derivative results merely because one broker or one return reports them. The international ledger calculates a records balance only: a negative balance does not establish a legally deductible or carryforward loss.

The following rules belong specifically to the Polish private-CFD case for 2025. They are retained here so the worked example includes the complete loss-records procedure, rather than just a 19% multiplication.

  • Within 2025: combine the appropriate income and costs covered by Article 30b(1), such as private CFDs and disposals of shares or ETFs. One form does not create a single basket for everything: dividends, interest and cryptocurrency have separate rules. Income from redemption or repurchase of capital-fund units entered this reporting framework from 2024; do not apply that change retrospectively to earlier years.
  • Across years: for PIT-38 for 2025, examine unused losses from 2020–2024 and the appropriate source. For fund losses covered by the change from 2024, the relevant prior year here is 2024. Each loss has its own five successive years for deduction and its own record of amounts already used.
  • Two methods for a given loss: deduct up to 50% of the original amount in each year of the window, or deduct up to PLN 5,000,000 once in a chosen year, with the remainder used in the other years of the window subject to a 50%-of-original-loss annual limit. The unused loss balance and current income also limit relief. The PLN 5 million figure limits the deduction in the chosen year; it is not a condition that the entire original loss must be below PLN 5 million.
  • Separate limit example: a 2022 loss was PLN 40,000, PLN 10,000 has already been deducted, and 2025 income is PLN 12,000. Under the 50% method, the annual ceiling is PLN 20,000, but no more than PLN 12,000 can be used in 2025. PLN 18,000 remains within the window ending in 2027. The calculator does not know this history: enter only the eligible amount you have established.
  • Failure to file does not mathematically erase a loss. A loss arises from costs exceeding income and needs to be reported in PIT-38 for the appropriate year, including through a late return or correction where available, subject to time limits and procedural restrictions. Delay may have evidential or fiscal-penal consequences; it must not be described as an automatic, irreversible loss of every right to relief. See loss carryforwards for the wider records context, checking its jurisdiction and year before applying a rule.
  • No offset against employment, business income, dividends or crypto. A private-CFD loss does not reduce those separate Polish tax calculations. Keeping the items on one account or reporting them in the same return does not change the category rules.

For every loss year, retain the original amount, deductions claimed in earlier returns, unused balance, chosen method and end of the five-year window. The relevant Polish sources are Article 9(2)–(3) and (6) of the Personal Income Tax Act and the notes to section D in the 2025 Ministry of Finance brochure. Do not enter an estimate of a loss you have not yet reconciled as an available deduction.

FAQ

My account is in USD. Must I convert every transaction separately?

Apply the conversion rules for your jurisdiction, category and relevant dates. Do not assume that converting a net annual balance is permitted. In the Polish example, Article 11a gives income and costs their respective dates; a straightforward realised CFD result uses the rate preceding realisation, while a separate commission or swap may require a different event date. Keep the underlying operations. A daily total is an arithmetic shortcut only where category and rate match; it must not net positive amounts against costs. The tool requires manual rate selection and classification. For hundreds of events, use a verified spreadsheet or tax-records script. P5 in the AI workshop analyses trading-journal metrics in R; it is not a ready-made tax return or NBP conversion tool. Performance measured in R cannot simply be copied into a tax figure in PLN or another reporting currency.

What about positions still open at the end of the tax year?

The answer depends on the instrument and regime. In the Polish private-CFD case, the unrealised gain or loss on an open position is not its realised closing result. A position closed in January belongs to the following year in that respect; review partial realisations separately. A difference between equity and the tax result may therefore be correct. That does not mean every posting connected with an open position disappears: commissions and swaps require analysis of the cost date, deduction rules and any independent cash settlement under the contract. Article 23(1)(38a) defers expenditure connected with acquiring derivatives until the specified events; do not automatically move every swap to the closing year without checking documents. In another jurisdiction, year-end valuation may itself be required, as for qualifying US Section 1256 contracts. Establish the applicable rule before excluding open positions.

Should I use a pre-filled tax return or complete it myself?

Use the official filing route available to you, but verify its coverage against your own records. In Poland, you can complete and send the return in Twój e-PIT: check PIT-8C, add other income and costs and PIT/ZG if required, then download the UPO. Automatic acceptance applies to a return prepared by the tax office under specified conditions; it does not add missing foreign-account transactions. If no PIT-38 is prepared for you, do not assume one will appear automatically. Editing without sending does not submit new information. For 2025, the ordinary deadline was 30 April 2026. The Polish procedure explains payment after automatic acceptance and checks needed after the deadline. Other countries' pre-filled systems have their own rules; a saved draft or a browser calculation is never your evidence of filing.

When is this navigator no longer enough?

The tool does not classify business trading, prop-firm payments for services or collaboration, actual currency exchange, crypto, bonuses, cashback, balance interest or a change of tax residence. A prop-firm payment is not automatically capital income from your own CFD just because someone calls it “profit”. Nor does the navigator resolve an individual treaty case, the country in which income arises, unclear swap treatment, foreign tax credits, the Polish solidarity levy or other jurisdiction-specific taxes. Gather the contract and source records and take the concrete facts to the relevant authority or a qualified adviser. In Poland this may include KIS or an application for an individual interpretation where appropriate. Someone else's interpretation does not replace analysis of your facts. International mode is for organising already classified records, not for extending the Polish tax rules to those cases.

Scope: international records preparation with manually established rules, plus a Polish private-CFD example for tax year 2025. Checked 18 September 2026. This supports documentation and arithmetic; it is not a complete tax-filing service. For a different year, confirm the applicable law, form and deadlines. Source documents and the correct classification of your actual transactions take precedence over an auxiliary calculator result.

Official sources

  1. HMRC: Self Assessment deadlines and tax-year dates — the UK 2025/26 period is 6 April 2025 to 5 April 2026. This illustrates why a calendar year cannot be assumed worldwide.
  2. HMRC Capital Gains Manual: CG78310, foreign-currency consideration — separate sterling conversion of acquisition and disposal amounts in the cases covered by that guidance, with a reasonable and consistent rate source.
  3. Internal Revenue Service: Publication 550, Investment Income and Expenses, 2025 — qualifying Section 1256 contracts and year-end mark-to-market treatment. Not every Forex product falls within that section.
  4. Australian Taxation Office: Taxation Ruling TR 2005/15, financial contracts for differences — the relevance of business and commercial profit-making activity to income and deductions. It is a classification example, not the logic of the international calculator.
  5. Polish Personal Income Tax Act, consolidated text, Journal of Laws 2025 item 163, with amendments applicable to 2025; also the 2026 consolidated text, item 592. Relevant provisions: Article 3 (residence), 9(2)–(3) and (6) (losses), 11a (currency conversion), 17(1)(10) and (1b) (realisation of rights), 22 and 23(1)(38a) (costs), 30b (19% and foreign tax), 30h (solidarity levy), 42g (PIT-8C) and 45 (returns). Polish-language source.
  6. Polish Ministry of Finance: 2025 PIT-38 brochure (PDF, Polish) — PIT-38(18), sections C, D and L, loss years, rounding, PIT/ZG and submission evidence; official PIT-38 form.
  7. National Bank of Poland: Table A archive and other tables and exchange-rate information. The worked-example rates are fictional, not quotations from this archive.
  8. Polish Tax Ordinance, consolidated text, Journal of Laws 2026 item 622 — Article 12(5) (Saturdays and holidays), 63(1) (rounding), and 81–81b (corrections and restrictions). Polish-language source.
  9. Polish Ministry of Finance: filing for 2025; payment following automatic acceptance; edits not accepted and sent. Polish-language guidance for the Polish case.

Use the international ledger after establishing the classification

This new case uses the international records mode, not the Poland 2025 tax calculation. Its amounts, rates and period are fictional. The ledger organises already classified entries; no tax category, deduction or return is determined by the arithmetic.

State what the conversion rate means

Assume an eligible positive item of USD 250 and a separately eligible cost of USD 80 have already been assigned to the same reporting period and compatible category under the applicable rules. The reporting currency is EUR. For arithmetic only, the properly selected exercise rates are 0.92 EUR per USD for the positive item and 0.91 EUR per USD for the cost. They are invented, not actual quotations. Recognition dates, cost eligibility and legally required rate selection remain supplied prerequisites.

Convert the separate entries before reconciling their sum

The positive product is 250×0.92=EUR 230.00. The cost product is 80×0.91=EUR 72.80. The signed records total is 230.00−72.80=EUR 157.20. It is not automatically taxable income or tax due. Converting the USD net 170 only at 0.92 would give EUR 156.40, a different computation. The EUR 0.80 gap comes from applying the wrong rate to the USD 80 cost. No additional cash fee is being inferred from that mathematical difference.

Keep settings and evidence with the export

Retain the selected mode, jurisdiction, period, category, reporting currency, recognition method, event dates, rate dates and sources. The exercise supplies compatible classifications; a real ledger needs evidence for them. Changing the currency label does not convert existing values. An amount already expressed in the reporting currency needs the tool’s documented rate-one treatment, not a second conversion. Review the original instructions above before entering data; these static exercises do not import, save or transmit any record.

Distinguish a reproducible ledger from a completed return

Check each product and the total against the exported inputs, preserving the chosen precision. The calculation here is exact at two decimal places, so display rounding does not change it. That does not establish the legally required rounding rule in another case. The international mode does not apply a universal 19% rate or import the Polish loss allowance. Determine filing obligations, rates and adjustments independently for the actual facts. A checked ledger is supporting evidence, not proof that a tax return is complete or paid.

Three exercises with explanations

1. What is the positive item in the reporting currency?

USD 250 at 0.92 EUR per USD.

  1. A. USD 230
  2. B. EUR 230
  3. C. EUR 250
  4. D. EUR 272
Show the answer and explanation

B. Carry the rate units into the product.

  • A. The product’s reporting currency is EUR.
  • B. 250×0.92 gives 230 EUR.
  • C. That omits the supplied conversion.
  • D. That does not follow the stated multiplication.

2. What is the signed records total?

Positive EUR 230.00; eligible cost EUR 72.80 under the supplied assumptions.

  1. A. EUR 156.40
  2. B. EUR 302.80
  3. C. EUR 170.00
  4. D. EUR 157.20
Show the answer and explanation

D. It is a records total, not automatically a tax base or payable amount.

  • A. That is the net-first shortcut described in the case.
  • B. That adds the cost as income.
  • C. That is the USD difference before item-level conversion.
  • D. 230.00−72.80 gives 157.20 EUR.

3. Does the international total trigger the Polish 19% calculation?

The selected mode is international, with EUR reporting and already established classifications.

  1. A. No; actual tax rules and filing adjustments remain separate
  2. B. Yes, every Forex entry uses that rate
  3. C. Yes, changing a label applies Polish law
  4. D. Yes, the export proves tax payment
Show the answer and explanation

A. Use the jurisdiction-specific worked case only when its stated facts and period apply.

  • A. The international records mode does not supply that jurisdiction-specific calculation.
  • B. No universal Forex tax rate is established.
  • C. A setting does not establish legal scope.
  • D. A ledger export is not a payment confirmation.

Return to the tool

Jarosław Wasiński

Editor-in-chief, ForexMechanics.com • Macro & FX analyst

Independent analyst and practitioner with over 20 years of experience in financial markets. Actively involved in Forex since 2007, with a focus on fundamental analysis, OTC market structure, and disciplined capital risk management.

  • Creator and editor-in-chief of MyBank.pl, providing reliable financial education since 2004.
  • Author of hundreds of in-depth market commentaries, structural analyses, and educational materials for traders and investors.
  • Advocate for market transparency, promoting education grounded in hard data and institutional reports (BIS, ESMA, CFTC).

All content is educational and informational only – it does not constitute investment advice or a recommendation. Remember: leveraged trading (Forex/CFD) carries a high risk of rapid capital loss.