Repository
OCA/l10n-switzerland · module folder · Try on Runboat
Module version
1.1.0
Category
Localization
Folder size
0.18 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
http://www.compassion.ch,http://www.braintec-group.com
Last tracking update
2026-08-07 07:17:51
Authors
Odoo Community Association (OCA), Compassion, brain-tec AG
Maintainers
Odoo Community Association (OCA), Compassion, brain-tec AG
Committers
Yannick Vaucher, GitHub, Emanuel Cino, OCA-git-bot, oca-travis
Odoo dependencies
Python dependencies
lxml, unidecode
System dependencies
None
Required by
l10n_ch_fds_upload_dd
Description

Code Analysis

Views touched (12)
XML IDNameModelTypeStatus
account_payment_method_form account_payment_method.form account.payment.method form Inherits account_payment_mode.account_payment_method_form
l10n_ch_view_res_partner_bank_from_invoice_slip_lsv_dd_form l10n_ch_view_res_partner_bank_from_invoice_slip_lsv_dd_form res.partner.bank form Inherits l10n_ch_payment_slip.l10n_ch_view_res_partner_bank_from_invoice_slip
swiss_account_payment_line_form swiss.pain.base.account.payment.line account.payment.line form Inherits account_banking_pain_base.account_payment_line_form
swiss_bank_payment_line_form swiss.pain.base.bank.payment.line.form bank.payment.line form Inherits account_banking_pain_base.bank_payment_line_form
swiss_initiating_party_identifier_account_payment_mode_form Makes visible the Initiation Party identifiers on payment mode form account.payment.mode form Inherits account_banking_pain_base.account_payment_mode_form
swiss_sepa_creditor_identifier_account_payment_mode_form Makes visible the SEPA identifiers on payment mode form account.payment.mode form Inherits account_banking_sepa_direct_debit.account_payment_mode_form
view_banking_export_ch_dd_form banking.export.ch.dd.form banking.export.ch.dd form New
view_banking_export_ch_dd_tree banking.export.ch.dd.tree banking.export.ch.dd tree New
view_lsv_export_wizard_form LSV export wizard view lsv.export.wizard form New
view_partner_bank_lsv_dd_form view_partner_bank_lsv_dd_form res.partner.bank form Inherits base.view_partner_bank_form
view_payment_order_invoice_button_form payment.order.invoice.button.form account.payment.order form Inherits account_payment_order.account_payment_order_form
view_post_dd_export_wizard_form Post dd export wizard view post.dd.export.wizard form New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (7)

New fields (0)

No new fields.

Public methods (1)
  • line2bank(self, payment_mode_id)
    @api.multi
    Override line2bank to avoid choosing a bank that has only cancelled mandate.

New fields (2)
  • lsv_treatment_type Selection
    default='T' help='Mode to use when generating an LSV payment file with this payment method.' required=True string='LSV Treatment Type' args: [('P', _('Production')), ('T', _('Test'))]
  • pain_version Selection
    selection_add=[('pain.008.001.02.ch.03', 'pain.008.001.02.ch.03 (XML Direct Debit)')]
Public methods (1)
  • get_xsd_file_path(self)
    @api.multi

New fields (0)

No new fields.

Public methods (11)
  • generate_dd_transaction_information(self, parent_node, partner_bank, lines, gen_args)
    @api.multi
    Takes portions of the code that is inside account_banking_sepa_direct_debit's generate_payment_file(). Implements the //<DrctDbtTxInf> part of the XML for pain.008.001.03.ch.01.
  • generate_group_header_block(self, parent_node, gen_args)
    @api.model
    Overridden because of pain.008.001.03.ch.01.
  • generate_pain_attrib(self)
    @api.multi
    Overridden to add the new pain.008.001.03.ch.01 pain version to the list.
  • generate_pain_nsmap(self)
    @api.multi
    Overridden to add the new pain.008.001.03.ch.01 pain version to the list.
  • generate_party_acc_number(self, parent_node, party_type, order, partner_bank, gen_args, bank_line=None)
    @api.model
    Overridden for pain.008.001.03.ch.01.
  • generate_party_agent(self, parent_node, party_type, order, partner_bank, gen_args, bank_line=None)
    @api.model
    Overridden for pain.008.001.03.ch.01.
  • generate_party_block(self, parent_node, party_type, order, partner_bank, gen_args, bank_line=None)
    @api.model
    This is overridden because pain.008.001.03.ch.01 uses a different XML structure. The code is basically the same that can be found on the module account_banking_pain_base's method generate_party_block().
  • generate_payment_file(self)
    @api.multi
    Overridden to consider LSV and DD. Returns (payment file as string, filename)
  • 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
    This is overridden because pain.008.001.03.ch.01 uses a different XML structure. The code is basically the same that can be found on the module account_banking_pain_base's method generate_start_payment_info_block().
  • generate_xml_ch_dd_file(self)
    @api.multi
    Generates the XML Direct Debit file for pain.008.001.03.ch.01.
  • show_invoices(self)
    @api.multi

