TIP: You can type at any time to perform a new search.
Account Banking PAIN Base Module
account_banking_pain_base · OCA/bank-payment
- Repository
- OCA/bank-payment · module folder · Try on Runboat
- Module version
- 1.1.1
- Category
- Hidden
- Folder size
- 0.73 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/bank-payment
- Last tracking update
- 2026-08-07 09:06:34
- Authors
- Noviat, Akretion, Odoo Community Association (OCA), Therp BV, Tecnativa
- Maintainers
- Noviat, Akretion, Odoo Community Association (OCA), Therp BV, Tecnativa
- Committers
- Pedro M. Baeza, Weblate, OCA-git-bot, oca-ci, Andrii9090-tecnativa, arantxa-s73
- Odoo dependencies
- Python dependencies
- lxml, unidecode
- System dependencies
- None
- Required by
- account_banking_sepa_credit_transfer, account_banking_sepa_direct_debit
- Description
This module contains fields and functions that are used by the module for SEPA Credit Transfer (account_banking_sepa_credit_transfer) and SEPA Direct Debit (account_banking_sepa_direct_debit). This module doesn't provide any functionality by itself. This module was started during the Akretion-Noviat code sprint of November 21st 2013 in Epiais les Louvres (France).
Code Analysis ⓘ
Views touched (7)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_payment_line_form |
pain.base.account.payment.line | account.payment.line | form | Inherits account_payment_order.account_payment_line_form |
account_payment_line_tree |
pain.base.account.payment.tree | account.payment.line | tree | Inherits account_payment_order.account_payment_line_tree |
account_payment_method_form |
pain_base.account_payment_method.form | account.payment.method | form | Inherits account_payment_mode.account_payment_method_form |
account_payment_method_tree |
pain_base.account_payment_method.tree | account.payment.method | tree | Inherits account_payment_mode.account_payment_method_tree |
account_payment_mode_form |
pain_base.account.payment.mode.form | account.payment.mode | form | Inherits account_payment_order.account_payment_mode_form |
account_payment_order_form |
pain.base.account.payment.order.form | account.payment.order | form | Inherits account_payment_order.account_payment_order_form |
view_account_config_settings |
pain.group.on.account.config.settings | res.config.settings | form | Inherits account.res_config_settings_view_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (7)
New fields (6)
-
category_purposeSelectionhelp='If neither your bank nor your local regulations oblige you to set the category purpose, leave the field empty.' args: [('BONU', 'Bonus Payment'), ('CASH', 'Cash Management Transfer'), ('CBLK', 'Card Bulk Clearing'), ('CCRD', 'Credit Card Payment'), ('CORT', 'Trade Settlement Payment'), ('DCRD', 'Debit Card Payment'), ('DIVI', 'Dividend'), ('DVPM', 'Deliver Against Payment'), ('EPAY', 'ePayment'), ('FCOL', 'Fee Collection'), ('GOVT', 'Government Payment'), ('HEDG', 'Hedging'), ('ICCP', 'Irrevocable Credit Card Payment'), ('IDCP', 'Irrevocable Debit Card Payment'), ('INTC', 'Intra-Company Payment'), ('INTE', 'Interest'), ('LOAN', 'Loan'), ('OTHR', 'Other Payment'), ('PENS', 'Pension Payment'), ('RVPM', 'Receive Against Payment'), ('SALA', 'Salary Payment'), ('SECU', 'Securities'), ('SSBE', 'Social Security Benefit'), ('SUPP', 'Supplier Payment'), ('TAXS', 'Tax Payment'), ('TRAD', 'Trade'), ('TREA', 'Treasury Payment'), ('VATX', 'VAT Payment'), ('WHLD', 'WithHolding')] -
communicationCharsize=140 -
communication_typeSelectionondelete={'ISO': 'cascade'}selection_add=[('ISO', 'ISO')] -
local_instrumentSelectionargs: [] -
prioritySelectiondefault='NORM'help="This field will be used as 'Instruction Priority' in the generated PAIN file." args: [('NORM', 'Normal'), ('HIGH', 'High')] -
purposeSelectionhelp='If neither your bank nor your local regulations oblige you to set the category purpose, leave the field empty.'selection=[('ACCT', 'Account Management'), ('CASH', 'Cash Management Transfer'), ('COLL', 'Collection Payment'), ('INTC', 'Intra Company Payment'), ('LIMA', 'Liquidity Management'), ('NETT', 'Netting'), ('AGRT', 'Agricultural Transfer'), ('BEXP', 'Business Expenses'), ('COMC', 'Commercial Payment'), ('CPYR', 'Copyright'), ('GDDS', 'Purchase Sale Of Goods'), ('LICF', 'License Fee'), ('ROYA', 'Royalties'), ('SCVE', 'Purchase Sale Of Services'), ('SUBS', 'Subscription'), ('SUPP', 'Supplier Payment'), ('TRAD', 'Trade Services'), ('CHAR', 'Charity Payment'), ('COMT', 'Consumer Third Party Consolidated Payment'), ('CLPR', 'Car Loan Principal Repayment'), ('GOVI', 'Government Insurance'), ('HLRP', 'Housing Loan Repayment'), ('INSU', 'Insurance Premium'), ('INTE', 'Interest'), ('LBRI', 'Labor Insurance'), ('LIFI', 'Life Insurance'), ('LOAN', 'Loan'), ('LOAR', 'Loan Repayment'), ('PPTI', 'Property Insurance'), ('RINP', 'Recurring Installment Payment'), ('TRFD', 'Trust Fund'), ('ADVA', 'Advance Payment'), ('CCRD', 'Credit Card Payment '), ('CFEE', 'Cancellation Fee'), ('COST', 'Costs'), ('DCRD', 'Debit Card Payment'), ('GOVT', 'Government Payment'), ('IHRP', 'Instalment Hire Purchase Agreement'), ('INSM', 'Installment'), ('MSVC', 'Multiple Service Types'), ('NOWS', 'Not Otherwise Specified'), ('OFEE', 'Opening Fee'), ('OTHR', 'Other'), ('PADD', 'Preauthorized debit'), ('PTSP', 'Payment Terms'), ('RCPT', 'Receipt Payment'), ('RENT', 'Rent'), ('STDY', 'Study'), ('ANNI', 'Annuity'), ('CMDT', 'Commodity Transfer'), ('DERI', 'Derivatives'), ('DIVD', 'Dividend'), ('FREX', 'Foreign Exchange'), ('HEDG', 'Hedging'), ('PRME', 'Precious Metal'), ('SAVG', 'Savings'), ('SECU', 'Securities'), ('TREA', 'Treasury Payment'), ('ANTS', 'Anesthesia Services'), ('CVCF', 'Convalescent Care Facility'), ('DMEQ', 'Durable Medicale Equipment'), ('DNTS', 'Dental Services'), ('HLTC', 'Home Health Care'), ('HLTI', 'Health Insurance'), ('HSPC', 'Hospital Care'), ('ICRF', 'Intermediate Care Facility'), ('LTCF', 'Long Term Care Facility'), ('MDCS', 'Medical Services'), ('VIEW', 'Vision Care'), ('ALMY', 'Alimony Payment'), ('BECH', 'Child Benefit'), ('BENE', 'Unemployment Disability Benefit'), ('BONU', 'Bonus Payment.'), ('COMM', 'Commission'), ('PENS', 'Pension Payment'), ('PRCP', 'Price Payment'), ('SALA', 'Salary Payment'), ('SSBE', 'Social Security Benefit'), ('ESTX', 'Estate Tax'), ('HSTX', 'Housing Tax'), ('INTX', 'Income Tax'), ('TAXS', 'Tax Payment'), ('VATX', 'Value Added Tax Payment'), ('AIRB', 'Air'), ('BUSB', 'Bus'), ('FERB', 'Ferry'), ('RLWY', 'Railway'), ('CBTV', 'Cable TV Bill'), ('ELEC', 'Electricity Bill'), ('ENRG', 'Energies'), ('GASB', 'Gas Bill'), ('NWCH', 'Network Charge'), ('NWCM', 'Network Communication'), ('OTLC', 'Other Telecom Related Bill'), ('PHON', 'Telephone Bill'), ('WTER', 'Water Bill')]
No public methods.
New fields (4)
-
convert_to_asciiBooleandefault=Truehelp='If active, Odoo will convert each accented character to the corresponding unaccented character, so that only ASCII characters are used in the generated PAIN file.'string='Convert to ASCII' -
pain_versionSelectioncopy=Falsestring='PAIN Version' args: [] -
sepa_pain09_address_modeSelectiondefault='minimal'help='Controls how the <PstlAdr> block is generated for PAIN.001.001.09- Minimal: only City (TwnNm) and Country (Ctry)- Hybrid: City/Country plus optional AdrLine lines (street/street2) and optional Post Code (PstCd) when available.'required=Truestring='PAIN.001.001.09 Address Mode' args: [('minimal', 'Minimal (City + Country only)'), ('hybrid', 'Hybrid (City/Country + AdrLine)')] -
warn_not_sepaBooleanstring='Warn If Not SEPA'
-
get_xsd_file_path(self)This method is designed to be inherited in the SEPA modules
New fields (4)
-
default_batch_bookingBooleanhelp='Default value for payment order batch booking related to this payment mode' -
initiating_party_identifierCharhelp="This will be used as the 'Initiating Party Identifier' in the PAIN files generated by Odoo. If not defined, Initiating Party Identifier from company will be used.\nCommon format (13): \n- Country code (2, optional)\n- Company idenfier (N, VAT)\n- Service suffix (N, issued by bank)"size=35 -
initiating_party_issuerCharhelp="This will be used as the 'Initiating Party Issuer' in the PAIN files generated by Odoo. If not defined, Initiating Party Issuer from company will be used.\nCommon format (13): \n- Country code (2, optional)\n- Company idenfier (N, VAT)\n- Service suffix (N, issued by bank)"size=35 -
initiating_party_schemeCharhelp="This will be used as the 'Initiating Party Scheme Name' in the PAIN files generated by Odoo. This value is determined by the financial institution that will process the file. If not defined, no scheme will be used.\n"size=35
No public methods.
New fields (5)
-
batch_bookingBooleancompute='_compute_batch_booking'help='If true, the bank statement will display only one debit line for all the wire transfers of the SEPA XML file ; if false, the bank statement will display one debit line per wire transfer of the SEPA XML file.'readonly=Falsestore=Truetracking=True -
charge_bearerSelectiondefault='SLEV'help='Following service level : transaction charges are to be applied following the rules agreed in the service level and/or scheme (SEPA Core messages must use this). Shared : transaction charges on the debtor side are to be borne by the debtor, transaction charges on the creditor side are to be borne by the creditor. Borne by creditor : all transaction charges are to be borne by the creditor. Borne by debtor : all transaction charges are to be borne by the debtor.'tracking=True args: [('SLEV', 'Following Service Level'), ('SHAR', 'Shared'), ('CRED', 'Borne by Creditor'), ('DEBT', 'Borne by Debtor')] -
sepaBooleancompute='_compute_sepa'string='SEPA Payment' -
sepa_payment_methodBooleancompute='_compute_sepa'string='SEPA Payment Method' -
show_warning_not_sepaBooleancompute='_compute_sepa'
-
compute_sepa_final_hook(self, sepa) -
except_messages_prepare_field(self, eval_ctx, field_name)@api.modelInherit this method to provide more detailed error messages for exceptions to be raised while evaluating `field_name` using `eval_ctx`. :return: List containing the error messages. -
finalize_sepa_file_creation(self, xml_root, gen_args) -
generate_address_block(self, parent_node, partner, gen_args)@api.model -
generate_creditor_scheme_identification(self, parent_node, identification, identification_label, eval_ctx, scheme_name_proprietary, gen_args)@api.model -
generate_group_header_block(self, parent_node, gen_args)@api.model -
generate_initiating_party_block(self, parent_node, gen_args)@api.model -
generate_pain_attrib(self) -
generate_pain_nsmap(self) -
generate_party_acc_number(self, parent_node, party_type, order, partner_bank, gen_args, bank_line=None)@api.model -
generate_party_agent(self, parent_node, party_type, order, partner_bank, gen_args, bank_line=None)@api.modelGenerate the piece of the XML file corresponding to BIC This code is mutualized between TRF and DD Starting from Feb 1st 2016, we should be able to do cross-border SEPA transfers without BIC, cf http://www.europeanpaymentscouncil.eu/index.cfm/ sepa-credit-transfer/iban-and-bic/ In some localization (l10n_ch_sepa for example), they need the bank_line argument -
generate_party_block(self, parent_node, party_type, order, partner_bank, gen_args, bank_line=None)@api.modelGenerate the piece of the XML file corresponding to Name+IBAN+BIC This code is mutualized between TRF and DD In some localization (l10n_ch_sepa for example), they need the bank_line argument -
generate_party_id(self, parent_node, party_type, partner)@api.modelGenerate an Id element for partner inside the parent node. party_type can currently be Cdtr or Dbtr. Notably, the initiating party orgid is generated with another mechanism and configured at the company or payment mode level. -
generate_remittance_info_block(self, parent_node, line, gen_args)@api.model -
generate_start_payment_info_block(self, parent_node, payment_info_ident, priority, local_instrument, category_purpose, sequence_type, requested_date, eval_ctx, gen_args)@api.model
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (3)
-
initiating_party_identifierCharhelp="This will be used as the 'Initiating Party Identifier' in the PAIN files generated by Odoo."size=35 -
initiating_party_issuerCharhelp="This will be used as the 'Initiating Party Issuer' in the PAIN files generated by Odoo."size=35 -
initiating_party_schemeCharhelp="This will be used as the 'Initiating Party Scheme Name' in the PAIN files generated by Odoo."size=35
No public methods.
New fields (4)
-
group_pain_multiple_identifierBooleanhelp='Enable this option if your country requires several SEPA/PAIN identifiers like in Spain.'implied_group='account_banking_pain_base.group_pain_multiple_identifier'string='Multiple identifiers' -
initiating_party_identifierCharreadonly=Falserelated='company_id.initiating_party_identifier' -
initiating_party_issuerCharreadonly=Falserelated='company_id.initiating_party_issuer' -
initiating_party_schemeCharreadonly=Falserelated='company_id.initiating_party_scheme'
No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…