Back to docs
Recording Money

Import transactions (CSV / provider)

Bulk import transactions from bank statements, payment providers, or CSV files.

πŸ“₯

Bulk Import

Bring in hundreds of transactions at once.

Got a spreadsheet from your bank? A CSV export from Paystack? Historical data from another system? Acctally's import wizard handles it all. Upload your file, map the columns, review, and go.

Two ways to import

πŸ“„

CSV / Excel file

Upload any spreadsheet with transaction data. Works with bank statements, payment provider exports, or your own records.

Best for: Historical data, bank statements, one-time imports

πŸ”—

Connected provider

Link Paystack, Flutterwave, Stripe, or other payment providers. Transactions sync automatically.

Best for: Ongoing sync, real-time updates, zero manual work

The import workflow

Importing is a guided process. Here's what happens:

1

Upload your file

Drag and drop a CSV or Excel file. Acctally analyzes the structure and shows you a preview.

2

Map your columns

Tell Acctally which column is the amount, which is the date, which is the description, etc. We auto-detect most columns, but you can adjust.

3

Choose import mode

Are these sales? Expenses? Bank movements? Mixed? This helps Acctally categorize correctly.

4

Preview and fix issues

See exactly what will be imported. Fix any rows with missing data or mapping problems.

5

Commit the import

When you're happy, click import. Transactions are created and ready for review.

Import modes explained

Different files contain different types of transactions:

Sales

Customer payments, charges, orders. Creates income transactions.

Use for: Paystack transactions export, Shopify orders, invoice payments

Expenses

Supplier bills, costs, outgoing payments. Creates expense transactions.

Use for: Vendor payment records, expense reports

Bank / Cash movements

All transactions from a bank account. Both money in and money out.

Use for: Bank statement CSV, mobile money history

Provider settlements

Payouts from payment providers to your bank account.

Use for: Paystack settlement reports, Stripe payouts

Mixed

File contains different transaction types. Acctally classifies each row.

Use for: General ledger exports, mixed records

Smart column detection

Acctally looks at your column headers and sample data to guess what each column contains:

Your column might be calledAcctally maps to
"Amount", "Total", "Value", "Sum"Amount
"Date", "Transaction Date", "Created At"Date
"Description", "Narration", "Details", "Memo"Description
"Customer", "Payer", "Name", "Client"Contact
"Reference", "Ref", "ID", "Transaction ID"Reference
"Currency", "CCY"Currency

Tip: If Acctally guesses wrong, just click the dropdown and change the mapping. Your corrections are saved for future imports from the same source.

Handling duplicates

Importing the same file twice? Acctally has you covered:

  • File hash detection β€” Same file uploaded twice? We'll warn you.
  • Reference matching β€” If a transaction reference already exists, it's flagged.
  • Review before commit β€” Suspected duplicates go to review queue.

Example: Importing a bank statement

Here's how OurHaven imports their GTBank statement:

Step 1: Export from GTBank

Download the statement as CSV from GTBank's online banking. The file has columns like "Transaction Date", "Description", "Debit", "Credit", "Balance".

Step 2: Upload to Acctally

Go to Transactions β†’ Import β†’ Upload the CSV. Acctally detects it's a bank statement format.

Step 3: Map columns

Acctally maps "Transaction Date" β†’ Date, "Description" β†’ Description. For amount, it sees both "Debit" and "Credit" columns and asks which represents money in vs out.

Step 4: Select money account

Choose "Main Bank Account" as the money account these transactions belong to.

Step 5: Review and import

Preview shows 47 transactions. 3 are flagged as potential duplicates (already imported). Exclude those, import the rest. Done!

Import templates

Import the same type of file regularly? Save your mapping as a template:

  • GTBank Statement β€” Pre-mapped for GTBank CSV format
  • Paystack Transactions β€” Matches Paystack export columns
  • Custom templates β€” Create your own for any recurring source

Next time you upload a similar file, Acctally applies the template automatically.

Next steps

See what happens after you record to understand how imported transactions flow through the system.