Check for a direct export
Check online banking first for a direct Xero export covering the required account and period. If it is not available, use the statement.
FNB provides bank statements for South African personal and business accounts. The reviewed Enterprise Business Account statement reports transactions in South African rand and identifies the account as DDA, or checking.
Countries: South Africa
Supported statement formats: PDF
Supported destinations: QuickBooks Online, Xero, Sage Pastel, CSV/Excel
Check online banking first for a direct Xero export covering the required account and period. If it is not available, use the statement.
For a short statement, type the date, memo, and amount into the destination. Reconcile the result to the closing balance.
Open the PDF statement, review the extracted transactions, choose Xero, and save the converted file on your computer.
Choose the posted transaction date, supply a missing year from the statement period, and check statements that cross January.
Remove currency symbols from numeric cells, preserve the decimal separator, and verify debit and credit signs against the running balance.
Keep the payee or customer reference that helps identify the transaction, while avoiding repeated headers and unrelated reference numbers.
The following details were checked against an FNB Enterprise Business Account statement. Other FNB account types or statement revisions may use a different layout, so always reconcile the converted transactions to the statement totals.
01 Sep. Take the year from the Statement Period line or the dated footer. When a statement crosses January, advance the year as the transaction month moves from December to January.Cr, attached to the amount in the transaction table.The Description area contains bank-generated transaction text and a separate customer reference. The bank text can be truncated, as in FNB OB Pmt FNB OB 000000007 Cam, while the customer reference contains a clearer memo such as Cameron - Salary or Rent - Unit 13. A converter should preserve the useful reference instead of keeping only the truncated bank text. A # at the start of a description identifies a bank charge and can also help with categorization.
Debits have no sign while credits carry Cr. That suffix can be lost during extraction, and “Bank Cr” describes the bank's side rather than the customer's bookkeeping entry. Check each amount against the running balance: the transaction must move the previous balance to the next printed balance.
The Turnover box provides a second checksum. It reports the number and total of debit and credit transactions. Matching those counts and totals, and reaching the printed closing balance, is strong evidence that every posted row was included exactly once.
Statement Balances, Bank Charges, and Interest Rate tables use typography and columns similar to the transaction table. A Service Fees total may repeat an amount already present as a dated transaction, so reading both creates a duplicate. Closing Balance and Total Authorised are totals rather than transactions.
The footer repeats branch number, account number, and a date on every page. The account number may also be printed vertically along the page edge and appear as a stray extracted string. These elements must be separated from the transaction rows.
The reviewed statement period starts on 31 August while its first transaction is dated 01 September; the earlier date belongs to the opening balance. A Future Dated Transactions table also shows a post date such as Sep 30 beside a value date such as 16 Oct. Those entries are pending, not posted. Including them prevents the transactions from reconciling to the closing balance.
Compare the converted transaction count and totals with the statement, then confirm that the calculated final balance equals the printed closing balance.
Yes. If the PDF statement is readable, its age does not prevent conversion. Confirm the year when transaction rows omit it.
No. Convert posted transactions that contribute to the statement balance. Pending or future-dated items should not be mixed into that reconciliation.
Use the destination-specific settings below, then review the file before import. The destination may require particular columns, dates, account identifiers, or sign rules.
A bank PDF can contain searchable text, scanned page images, or a mixture of both. Searchable text still needs layout analysis because transaction descriptions wrap, columns move, and headers or balances repeat at page breaks. A scanned statement adds OCR uncertainty.
A transaction may begin at the bottom of one page and continue on the next. Continuation pages can omit column headings, repeat an opening balance, or insert footer text and legal pages between transaction pages. A conversion should join split rows and exclude repeated page furniture before it writes the output.
On scanned pages, OCR can turn 0 into O, 1 into l, or 5 into S. It can also lose a minus sign or decimal mark, read two columns in the wrong order, or struggle with skewed and faint pages. The running balance is the best check: a damaged amount or missing row breaks the balance sequence.
Yes. Review the OCR result and reconcile every balance movement. Scans with faint printing, rotation, or handwritten marks need more checking than searchable PDFs.
PDF text stores page positions rather than a spreadsheet table. Wrapped descriptions, repeated headers, and visually aligned columns can paste in the wrong order or into the wrong cells.
Try selecting a transaction description in a PDF reader. If individual words can be selected, the page probably contains text. If the whole page behaves like one picture, it requires OCR.
Xero imports bank transactions through Accounting, Bank accounts, Import a Statement (also reached as Manage Account, Import a Statement). The file goes into the bank account's reconcile list, where Xero matches each line to invoices, bills and bank rules, or creates a spend or receive money transaction.
.ofx. If a QBO, QFX or OFX file downloaded from a bank is rejected, the file usually has a header, encoding or date format Xero does not accept; converting it to a plain OFX fixes that.Settings that matter:
OFX. It carries the payee, description, reference and check number in separate fields and gives Xero a transaction ID for duplicate checks. CSV is fine when the file was written for Xero with the right column names; a bank's own CSV usually needs mapping and cleanup.
Most often the file has a header Xero does not read, non-UTF-8 text, dates in a format it does not accept, or a missing transaction ID. Convert the file to plain OFX and import that. Renaming QBO or QFX to .ofx helps only when the content is already clean.
Xero skips lines whose transaction ID it already has, and for CSV it skips lines it reads as duplicates by date, amount and description. Two genuine identical lines on the same day can be dropped from a CSV. Use OFX with unique IDs for those.
The date order was misread. A file with 03/04/2026 can be read as 3 April or 4 March. Set the order on the import screen, or export dates as YYYY-MM-DD, which Xero reads without asking.
Open the bank account, go to the statement lines or Bank Statements tab, select the imported statement and delete it. The lines disappear from reconcile and the file can be imported again.
Yes. There is no date limit on file imports. Import periods in order and do not overlap them, so the balance in Xero follows the statements.
No. The statement balance in Xero is computed from the imported lines. Compare it to the printed closing balance after each import. If they differ, a line is missing, doubled, or has the wrong sign.