Get Xero GL data not in JournalLines
If your Xero system does not use multi-currency transactions then there is no need to process Revaluations and Unrealised Gains and you should have "Extract Profit & Loss for Revaluations" set to OFF in the company profile because this is an expensive call on the Xero API and can cause large data egress.
When Xero processes multi-currency it creates some internal transactions and the outcomes are not available in the API JournalLines endpoint.
Specifically against account 497 and 498
Accounts 497 and 498 in Xero are system-generated accounts specifically related to foreign currency transactions (multi-currency).
497 - Bank Revaluations: Used to record unrealised currency gains or losses on outstanding bank account balances when a foreign currency bank account is revalued at the end of a period.
498 - Unrealised Currency Gains: Used to record unrealised currency gains or losses on outstanding invoices, bills, or other non-bank items when revaluing foreign currency transactions.
These accounts are automatically created by Xero when the multi-currency feature is enabled and cannot be deleted, though they can be edited to change the account code.
To get this data Bi4Cloud Call the XERO to run the P&L report for all period back to the Epoch against the company.
The endpoint is documented here Accounting API Reports — Xero Developer
Bi4Cloud will execute an API Profit & Loss get data for all month for each account from epoch to now. This used to build a GL Transaction summary stored in an AccountActivities table.
Trial Balance for Opening Balance at Epoch
A Trial Balance call to the Xero API to establish the Opening Balances as at the Epoch date in the company. This is used to construct an opening balance record in JournalRecords
Accounting API Reports — Xero Developer
Technical Details can be found Get Xero GL data not in JournalLines