Bulk imports all happen in one place: Accounting > Transactions > Data Import. The screen has three tabs — Import, History and Export — and is open to Accountant, Accountant Admin and Super Admin. Bank statements are the exception; they are uploaded on Accounting > Banking > Bank Statements.
The Four Entity Types
- Chart of Accounts — account codes, names, types and opening balances.
- Customers — customer records with contact information.
- Suppliers — vendor records with VAT and payment details.
- Opening Balances — posted as a single journal entry.
The Import buttons on the Chart of Accounts screen do not work — they accept a file and discard it. There is no Import button on the Customers or Suppliers screens either. Always import from this page.
Steps
- Pick the entity type, then click Download Template to get a CSV with the right columns and sample rows.
- Fill in your data and drag the file onto the upload area, or browse for it.
- Review the preview. It reports total, valid, error and duplicate row counts, lists warnings, and shows how each column in your file was mapped to a target field. For opening balances it also shows a debit/credit balance check.
- Under Import Options set Skip duplicate records and Update existing records as needed (the second is only available when the first is unticked), then click Import in the preview. Opening balance imports have no options.
Column Requirements
Chart of accounts: code, name and type are required. Type must be one of asset, liability, equity, revenue or expense. Optional columns are category, opening balance, currency, description, normal balance, tax related, parent code and active. Validation checks that the code is present, is 20 characters or less and is not a duplicate; it does not check the numbering range, so a 1xxx code on a revenue account is accepted. A parent code links the account to its parent: the parent must already be in your chart or be another row of the same file, in any order. A row whose parent cannot be found, names itself or loops is refused, together with the accounts below it. A new account must be in rand (ZAR) or leave currency blank; an update keeps the account’s own currency.
Customers: name and email are required. Phone, company, type (individual, corporate, vip), status, loyalty tier and notes are optional. There are no address, VAT or payment-terms columns.
Suppliers: name, email, type (airline, hotel, car-rental, cruise, rail, tour-operator, gds, other) and VAT status (registered, not_registered, exempt, foreign) are all required. VAT number, contact person, phone, website, commission, payment terms, status and the address columns are optional.
Opening balances: account code and date are required; debit, credit, reference and description are optional. Every row needs the same date, a real calendar day written as YYYY-MM-DD, DD/MM/YYYY, DD-MM-YYYY or DD/MM/YY, and that date becomes the date of the entry; a file with a missing, impossible or second date is refused. The rows are posted as one journal entry, so the debit and credit totals must agree — the preview's balance check tells you before you commit.
History and Export
The History tab lists past imports with the file name, status and the number of total, successful, failed and skipped rows. The Export tab exports transactions in Sage Pastel, Sage Business Cloud, CSV, QIF, IIF or OFX format for an optional date range — see the Exporting Accounting Data article.