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.
Nedbank provides statements for personal and business current, savings and trust accounts in South African rand. The reviewed documents include a month-end Current account statement printed as a computer-generated tax invoice and a multi-year Statement Enquiry exported from Nedbank Online Banking.
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.
A Statement Enquiry printed from Online Banking for a custom date range is also a PDF the converter reads, but it uses a different layout from the month-end statement; see the details below.
Steps follow the bank's own help pages. Menu names change from time to time; if they differ, follow the bank's page.
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 two Nedbank documents: a month-end Current account statement printed as a computer-generated tax invoice, and a Statement Enquiry exported from Nedbank Online Banking for a trust account. The two use different columns, different number formats and different sign rules. Other Nedbank account types or newer statement revisions may differ again, so always reconcile the converted transactions to the printed closing balance.
03/01/2023. Read 03/01/2023 as 3 January, not March 1. The month-end statement also prints a print date such as 2023-02-02 at the top of every page; that is not a transaction date.44,860.71. The Online Banking export uses a space for thousands, as in 2 000 000.00. Neither prints a currency sign in the transaction table; R appears only in the summary boxes.-150 000.00.The month-end statement opens with a full summary page: account summary, bank charges summary, cashflow box and a percentage chart. Transactions start on page 2 under the headings Tran list no, Date, Description, Fees (R), Debits (R), Credits (R) and Balance (R). Each later page repeats the headings and starts with Balance brought forward.
The Online Banking Statement Enquiry has no summary page. A short header shows the statement number, account description, account number and a date range, then one table with Date, Transactions, Debits, Credits and Balance. The date range can span years; the reviewed export covered more than three years in one document. A converter has to recognise which layout it is reading before it decides how to treat signs and thousands separators.
The month-end statement prints a fee beside many debits, such as 8.35 for an electronic payment or 19.00 for a debit order. Those fees are not taken from the balance on that line. For example, a payment of 5,550.00 with a fee of 8.35 moves the balance down by exactly 5,550.00. The fees are collected once a month and reported in the Bank charges summary as Service fees.
A converter that adds the fee to the debit, or exports the fee as a separate transaction, produces a balance that drifts further from the statement with every row. The right treatment is to export the Debits amount only and to let the monthly fee show up where the bank posts it. The running balance proves which reading is correct.
A few rows show a small amount such as 1.50 in the Debits column followed by an asterisk. Those are real debits, the balance drops by 1.50, so the asterisk must not cause the row to be skipped.
The first column of the month-end statement holds a six-digit number such as 001387 on the first row of each day's batch. The rest of the rows in that batch leave the column empty. The number identifies the transaction list the bank printed, not a check or a reference. If a converter reads it as a check number, QuickBooks and Quicken show a check number on one row per day and nothing on the others, and the memo of that row may lose its first word. The column should be ignored.
The Online Banking export writes 550 000.00, 2 000 000.00 and -281 660.90. A text extractor can deliver each group as its own piece, so 2 000 000.00 becomes 2, 000 and 000.00. A converter that takes the last piece exports 0.00 or 660.90 instead of the full amount. The pieces have to be joined back into one number before the sign and the balance check are applied. Scanned copies of this layout are more fragile than the original PDF for the same reason, so convert the file Online Banking produced rather than a print and scan of it.
The Online Banking export prints CARRIED FORWARD and BROUGHT FORWARD as a pair at the end and start of every statement period, each with 0.00 in Debits and Credits and the running balance repeated. It also prints VAT information rows such as VAT 27/12-27/01 = R1.59 with 0.00 in both amount columns. None of these are transactions. The month-end statement has its own markers: an Opening balance row with no amount, Balance carried forward and Balance brought forward rows with no amounts, and a Closing balance row.
All of these rows should be dropped. A converter that keeps them creates zero-amount transactions in the destination or, for the forward rows, duplicates the running balance as if it were a deposit.
Page 2 of the month-end statement starts with a Bank charges table: Service fees 454.91 68.24 523.15, Other charges 66.96 10.04 77.00 and Total Charges 600.15. It sits directly above the transaction table and uses the same font and column spacing. The summary page also lists Funds received/Credits R380,928.54 and Funds used/Debits R245,472.14. None of these are transactions, and the fee totals repeat money that already left the account as dated rows. Those totals are useful as a checksum: total credits and total debits in the converted file should match them once the fee column has been excluded.
Nedbank passes the payer's or payee's own reference through to the Description column, so the column is full of text that can confuse a parser:
27.13 Electrical and 27.13 Elect bal on Inv2070 start with a number that looks like an amount.13265, 14010 and 0074880013 are entire descriptions made of digits.Nomsa 7Jan23, Thabo 15Jan23 and Lerato Loan 16Jan23 contain dates in a different format from the Date column.VAT 27/12-27/01 = R1.59 and EFT TRF CHRG R2000000.00 contain rand amounts that are not the transaction amount.The date must come from the Date column only and the amount from the Debits or Credits column only. Anything inside the Description stays text.
The month-end layout also prints some descriptions as two separate pieces, such as YOCO and YOCO K7B214, or PAYONEER and AIRBNB INC PAYOUT, or ABSA CARD 04471926 230 and CC. The pieces sit on the same line with a gap between them. A converter has to join them so the payee is YOCO YOCO K7B214 rather than just YOCO, which is the only way to tell card settlement rows apart from each other.
An Online Banking enquiry can cover several years in one file. QuickBooks Online, Xero and Quicken accept long imports, but a three-year file is hard to review in one pass and duplicates earlier periods you may already have. Export a shorter date range from Online Banking when you can, or use the converter's date filter to split the file by financial year before you import it.
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.