How Forex Trade P&L Is Reconciled: Fills, Costs, and Currency Conversion
Calculate hypothetical forex profit and loss from actual fills, then reconcile commissions, financing, partial exits, and account-currency conversion without double-counting spread.
In this guideStart with the actual opening and closing fills
Short summary
A forex trade’s gross price P&L starts with its direction, units, and actual opening and closing fills. A statement result can then reflect separate commissions, financing, conversion rules, and rounding; read each field’s definition before adding costs or comparing it with a chart.
Start with the actual opening and closing fills
A currency pair is quoted as units of the second, or quote, currency for one unit of the first, or base, currency. For a long position, simplified price P&L in the quote currency is (exit fill − entry fill) × base-currency units. For a short position it is (entry fill − exit fill) × base-currency units. The sign changes with direction; the multiplication produces quote currency, not automatically the account’s home currency.
Suppose a long EUR/USD position buys 10,000 euros at an actual ask fill of 1.1002 and later sells at an actual bid fill of 1.1022. The simplified price P&L is (1.1022 − 1.1002) × 10,000 = $20. The price difference is 20 pips if a pip is 0.0001, and this position’s price change contributes $1 per pip before other costs. The result is based on the two specified fills, not on the chart’s midpoint or a calculator’s hypothetical reference price.
For a short USD/JPY position that sells 10,000 dollars at 149.80 and buys them back at 149.50, the same directional rule gives (149.80 − 149.50) × 10,000 = ¥3,000 before costs. A negative result would mean a price loss in yen under those assumptions. Check which currency is the base and which is the quote currency before multiplying; a pair name alone does not tell you the account-currency amount.
OANDA’s U.S. account-statement guide describes transaction history by units, execution price and time, whether the trade opened or closed, realized P&L, commission and other fields. Its formulas and labels describe that provider’s statement; they are a useful example of the inputs to reconcile, not a universal statement layout.
For a separate explanation of how units and quote currency determine pip value and position exposure, see the forex lot-size and position-sizing guide.
Treat the spread according to the price reference
A buy order commonly enters at an ask and a later sell closes at a bid, subject to the product’s rules and the actual execution. In the EUR/USD example, the $20 calculation already uses the two assumed executable fills. Do not subtract the same spread again from that result unless the statement identifies a separate charge that has not already been reflected in those prices.
A different calculation starts from midpoint references, such as a chart’s mid-price at entry and exit. In that case, the midpoint-based price change does not include the actual buy-at-ask and sell-at-bid difference. You may estimate spread cost separately to explain the gap between a midpoint scenario and executable fills, but state that reference clearly. Mixing midpoint prices with actual-fill prices can deduct spread twice or make a quoted result look better than it was.
Some provider statements display an estimated spread-cost disclosure next to a realized P&L line. That label does not by itself tell you whether the number is an additional cash debit, an estimate for comparison, or already reflected in fill prices. OANDA’s U.S. statement, for example, lists estimated half-spread cost and commission separately and explains which conversion cost is included in its realized P&L. Read the matching statement notes before summing fields.
Reconcile one hypothetical EUR/USD result
Keep the same 10,000-euro long position: buy at 1.1002 and close at 1.1022. Its simplified gross price P&L is $20. Assume, solely for illustration, a $2 opening commission, a $2 closing commission, and a $1.50 overnight-financing debit. Those explicit charges total $5.50, leaving $20 − $2 − $2 − $1.50 = $14.50 before account-currency conversion and any other excluded fees.
If a separate, hypothetical home-currency conversion rate is 1 EUR = USD 1.08, then $14.50 ÷ 1.08 USD per EUR ≈ EUR 13.43. This assumes the entire remaining amount is converted at that one rate, with no conversion markup or additional charge and no rounding beyond the displayed result. A provider may use a different rate, conversion time, fee, rate side, or rounding rule, so this is not a statement prediction.
With this position’s assumed $1 per pip, $5.50 of stated commission and financing would equal 5.5 pips of price P&L. That is only a simplified break-even comparison after actual fills; it does not include unlisted charges or predict how often a trade reaches a price. If the $20 result is already calculated from executable bid/ask fills, do not add a second spread deduction to this ledger.
<!-- learn:illustration -->

