Importing bank statements
Upload a bank statement as a spreadsheet, or let AI read a PDF, so WAQAF can line up your transfers ready for matching to donations.
When donations arrive as bank transfers, your bank gives you a statement listing every movement on the account. Importing that statement into WAQAF turns each line into a row you can later match to a recorded donation. You'd do this whenever you want to reconcile a batch of incoming transfers — typically once your bank statement for the period is ready.
There are two ways to bring a statement in: upload a spreadsheet (CSV or Excel) and tell WAQAF which columns hold the date, amount, and reference; or upload a PDF statement and let AI read the rows out for you to check. Both end up in the same place — a list of imported lines waiting to be reconciled.
Who can do this. You need a finance role that grants create — typically the Accountant or Finance Manager (an owner or admin can do it too). Anyone with finance read can open the reconciliation page and see the imported lines, but only a create role sees the upload controls. If you don't see them, your role doesn't allow it; see Members & roles.
Where to find it. Donors → Reconcile. The page is titled Bank statement reconciliation.
Before you start
- You need at least one active bank account set up. If none exist the page tells you so and the importer stays empty — add one first in Managing bank accounts.
- Have your statement file ready as a CSV or Excel export (
.csv,.xlsx, or.xls), or as a PDF for the AI path. - WAQAF money is OMR to 3 decimals (1 OMR = 1000 baisa), so amounts read like
200.000. Money coming in (a credit) is treated as a donation candidate; money going out (a debit) is imported too but is shown as a negative figure and isn't matched to donations.
Option A — import a spreadsheet (CSV or Excel)
This is the simplest path when your bank lets you download the statement as a spreadsheet.
Choose the bank account
Under Statement file, first pick the Bank account the statement belongs to. This tells WAQAF which account each line landed in, and it feeds the duplicate check so the same statement can't be imported twice into the same account.
Upload the file
Drop your .csv, .xlsx, or .xls file onto the upload box, or click it to choose
a file. WAQAF reads the file's column headings and shows a short Map columns
section beneath.
Map the columns
Tell WAQAF which column in your file holds each piece of information. WAQAF makes a best guess from the column names, but always check them:
- Date column — required. The value date of each transaction.
- Amount column — required. If your statement puts credits and debits in one column, this is it (a leading minus or brackets marks a debit).
- Debit column — optional. Use this only if your statement has separate credit and debit columns; the amount column then holds credits, and this one holds debits.
- Reference column — optional. The transfer or transaction number. This is what the matcher later uses to line a transfer up with a donation, so map it if you have it.
- Description column — optional. The narration or details text.
Below the mappings WAQAF shows how many rows are ready to import.
Import
Press Import. The button shows the number of lines it will bring in. WAQAF reads each row, works out whether it's a credit (money in) or a debit (money out), and adds the new lines to your imported list. A short confirmation tells you how many lines were imported and how many duplicates were skipped.
Option B — import a PDF with AI
If your bank only gives you a PDF, WAQAF can use AI to read the transaction rows out of it. This lives in the Import from PDF bank statement card lower down the same page.
AI reads the statement, but you confirm it. The rows the AI extracts are unverified — they appear in an editable table so you can correct any misread date, amount, or reference before anything is imported. Always review them; an amount is real money. Nothing is saved until you press Confirm & import.
Upload the PDF
In the Import from PDF bank statement card, drop your .pdf file onto the box or
click to choose it. WAQAF sends it for extraction — this takes a few seconds.
Review and correct the extracted rows
The extracted transactions appear in a table you can edit. For each row check the Date, the Amount (OMR), and the Type (Credit for money in, Debit for money out), and adjust the Reference and Description if needed. You can remove a row that shouldn't be there, or Add row for one the AI missed. A yellow notice reminds you these came from AI and need checking.
Choose the account and import
Pick the Bank account the statement belongs to, then press Confirm & import. WAQAF brings the rows in exactly as it would a spreadsheet import — credits and debits worked out from the Type you set, and duplicates skipped.
The PDF path needs AI to be switched on for your organisation. If you see a message that AI extraction isn't enabled, an admin needs to configure it under Donors → Settings → AI extraction (managing that setting needs a finance role with update). The spreadsheet path in Option A never needs this.
Duplicate lines are skipped automatically
You can re-upload the same statement without fear of doubling it up. WAQAF builds a fingerprint for each line from the account, the calendar day, the amount, and the reference, and skips any line whose fingerprint it has already seen for that account. The confirmation message tells you how many were skipped.
Because the fingerprint includes the reference and the amount, two genuinely different transfers that happen to share the same day, amount, and (missing) reference can look identical and the second be skipped. If a line you expected doesn't appear, give the transfers distinct references on your statement, or check the imported list to confirm it isn't already there.
What the imported lines look like
Below the importers, the Imported lines table lists every line you've brought in, newest first, with its date, amount, reference, and a status:
- Unmatched — not yet linked to a donation. These are what you reconcile next.
- Matched — already linked to a recorded donation.
- Ignored — set aside as not needing a match (for example a bank fee).
Use the filter at the top of the table to show only one status. Importing a statement doesn't record any donations or post anything to the ledger on its own — it only stages the lines. Turning a line into a recorded, matched donation happens in Reconciling bank transfers.
See also
Reconciling bank transfers
Match your imported statement lines to incoming donations and approve them.
Managing bank accounts
Add and maintain the accounts your statements are imported against.
Banks & reconciliation
An overview of how WAQAF handles bank accounts and statement matching.
Recording income
Enter a single receipt by hand when money arrives off your website.
