Skip to content

Commit

Permalink
Merge pull request #717 from camptocamp/16.0-mig-ebill_postfinance
Browse files Browse the repository at this point in the history
[16.0[MIG] ebill_postfinance
  • Loading branch information
TDu authored Jul 12, 2024
2 parents dab5eeb + 33ef17d commit d8891c6
Show file tree
Hide file tree
Showing 73 changed files with 8,748 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ repos:
args:
- --plugin=@prettier/plugin-xml
files: \.(css|htm|html|js|json|jsx|less|md|scss|toml|ts|xml|yaml|yml)$
# For ebill_postfinance don't format the message template files
exclude: /messages/.*\.xml$|/components/wsdl/.*\.xml$|/tests/examples/.*\.xml$
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v8.24.0
hooks:
Expand Down
130 changes: 130 additions & 0 deletions ebill_postfinance/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
=================
eBill Postfinance
=================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:8fe54c201370aabd37f966becd9bc102925267307e434f56a4c558a943f058ed
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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/licence-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/16.0/ebill_postfinance
: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-16-0/l10n-switzerland-16-0-ebill_postfinance
: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=16.0
:alt: Try me on Runboat

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

This module implements the exchange of electronic invoices with the Postfinance web service.

**Table of contents**

.. contents::
:local:

Installation
============

This module needs the Python library `ebilling_postfiance` which can be installed from Pypi.
More information can be found at `<repository https://github.com/camptocamp/ebilling-postfinance>`_.

Configuration
=============

Create a service
================

First you need to be registred on 'Postfinance eBill service <https://www.postfinance.ch/en/business/products/accounts-receivable-solutions/e-bill-invoice-issuer.html>'
To create a service go to `Accounting - Configuration - Payments - Postfinance eBill Service`

Configure a customer and create his contract
============================================

The contracts specific to Postfinance e-billing are located in `Accounting - Customers - eBill Postfinance Contract`
Create a contract for a customer with his PayerId and make sure that the contract is active by being in `Open` state with valid start/end dates.

Set `Customer Invoice Transmission Method` on the customer to Postfinance.

Usage
=====

To use this module, you need to:

#. Configure the service, customers and contracts as described in the CONFIGURATION section.
#. Create an invoice for a customer with an open Postfinance contract.
#. Validate the invoice, and click the Send eBill button.

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

ToDo

* Add option to import the contract subscription (csv)
* Add the download of this csv from web service, but what is the endpoint ?


Nice to have

* Add a link to the failed job in the chatter message.
* Add an action on partner to create a ebilling contract.

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:%20ebill_postfinance%0Aversion:%2016.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
~~~~~~~

* Camptocamp

Contributors
~~~~~~~~~~~~

* Thierry Ducrest <[email protected]>

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.

.. |maintainer-TDu| image:: https://github.com/TDu.png?size=40px
:target: https://github.com/TDu
:alt: TDu

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-TDu|

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

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions ebill_postfinance/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
35 changes: 35 additions & 0 deletions ebill_postfinance/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Copyright 2022 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "eBill Postfinance",
"summary": """Postfinance eBill integration""",
"version": "16.0.1.0.0",
"license": "AGPL-3",
"author": "Camptocamp,Odoo Community Association (OCA)",
"maintainers": ["TDu"],
"website": "https://github.com/OCA/l10n-switzerland",
"depends": [
"account",
"account_invoice_export",
"base_ebill_payment_contract",
"l10n_ch",
"sale",
],
"external_dependencies": {
"python": [
"zeep",
"ebilling_postfinance",
]
},
"data": [
"data/ir_cron.xml",
"data/transmit.method.xml",
"data/mail_activity_type.xml",
"security/ir.model.access.csv",
"views/ebill_payment_contract.xml",
"views/message_template.xml",
"views/ebill_postfinance_service.xml",
"views/ebill_postfinance_invoice_message.xml",
],
}
14 changes: 14 additions & 0 deletions ebill_postfinance/data/ir_cron.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record model="ir.cron" id="cron_search_invoices">
<field name="name">eBill Postfinance - Check invoices state on server</field>
<field name="interval_number">1</field>
<field name="interval_type">hours</field>
<field name="numbercall">-1</field>
<field name="active" eval="True" />
<field name="doall" eval="False" />
<field name="model_id" ref="model_ebill_postfinance_service" />
<field name="state">code</field>
<field name="code">model.cron_update_invoices()</field>
</record>
</odoo>
10 changes: 10 additions & 0 deletions ebill_postfinance/data/mail_activity_type.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="mail_activity_ebill_postfinance_error" model="mail.activity.type">
<field name="name">eBill Postfinance Error</field>
<field name="icon">fa-warning</field>
<field name="delay_count">0</field>
<field name="sequence">99</field>
<field name="decoration_type">warning</field>
</record>
</odoo>
10 changes: 10 additions & 0 deletions ebill_postfinance/data/transmit.method.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="postfinance_transmit_method" model="transmit.method">
<field name="name">Postfinance</field>
<field name="code">postfinance</field>
<field name="customer_ok" eval="True" />
<field name="supplier_ok" eval="False" />
<field name="send_through_http" eval="True" />
</record>
</odoo>
Loading

0 comments on commit d8891c6

Please sign in to comment.