Skip to content

Bank Reconciliation Documentation

Overview

The Bank Reconciliation module (account.bank.reconcile) links bank statement lines with accounting journal entries for reconciliation purposes. This model groups related statement and journal lines together to verify that bank records match accounting records.

Note: This model is marked as deprecated in the source code and may not be actively used in current implementations. The reconciliation functionality is primarily handled through account.statement.line and account.move.line models directly.


Model Information

Model Name: account.bank.reconcile Display Name: Bank Reconciliation Name Field: number (computed) Key Fields: None (auto-increment ID) Status: Deprecated (not actively used)

Features

  • ✅ Links statement lines with journal entries
  • ✅ Balance verification
  • ✅ Unbalanced indicator
  • ✅ Legacy reconciliation support

Key Fields Reference

Relationship Fields

Field Type Description
account_lines One2Many Journal entry lines (account.move.line)
statement_lines One2Many Bank statement lines (account.statement.line)

Computed Fields

Field Type Description
number Char Reconciliation number: "R{id}" or "R{id}*" if unbalanced
total_account Decimal Total from journal entries (debit - credit)
total_statement Decimal Total from statement lines (received - spent)

API Methods

1. Get Total (Computed)

Method: get_total(ids, context={})

Calculates totals from linked lines and generates number.

Returns:

{
    reconcile_id: {
        "total_account": 1000.00,
        "total_statement": 1000.00,
        "number": "R42"  # or "R42*" if unbalanced
    }
}

Balance Indicator: - "R42" - Balanced (totals match) - "R42*" - Unbalanced (asterisk indicates mismatch)


2. Delete Reconciliation

Method: delete(ids, context)

Deletes reconciliation and resets line states.

Behavior: 1. Collects all statement and journal lines 2. Sets all lines to "not_reconciled" 3. Deletes the reconciliation record


Usage Notes

Deprecation Notice

This model is deprecated. Current best practice is to use: - account.statement.line.reconcile() method - Direct Many2Many relationship between statement and journal lines - account.reconcile model for payment/invoice matching

Legacy Support

If your system uses this model: - Balanced reconciliations have matching totals - Unbalanced reconciliations show "*" in number - Deletion clears reconciliation status on lines


Model Relationship Description
account.move.line One2Many Journal entry lines
account.statement.line One2Many Statement transaction lines
account.reconcile Alternative Current reconciliation model

Migration Path

For systems still using this model, consider migrating to:

# Old approach (deprecated)
bank_rec_id = get_model("account.bank.reconcile").create({...})

# New approach (recommended)
# Use statement line reconcile method directly
get_model("account.statement.line").reconcile([st_line_ids])

Version History

Last Updated: 2025-12-16 Model Version: account_bank_reconcile.py Framework: Netforce Status: Deprecated


Additional Resources

  • Statement Line Documentation: account.statement.line
  • Journal Entry Line Documentation: account.move.line
  • Account Reconcile Documentation: account.reconcile

This documentation is generated for developer onboarding and reference purposes.