Realized P&L, financing, and conversion may be separate fields
“Realized P&L” generally refers to results assigned to trades that have been closed, but the exact scope of a statement field is account-specific. OANDA’s U.S. monthly-statement documentation says its closed-transaction realized P&L includes applicable home-currency conversion cost, while commissions can appear separately; it also itemizes financing and other cash charges. Another provider may include different items or present a different transaction sequence. The page specifies statement definitions effective for statements first generated from May 5, 2026, so check the version that applies to your statement period.
Conversion can happen when a trade closes, at a daily processing time, or under another setting in the customer agreement. IG UK says its spread-bet and CFD accounts can convert realized profit, loss, funding, and commission into the account’s base currency; it also describes how its conversion fee is reflected in its rates and annual cost statement. FOREX.com describes its separate “Back to Base” process for converting eligible amounts. These are examples tied to each provider’s products and account settings, not interchangeable rules. See IG’s currency-conversion explanation and FOREX.com’s trading-costs page.
FOREX.com’s U.S. pricing and fees page describes conversion when a trade settles in a currency different from the account’s base currency.
A reconciliation can therefore differ from a mental calculation for a documented reason: the broker may convert at another rate or time, include a conversion fee in the P&L amount, round each transaction before totaling it, or show financing on a separate cash line. Identify the account entity and product first. Then use the statement guide for that exact account rather than transplanting an OANDA, IG, or FOREX.com example to a different broker.
Keep open P&L apart from closed P&L
An open position has a marked, or unrealized, P&L that can change before the position closes. A closed trade has realized P&L under the provider’s definition and reporting period. Account equity may include both, while a cash-balance field may not change in the same way or at the same time. Deposits, withdrawals, adjustments, financing settlements, and open positions can all explain why account equity differs from the total of closed trade rows.
The price used to value an open position also matters. OANDA’s U.S. statement says its monthly account summary uses bid prices to mark long net open positions and ask prices for short net open positions; it separately shows individual position prices and quote-to-home-currency conversion. This is that provider’s statement convention. A displayed midpoint on a chart can differ from the price used in a live account valuation, so compare timestamps, price side, and conversion rate before trying to reproduce an unrealized figure.
For the definitions of spread, commission, and financing before you total them, see the guides to forex spread versus commission and forex rollover and swap fees. A pre-trade calculator can illustrate a scenario, but IG’s forex calculator describes indicative forex CFD profit, loss, and margin examples; it is not a substitute for the actual fills and statement fields from your account.
IG UK’s Forex CFD product details are another provider-specific example of contract units, funding adjustments, and its default-currency conversion treatment.
Calculate partial closes by the quantity that actually closed
If an opening position is closed in pieces, calculate each closing quantity against the relevant opening quantity or allocated entry price. For example, if 4,000 of the 10,000 euros close at 1.1020 after entry at 1.1002, their simplified price P&L is (1.1020 − 1.1002) × 4,000 = $7.20. If the remaining 6,000 close at 1.1025, their result is (1.1025 − 1.1002) × 6,000 = $13.80. Together the two fills produce $21 of simplified gross price P&L before charges.
The weighted average exit is (4,000 × 1.1020 + 6,000 × 1.1025) ÷ 10,000 = 1.1023. Applying the full quantity to that weighted price gives (1.1023 − 1.1002) × 10,000 = $21, the same gross result. A simple, unweighted average of 1.1020 and 1.1025 would be wrong because twice as much currency closed at the second price.
If some quantity remains open, keep its marked P&L separate from the realized results on the closed pieces. If entries were added at different prices, use the provider’s allocation, FIFO rule, or weighted-average convention for the account rather than choosing whichever entry makes the result look simpler. Statements may show both individual trades and an aggregated position; those summaries can differ because they group quantity and prices differently.
Reconcile the statement one line at a time
Start with the reporting period, time zone, account entity, product, and account currency. Match each open, close, and partial-close line to the trade ID, side, units, fill price, and time. Recalculate gross price P&L in the quote currency for each closed quantity. If the system aggregates entries, confirm which entry allocation or weighted price it uses.
Next, reconcile commissions, financing or rollover, conversion fees, adjustments, and other charges as their own categories. Record whether each item is already included in realized P&L, displayed as a disclosure only, or posted as a separate cash movement. Do not assume a line called “net,” “spread cost,” or “conversion cost” has the same meaning across account types. The OANDA U.S. statement guide is one provider example of a statement that documents these distinctions.
An invented statement-style ledger makes the overlap question concrete: if it lists a $20 price result, separate $4 commission debits, and a separate $1.50 financing debit, the simplified contribution is $14.50 before conversion. If a provider instead defines its realized-P&L field as already net of one or more of those amounts, subtracting them again would understate the result. Use the field definition and transaction rows, not the word “net” alone, to decide what to add.
Finally, check the conversion rate, rate side, conversion timing, rounding, and statement definition version. Sum closed-trade results and itemized cash movements only after checking for overlap. Then reconcile opening and closing balance and equity with deposits, withdrawals, realized P&L, unrealized P&L, financing, fees, and adjustments. If the difference remains, ask the provider which transaction, price, conversion rate, and statement rule produced it; retain the dated statement and response.
Compare statement terms before comparing account costs
A provider’s headline spread, commission schedule, and calculator do not reveal by themselves how a realized quote-currency gain or loss reaches the account currency. Compare products using the same pair, direction, quantity, entry and exit fills, holding period, account currency, and conversion setting. Record which price basis already includes spread and which charges are separate. For help identifying the firm behind an offer, see the forex broker identity and authorization guide; practice-account output also may not reproduce the live account’s fills or charges, as explained in the demo-versus-live guide.
A useful trade record keeps three totals apart: gross price P&L from actual fills, explicit charges and adjustments, and the converted amount posted to the account. It also records what each provider-statement field already includes. This method makes a calculation reproducible without assuming all brokers use one formula or fee layout. It does not make a past result typical, show that a strategy is profitable, or turn a reported profit into a future expectation.
Common questions
Q1Does a forex broker’s realized P&L always equal profit after every cost?
Not necessarily. A statement may include some conversion costs in realized P&L while showing commission or financing separately. The exact field definition depends on the account, product, provider, and reporting period.
Q2Should I subtract spread from P&L calculated using actual fills?
Not automatically. If entry and exit prices are actual executable fills, spread may already be reflected in them. Check whether a separate statement field is an additional cash charge or an estimated disclosure before deducting it again.
Q3Why can the account-currency result differ from quote-currency P&L?
The quote-currency amount must be converted using the provider’s applicable rate, timing, fee, and rounding rules. Those inputs can differ from a chart’s exchange rate or a rate you check later.
Q4Is unrealized P&L the same as realized P&L?
No. Unrealized P&L marks an open position and can move with price, price side, and conversion. Realized P&L applies to closed quantity under the provider’s statement rules; account equity can include both.
Sources and further reading
Report an issue
We’ll prepare an email with this article link. Mark receives the report only after you send it
Quick check
Read the guide? Check yourself with 3 questions
Question 01
A long EUR/USD position buys 10,000 euros at 1.1002 and closes at 1.1022. What is simplified gross price P&L in USD?
Choose an answer to see the explanation
Options glossary
The portion of premium above intrinsic value, reflecting remaining time, expected uncertainty, rates, dividends, and supply and demand.
Read the deeper guideGammaAn estimate of how much delta may change for a small move in the underlying, all else equal; it often becomes more concentrated near expiration and near the money.
Read the deeper guide