Skip to content

Connection button validation#132

Merged
Bhavan23 merged 2 commits intoversion-16-devfrom
connection-button-validation
Mar 11, 2026
Merged

Connection button validation#132
Bhavan23 merged 2 commits intoversion-16-devfrom
connection-button-validation

Conversation

@l0gesh29
Copy link
Member

@l0gesh29 l0gesh29 commented Mar 11, 2026

Summary by CodeRabbit

Release Notes

  • New Features

    • Introduced India Banking Connector with enhanced payment management and status tracking.
    • Added Unreconcile Bank Payment feature for flexible payment reconciliation.
    • Launched dedicated India Banking page with bank account and connection management dashboard.
    • Added bank account approval workflow and unique account number validation.
    • Extended bulk transaction support to IDFC First Bank.
  • Improvements

    • Enhanced bank account validation with automatic bank details retrieval and character validation.
    • Improved payment order processing with refined term allocation logic.
  • Removed

    • Discontinued Bank Connector DocType (replaced by India Banking Connector).
    • Removed Adhoc Payment Request feature and Payment Type management.

@coderabbitai
Copy link

coderabbitai bot commented Mar 11, 2026

Caution

Review failed

Pull request was closed or merged during review

Warning

Ignoring CodeRabbit configuration file changes. For security, only the configuration from the base branch is applied for open source repositories.

📝 Walkthrough

Walkthrough

This PR refactors the India Banking module to remove the Bank Payment Request and Payment Type doctypes, replace Bank Connector with India Banking Connector, add Unreconcile Bank Payment workflow, introduce comprehensive bank account validation with branch code lookup, deprecate Adhoc Payment Requests, and create a new Vue-based India Banking UI page with connected/available bank cards. Additionally, it adds extensive test suites, updates payment processing workflows, and reconfigures background job scheduling.

Changes

