Banking SEPA Italian Credit Transfer CBI

l10n_it_sepa_bonifici
REPOSITORY
REPOSITORYOCA/l10n-italy
GIT
GIThttps://github.com/OCA/l10n-italy.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-italy/tree/8.0/l10n_it_sepa_bonifici
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYBanking
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Openforce di Alessandro Camilli
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Openforce di Alessandro Camilli
COMMITTERS
COMMITTERSeLBati, OCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttp://www.openforce.it
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:22
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_banking_pain_base
    - account_banking_payment_export
odoo/odoo:
    - account_payment
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - edi
    - email_template
    - account_voucher
    - base_iban
    - document
    - knowledge
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES lxml
unidecode
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
banking_export_sepa_cbi_estero_wizard_view banking.export.sepa.cbi.estero.wizard.view banking.export.sepa.cbi.estero.wizard form New
banking_export_sepa_cbi_wizard_view banking.export.sepa.cbi.wizard.view banking.export.sepa.cbi.wizard form New
Models touched (2)

New fields (8)
  • batch_booking Boolean
    help='If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file.' string='Batch Booking'
  • charge_bearer Selection
    default='DEBT' 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 creditor side are to be borne by the creditor, transaction charges on the debtor side are to be borne by the debtor. 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.' required=True string='Charge Bearer' args: [('SHAR', 'Shared'), ('CRED', 'Borne by Creditor'), ('DEBT', 'Borne by Debtor')]
  • file Binary
    readonly=True string='File'
  • filename Char
    readonly=True string='Filename'
  • nb_transactions Integer
    readonly=True string='Number of Transactions'
  • payment_order_ids Many2many → payment.order
    readonly=True string='Payment Orders' args: 'payment.order', 'wiz_sepa_cbi_estero_payorders_rel', 'wizard_id', 'payment_order_id'
  • state Selection
    default='create' readonly=True string='State' args: [('create', 'Create'), ('finish', 'Finish')]
  • total_amount Float
    readonly=True string='Total Amount'
Public methods (5)
  • create(self, vals)
    @api.model
  • create_sepa(self)
    @api.multi
    Creates the SEPA Credit Transfer file. That's the important code!
  • generate_creditor_scheme_identification(self, parent_node, identification, identification_label, eval_ctx, scheme_name_proprietary, gen_args)
    @api.model
    csi_id = etree.SubElement(parent_node, 'Id') csi_privateid = etree.SubElement(csi_id, 'PrvtId') csi_other = etree.SubElement(csi_privateid, 'Othr') csi_other_id = etree.SubElement(csi_other, 'Id') csi_other_id.text = self._prepare_field( identification_label, identification, eval_ctx, gen_args=gen_args) csi_scheme_name = etree.SubElement(csi_other, 'SchmeNm') csi_scheme_name_proprietary = etree.SubElement( csi_scheme_name, 'Prtry') csi_scheme_name_proprietary.text = scheme_name_proprietary
  • generate_party_agent(self, parent_node, party_type, party_type_label, order, party_name, iban, bic, eval_ctx, gen_args, context=None)
    @api.model
  • save_sepa(self)
    @api.multi
    Save the SEPA file: send the done signal to all payment orders in the file. With the default workflow, they will transition to 'done', while with the advanced workflow in account_banking_payment they will transition to 'sent' waiting reconciliation.

New fields (8)
  • batch_booking Boolean
    help='If true, the bank statement will display only one credit line for all the direct debits of the SEPA file ; if false, the bank statement will display one credit line per direct debit of the SEPA file.' string='Batch Booking'
  • charge_bearer Selection
    default='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 creditor side are to be borne by the creditor, transaction charges on the debtor side are to be borne by the debtor. 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.' required=True string='Charge Bearer' args: [('SLEV', 'Following Service Level'), ('SHAR', 'Shared'), ('CRED', 'Borne by Creditor'), ('DEBT', 'Borne by Debtor')]
  • file Binary
    readonly=True string='File'
  • filename Char
    readonly=True string='Filename'
  • nb_transactions Integer
    readonly=True string='Number of Transactions'
  • payment_order_ids Many2many → payment.order
    readonly=True string='Payment Orders' args: 'payment.order', 'wiz_sepa_cbi_payorders_rel', 'wizard_id', 'payment_order_id'
  • state Selection
    default='create' readonly=True string='State' args: [('create', 'Create'), ('finish', 'Finish')]
  • total_amount Float
    readonly=True string='Total Amount'
Public methods (5)
  • create(self, vals)
    @api.model
  • create_sepa(self)
    @api.multi
    Creates the SEPA Credit Transfer file. That's the important code!
  • generate_creditor_scheme_identification(self, parent_node, identification, identification_label, eval_ctx, scheme_name_proprietary, gen_args)
    @api.model
  • generate_party_agent(self, parent_node, party_type, party_type_label, order, party_name, iban, bic, eval_ctx, gen_args, context=None)
    @api.model
  • save_sepa(self)
    @api.multi
    Save the SEPA file: send the done signal to all payment orders in the file. With the default workflow, they will transition to 'done', while with the advanced workflow in account_banking_payment they will transition to 'sent' waiting reconciliation.