Swiss Postfinance FDS Direct Debit Upload

l10n_ch_fds_upload_dd
REPOSITORY
REPOSITORYOCA/l10n-switzerland
GIT
GIThttps://github.com/OCA/l10n-switzerland.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-switzerland/tree/10.0/l10n_ch_fds_upload_dd
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYFinance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Compassion CH
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Compassion CH
COMMITTERS
COMMITTERSPedro M. Baeza, GitHub, Akim Juillerat, Emanuel Cino, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttp://www.compassion.ch/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:03
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-reconcile:
    - base_transaction_id
OCA/bank-payment:
    - account_payment_partner
    - account_payment_mode
    - account_banking_sepa_direct_debit
    - account_banking_pain_base
    - account_payment_order
    - account_banking_mandate
OCA/l10n-switzerland:
    - l10n_ch_fds_postfinance
    - l10n_ch_lsv_dd
    - l10n_ch_payment_slip
    - l10n_ch_base_bank
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
    - base_iban
    - sale
    - sales_team
    - procurement
    - l10n_ch
    - l10n_multilang
    - document
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES pysftp
Crypto
lxml
unidecode
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_fds_postfinance_account_lsv_dd_form_inherited FDS PostFinance account view - Direct debit extension fds.postfinance.account page Inherits l10n_ch_fds_postfinance.view_fds_postfinance_account_form
view_post_dd_export_wizard_form_inherited Post dd export wizard view - Upload extension payment.order.upload.dd.wizard form New
Models touched (4)

New fields (0)

No new fields.

Public methods (1)
  • open2generated(self)
    @api.multi
    Replace action to propose upload DD file to FDS. :return: window action

New fields (5)
  • directory_id Many2one → fds.postfinance.directory
    comodel_name='fds.postfinance.directory' help='Remote directory where the file was uploaded' ondelete='restrict' readonly=True string='Directory'
  • fds_account_id Many2one → fds.postfinance.account
    comodel_name='fds.postfinance.account' ondelete='restrict' readonly=True string='FDS account'
  • filename Char
    help='Remote name of the uploaded file' readonly=True
  • payment_order_id Many2one → account.payment.order
    comodel_name='account.payment.order' ondelete='restrict' readonly=True string='Payment order'
  • state Selection
    default='not_uploaded' help='Upload state of the file' readonly=True selection=[('not_uploaded', 'Not Uploaded'), ('uploaded', 'Uploaded')]
Public methods (0)

No public methods.

New fields (1)
  • dd_upload_ids One2many → fds.dd.upload.history
    comodel_name='fds.dd.upload.history' inverse_name='fds_account_id' readonly=True
Public methods (0)

No public methods.

New fields (7)
  • attachment_id Many2one → ir.attachment
    ondelete='cascade' required=True args: 'ir.attachment'
  • fds_account_id Many2one → fds.postfinance.account
    comodel_name='fds.postfinance.account' default=<expr> string='FDS account'
  • fds_directory_id Many2one → fds.postfinance.directory
    comodel_name='fds.postfinance.directory' help='Select one upload directory. Be sure to have at least one directory configured with upload access rights.' string='FDS directory'
  • file_data Binary
    readonly=True related='attachment_id.datas' args: 'Generated File'
  • filename Char
    readonly=True related='attachment_id.name'
  • payment_order_id Many2one → account.payment.order
    ondelete='cascade' readonly=True required=True args: 'account.payment.order', 'Payment Order'
  • state Selection
    default='upload' readonly=True selection=[('upload', 'upload'), ('finish', 'finish')]
Public methods (1)
  • send_export_button(self)
    @api.multi
    Upload pain_001 file to the FDS Postfinance by SFTP :returns action: configuration for wizard's next view :raises Warning: - If no FDS account and directory selected - If current user do not have key - If connection to SFTP fails
