TIP: You can type at any time to perform a new search.
Account Payment Batch OCA
account_payment_batch_oca · OCA/bank-payment-alternative
- Repository
- OCA/bank-payment-alternative · module folder · Try on Runboat
- Module version
- 2.0.0
- Category
- Banking addons
- Folder size
- 2.81 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/bank-payment-alternative
- Last tracking update
- 2026-08-07 09:06:26
- Authors
- Akretion, ACSONE SA/NV, Odoo Community Association (OCA), Therp BV, Tecnativa
- Maintainers
- Akretion, ACSONE SA/NV, Odoo Community Association (OCA), Therp BV, Tecnativa
- Committers
- Alexis de Lattre, Weblate, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- account_payment_discount, account_payment_fr_lcr, account_payment_mandate, account_payment_sepa_base
- Description
This module adds support for payment orders and debit orders.
Code Analysis ⓘ
Views touched (23)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_payment_line_create_form |
account_payment_line_create.form | account.payment.line.create | form | New |
account_payment_line_form |
account.payment.line.form | account.payment.line | form | New |
account_payment_line_form_readonly |
account.payment.line.form.readonly | account.payment.line | form | Inherits account_payment_batch_oca.account_payment_line_form |
account_payment_line_tree |
account.payment.line.list | account.payment.line | list | New |
account_payment_lot_form |
account.payment.lot | form | New | |
account_payment_lot_list |
account.payment.lot | list | New | |
account_payment_lot_search |
account.payment.lot | search | New | |
account_payment_method_form_view |
account.payment.method | form | Inherits account_payment_base_oca.account_payment_method_form | |
account_payment_method_line_form |
account.payment.method.line | form | Inherits account_payment_base_oca.account_payment_method_line_form | |
account_payment_method_line_search |
account.payment.method.line | search | Inherits account_payment_base_oca.account_payment_method_line_search | |
account_payment_method_list |
account.payment.method | list | Inherits account_payment_base_oca.account_payment_method_list | |
account_payment_order_form |
account.payment.order.form | account.payment.order | form | New |
account_payment_order_graph |
account.payment.order.graph | account.payment.order | graph | New |
account_payment_order_pivot |
account.payment.order.pivot | account.payment.order | pivot | New |
account_payment_order_search |
account.payment.order.search | account.payment.order | search | New |
account_payment_order_tree |
account.payment.order.list | account.payment.order | list | New |
print_account_payment_order_document |
print_account_payment_order_document | ir.ui.view | qweb | New |
print_account_payment_order_main |
print_account_payment_order_main | ir.ui.view | qweb | New |
view_account_payment_form |
account.payment.form | account.payment | form | Inherits account.view_account_payment_form |
view_account_payment_method_line_tree |
account.payment.method.line | tree | Inherits account_payment_base_oca.view_account_payment_method_line_tree | |
view_account_payment_tree_payment_order |
account.payment.tree | account.payment | tree | Inherits account.view_account_payment_tree |
view_invoice_tree |
account_payment_order.view_invoice_tree | account.move | tree | Inherits account.view_invoice_tree |
view_move_form |
account_payment_order.view_move_form | account.move | form | Inherits account_payment_base_oca.view_move_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (9)
New fields (3)
-
payment_line_countIntegercompute='_compute_payment_line_count' -
payment_order_okBooleanrelated='preferred_payment_method_line_id.payment_order_ok' -
reference_typeSelectiondefault='free'readonly=Trueselection=[('free', 'Free Reference'), ('structured', 'Structured Reference')]
-
action_payment_lines(self) -
create_account_payment_line(self)
New fields (1)
-
payment_line_idsOne2many → account.payment.linecheck_company=Truecomodel_name='account.payment.line'inverse_name='move_line_id'string='Payment Lines'
-
create_payment_line_from_move_line(self, payment_order)
New fields (4)
-
order_stateSelectionrelated='payment_order_id.state'string='Payment Order State' -
payment_line_idsMany2many → account.payment.linecomodel_name='account.payment.line'readonly=True -
payment_lot_idMany2one → account.payment.lotcomodel_name='account.payment.lot'readonly=True -
payment_order_idMany2one → account.payment.ordercomodel_name='account.payment.order'readonly=True
No public methods.
New fields (22)
-
amount_company_currencyMonetarycompute='_compute_amount_company_currency'currency_field='company_currency_id'store=Truestring='Amount in Company Currency' -
amount_currencyMonetarycompute='_compute_payment_line'currency_field='currency_id'precompute=Truereadonly=Falsestore=Truestring='Amount' -
bank_account_requiredBooleanrelated='order_id.payment_method_id.bank_account_required' -
communicationCharcompute='_compute_payment_line'help='Label of the payment that will be seen by the destinee'precompute=Truereadonly=Falserequired=Falsestore=True -
communication_typeSelectioncompute='_compute_payment_line'precompute=Truereadonly=Falserequired=Trueselection=[('free', 'Free'), ('structured', 'Structured')]store=True -
company_currency_idMany2onerelated='order_id.company_currency_id'store=True -
company_idMany2onerelated='order_id.company_id'store=True -
currency_idMany2one → res.currencycomodel_name='res.currency'compute='_compute_payment_line'precompute=Truereadonly=Falserequired=Truestore=Truestring='Currency of the Payment Transaction' -
dateDatestring='Payment Date' -
mail_notifBooleanrelated='order_id.payment_method_line_id.mail_notif' -
mail_notif_partner_idMany2one → res.partnercompute='_compute_mail_notif_partner_id'domain="[('email', '!=', False), '|', ('parent_id', '=', partner_id), ('id', '=', partner_id)]"precompute=Truereadonly=Falsestore=Truestring='Partner to Notify' args: 'res.partner' -
ml_maturity_dateDaterelated='move_line_id.date_maturity' -
move_line_idMany2one → account.move.linecheck_company=Truecomodel_name='account.move.line'domain="[('reconciled','=', False), ('account_id.reconcile', '=', True), ('partner_id', '!=', False)]"ondelete='restrict'string='Journal Item' -
nameCharcopy=Falsereadonly=Truestring='Payment Reference' -
order_idMany2one → account.payment.ordercheck_company=Truecomodel_name='account.payment.order'index=Trueondelete='cascade'string='Payment Order' -
partner_bank_acc_typeSelectionrelated='partner_bank_id.acc_type'string='Bank Account Type' -
partner_bank_allow_out_paymentBooleanrelated='partner_bank_id.allow_out_payment'store=True -
partner_bank_idMany2one → res.partner.bankcheck_company=Truecomodel_name='res.partner.bank'compute='_compute_partner_bank_id'ondelete='restrict'precompute=Truereadonly=Falserequired=Falsestore=Truestring='Partner Bank Account' -
partner_idMany2one → res.partnercheck_company=Truecomodel_name='res.partner'compute='_compute_payment_line'domain=[('parent_id', '=', False)]precompute=Truereadonly=Falserequired=Truestore=True -
payment_idsMany2many → account.paymentcomodel_name='account.payment'readonly=Truestring='Payment transaction' -
payment_typeSelectionrelated='order_id.payment_type'store=True -
stateSelectionrelated='order_id.state'store=True
-
action_open_related_move(self) -
create(self, vals_list)@api.model_create_multi
New fields (11)
-
date_typeSelectionrequired=Trueselection=[('due', 'Due Date'), ('move', 'Move Date')]string='Type of Date Filter' -
due_dateDate -
eligible_move_line_idsMany2many → account.move.linecomodel_name='account.move.line'compute='_compute_eligible_move_line_ids'string='Eligible Journal Items' -
invoiceBooleanstring='Linked to an Invoice or Refund' -
journal_idsMany2many → account.journalcomodel_name='account.journal'string='Journals Filter' -
move_dateDatedefault=fields.Date.context_today -
move_line_idsMany2many → account.move.linecomodel_name='account.move.line'domain="[('id', 'in', eligible_move_line_ids)]"string='Journal Items' -
order_idMany2one → account.payment.ordercomodel_name='account.payment.order'string='Payment Order' -
partner_idsMany2many → res.partnercomodel_name='res.partner'domain=[('parent_id', '=', False)]string='Partners' -
payment_modeSelectionselection=[('same', 'Same'), ('same_or_null', 'Same or Empty'), ('any', 'Any')]string='Payment Method' -
target_moveSelectionselection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]string='Target Moves'
-
create_payment_lines(self) -
default_get(self, field_list)@api.model -
populate(self)
New fields (11)
-
amountMonetarycompute='_compute_payment_lot'store=True -
company_idMany2onerelated='order_id.company_id'store=True -
currency_idMany2one → res.currencyreadonly=True args: 'res.currency' -
dateDatereadonly=Truerequired=Truestring='Execution Date' -
journal_idMany2onerelated='order_id.journal_id'store=True -
nameCharreadonly=Truerequired=True -
order_idMany2one → account.payment.ordercheck_company=Truecomodel_name='account.payment.order'index=Trueondelete='cascade'readonly=Truerequired=Truestring='Payment Order' -
payment_countIntegercompute='_compute_payment_lot'store=True -
payment_idsOne2many → account.paymentargs: 'account.payment', 'payment_lot_id' -
payment_typeSelectionrelated='order_id.payment_type'store=True -
stateSelectionrelated='order_id.state'store=True
No public methods.
New fields (1)
-
payment_order_okBooleanhelp='Check this option for payment methods designed to be used in payment orders.'string='Payment Orders'
No public methods.
New fields (12)
-
default_date_preferedSelectioncompute='_compute_default_date_prefered'precompute=Truereadonly=Falseselection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]store=Truestring='Default Payment Execution Date' -
default_date_typeSelectiondefault='due'selection=[('due', 'Due'), ('move', 'Move')]string='Type of Date Filter' -
default_invoiceBooleandefault=Falsestring='Linked to an Invoice or Refund' -
default_journal_idsMany2many → account.journalcheck_company=Truecomodel_name='account.journal'compute='_compute_default_journal_ids'domain="[('company_id', '=', company_id)]"precompute=Truereadonly=Falsestore=Truestring='Journals Filter' -
default_payment_modeSelectiondefault='same'selection=[('same', 'Same'), ('same_or_null', 'Same or empty'), ('any', 'Any')]string='Payment Method on Invoice' -
default_target_moveSelectiondefault='posted'selection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]string='Target Journal Items' -
group_linesBooleandefault=Truehelp="If this mark is checked, the transaction lines of the payment order will be grouped upon confirmation of the payment order.The grouping will be done only if the following fields matches:\n* Partner\n* Currency\n* Destination Bank Account\n* Payment Date\nand if the 'Communication Type' is 'Free'\n(other modules can set additional fields to restrict the grouping.)"string='Group Transactions in Payment Orders' -
mail_notifBooleanhelp='If enabled, Odoo will automatically notify the partner by email when the payment/debit order file is successfully uploaded.'string='Notify by Email' -
mail_partner_policySelectiondefault='invoice_partner'help='This configuration parameter will decide which partner is auto-configured as partner to notify on the payment/debit transaction. You can always manually change the partner to notify on the payment/debit transaction when the payment/debit order is in draft state.'string='Partner to Notify' args: [('invoice_partner', 'Partner of the Invoice'), ('last_payment', 'Last Payment'), ('parent', 'Parent Partner'), ('invoice_contact', 'First Invoice Contact'), ('manual', 'Manual')] -
no_debit_before_maturityBooleandefault=Truehelp='If you activate this option on an Inbound payment method, you will have an error message when you confirm a debit order that has a payment line with a payment date before the maturity date.'string='Disallow Debit Before Maturity Date' -
payment_order_okBooleancompute='_compute_payment_order_ok'precompute=Truereadonly=Falsestore=Truestring='Selectable on Payment Orders' -
specific_sequence_idMany2one → ir.sequencecheck_company=Truecopy=Falsehelp='If left empty, the payment orders with this payment method will use the generic sequence for all payment orders.' args: 'ir.sequence'
No public methods.
New fields (30)
-
allowed_journal_idsMany2many → account.journalcomodel_name='account.journal'compute='_compute_allowed_journal_ids'string='Allowed journals' -
bank_account_linkSelectionrelated='payment_method_line_id.bank_account_link' -
company_currency_idMany2onerelated='company_id.currency_id'store=True -
company_idMany2one → res.companydefault=<expr>index=Trueondelete='cascade'required=True args: 'res.company' -
company_partner_bank_idMany2onerelated='journal_id.bank_account_id'string='Company Bank Account' -
date_generatedDatereadonly=Truestring='File Generation Date' -
date_preferedSelectioncompute='_compute_date_prefered'precompute=Truerequired=Trueselection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]store=Truestring='Payment Execution Date Type'tracking=True -
date_scheduledDatehelp="Select a requested date of execution if you selected 'Due Date' as the Payment Execution Date Type."string='Payment Execution Date'tracking=True -
date_uploadedDatereadonly=Truestring='File Upload Date' -
descriptionChar -
journal_idMany2one → account.journalcheck_company=Truecomodel_name='account.journal'compute='_compute_journal_id'domain="[('id', 'in', allowed_journal_ids)]"ondelete='restrict'precompute=Truestore=Truestring='Bank Journal'tracking=True -
mail_notifBooleanrelated='payment_method_line_id.mail_notif' -
nameCharcopy=Falsedefault=<expr>readonly=Truestring='Reference' -
payment_countIntegercompute='_compute_payment_count'store=Truestring='Number of Payment Transactions' -
payment_file_datasBinaryrelated='payment_file_id.datas'string='Payment File' -
payment_file_idMany2one → ir.attachmentstring='Payment File Attachment' args: 'ir.attachment' -
payment_file_nameCharrelated='payment_file_id.name'string='Payment Filename' -
payment_idsOne2many → account.paymentcomodel_name='account.payment'inverse_name='payment_order_id'readonly=Truestring='Payment Transactions' -
payment_line_idsOne2many → account.payment.linecomodel_name='account.payment.line'inverse_name='order_id'string='Transactions' -
payment_lot_countIntegercompute='_compute_payment_lot_count'store=Truestring='Number of Lots' -
payment_lot_idsOne2many → account.payment.lotcomodel_name='account.payment.lot'inverse_name='order_id'readonly=True -
payment_method_codeCharrelated='payment_method_line_id.payment_method_id.code'store=True -
payment_method_idMany2one → account.payment.methodcomodel_name='account.payment.method'related='payment_method_line_id.payment_method_id'store=True -
payment_method_line_idMany2one → account.payment.method.linecheck_company=Truecomodel_name='account.payment.method.line'domain="[('payment_order_ok', '=', True), ('payment_type', '=', payment_type), ('company_id', '=', company_id)]"index=Trueondelete='restrict'required=Truestring='Payment Method'tracking=True -
payment_typeSelectionreadonly=Truerequired=Trueselection=[('inbound', 'Inbound'), ('outbound', 'Outbound')] -
search_partner_idMany2onerelated='payment_line_ids.partner_id'string='Partner' -
stateSelectioncopy=Falsedefault='draft'index=Truereadonly=Trueselection=[('draft', 'Draft'), ('open', 'Confirmed'), ('generated', 'File Generated'), ('uploaded', 'File Uploaded'), ('cancel', 'Cancel')]string='Status'tracking=True -
total_company_currencyMonetarycompute='_compute_total'currency_field='company_currency_id'store=True -
untrusted_bank_account_countIntegercompute='_compute_untrusted_bank_accounts' -
untrusted_bank_account_idsMany2many → res.partner.bankcompute='_compute_untrusted_bank_accounts' args: 'res.partner.bank'
-
action_cancel(self) -
action_open_invoices(self) -
action_open_payments(self) -
action_open_untrusted_accounts(self) -
cancel2draft(self) -
create(self, vals_list)@api.model_create_multi -
draft2open(self)Called when you click on the 'Confirm' button Set the 'date' on payment line depending on the 'date_prefered' of the order Generate the account payments and lots -
generate_payment_file(self)Returns (payment file as bytes, filename extension without the dot) -
generated2uploaded(self) -
open2generated(self)
Loading…