1 Test 1: General balance Check the balance: Debit sum = Credit sum 2 Test 2: Opening a fiscal year Check if the balance of the new opened fiscal year matches with last year's balance 3 Test 3: Movement lines Check if movement lines are balanced and have the same date and period 0 or am.period_id!=ml.period_id or (am.date!=ml.date) """ cr.execute(sql) res = cr.dictfetchall() if res: res.insert(0,_('* The test failed for these movement lines:')) result = res ]]> 4 Test 4: Totally reconciled mouvements Check if the totally reconciled movements are balanced 0", (record['reconcile_id'],)) reconcile_ids=cr.dictfetchall() if reconcile_ids: res.append(', '.join(["Reconcile name: %(name)s, id=%(id)s " % r for r in reconcile_ids])) result = res if result: result.insert(0,_('* The test failed for these reconciled items(id/name):')) ]]> 5 Test 5.1 : Payable and Receivable accountant lines of reconciled invoices Check that reconciled invoice for Sales/Purchases has reconciled entries for Payable and Receivable Accounts 6 Test 5.2 : Reconcilied invoices and Payable/Receivable accounts Check that reconciled account moves, that define Payable and Receivable accounts, are belonging to reconciled invoices 7 Test 6 : Invoices status Check that paid/reconciled invoices are not in 'Open' state 8 Test 7: « View  » account type Check that there's no move for any account with « View » account type 9 Test 8 : Closing balance on bank statements Check on bank statement that the Closing Balance = Starting Balance + sum of statement lines 0.000000001;") result = cr.dictfetchall() if result: result.insert(0,_('* Unbalanced bank statement that need to be checked: ')) ]]> 10 Test 9 : Accounts and partners on account moves Check that general accounts and partners on account moves are active