REPOSITORY
REPOSITORYOCA/l10n-switzerland
GIT
GIThttps://github.com/OCA/l10n-switzerland.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-switzerland/tree/9.0/l10n_ch_fds_upload_dd
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYFinance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Compassion CH
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Compassion CH
COMMITTERS
COMMITTERSYannick Vaucher, Stéphane Bidoul (ACSONE), OCA Transbot, Emanuel Cino, oca-travis, Weblate, OCA-git-bot, Iryna Vyshnevska, Philipp Hug
WEBSITE
WEBSITEhttp://www.compassion.ch/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:25
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-reconcile:
    - base_transaction_id
OCA/bank-payment:
    - account_payment_partner
    - account_payment_mode
    - account_payment_order
    - account_banking_mandate
    - account_banking_pain_base
    - account_banking_sepa_direct_debit
OCA/l10n-switzerland:
    - l10n_ch_fds_postfinance
    - l10n_ch_lsv_dd
    - l10n_ch_payment_slip
    - l10n_ch_base_bank
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - report
    - analytic
    - web_tip
    - web_planner
    - base_iban
    - sale
    - sales_team
    - procurement
    - document
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES pysftp
Crypto
lxml
unidecode
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_fds_postfinance_account_lsv_dd_form_inherited FDS PostFinance account view - Direct debit extension fds.postfinance.account page Inherits l10n_ch_fds_postfinance.view_fds_postfinance_account_form
view_post_dd_export_wizard_form_inherited Post dd export wizard view - Upload extension payment.order.upload.dd.wizard form New
Models touched (4)

New fields (0)

No new fields.

Public methods (1)
  • open2generated(self)
    @api.multi
    Replace action to propose upload DD file to FDS. :return: window action

New fields (5)
  • directory_id Many2one → fds.postfinance.directory
    comodel_name='fds.postfinance.directory' help='Remote directory where the file was uploaded' ondelete='restrict' readonly=True string='Directory'
  • fds_account_id Many2one → fds.postfinance.account
    comodel_name='fds.postfinance.account' ondelete='restrict' readonly=True string='FDS account'
  • filename Char
    help='Remote name of the uploaded file' readonly=True
  • payment_order_id Many2one → account.payment.order
    comodel_name='account.payment.order' ondelete='restrict' readonly=True string='Payment order'
  • state Selection
    default='not_uploaded' help='Upload state of the file' readonly=True selection=[('not_uploaded', 'Not Uploaded'), ('uploaded', 'Uploaded')]
Public methods (0)

No public methods.

New fields (1)
  • dd_upload_ids One2many → fds.dd.upload.history
    comodel_name='fds.dd.upload.history' inverse_name='fds_account_id' readonly=True
Public methods (0)

No public methods.

New fields (7)
  • attachment_id Many2one → ir.attachment
    ondelete='cascade' required=True args: 'ir.attachment'
  • fds_account_id Many2one → fds.postfinance.account
    comodel_name='fds.postfinance.account' default=<expr> string='FDS account'
  • fds_directory_id Many2one → fds.postfinance.directory
    comodel_name='fds.postfinance.directory' help='Select one upload directory. Be sure to have at least one directory configured with upload access rights.' string='FDS directory'
  • file_data Binary
    readonly=True related='attachment_id.datas' args: 'Generated File'
  • filename Char
    readonly=True related='attachment_id.name'
  • payment_order_id Many2one → account.payment.order
    ondelete='cascade' readonly=True required=True args: 'account.payment.order', 'Payment Order'
  • state Selection
    default='upload' readonly=True selection=[('upload', 'upload'), ('finish', 'finish')]
Public methods (1)
  • send_export_button(self)
    @api.multi
    Upload pain_001 file to the FDS Postfinance by SFTP :returns action: configuration for wizard's next view :raises Warning: - If no FDS account and directory selected - If current user do not have key - If connection to SFTP fails