Cohort / File(s) Summary
Configuration & Initialization
.coderabbit.yml, .gitignore, commitlint.config.js, india_banking/patches.txt
Adds CodeRabbit configuration, updates gitignore entries, introduces conventional commit linting rules, and registers new database patches.
GitHub Configuration
.github/CODEOWNERS, .github/labeler.yml, .github/helper/*
Defines codeowners for India Banking directories, adds labeler rules for test coverage, and introduces helper scripts for installation and site configuration.
CI/CD Workflows
.github/workflows/build_image.yml, .github/workflows/ci.yml, .github/workflows/linters.yml, .github/workflows/labeller.yml, .github/workflows/stale.yml
Adds container image building, CI pipeline with test matrix, linting/commitlint checks, PR labeling automation, and stale issue/PR management.
Removed DocTypes
india_banking/india_banking/doctype/bank_payment_request/*, india_banking/india_banking/doctype/payment_type/*, india_banking/india_banking/doctype/bank_connector/bank_connector.json
Removes Bank Payment Request doctype (schema, Python, JS, tests) and Payment Type doctype (schema, Python, JS, tests); removes legacy Bank Connector schema.
Bank Connector Replacement
india_banking/india_banking/doctype/india_banking_connector/india_banking_connector.json, india_banking/india_banking/doctype/india_banking_connector/india_banking_connector.py, india_banking/india_banking/doctype/india_banking_connector/india_banking_connector.js, india_banking/india_banking/doctype/india_banking_connector/test_india_banking_connector.py
Adds new India Banking Connector doctype with UI toggle for bulk transactions, replaces bank connector references throughout codebase, includes schema, backend logic, client script, and integration tests.
New Unreconcile Workflow
india_banking/india_banking/doctype/unreconcile_bank_payment/unreconcile_bank_payment.json, india_banking/india_banking/doctype/unreconcile_bank_payment/unreconcile_bank_payment.py, india_banking/india_banking/doctype/unreconcile_bank_payment/unreconcile_bank_payment.js, india_banking/india_banking/doctype/unreconcile_bank_payment/test_unreconcile_bank_payment.py
Introduces new doctype to unreconcile bank payment allocations with validation, reference aggregation, and Payment Entry/Request unlink workflows.
Bank Payment Allocation
india_banking/india_banking/doctype/bank_payment_allocation/bank_payment_allocation.json, india_banking/india_banking/doctype/bank_payment_allocation/bank_payment_allocation.py
Adds new tabular doctype for tracking party, reference, and payment allocation details linked to Payment Requests.
Bank Account Enhancement
india_banking/india_banking/doc_events/bank_account/bank_account.py, india_banking/india_banking/doc_events/bank_account/test_bank_account.py, india_banking/public/js/bank_account.js
Adds comprehensive validation (IFSC format, special characters, unique account numbers), whitespace normalization, external bank details lookup from Razorpay IFSC API, and redesigned UI with bank details rendering and dynamic badges.
Bank Model & Tests
india_banking/india_banking/doc_events/bank/bank.py, india_banking/india_banking/doc_events/bank/test_bank.py
Updates frappe.throw keyword argument usage and adds test to restrict deletion of standard banks.
Default Data & Constants
india_banking/default.py
Adds BULK_TRANSACTION_ENABLED_BANK list, BANK_CARD_COLORS mapping, and updates STD_BANK_LIST and DEFAULT_MODE_OF_TRANSFERS with IDFC First Bank.
API Endpoints
india_banking/api.py, india_banking/utils.py
Adds whitelisted API functions to fetch standard banks and connected bank accounts with branding details; adds get_bulk_transaction_banks() function.
Settings & Hooks
india_banking/hooks.py, india_banking/india_banking/doctype/india_banking_settings/india_banking_settings.json, india_banking/india_banking/doctype/india_banking_settings/india_banking_settings.py
Configures dashboard overrides, log clearing, ignored link deletion, doctype event hooks; simplifies settings schema and replaces cron/series validation with custom app priority validation.
Payment Processing Refactor
india_banking/india_banking/doc_events/payment_order.py, india_banking/overrides/payment_order.py, india_banking/india_banking/doc_events/payment_request/payment_request.py, india_banking/overrides/payment_request/payment_request.py
Refactors payment term allocation to use query builder and template-driven splits; adds A2A transfer mode auto-assignment; simplifies Payment Request validation, removes TDS/tax calculations, deprecates payment_type field, and adds party account validation.
Journal Entry & Payment Entry Overrides
india_banking/overrides/journal_entry.py, india_banking/overrides/payment_entry.py
Refactors journal entry validation to remove bank account joins, adds auto-assignment of default bank accounts for parties, updates setting flag names; simplifies payment entry reference handling with hard-coded values.
Test Suites
india_banking/india_banking/doc_events/payment_request/test_payment_request.py, india_banking/overrides/payment_request/test_payment_request.py
Adds naming series tests for Payment Request and comprehensive override tests covering defaults, references, GST payables, bank account validation, and party account checks.
Unreconcile Payment Event Handler
india_banking/india_banking/doc_events/unreconcile_payment.py
Adds early return when voucher_type is not Payment Entry or when processing from Payment Order.
Request Log Management
india_banking/india_banking/doctype/india_banking_request_log/india_banking_request_log.py
Adds static method to clear logs older than specified days interval.
Task Scheduling
india_banking/tasks.py
Refactors background jobs to iterate per-connector instead of global settings, adds connector-scoped conditions, and updates batch processing with explicit batch size parameter.
Installation & Patches
india_banking/install.py, india_banking/uninstall.py, india_banking/patches/v15_0/*, india_banking/patches/v16_0/*
Removes default payment type creation, simplifies custom field management for Payment Request and Bank Account, removes deprecated cron schedule patch, adds field deprecation and bank details fetching patches.
Report Updates
india_banking/india_banking/report/bank_gst_payables/bank_gst_payables.py, india_banking/india_banking/report/bulk_create_payment_request/bulk_create_payment_request.py
Removes payment_type field assignment from Payment Request payloads in both single and bulk report flows.
Frontend UI Page
india_banking/india_banking/page/india_banking/india_banking.js, india_banking/india_banking/page/india_banking/india_banking.json
Adds new India Banking page with lifecycle handlers, UI loading, and optional hot reload in developer mode.
Vue Components
india_banking/public/js/india_banking/IndiaBanking.vue, india_banking/public/js/india_banking/components/*, india_banking/public/js/india_banking/globals.js, india_banking/public/js/india_banking/india_banking.bundle.js
Introduces Vue 3 components for available/connected bank cards, bank logo display, skeleton loaders, doctype links, and main IndiaBanking app with Pinia store integration and global component registration.
Client Scripts
india_banking/public/js/payment_order.js, india_banking/public/js/payment_request.js, india_banking/public/js/payment_request_list.js
Updates Payment Order with unlink allocation dialog and setup hook; removes payment_type field query from Payment Request and adds deprecation warning; replaces Adhoc Payment Request creation button with deprecation notice on list view.
Test Setup Utilities
india_banking/setup/utils.py
Adds comprehensive test fixture builders for company, bank account, supplier, item, and address creation, plus GSTCompanySetup orchestrator for GST-enabled test environments.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Possibly related PRs

  • feat: add h2h support #107: Modifies India Banking Connector configuration and bank-specific integration modes; overlaps with default.py bank list changes and connector schema refactoring.
  • feat(bank-account): fetch branch details using branch code #128: Adds/refactors get_bank_details_from_branch_code and bank_details_json population in bank_account module and UI rendering; directly overlaps with branch code lookup and bank details JSON features.
  • fix: deprecate adhoc payment request #112: Removes/deprecates Adhoc Payment Request and Bank Payment Request flows; overlaps with doctype removal, client script deprecation, and payment_request override changes.

Suggested reviewers

  • Bhavan23
  • Vigneshsekar
  • venkat102

🐰 Hops with glee at this grand refactor,
Bank Connectors dance to a new name,
Where branch codes fetch treasures of data,
And unreconciled payments find frame,
Vue components paint banks in the sky! ✨🏦

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch connection-button-validation

@l0gesh29 l0gesh29 changed the base branch from develop to version-16-dev March 11, 2026 07:41
Bhavan23
Bhavan23 previously approved these changes Mar 11, 2026
Copy link
Collaborator

@Bhavan23 Bhavan23 left a comment

Choose a reason for hiding this comment

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

Good to go

@Bhavan23 Bhavan23 merged commit 37e19cc into version-16-dev Mar 11, 2026
3 of 5 checks passed
This was referenced Mar 23, 2026
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.

2 participants