TIP: You can type at any time to perform a new search.
LSV and Postfinance Direct Debit file generation
l10n_ch_lsv_dd · OCA/l10n-switzerland
- 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 ID | Name | Model | Type | Status |
|---|---|---|---|---|
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.multiOverride line2bank to avoid choosing a bank that has only cancelled mandate.
New fields (2)
-
lsv_treatment_typeSelectiondefault='T'help='Mode to use when generating an LSV payment file with this payment method.'required=Truestring='LSV Treatment Type' args: [('P', _('Production')), ('T', _('Test'))] -
pain_versionSelectionselection_add=[('pain.008.001.02.ch.03', 'pain.008.001.02.ch.03 (XML Direct Debit)')]
-
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.multiTakes 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.modelOverridden because of pain.008.001.03.ch.01. -
generate_pain_attrib(self)@api.multiOverridden to add the new pain.008.001.03.ch.01 pain version to the list. -
generate_pain_nsmap(self)@api.multiOverridden 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.modelOverridden for pain.008.001.03.ch.01. -
generate_party_agent(self, parent_node, party_type, order, partner_bank, gen_args, bank_line=None)@api.modelOverridden for pain.008.001.03.ch.01. -
generate_party_block(self, parent_node, party_type, order, partner_bank, gen_args, bank_line=None)@api.modelThis 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.multiOverridden 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.modelThis 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.multiGenerates the XML Direct Debit file for pain.008.001.03.ch.01. -
show_invoices(self)@api.multi
New fields (8)
-
create_dateDatetimereadonly=True args: 'Generation Date' -
fileBinaryreadonly=True args: 'Generated file' -
filenameCharreadonly=Truesize=256 -
nb_transactionsIntegerreadonly=True args: 'Number of Transactions' -
payment_order_idsMany2many → account.payment.orderreadonly=True args: 'account.payment.order', 'account_payment_order_ch_dd_rel', 'banking_export_ch_dd_id', 'account_order_id', 'Payment Orders' -
stateSelectiondefault='draft'readonly=True args: [('draft', 'Draft'), ('sent', 'Sent')], 'State' -
total_amountFloatdigits=dp.get_precision('Account')readonly=True args: 'Total Amount' -
typeCharreadonly=Truesize=128 args: 'Type'
-
create(self, vals)@api.model
New fields (8)
-
banking_export_ch_dd_idMany2one → banking.export.ch.ddreadonly=True args: 'banking.export.ch.dd', 'LSV file' -
currencySelectiondefault='CHF'required=True args: [('CHF', 'CHF'), ('EUR', 'EUR')] -
fileBinaryrelated='banking_export_ch_dd_id.file' -
filenameCharreadonly=Truerelated='banking_export_ch_dd_id.filename'size=256 -
nb_transactionsIntegerrelated='banking_export_ch_dd_id.nb_transactions' args: 'Number of Transactions' -
stateSelectiondefault='create'readonly=True args: [('create', 'Create'), ('finish', 'Finish')] -
total_amountFloatrelated='banking_export_ch_dd_id.total_amount' -
treatment_typeSelectiondefault='P'required=True args: [('P', 'Production'), ('T', 'Test')]
-
cancel_export(self)@api.multiCancel the export: delete export record -
confirm_export(self)@api.multiSave the exported LSV file: mark all payments in the file as 'sent'. Write 'last debit date' on mandate. -
generate_lsv_file(self)@api.multiGenerate direct debit export object including the lsv file content. Called by generate button.
New fields (7)
-
banking_export_ch_dd_idMany2one → banking.export.ch.ddreadonly=True args: 'banking.export.ch.dd', 'Direct Debit file' -
currencySelectiondefault='CHF'required=True args: [('CHF', 'CHF'), ('EUR', 'EUR')] -
fileBinaryrelated='banking_export_ch_dd_id.file' -
filenameCharreadonly=Truerelated='banking_export_ch_dd_id.filename'size=256 -
nb_transactionsIntegerreadonly=Truerelated='banking_export_ch_dd_id.nb_transactions' args: 'Number of Transactions' -
stateSelectiondefault='create'readonly=True args: [('create', _('Create')), ('finish', _('Finish'))] -
total_amountFloatreadonly=Truerelated='banking_export_ch_dd_id.total_amount' args: 'Total Amount'
-
cancel_export(self)@api.multiCancel the export: delete export record -
confirm_export(self)@api.oneSave the exported DD file: mark all payments in the file as 'sent'. Write 'last debit date' on mandate. -
generate_dd_file(self)@api.multiGenerate direct debit export object including the direct debit file content. Called by generate button
New fields (3)
-
esr_party_numberCharhelp='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_identifierCharhelp='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_identifierCharsize=6 args: 'Postfinance DD Customer No.'
-
is_lsv_identifier_valid(self, lsv_identifier)@api.modelCheck if given LSV Identifier is valid -
is_post_dd_ident_valid(self, dd_identifier)@api.modelCheck if given Postfinance DD Identifier is valid
Loading…
Loading…
Loading…