REPOSITORY
REPOSITORYOCA/l10n-switzerland
GIT
GIThttps://github.com/OCA/l10n-switzerland.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-switzerland/tree/8.0/l10n_ch_fds_upload_dd
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYFinance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSCompassion CH, Odoo Comunity Association (OCA)
MAINTAINERS
MAINTAINERSCompassion CH, Odoo Comunity Association (OCA)
COMMITTERS
COMMITTERSStéphane Bidoul (ACSONE), OCA Transbot, Emanuel Cino, OCA-git-bot
WEBSITE
WEBSITEhttp://www.compassion.ch/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:28
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-reconcile:
    - base_transaction_id
OCA/bank-payment:
    - account_direct_debit
    - account_banking_payment_export
    - account_banking_mandate
OCA/bank-statement-import:
    - account_bank_statement_import_camt
    - account_bank_statement_import
OCA/l10n-switzerland:
    - l10n_ch_fds_postfinance
    - l10n_ch_account_statement_base_import
    - l10n_ch_lsv_dd
    - l10n_ch_payment_slip_base_transaction_id
    - l10n_ch_payment_slip
    - l10n_ch_base_bank
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - edi
    - email_template
    - account_payment
    - account_voucher
    - base_iban
    - document
    - knowledge
    - stock_account
    - stock
    - procurement
    - web_kanban_gauge
    - web_kanban_sparkline
    - sale_stock
    - sale
    - sales_team
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES pysftp
Crypto
wand
xlrd
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_fds_postfinance_account_lsv_dd_form_inherited FDS PostFinance account view - Direct debit extension fds.postfinance.account page Inherits l10n_ch_fds_postfinance.view_fds_postfinance_account_form
view_post_dd_export_wizard_form_inherited Post dd export wizard view - Upload extension post.dd.export.wizard xpath Inherits l10n_ch_lsv_dd.view_post_dd_export_wizard_form
Models touched (3)

New fields (5)
  • banking_export_id Many2one → banking.export.ch.dd
    comodel_name='banking.export.ch.dd' ondelete='restrict' readonly=True string='Direct debit export'
  • directory_id Many2one → fds.postfinance.directory
    comodel_name='fds.postfinance.directory' help='Remote directory where the file was uploaded' ondelete='restrict' readonly=True string='Directory'
  • fds_account_id Many2one → fds.postfinance.account
    comodel_name='fds.postfinance.account' ondelete='restrict' readonly=True string='FDS account'
  • filename Char
    help='Remote name of the uploaded file' readonly=True
  • state Selection
    default='not_uploaded' help='Upload state of the file' readonly=True selection=[('not_uploaded', 'Not Uploaded'), ('uploaded', 'Uploaded')]
Public methods (0)

No public methods.

New fields (1)
  • dd_upload_ids One2many → fds.dd.upload.history
    comodel_name='fds.dd.upload.history' inverse_name='fds_account_id' readonly=True
Public methods (0)

No public methods.

New fields (3)
  • fds_account_id Many2one → fds.postfinance.account
    comodel_name='fds.postfinance.account' default=<expr> string='FDS account'
  • fds_directory_id Many2one → fds.postfinance.directory
    comodel_name='fds.postfinance.directory' help='Select one upload directory. Be sure to have at least one directory configured with upload access rights.' string='FDS directory'
  • state Selection
    default='create' readonly=True selection=[('create', 'Create'), ('finish', 'finish'), ('upload', 'upload'), ('confirm', 'confirm')]
Public methods (4)
  • back_button(self)
    @api.multi
    Go back to the finish view. Called by pressing back button. :returns action: configuration for the next wizard's view
  • close_button(self)
    @api.multi
  • send_export_button(self)
    @api.multi
    Upload pain_001 file to the FDS Postfinance by SFTP :returns action: configuration for wizard's next view :raises Warning: - If no FDS account and directory selected - If current user do not have key - If connection to SFTP fails
  • upload_export_button(self)
    @api.multi
    Change the view to allow uploading the generated file into a FDS remote folder. :returns action: configuration for the next wizard's view