Skip to content

feat(reconciliation): support held transactions and invoice requests - #428

Draft
PatrickDEissler with Copilot wants to merge 2 commits into
version-16-hotfixfrom
copilot/bank-reconciliation-on-hold-feature
Draft

feat(reconciliation): support held transactions and invoice requests#428
PatrickDEissler with Copilot wants to merge 2 commits into
version-16-hotfixfrom
copilot/bank-reconciliation-on-hold-feature

Conversation

Copilot AI commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Unreconciled transactions awaiting invoices repeatedly appear in Bank Reconciliation Beta. This adds a temporary hold workflow and a direct invoice-request action.

  • On-hold workflow

    • Adds On Hold Until to Bank Transactions.
    • Excludes transactions held through the current date from the reconciliation list.
    • Adds an On Hold action tab for setting the hold deadline.
  • Invoice requests

    • Adds recipient selection for Users, Contacts, and Employees.
    • Sends a standard invoice-request email linked to the Bank Transaction.
    • Optionally applies a hold deadline after sending the request.
  • Configuration

    • Adds Banking Settings controls for automatically holding transactions after invoice requests.
    • Configures the hold threshold in days (default: 7).
if frappe.db.get_single_value("Banking Settings", "automatically_set_on_hold_after_invoice_request"):
    transaction.db_set("on_hold_until", add_days(nowdate(), threshold))

Co-authored-by: PatrickDEissler <77415730+PatrickDEissler@users.noreply.github.com>
Copilot AI changed the title [WIP] Add functionality to set bank transactions on hold feat(reconciliation): support held transactions and invoice requests Aug 31, 2026
Copilot AI requested a review from PatrickDEissler August 31, 2026 15:58
@PatrickDEissler

Copy link
Copy Markdown
Collaborator

Todo

  • Make Recipient Type a link field and Recipient a dynamic link
  • Add a JS and new fields, that fetches the email address from the respective dynamic link -> And show the field (also let it be editable) -> how to fetch email: User = email, Employee = user_id, Contact = email_id
  • Make the doctype and dynamic link field not mandatory, only use them as a help to fetch email addresses. Only the resulting email address for sending requests shall be mandatory
  • Also add a date field (that is pre-calculated based on the On Hold Threshold (from Banking Settings), till when the transaction will be on hold -> This calculated default can be changed/deleted.

NOTE: All feedback is in respect to "Request Invoice". The basic "On Hold" feature is fine.

@PatrickDEissler PatrickDEissler left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Todo

  • Make Recipient Type a link field and Recipient a dynamic link
  • Add a JS and new fields, that fetches the email address from the respective dynamic link -> And show the field (also let it be editable) -> how to fetch email: User = email, Employee = user_id, Contact = email_id
  • Make the doctype and dynamic link field not mandatory, only use them as a help to fetch email addresses. Only the resulting email address for sending requests shall be mandatory
  • Also add a date field (that is pre-calculated based on the On Hold Threshold (from Banking Settings), till when the transaction will be on hold -> This calculated default can be changed/deleted.

NOTE: All feedback is in respect to "Request Invoice". The basic "On Hold" feature is fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bank Reconciliation: Bank Transaction On Hold (and/or request invoice from Employees)

2 participants