Import trades from OANDA
Export the native Transaction History CSV from OANDA HUB and upload it to VEXA with the correct account currency and timezone.
On this page
What this does
Brings OANDA forex and CFD fills into VEXA from OANDA’s native Transaction History CSV.
OANDA imports use manual CSV upload. Automatic sync is not available, and VEXA does not ask for your OANDA login or API token.
Before you start
- Use Transaction History from OANDA HUB. Account Summary, Orders and other reports do not contain the fill detail VEXA needs.
- Export your complete history the first time. Set the Start Date to the account’s opening date and the End Date to today. Later exports can overlap because VEXA skips fills it has already imported.
- Choose UTC or GMT. OANDA can default to GMT -12. Selecting UTC or GMT makes the report easier to compare with VEXA. Reports that already carry
EDT,ESTor a numeric offset are also read correctly. - Match the account currency. OANDA’s
PLcolumn is already in the broker account currency. Set the same account currency in VEXA before importing. - These steps match OANDA’s official Australia Transaction History guide and US Transaction History guide.
Export Transaction History from OANDA
Same on every platform
- Sign in to OANDA HUB.
- Open Reports and choose Transaction History.
- Select the Account, Start Date, End Date and Timezone. For the first import, start at the account’s opening date and choose UTC or GMT.
- Click Show Transactions.
- Under Your Transactions, click Export to csv and keep the downloaded file unchanged.
Upload the CSV to VEXA
- In the sidebar, click View Profile and scroll to Connected Brokers.
- Click Connect Your First Broker or Add Another Broker, then choose OANDA.
- Check that the VEXA account currency matches the OANDA account currency.
- Use the manual upload area and select the Transaction History CSV.
- Start the import and leave the tab open until the result appears.
- On Home, tap the circular avatar at the top right.
- Scroll to Connected Services, tap Add Broker, then choose OANDA.
- Check that the VEXA account currency matches the OANDA account currency.
- Tap Select CSV File and choose the Transaction History CSV.
- Confirm the upload and leave the app open until the result appears.
- In the sidebar, tap the profile chip, choose View Profile, then scroll to Connected Services.
- Tap Add Broker and choose OANDA.
- Check that the VEXA account currency matches the OANDA account currency.
- Tap Select CSV File and choose the Transaction History CSV.
- Confirm the upload and leave the app open until the result appears.
- On Home, tap the circular avatar at the top right.
- Scroll to Connected Brokers, tap Add Another Broker, then choose OANDA.
- Check that the VEXA account currency matches the OANDA account currency.
- Use Manual Upload to choose the Transaction History CSV.
- Start the upload and leave the app open until the result appears.
- In the sidebar, tap the profile chip, then open Connected Brokers.
- On Broker Connections, find OANDA under CSV Upload Only and open it.
- Check that the VEXA account currency matches the OANDA account currency.
- Use Manual Upload to choose the Transaction History CSV.
- Start the upload and leave the app open until the result appears.
What is imported
OANDA’s report mixes fills with the full account event history. VEXA imports only rows whose TRANSACTION TYPE is ORDER_FILL.
Order creation, cancellation, stop-loss and take-profit lifecycle rows are ignored because they are not fills. Transfers, margin events, configuration changes, daily financing and other cash activity are ignored for the same reason.
P&L, spread and financing
The PL value on an OANDA fill is already expressed in the OANDA account currency. VEXA uses it as the broker’s realised P&L and subtracts actual commission separately, so the VEXA account currency must match the OANDA account currency.
OANDA’s spread is already reflected in the fill price. The report may show a SPREAD COST value for reference, but VEXA never adds it again as a fee.
Financing is account cash activity rather than fill-level trading P&L. OANDA daily summaries can repeat financing across instrument rows, so VEXA never sums or distributes those values across trades or fees. The upload result warns about the exclusion, so your VEXA journal total can differ from the change in your OANDA account balance by the financing amount.
If you previously used the VEXA template
For future imports, use the unchanged native Transaction History CSV. If you manually prepare
OANDA fill rows in the template, leave Fees blank or 0, keep actual commission in Commission
as a positive cost, and exclude financing. Copying SPREAD COST into Fees subtracts spread a
second time and makes P&L lower than the native import.
The template derives P&L from prices rather than reading OANDA’s account-currency PL, so zero
Fees alone cannot guarantee the same result for pairs with a different profit currency. The native
report preserves OANDA’s PL. These rules do not recalculate trades already imported. See
Fill in the VEXA CSV template for a worked fee example.
What you should see
The import result should identify OANDA Transaction History, show the accepted and skipped counts, and explain that financing was excluded when financing rows are present. Only ORDER_FILL rows contribute executions.
Upload the same file again and no executions should be added. Upload a later overlapping report and only fills VEXA has not seen before should be imported.
If it doesn’t work
- The file is not recognised as OANDA Transaction History. Export it again from OANDA HUB under Reports > Transaction History and upload the original CSV without editing it.
- Trades appear on the wrong day. Export again with UTC or GMT selected. If you use another timezone, make sure the
TRANSACTION DATEvalues include its abbreviation or numeric offset. - P&L is in the wrong currency. Change the VEXA account currency to match the OANDA account currency, then re-import into the correctly configured account.
- The journal total differs from the account balance change. OANDA financing is excluded from trading P&L and is not assigned to trades or fees. Compare the journal against the report’s trading
PL, not the balance movement. - A TradingView OANDA export is rejected because Avg Fill Price is blank. Some OANDA v20 filled market orders have no average fill price in TradingView. Export the native Transaction History CSV from OANDA HUB instead.
Broker page
Related
Still stuck? Email support@vexatrade.ai.