Bank Reconciliation tool not finding transactions

I’m trying again to make the Bank Reconciliation to work because I was never able to make it work.

I can import my bank statement and get the list of transactions. Everything is fine there.

But for an unknown reason, the matching transactions are not found in the bank reconciliation tool even if they are present.

Let says I have a deposit in the bank account of 400$. The payment entry is made and applied to the open invoice.

When I click on Action, Match against voucher, it won’t find anything from this value or this customer.

But if I search the bank transaction manually in Bank Transactions list with its number and I set the payment entry number, it will reconcile and change the status to Reconcile.

I tried to empty the tabBank Transaction table to start from scratch, but same issue.

I’m not sure how can I help to fix the issue. The bank reconciliation tool would be so much helpful!

Hi, any ideas? I’m willing to pay to make this work properly!

I am having the same problem.
Exported all of my payments and then re-imported them as a bank statement.
So even with matching dates, amounts and reference numbers no match is found.

I tried to contact erpnext paid support and got no reply twice. I’m not sure where we can get some help…

can you share the reproducible steps? i.e which transactions created before the reconciliation, how to do the reconciliation step by step. if it can be reproduced, then there is chance others can help you.


I just want to hire someone from frappe to take a look at what is wrong and why but I get no reply from them…

Hello. We are having the same or similar issue.

Searching on Google I found a Blog Post by @Mohammad_Hasnain in which he explains how he redesigned this tool.

It would be great if @Mohammad_Hasnain could give us his input here.

Here are the steps, and the problem we are having:

  1. Create Sales Order for say $50,000
  2. Enter Payment Entry (Advance Payment) for say $20,000
  3. Upload PayPal Bank Account transaction for $19,500 (PayPal charges us as credit card processing fee).
  4. We go to Bank Reconciliation tool and click the Actions button to the right of the $19,500 transaction
  5. On the popup window we select Action: Match Against Voucher, then put a check mark on the Payment Entry box
  6. On the Select Vouchers to Match section below, the $20,000 Payment Entry does not show.

From trial and error we think there’s probably a filter in the code that only shows Payment Entries for amounts equal to or lower than the actual bank transaction amount. Nevertheless this is a problem, since for this use case the tool is not showing us the transaction we need to match against showing us that there is a difference between the amount we expected ($20,000) and the amount we actually received in our bank account ($19,500) for which we would need to account by creating a Journal Entry for the difference.


I have the same problem, e.g. I have two journal entries of
And have imported bank account entries with entry of $5000. But when I click Actions to reconcile the Bank Transaction and select to include ‘Journal Entry’ the entries of $500 and $4500 are not shown in ‘Select Vouchers to Match’ window. So this is reverse case to @DonDowner case.

I have another example, where I have purchase invoice entry of $189.9900 and on the Chart of Accounts on the bank account Credit Entry of $189.996, and this is not showing either. Let’s hope one day @Mohammad_Hasnain will comment / help us!

I wonder if this is something to do how the Bank reconciliation tool refers to the bank account. It perhaps refers to the bank account by name rather than looks the Chart of Accounts number!

I have a feeling that I may have changed the Bank Account name in the Chart of Accounts (the number remains the same) over the time. Or the name in the Bank/Bank Account section. Or both! And the entries that are not found were created before the name change.

How does the Bank Reconciliation tool link the Bank Transaction Entries to the Chart Accounts’ bank account @Mohammad_Hasnain ?

But perhaps the tool actually looks the actual purchase invoices…
For example if I have

Entry of £110 in Sterling on the Sterling Bank Account, that was created from Purchase Invoice in US Dollars

Now if I click actions, I do not see the entry for the $124 USD in the list, perhaps as described by @DonDowner it is beacuse $124 is more than £110 bank transaction if we take the currency rate out of the equation.

But if click to reconcile other Bank Entry of £200, the entry previously required mysteriously appears as $124.86 ! But of course I do not want to reconcile again £200 but against the original £110.


@Mohammad_Hasnain - how do make the ‘Vouchers to Match’ window to show entries that are larger than the bank entries = foreign currency purchase transations?

Looks such a good tool, but not being able to find the transactions on the ‘Vouchers to Match’ window makes the tool useless!

Does anyone use bank reconciliation tool? Your experience?

look like nobody is using this broken feature… it almost work in v14 but still can’t find payment entries made from customers. If I go manually, I can find and match the transaction but the brank reconciliation tool can’t find it. Work on purchases…

@Samuel_Gervais - yes it is such a shame that we do not get any response to fix the issue. Otherwise the developer/frappe spent several months to develop the feature, and it fails on a simple bug rendering it useless - a real shame.


I realized something.
When I create a payment entry, I dont know why but the fields bank, bank_account stays NULL.

And the bank reconciliation tool seems to be filtering the payment entries based on this field.

This would explain why those transactions are missing.

I think the field that should be used is “paid_to”.

refresh: function (frm) {
frappe.require(“bank-reconciliation-tool.bundle.js”, () =>

	frm.add_custom_button(__("Upload Bank Statement"), () =>{
				args: {
					dt: frm.doc.doctype,
					bank_account: frm.doc.bank_account,
				callback: function (r) {
					if (!r.exc) {
						var doc = frappe.model.sync(r.message);

1 Like

Should I open a ticket on github or somebody here can help to figure out what is the problem with me? I’m even ready to pay if I need to. I just need this tool working after so many years!