Ledgr/Documentation/Banking
Banking & reconciliation
Watch the 2 lessons: Import a bank statement (1:49), Reconcile lines and create a bank rule (1:57).
Get the statement in — however your bank gives it to you — accept the matches Ledgr suggests, and turn the ones that repeat every month into rules.
Banking & reconciliation is included from Starter upwards.
Add a bank account
- Banking → Add Account
- Choose the bank
FNB, Standard Bank, ABSA, Nedbank, Capitec, Investec, TymeBank, Discovery Bank or African Bank.
- Name it the way you think of it
"FNB Business Cheque" beats "Account 1" when you are matching six months later.
- Set the type
Cheque, Savings or Credit. A Credit account is a credit card and is kept as a liability: a purchase on it increases what you owe on the card rather than reducing your cash, and paying the card off lowers both together.
Choose the currency when you add the account. Its lines reach the books in rand at the rate for each line's own date, and Ledgr asks for a rate it does not have rather than assuming one. The currency cannot change afterwards, because every line on the account was imported in it.
Three ways in
Everything to do with getting transactions into Ledgr lives on one tab — Banking → Import & Export — because to you it is one question: how does my bank get into Ledgr?
| Route | How it works | Which banks |
|---|---|---|
| Upload a file | Choose the account, drop the file in, review the preview, import. | All nine |
| Email it in | Have your bank email the statement to your company's Ledgr address, or forward it. It reads itself and either imports or waits for one click. | All nine — every one of them will email a statement on a schedule |
| Connect a feed | Read-only keys you create yourself. Ledgr then pulls transactions four times a day. | Investec only |
Upload a statement
- Get the statement from your bank
Whatever your bank actually gives you. Ledgr reads five kinds of file:
- The PDF your bank emailed, or a scan or photograph of a printed one
- OFX or QFX — the accounting export most business portals offer
- OFC — which matters because Nedbank and FNB business banking offer it, and on some portals it is the first download in the list
- QIF
- CSV, including the headerless enterprise exports FNB and Standard Bank produce
You do not have to know which one you have. Ledgr works it out from what is inside the file rather than from its name.
- Banking → Import & Export, then pick the account and the file
- Map the columns, only if the preview gets them wrong
For a CSV whose layout Ledgr does not already know, open Map the columns by hand and say which column is the date, which is the description and which is the amount — one signed column, or debits and credits in their own columns — and whether the first row is a header. The mapping is remembered on that account once an import with it reads at least one line, so next time the card opens with your columns already chosen. For a PDF, an OFX, an OFC or a QIF there is nothing to map.
- Review the preview and import
The preview writes nothing. It tells you how many transactions were read, whether they reconcile to the closing balance the bank printed, and how many are duplicates of lines already in Ledgr — so re-importing an overlapping date range is safe.
Why a PDF statement is not guesswork
Reading a statement off a page sounds like the least reliable route and is, in one specific way, the most checkable one: the bank prints a running balance. Every amount Ledgr takes off the page is derived from the step between one balance and the next — which is the bank's own arithmetic, not Ledgr's reading of a number.
Three things follow from that, and they are worth knowing because they are what you would otherwise have to check by hand:
- Money in and money out cannot be inverted. The direction comes from whether the balance went up or down, so it does not depend on a Cr/Dr marker, a minus sign, or which column a figure sat in.
- A misread digit is caught and corrected — and told to you, with what was read, what it became and the two balances that settle it. Nothing is quietly edited.
- Where the evidence genuinely is not on the page, Ledgr refuses to guess. A statement with no balance column and no direction marker is imported with every row named and a warning saying so, rather than a confident half-right answer.
FNB, Standard Bank, ABSA, Nedbank, Capitec, Investec, TymeBank, Discovery Bank and African Bank, in each format that bank publishes — including the awkward ones: a headerless FNB enterprise CSV, African Bank's year-first dates and signed amount column, and Discovery's statement, which prints no balance column at all.
Email the statement in
This is the route that covers every bank, and it is the one to set up if you only set up one. Your company has its own Ledgr email-in address — find it on Expenses → Inbox under Email-in address. Ask your bank to send your monthly statement there, or forward the one it already emails you.
An emailed statement reads itself and then does one of two things:
- Imports on its own, but only when both tests pass: the bank's own closing balance proves the whole statement was read, and exactly one of your Ledgr accounts matches the account number printed on it.
- Waits for one click, with the reason in words — the statement names no account number, or two of your accounts end in the same four digits, or it states no closing balance, or the rows do not add up to it, or it is longer than Ledgr reads in one pass.
When in doubt, Ledgr deliberately waits for review rather than importing: a statement waiting for a click is a mild annoyance, while one silently imported into the wrong account means books somebody has to unpick by hand.
Treat it like a key. Nothing that arrives is a transaction until you accept it, but ask for a new address if it gets out. There is more in the document inbox.
Connect an Investec feed
Investec is the one South African bank whose customers can connect themselves, with read-only keys you create in Investec Online → Manage → Investec Developer → Business Connections. There is nothing to pay, no agreement with the bank and no third-party aggregator in the middle.
- Create the keys in Investec Online
A client id, a secret and an API key, scoped to the accounts you tick. Tick the accounts you want in Ledgr — a key that can see none of them connects and then finds nothing.
- Banking → Import & Export → Connect your Investec account
- Say which Ledgr account each Investec account feeds
Ledgr suggests the match from the account number and you confirm it. An unmapped feed imports nothing rather than guessing which of your accounts a transaction belongs to.
After that it pulls four times a day and re-reads a few days of overlap each time, so a transaction the bank posts with a back-dated value date is not missed. The overlap is de-duplicated against what you already have, including anything you keyed in by hand.
It is the only SA bank you can enrol yourself. Nedbank, Standard Bank and ABSA publish developer portals but need an onboarding agreement; FNB's accounting feed is a partner programme with no public portal; Capitec, TymeBank, Discovery and African Bank publish nothing. Every aggregator that papers over this charges per connection, and Ledgr will not ask for your online banking password to scrape the site — so for the other eight banks the emailed statement above is the automatic route.
Reconcile
Imported lines land in the unreconciled list, each with a suggested match and a confidence score. Three things you can do with a line:
- Accept the suggestion — the transaction is matched to that invoice, bill or expense and the document settles
- Choose a different match — search for the right document and match it manually
- Categorise it directly — for spend with no document behind it, like bank charges
Tick several rows and accept them in one action when the suggestions are obviously right. The reconciliation ring on the account shows how much is still outstanding.
A week of transactions is recognisable. Nine months of them is archaeology, and the suggestions get worse the further you are from the event.
Bank rules
A rule is a description pattern plus what to do when it matches. The debit order that arrives every month with the same reference should be a rule after the second time you code it by hand.
- Banking → Bank Rules → New Rule
- Set the conditions
Ask about the description, the reference, the amount or whether it is money in or out. An amount is compared by size, so "is more than" and "is less than" work for money in and money out alike, and the two together make a range. Choose whether a line must meet all of the conditions or any one, and whether the rule is for one account or for every account.
- Set the action
The category to post to, and optionally what to create — an expense, a split across several accounts, a payment against the oldest open bill for a supplier, or a transfer between two of your own accounts. A transfer is recorded when the matching line on the other account is already in Ledgr, and is otherwise labelled for you to pair. A transfer into a Credit account is the card being paid off: what you owe on the card and your bank balance go down together.
- Preview, then apply
A rule does not fire on its own unless you switch on Run this rule on lines as they arrive for it, which is off when a rule is made. Preview shows what rules would do to every unreconciled line — including the backlog a new rule would have caught — and Apply does it. Nothing is coded behind your back, and a rule you got wrong costs you a preview rather than an afternoon of unpicking.
Ledgr also proposes rules of its own: where the same description turns up three or more times among your uncategorised lines and no existing rule covers it, it appears in the suggestions panel for you to accept or dismiss.
The cash position
The banner at the top of the module holds every account with a sparkline of its recent movement and a consolidated total across all of them: what your books hold for those accounts, including any payment recorded without naming the account it went into, which the banner names separately. Underneath, the monthly inflow and outflow chart shows whether the trend is the right way up. The dashboard's Total Cash is the same books' figure for all your cash, so it also counts petty cash and leaves out a loan account.
Common problems
| What you see | What to do |
|---|---|
| "Not a recognised bank statement" | Ledgr reads the format from the file's contents, so this usually means the file is not the statement — a summary page, a proof of payment, or a spreadsheet somebody re-saved. Re-download it from the bank rather than exporting it out of a viewer. |
| Amounts import with the wrong sign | Only possible on a CSV, and only from the column mapping — some banks use one signed column and others separate debit and credit columns. A PDF, OFX, OFC or QIF takes its direction from the bank's own figures and cannot be inverted. |
| No suggestion on an obvious payment | The amount probably differs from the invoice total because of a gateway fee. Match it manually and record the fee as a bank charge. |
| Duplicate transactions | Only if the description and amount differ slightly between exports. Delete the duplicates and re-import the cleaner file. |