Metadata-Version: 2.1
Name: odoo-addon-l10n_ch_pain_base
Version: 18.0.1.0.0.3
Requires-Python: >=3.10
Requires-Dist: odoo-addon-account_banking_pain_base==18.0.*
Requires-Dist: odoo==18.0.*
Summary: ISO 20022 base module for Switzerland
Home-page: https://github.com/OCA/l10n-switzerland
License: AGPL-3
Author: Akretion,Camptocamp,Odoo Community Association (OCA)
Author-email: support@odoo-community.org
Classifier: Programming Language :: Python
Classifier: Framework :: Odoo
Classifier: Framework :: Odoo :: 18.0
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Description-Content-Type: text/x-rst

.. image:: https://odoo-community.org/readme-banner-image
   :target: https://odoo-community.org/get-involved?utm_source=readme
   :alt: Odoo Community Association

=======================
Switzerland - ISO 20022
=======================

.. 
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! This file is generated by oca-gen-addon-readme !!
   !! changes will be overwritten.                   !!
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! source digest: sha256:3f065ce92e189ad99da4f4328e1c168662733e568ba4bb961f9f3abda434a9a9
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
    :target: https://odoo-community.org/page/development-status
    :alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
    :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--switzerland-lightgray.png?logo=github
    :target: https://github.com/OCA/l10n-switzerland/tree/18.0/l10n_ch_pain_base
    :alt: OCA/l10n-switzerland
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/l10n-switzerland-18-0/l10n-switzerland-18-0-l10n_ch_pain_base
    :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
    :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-switzerland&target_branch=18.0
    :alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module doesn't do anything by himself. It is the base module for 2
other modules:

- the module *l10n_ch_pain_credit_transfer* which adds support for the
  file format *pain.001.001.09.ch.03* which is used for ISO 20022 credit
  transfers (SEPA or not SEPA),
- the module *l10n_ch_pain_direct_debit* which adds support for the file
  format *pain.008.001.02.ch.01* which is used for ISO 20022 direct
  debits.

**Table of contents**

.. contents::
   :local:

Known issues / Roadmap
======================

This roadmap summarizes follow-up actions discussed in
`OCA/l10n-switzerland#754 <https://github.com/OCA/l10n-switzerland/pull/754>`__.

Short-term (merge-safe, keep architecture stable)
-------------------------------------------------

- Keep ``l10n_ch_pain_base`` close to legacy architecture for 16.0
  migration.
- Avoid moving PAIN flavor declarations from feature modules into base
  only to satisfy tests.
- Keep base tests minimal and focused on base behavior; validate
  flavor-specific behavior in dedicated modules.
- Ensure CI is stable (including copier/CI profile alignment if
  conflicting modules require dedicated handling).

Mid-term refactor
-----------------

- Review conditional logic in shared block generators that branches on
  ``pain_flavor`` and decide what should remain in base vs. move to
  extension modules.
- Revisit module split and responsibilities:

  - ``l10n_ch_pain_base``: common/shared generation logic.
  - ``l10n_ch_pain_credit_transfer``: credit-transfer specific behavior.
  - ``l10n_ch_pain_direct_debit``: confirm if still needed in current
    architecture.

- Reduce duplicated Swiss-specific logic where practical while
  preserving backward compatibility.

Swiss standard update (time-bound)
----------------------------------

- Prepare support for Swiss credit transfer ``pain.001.001.09.ch.03``.
- Plan deprecation path for ``pain.001.001.03.ch.02`` (announced
  acceptance window ends around Nov 2026).
- Validate generated XML with official SIX validators and real bank
  acceptance tests.
- Address format differences required by new standards, especially
  postal address handling and structured remittance/QRR compatibility.

Implementation checklist
------------------------

- [x] Keep migration PR scope limited and merge 16.0 base migration.
- [ ] Open a dedicated refactor PR for shared vs module-specific PAIN
  logic.
- [x] Open a dedicated standards PR for ``pain.001.001.09.ch.03``
  support.
- [ ] Track rollout status in this roadmap and link follow-up
  PRs/issues.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-switzerland/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/l10n-switzerland/issues/new?body=module:%20l10n_ch_pain_base%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Akretion
* Camptocamp

Contributors
------------

- Alexis de Lattre <alexis.delattre@akretion.com>
- Denis Leemann <denis.leemann@camptocamp.com>
- Mykhailo Panarin <m.panarin@mobilunity.com>
- Alberto Nieto <alberto.nieto@braintec.com>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
   :alt: Odoo Community Association
   :target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/l10n-switzerland <https://github.com/OCA/l10n-switzerland/tree/18.0/l10n_ch_pain_base>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
