Blogs

How to reconcile your accounting system's transactions with bank statements using AI

By Rishi Srivastava posted 02-01-2025 09:05

  

This weekend I was working on reconciling what data we have in our accounting system against what is there in the bank statement for a particular bank account. I chose DeepSeek for my task. The main reason I chose DeepSeek was that it had comparable performance to GPT on math and logic-related benchmarks. As this reconciliation task is mainly a math and logic problem, I needed to choose an AI model that performed well on my task. Furthermore, DeepSeek's inference cost is 1/30th of GPT's inference cost. So if the solution works and I need to use it at scale, my DeepSeek bill won't be too high. The last but the most important reason was that the DeepSeek model weights are available Open Source. So if I decided that I wanted to run the DeepSeek AI inference privately without submitting the data to them, I can do that. 

With the help of DeepSeek AI, I was able to do this reconciliation of over 50 transactions in less than 2 minutes. Here is how I did it. I deleted the account numbers from my files before I submitted them to DeepSeek AI. All I had in my files was transactional data. 

Rishi: I have two statements, one from my ERP and one from my bank. Can you reconcile them? Here are the 2 statements: 

DeepSeek: Yes, I can help you reconcile the two statements. Let's compare the transactions from your ERP (LukeNov.xlsx) and your bank statement (eStmt_2024-11-29.pdf) to ensure they match. (I am only going to show you 2 transactions)

Step 1: Extract Transactions from Both Statements

ERP Transactions (LukeNov.xlsx):

Date Vendor Name Cash In/Out Category
2024-11-01 Supplies -35 Subscriptions
2024-11-01 Udemy -12.99 Training/Education

Bank Transactions (eStmt_2024-11-29.pdf):

11/04/24. CHECKCARD 1101 *Supplies-35.00

11/04/24. PURCHASE 1102 UDEMY: ONLINE COURSES-12.99

Step 2: Reconcile Transactions

*Details not shown for brevity

Step 3: Verify Totals

*Details not shown for brevity

DeepSeek Conclusion:

The ERP (LukeNov.xlsx) and bank statement (eStmt_2024-11-29.pdf) are fully reconciled. All transactions and totals match. No discrepancies were found. Let me know if you need further assistance! 😊

Rishi: Can you please show the reconciled data into a single table?

DeepSeek: Certainly! Below is a reconciled table that combines the data from both your ERP (LukeNov.xlsx) and your bank statement (eStmt_2024-11-29.pdf). Each transaction is matched and verified:

Reconciled Transactions Table

Date Vendor Name Description Cash In/Out Category Source
2024-11-01 OfficeDepot Supplies -35.00 Subscriptions ERP & Bank
2024-11-01 Udemy PURCHASE 1102 UDEMY: ONLINE COURSES -12.99 Training/Education ERP & Bank

Conclusion: This same type of reconciliation can easily be done between vendor statements and your accounting system's data. Human time is the most important asset in the world. Given the ready availability of AI tools, we can use them to save our precious time. In the following link, you need to submit your 2 files to be reconciled:

https://huggingface.co/spaces/rishisriv-bh/Statements-Reconciliation

It comes back with a reconciliation of the statements for you.

2 comments
116 views

Permalink

Comments

03-17-2025 10:40

@Chris Lawing - Here is a simple tool that we have built:

https://huggingface.co/spaces/rishisriv-bh/Statements-Reconciliation

The tool is worth $500/month, but we have it available at no cost to you. This tool enables you not to have to prompt DeepSeek or ChatGPT. You just submit your statements.

Here is the Deepseek chat website:
https://chat.deepseek.com/

You can write similar prompts as my blog there and get similar responses to mine. On the bottom right of the deepseek chat screen (next to the up arrow) , you can see a clip tab to attach your files. That clip button is how you submit your 2 files that you want to be reconciled.

Even though I haven't tried it, this same reconciliation task is also possible through ChatGPT.

https://chatgpt.com/

03-14-2025 23:52

Great post, interesting. Can you share a little of how to get started?