Skip to content

[Feature Request] Flexible Auto-Matching: Amount & Date Proximity (without mandatory Reference) #121

@azurre931

Description

@azurre931

Context
Currently, ERPNext’s native auto-reconciliation logic in bank_reconciliation_tool.py is strictly dependent on a matching reference number. If frappe.flags.auto_reconcile_vouchers is true, the system enforces a ref_condition in the SQL queries, making it impossible to auto-reconcile transactions where references differ.

In many modern workflows (especially with Payment API), the internal document reference (e.g., PE-0001) does not match the bank statement reference (e.g., TRF-X992J), even if the Amount and Date are an exact match.

Proposed Feature for Mint
I suggest that Mint introduces a more flexible "Auto-Match" engine that allows for reconciliation based on a Confidence Score rather than a strict reference check.

Key Improvements

  1. Configurable Matching Rules: Allow users to prioritize "Amount + Date" matches over "Reference" matches.
  2. Date Proximity Window: Since bank transactions often clear 1-3 days after the entry is created in ERPNext, allow a configurable "Date Proximity" (e.g., +/- 3 days).
  3. Smart Ranking: Use the existing ranking logic but make the reference_no match an optional "bonus" to the score rather than a mandatory filter.
  4. API-Friendly: This is crucial for users with high-volume automated transactions where bank references are often non-standardized.

Why this belongs in Mint
Mint is becoming the new standard for Banking in ERPNext. By allowing auto-reconciliation without a mandatory reference, Mint can solve a major pain point that remains unaddressed in the core bank_reconciliation_tool. This would save accounting teams hours of manual "clicks" for transactions that are obvious matches.

Use Case
Our company receives automated payments via API. The API generates a specific internal reference, but the bank statement displays a generic transaction ID. Currently, we must manually reconcile hundreds of transactions despite having exact matches for the amount and date. This feature would automate the process and significantly reduce manual accounting overhead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions