OdooWiki OCA HUB

Account Payment Batch OCA

account_payment_batch_oca folder_open OCA/bank-payment-alternative open_in_new
Banking addons License: AGPL-3

This module adds support for payment orders and debit orders.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Create and manage payment orders and debit orders in Odoo, grouping invoice journal items into payment lines, generating bank files, and tracking the whole process from draft to uploaded.

This module lets accounting users prepare batches of payments (outbound) and debit orders (inbound) instead of paying invoices one by one. From an invoice you can create payment lines that are collected into a payment order, or use the wizard 'Create Transactions from Journal Items' to pick eligible journal items by journal, partner, date and target entries.

Payment orders appear under the Payables and Receivables menus and follow a clear status flow: Draft, Confirmed, File Generated, File Uploaded and Cancel, with buttons to confirm, generate the payment file, mark it as uploaded, cancel or reset to draft. Each order shows its payment method, bank journal, execution date type, totals, number of lots and payment transactions, and a printable Payment/Debit Order report.

Business rules are enforced: invoices must be posted and have a payment method flagged for payment orders; the same invoice cannot be added twice; bank accounts are required when the method demands it and must belong to the right partner; untrusted bank accounts block outbound payments; debit orders can be blocked before maturity date; and email notifications can be sent to a chosen partner when the file is uploaded. Payment lines are grouped into lots and then into actual payments, and multi-company rules keep records separated per company.

Depends on

Menus it adds

account_payment_order_outbound_menuaccount_payment_order_inbound_menu
Models and fields (9)
  • account.move · extends an existing modelreference_type, payment_order_ok, payment_line_count
  • account.payment · extends an existing modelorder_state (Payment Order State), payment_lot_id, payment_line_ids, payment_order_id
  • account.move.line · extends an existing modelpayment_line_ids (Payment Lines)
  • account.payment.lot · new modeldate (Execution Date), name, state, amount, order_id (Payment Order), company_id, journal_id, currency_id, payment_ids, payment_type, payment_count
  • account.payment.line · new modeldate (Payment Date), name (Payment Reference), state, order_id (Payment Order), company_id, mail_notif, partner_id, currency_id (Currency of the Payment Transaction), payment_ids (Payment transaction), move_line_id (Journal Item), payment_type, communication, amount_currency (Amount), partner_bank_id (Partner Bank Account), ml_maturity_date, communication_type, company_currency_id, bank_account_required, mail_notif_partner_id (Partner to Notify), partner_bank_acc_type (Bank Account Type), amount_company_currency (Amount in Company Currency), partner_bank_allow_out_payment
  • account.payment.order · new modelname (Reference), state (Status), company_id, journal_id (Bank Journal), mail_notif, description, payment_ids (Payment Transactions), payment_type, date_prefered (Payment Execution Date Type), date_uploaded (File Upload Date), payment_count (Number of Payment Transactions), date_generated (File Generation Date), date_scheduled (Payment Execution Date), payment_file_id (Payment File Attachment), payment_lot_ids, payment_line_ids (Transactions), bank_account_link, payment_file_name (Payment Filename), payment_lot_count (Number of Lots), payment_method_id, search_partner_id (Partner), payment_file_datas (Payment File), allowed_journal_ids (Allowed journals), company_currency_id, payment_method_code, payment_method_line_id (Payment Method), total_company_currency, company_partner_bank_id (Company Bank Account), untrusted_bank_account_ids, untrusted_bank_account_count
  • account.payment.method · extends an existing modelpayment_order_ok (Payment Orders)
  • account.payment.line.create · new modelinvoice (Linked to an Invoice or Refund), due_date, order_id (Payment Order), date_type (Type of Date Filter), move_date, journal_ids (Journals Filter), partner_ids (Partners), target_move (Target Moves), payment_mode (Payment Method), move_line_ids (Journal Items), eligible_move_line_ids (Eligible Journal Items)
  • account.payment.method.line · extends an existing modelmail_notif (Notify by Email), group_lines (Group Transactions in Payment Orders), default_invoice (Linked to an Invoice or Refund), payment_order_ok (Selectable on Payment Orders), default_date_type (Type of Date Filter), default_journal_ids (Journals Filter), default_target_move (Target Journal Items), mail_partner_policy (Partner to Notify), default_payment_mode (Payment Method on Invoice), specific_sequence_id, default_date_prefered (Default Payment Execution Date), no_debit_before_maturity (Disallow Debit Before Maturity Date)

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 2 confirmed, 7 with no information of 9 versions.

Sources · Odoo 19.0

Confirmed on 2026-11-03 in branch 19.0 of OCA/bank-payment-alternative.

terminal Installation and usage

OCA documentation · Odoo 19.0

This module adds several options on Payment Methods, cf Invoicing/Accounting \> Configuration \> Management \> Payment Methods.

You can create a Payment order via the menu Invoicing/Accounting \> Vendors \> Payment Orders and then select the move lines to pay.

You can create a Debit order via the menu Invoicing/Accounting \> Customers \> Debit Orders and then select the move lines to debit.

This module also adds an action Add to Payment Order on supplier invoices and Add to Debit Order on customer invoices.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.