New fields (8)
  • create_date Datetime
    readonly=True args: 'Generation Date'
  • file Binary
    readonly=True args: 'Generated file'
  • filename Char
    readonly=True size=256
  • nb_transactions Integer
    readonly=True args: 'Number of Transactions'
  • payment_order_ids Many2many → account.payment.order
    readonly=True args: 'account.payment.order', 'account_payment_order_ch_dd_rel', 'banking_export_ch_dd_id', 'account_order_id', 'Payment Orders'
  • state Selection
    default='draft' readonly=True args: [('draft', 'Draft'), ('sent', 'Sent')], 'State'
  • total_amount Float
    digits=dp.get_precision('Account') readonly=True args: 'Total Amount'
  • type Char
    readonly=True size=128 args: 'Type'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (8)
  • banking_export_ch_dd_id Many2one → banking.export.ch.dd
    readonly=True args: 'banking.export.ch.dd', 'LSV file'
  • currency Selection
    default='CHF' required=True args: [('CHF', 'CHF'), ('EUR', 'EUR')]
  • file Binary
    related='banking_export_ch_dd_id.file'
  • filename Char
    readonly=True related='banking_export_ch_dd_id.filename' size=256
  • nb_transactions Integer
    related='banking_export_ch_dd_id.nb_transactions' args: 'Number of Transactions'
  • state Selection
    default='create' readonly=True args: [('create', 'Create'), ('finish', 'Finish')]
  • total_amount Float
    related='banking_export_ch_dd_id.total_amount'
  • treatment_type Selection
    default='P' required=True args: [('P', 'Production'), ('T', 'Test')]
Public methods (3)
  • cancel_export(self)
    @api.multi
    Cancel the export: delete export record
  • confirm_export(self)
    @api.multi
    Save the exported LSV file: mark all payments in the file as 'sent'. Write 'last debit date' on mandate.
  • generate_lsv_file(self)
    @api.multi
    Generate direct debit export object including the lsv file content. Called by generate button.

New fields (7)
  • banking_export_ch_dd_id Many2one → banking.export.ch.dd
    readonly=True args: 'banking.export.ch.dd', 'Direct Debit file'
  • currency Selection
    default='CHF' required=True args: [('CHF', 'CHF'), ('EUR', 'EUR')]
  • file Binary
    related='banking_export_ch_dd_id.file'
  • filename Char
    readonly=True related='banking_export_ch_dd_id.filename' size=256
  • nb_transactions Integer
    readonly=True related='banking_export_ch_dd_id.nb_transactions' args: 'Number of Transactions'
  • state Selection
    default='create' readonly=True args: [('create', _('Create')), ('finish', _('Finish'))]
  • total_amount Float
    readonly=True related='banking_export_ch_dd_id.total_amount' args: 'Total Amount'
Public methods (3)
  • cancel_export(self)
    @api.multi
    Cancel the export: delete export record
  • confirm_export(self)
    @api.one
    Save the exported DD file: mark all payments in the file as 'sent'. Write 'last debit date' on mandate.
  • generate_dd_file(self)
    @api.multi
    Generate direct debit export object including the direct debit file content. Called by generate button

New fields (3)
  • esr_party_number Char
    help='ESR party number is an identifier attributed to your bank to generate ESR references. This identifier is composed of up to 9 alphanumeric characters and is required when using ESR references in your LSV direct debit orders' size=9 args: 'ESR party number'
  • lsv_identifier Char
    help='Enter the LSV Identifier that has been attributed to your company to make LSV Direct Debits. This identifier is composed of 5 alphanumeric characters and is required to generate LSV direct debit orders.' size=5 args: 'LSV Identifier'
  • post_dd_identifier Char
    size=6 args: 'Postfinance DD Customer No.'
Public methods (2)
  • is_lsv_identifier_valid(self, lsv_identifier)
    @api.model
    Check if given LSV Identifier is valid
  • is_post_dd_ident_valid(self, dd_identifier)
    @api.model
    Check if given Postfinance DD Identifier is valid

Loading…

Loading…

Loading…