Account Payment Batch OCA
This module adds support for payment orders and debit orders.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Create 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
Required by other modules
Menus it adds
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-03Confirmation status: 2 confirmed, 7 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/bank-payment-alternative.
terminal Installation and usage
OCA documentation · Odoo 19.0Configuration
Source · Odoo 19.0This module adds several options on Payment Methods, cf Invoicing/Accounting \> Configuration \> Management \> Payment Methods.
Usage
Source · Odoo 19.0You 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.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.