; -*- Mode: Ledger -*- ; How to use ledger(1) to reconcile your chequebook with your bank statement ; Marking ledger transactions cleared requires manual work or automated ; edits to your journal, and leaves no audit trail itself. This method ; lets you automatically import bank statements from CSV/OFX/QIF/&c., ; as a separate file, and have ledger(1) match them up to report to you ; what has yet to clear or whether there are any discrepancies. ; ; This method works for any transactions for which you have a reliable ; transaction id up front. If not, use HOWTO-reconcile-payments for a ; slightly more involved scheme for marking payments pending until you ; can find the transaction ids. ; Create a ledger with two files: one for your chequebook, listing the ; cheques you intended to write, and one for your bank statement, ; derived automatically from CSV or QIF or QFX or OFX export from your ; bank. Or, if you transcribe from paper, put it all in one file. account Assets:Bank account Equity:Opening Balances account Expenses:Renovation account Expenses:Rent commodity $ 2017-01-01 Opening Balances Assets:Bank $50,000.00 Equity:Opening Balances ; When writing a cheque, create a liability with that cheque number. ; This is an obligation to pay. account Liabilities:Bank:Cheque:123 2017-01-31 Landlord Expenses:Rent $750.00 Liabilities:Bank:Cheque:123 account Liabilities:Bank:Cheque:124 2017-01-31 Contractor Expenses:Renovation $20,000.00 Liabilities:Bank:Cheque:124 ; Report the current balance available to you in your bank -- your ; assets in the bank as of your last statement, minus the obligations ; to pay that you have issued. ; ; % ledger -f HOWTO-reconcile-cheques --end 2017-02-01 balance bank ; $50,000.00 Assets:Bank ; $-20,750.00 Liabilities:Bank:Cheque ; $-750.00 123 ; $-20,000.00 124 ; -------------------- ; $29,250.00 ; When you receive your bank statement, transcribe each cleared cheque ; as a transaction moving funds from Assets:Bank to that cheque number. ; Often you can do this from CSV/QIF/QFX/OFX exports from your bank. 2017-02-25 Bank statement Liabilities:Bank:Cheque:123 $750.00 Assets:Bank ; Use the same report to find which cheques have yet to clear -- your ; building contractor hasn't yet deposited his. ; ; % ledger -f HOWTO-reconcile-cheques --end 2017-03-01 balance bank ; $49,250.00 Assets:Bank ; $-20,000.00 Liabilities:Bank:Cheque:124 ; -------------------- ; $29,250.00 ; ; Note that the total balance in the bank has not changed, but cheque ; 123 is no longer a pending obligation to pay -- the bank has ; transferred funds from your assets to the payee. ; Now you receive next month's bank statement which reports cheque 124 ; clearing. 2017-03-25 Bank statement Liabilities:Bank:Cheque:124 $30,000.00 Assets:Bank ; Again use the same report: ; ; % ledger -f HOWTO-reconcile-cheques --end 2017-04-01 balance bank ; $19,250.00 Assets:Bank ; $10,000.00 Liabilities:Bank:Cheque:124 ; -------------------- ; $29,250.00 ; ; This time you see that cheque 124 is still there, but rather than a ; negative obligation to pay, it is a positive overpayment -- the ; contractor has fraudulently taken more funds than you intended. Now ; it is time to dispute the transaction! ; After resolving the dispute and getting your money back, record your ; new bank statement: 2017-04-25 Bank statement Assets:Bank $10,000.00 Liabilities:Bank:Cheque:124 ; And now there are no longer any pending cheques: ; ; % ledger -f HOWTO-reconcile-cheques --end 2017-05-01 balance bank ; $29,250.00 Assets:Bank ; Copyright (c) 2017 Taylor R Campbell ; CC-BY-SA 4.0 ; ; This work is licensed under a Creative Commons ; Attribution-ShareAlike 4.0 International License: ;