odoo-addon-ebill-postfinance 16.0.1.0.0.6__py3-none-any.whl → 18.0.1.0.0.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- odoo/addons/ebill_postfinance/README.rst +42 -29
- odoo/addons/ebill_postfinance/__manifest__.py +1 -1
- odoo/addons/ebill_postfinance/data/ir_cron.xml +0 -2
- odoo/addons/ebill_postfinance/data/mail_activity_type.xml +7 -7
- odoo/addons/ebill_postfinance/data/transmit.method.xml +1 -1
- odoo/addons/ebill_postfinance/i18n/ebill_postfinance.pot +3 -16
- odoo/addons/ebill_postfinance/messages/invoice-2003A.jinja +1 -1
- odoo/addons/ebill_postfinance/messages/invoice-yellowbill.jinja +2 -2
- odoo/addons/ebill_postfinance/models/__init__.py +1 -0
- odoo/addons/ebill_postfinance/models/account_move.py +14 -8
- odoo/addons/ebill_postfinance/models/account_move_line.py +36 -0
- odoo/addons/ebill_postfinance/models/ebill_payment_contract.py +6 -3
- odoo/addons/ebill_postfinance/models/ebill_postfinance_invoice_message.py +16 -18
- odoo/addons/ebill_postfinance/models/ebill_postfinance_service.py +1 -1
- odoo/addons/ebill_postfinance/models/sale_order.py +0 -1
- odoo/addons/ebill_postfinance/readme/CONFIGURE.md +15 -0
- odoo/addons/ebill_postfinance/readme/CONTRIBUTORS.md +2 -0
- odoo/addons/ebill_postfinance/readme/{DESCRIPTION.rst → DESCRIPTION.md} +2 -1
- odoo/addons/ebill_postfinance/readme/INSTALL.md +3 -0
- odoo/addons/ebill_postfinance/readme/ROADMAP.md +10 -0
- odoo/addons/ebill_postfinance/readme/USAGE.md +6 -0
- odoo/addons/ebill_postfinance/static/description/index.html +55 -35
- odoo/addons/ebill_postfinance/tests/__init__.py +1 -0
- odoo/addons/ebill_postfinance/tests/common.py +33 -8
- odoo/addons/ebill_postfinance/tests/{examples → samples}/credit_note_yb.xml +24 -19
- odoo/addons/ebill_postfinance/tests/{examples → samples}/invoice_qr_yb.xml +27 -21
- odoo/addons/ebill_postfinance/tests/{examples → samples}/yellowbill_qr_iban.xml +164 -163
- odoo/addons/ebill_postfinance/tests/test_account_move.py +57 -0
- odoo/addons/ebill_postfinance/tests/test_ebill_postfinance.py +8 -2
- odoo/addons/ebill_postfinance/tests/test_ebill_postfinance_message_yb.py +7 -11
- odoo/addons/ebill_postfinance/tests/test_ebill_postfinance_message_yb_creditnote.py +5 -9
- odoo/addons/ebill_postfinance/views/ebill_payment_contract.xml +14 -17
- odoo/addons/ebill_postfinance/views/ebill_postfinance_invoice_message.xml +21 -21
- odoo/addons/ebill_postfinance/views/ebill_postfinance_service.xml +15 -15
- {odoo_addon_ebill_postfinance-16.0.1.0.0.6.dist-info → odoo_addon_ebill_postfinance-18.0.1.0.0.7.dist-info}/METADATA +52 -38
- odoo_addon_ebill_postfinance-18.0.1.0.0.7.dist-info/RECORD +46 -0
- {odoo_addon_ebill_postfinance-16.0.1.0.0.6.dist-info → odoo_addon_ebill_postfinance-18.0.1.0.0.7.dist-info}/WHEEL +1 -1
- odoo_addon_ebill_postfinance-18.0.1.0.0.7.dist-info/top_level.txt +1 -0
- odoo/addons/ebill_postfinance/readme/CONFIGURE.rst +0 -13
- odoo/addons/ebill_postfinance/readme/CONTRIBUTORS.rst +0 -1
- odoo/addons/ebill_postfinance/readme/INSTALL.rst +0 -2
- odoo/addons/ebill_postfinance/readme/ROADMAP.rst +0 -10
- odoo/addons/ebill_postfinance/readme/USAGE.rst +0 -5
- odoo_addon_ebill_postfinance-16.0.1.0.0.6.dist-info/RECORD +0 -44
- odoo_addon_ebill_postfinance-16.0.1.0.0.6.dist-info/top_level.txt +0 -1
|
@@ -3,8 +3,12 @@
|
|
|
3
3
|
|
|
4
4
|
import os
|
|
5
5
|
|
|
6
|
+
from odoo.tools import mute_logger
|
|
7
|
+
|
|
6
8
|
from .common import CommonCase, recorder
|
|
7
9
|
|
|
10
|
+
LOGGER = "odoo.addons.ebill_postfinance.models.ebill_postfinance_service"
|
|
11
|
+
|
|
8
12
|
|
|
9
13
|
class TestEbillPostfinance(CommonCase):
|
|
10
14
|
@classmethod
|
|
@@ -13,19 +17,20 @@ class TestEbillPostfinance(CommonCase):
|
|
|
13
17
|
cls.transaction_id = "test-transaction-123"
|
|
14
18
|
cls.invoice_message = cls.invoice.create_postfinance_ebill()
|
|
15
19
|
|
|
20
|
+
@mute_logger("vcr.cassette", LOGGER)
|
|
16
21
|
@recorder.use_cassette
|
|
17
22
|
def test_ping_service(self):
|
|
18
23
|
"""Check the ping service testing purpose only."""
|
|
19
24
|
self.service.ping_service()
|
|
20
25
|
|
|
26
|
+
@mute_logger("vcr.cassette", LOGGER)
|
|
21
27
|
@recorder.use_cassette
|
|
22
28
|
def test_upload_file(self):
|
|
23
29
|
"""Check uploading an XML invoice to the service."""
|
|
24
30
|
with open(
|
|
25
31
|
os.path.join(
|
|
26
|
-
os.path.dirname(__file__), "
|
|
32
|
+
os.path.dirname(__file__), "samples", "yellowbill_qr_iban.xml"
|
|
27
33
|
),
|
|
28
|
-
"r",
|
|
29
34
|
) as f:
|
|
30
35
|
data = f.read()
|
|
31
36
|
data = data.encode("utf-8")
|
|
@@ -35,6 +40,7 @@ class TestEbillPostfinance(CommonCase):
|
|
|
35
40
|
self.assertEqual(result.TransactionID, "test-transaction-123")
|
|
36
41
|
self.assertEqual(result.ProcessingState, "OK")
|
|
37
42
|
|
|
43
|
+
@mute_logger("vcr.cassette", LOGGER)
|
|
38
44
|
@recorder.use_cassette
|
|
39
45
|
def test_search_invoices(self):
|
|
40
46
|
"""Check the search invoice endpoint.
|
|
@@ -11,7 +11,7 @@ from lxml import etree as ET
|
|
|
11
11
|
from odoo.modules.module import get_module_root
|
|
12
12
|
from odoo.tools import file_open
|
|
13
13
|
|
|
14
|
-
from .common import CommonCase
|
|
14
|
+
from .common import CommonCase, clean_xml
|
|
15
15
|
|
|
16
16
|
_logger = logging.getLogger(__name__)
|
|
17
17
|
|
|
@@ -34,7 +34,7 @@ class TestEbillPostfinanceMessageYB(CommonCase):
|
|
|
34
34
|
def test_invoice_qr(self):
|
|
35
35
|
"""Check XML payload genetated for an invoice."""
|
|
36
36
|
self.invoice.name = "INV_TEST_01"
|
|
37
|
-
self.invoice.
|
|
37
|
+
self.invoice.invoice_payment_term_id = self.payment_term
|
|
38
38
|
message = self.invoice.create_postfinance_ebill()
|
|
39
39
|
message.set_transaction_id()
|
|
40
40
|
message.payload = message._generate_payload_yb()
|
|
@@ -50,16 +50,12 @@ class TestEbillPostfinanceMessageYB(CommonCase):
|
|
|
50
50
|
payload = "\n".join(lines).encode("utf8")
|
|
51
51
|
# Prepare the XML file that is expected
|
|
52
52
|
expected_tmpl = Template(
|
|
53
|
-
file_open("ebill_postfinance/tests/
|
|
53
|
+
file_open("ebill_postfinance/tests/samples/invoice_qr_yb.xml").read()
|
|
54
54
|
)
|
|
55
55
|
expected = expected_tmpl.substitute(
|
|
56
56
|
TRANSACTION_ID=message.transaction_id, CUSTOMER_ID=self.customer.id
|
|
57
57
|
).encode("utf8")
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if not line.lstrip().startswith(b"<!--")
|
|
63
|
-
]
|
|
64
|
-
expected_nocomment = b"\n".join(expected_nocomment)
|
|
65
|
-
self.assertFalse(self.compare_xml_line_by_line(payload, expected_nocomment))
|
|
58
|
+
|
|
59
|
+
payload = clean_xml(payload)
|
|
60
|
+
expected = clean_xml(expected)
|
|
61
|
+
self.assertFalse(self.compare_xml_line_by_line(payload, expected))
|
|
@@ -11,7 +11,7 @@ from lxml import etree as ET
|
|
|
11
11
|
from odoo.modules.module import get_module_root
|
|
12
12
|
from odoo.tools import file_open
|
|
13
13
|
|
|
14
|
-
from .common import CommonCase
|
|
14
|
+
from .common import CommonCase, clean_xml
|
|
15
15
|
|
|
16
16
|
_logger = logging.getLogger(__name__)
|
|
17
17
|
|
|
@@ -52,16 +52,12 @@ class TestEbillPostfinanceMessageYBCreditNote(CommonCase):
|
|
|
52
52
|
payload = "\n".join(lines).encode("utf8")
|
|
53
53
|
# Prepare the XML file that is expected
|
|
54
54
|
expected_tmpl = Template(
|
|
55
|
-
file_open("ebill_postfinance/tests/
|
|
55
|
+
file_open("ebill_postfinance/tests/samples/credit_note_yb.xml").read()
|
|
56
56
|
)
|
|
57
57
|
expected = expected_tmpl.substitute(
|
|
58
58
|
TRANSACTION_ID=message.transaction_id, CUSTOMER_ID=self.customer.id
|
|
59
59
|
).encode("utf8")
|
|
60
60
|
# Remove the comments in the expected xml
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if not line.lstrip().startswith(b"<!--")
|
|
65
|
-
]
|
|
66
|
-
expected_nocomment = b"\n".join(expected_nocomment)
|
|
67
|
-
self.assertFalse(self.compare_xml_line_by_line(payload, expected_nocomment))
|
|
61
|
+
expected = clean_xml(expected)
|
|
62
|
+
payload = clean_xml(payload)
|
|
63
|
+
self.assertFalse(self.compare_xml_line_by_line(payload, expected))
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
2
|
<odoo>
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
<record id="invoices_sent_to_service_4_contract" model="ir.actions.act_window">
|
|
4
|
+
<field name="name">Invoices Sent to Postfinance</field>
|
|
5
|
+
<field name="res_model">ebill.postfinance.invoice.message</field>
|
|
6
|
+
<field name="type">ir.actions.act_window</field>
|
|
7
|
+
<field name="domain">[('ebill_payment_contract_id', '=', active_id)]</field>
|
|
8
|
+
<field name="view_mode">tree,form</field>
|
|
9
|
+
</record>
|
|
10
10
|
<record model="ir.ui.view" id="ebill_payment_contract_form_view">
|
|
11
11
|
<field name="name">ebill.payment.contract.form (in ebill_postfinance)</field>
|
|
12
12
|
<field name="model">ebill.payment.contract</field>
|
|
@@ -19,29 +19,26 @@
|
|
|
19
19
|
<group
|
|
20
20
|
name="postfinance"
|
|
21
21
|
string="Postfinance"
|
|
22
|
-
|
|
22
|
+
invisible="not is_postfinance_contract"
|
|
23
23
|
>
|
|
24
24
|
<field name="postfinance_service_id" />
|
|
25
25
|
<field name="postfinance_billerid" />
|
|
26
26
|
<field name="payment_type" />
|
|
27
|
-
<field name="is_postfinance_contract" invisible="1" />
|
|
28
|
-
<field name="is_postfinance_method_on_partner" invisible="1" />
|
|
29
27
|
</group>
|
|
30
28
|
</group>
|
|
31
29
|
|
|
32
30
|
<group name="main" position="before">
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
<div class="oe_button_box" name="button_box">
|
|
32
|
+
<button
|
|
35
33
|
name="set_postfinance_method_on_partner"
|
|
36
34
|
help="Sets the invoice transmit method on the customer"
|
|
37
35
|
type="object"
|
|
38
36
|
class="oe_stat_button"
|
|
39
37
|
icon="fa-user-o"
|
|
40
38
|
string="Set invoicing method"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
<button
|
|
39
|
+
invisible="is_postfinance_method_on_partner"
|
|
40
|
+
/>
|
|
41
|
+
<button
|
|
45
42
|
name="%(invoices_sent_to_service_4_contract)d"
|
|
46
43
|
type="action"
|
|
47
44
|
class="oe_stat_button"
|
|
@@ -49,7 +46,7 @@
|
|
|
49
46
|
>
|
|
50
47
|
Invoices
|
|
51
48
|
</button>
|
|
52
|
-
|
|
49
|
+
</div>
|
|
53
50
|
</group>
|
|
54
51
|
</field>
|
|
55
52
|
</record>
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
<field name="arch" type="xml">
|
|
7
7
|
<form>
|
|
8
8
|
<header>
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
<button type="object" name="send_to_postfinance" string="Resend" />
|
|
10
|
+
<button
|
|
11
11
|
type="object"
|
|
12
12
|
name="validate_xml_payload"
|
|
13
13
|
string="Check payload validity"
|
|
14
14
|
/>
|
|
15
|
-
|
|
15
|
+
<field
|
|
16
16
|
name="state"
|
|
17
17
|
widget="statusbar"
|
|
18
18
|
readonly="1"
|
|
@@ -21,25 +21,25 @@
|
|
|
21
21
|
</header>
|
|
22
22
|
<sheet>
|
|
23
23
|
<group>
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
<group>
|
|
25
|
+
<field name="transaction_id" />
|
|
26
|
+
<field name="submitted_on" />
|
|
27
|
+
</group>
|
|
28
|
+
<group>
|
|
29
|
+
<field name="service_id" />
|
|
30
|
+
<field name="invoice_id" />
|
|
31
|
+
</group>
|
|
32
32
|
</group>
|
|
33
33
|
<group>
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
<field name="server_state" />
|
|
35
|
+
<field name="server_reason_code" />
|
|
36
|
+
<field name="server_reason_text" />
|
|
37
37
|
</group>
|
|
38
38
|
<group>
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
<field name="response" />
|
|
40
|
+
<field name="payload_size" />
|
|
41
|
+
<field name="payload" />
|
|
42
|
+
<field name="attachment_id" />
|
|
43
43
|
</group>
|
|
44
44
|
</sheet>
|
|
45
45
|
</form>
|
|
@@ -67,15 +67,15 @@
|
|
|
67
67
|
</field>
|
|
68
68
|
</record>
|
|
69
69
|
<record model="ir.ui.view" id="ebill_postfinance_invoice_message_tree_view">
|
|
70
|
-
<field name="name">ebill.postfinance.invoice.message.
|
|
70
|
+
<field name="name">ebill.postfinance.invoice.message.list</field>
|
|
71
71
|
<field name="model">ebill.postfinance.invoice.message</field>
|
|
72
72
|
<field name="arch" type="xml">
|
|
73
|
-
<
|
|
73
|
+
<list create="false" default_order="submitted_on desc">
|
|
74
74
|
<field name="invoice_id" />
|
|
75
75
|
<field name="transaction_id" />
|
|
76
76
|
<field name="submitted_on" />
|
|
77
77
|
<field name="state" />
|
|
78
|
-
</
|
|
78
|
+
</list>
|
|
79
79
|
</field>
|
|
80
80
|
</record>
|
|
81
81
|
</odoo>
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
2
|
<odoo>
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
<record id="invoices_sent_to_service" model="ir.actions.act_window">
|
|
4
|
+
<field name="name">Invoices Sent to Postfinance</field>
|
|
5
|
+
<field name="res_model">ebill.postfinance.invoice.message</field>
|
|
6
|
+
<field name="type">ir.actions.act_window</field>
|
|
7
|
+
<field name="domain">[('service_id', '=', active_id)]</field>
|
|
8
|
+
<field name="context">{'default_service_id': active_id}</field>
|
|
9
|
+
<field name="view_mode">list,form</field>
|
|
10
|
+
</record>
|
|
11
11
|
<record id="contract_for_service" model="ir.actions.act_window">
|
|
12
12
|
<field name="name">Subscription</field>
|
|
13
13
|
<field name="res_model">ebill.payment.contract</field>
|
|
14
14
|
<field name="type">ir.actions.act_window</field>
|
|
15
15
|
<field name="domain">[('postfinance_service_id', '=', active_id)]</field>
|
|
16
16
|
<field name="context">{'default_postfinance_service_id': active_id}</field>
|
|
17
|
-
<field name="view_mode">
|
|
17
|
+
<field name="view_mode">list,form</field>
|
|
18
18
|
</record>
|
|
19
19
|
<record model="ir.ui.view" id="postfinance_service_form_view">
|
|
20
20
|
<field name="name">postfinance.service.form</field>
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
<field name="file_type_to_use" readonly="1" />
|
|
78
78
|
<field
|
|
79
79
|
name="use_file_type_xml_paynet"
|
|
80
|
-
|
|
80
|
+
invisible="file_type_to_use != 'XML'"
|
|
81
81
|
/>
|
|
82
82
|
<field
|
|
83
83
|
name="partner_bank_id"
|
|
@@ -109,21 +109,21 @@
|
|
|
109
109
|
</field>
|
|
110
110
|
</record>
|
|
111
111
|
<record model="ir.ui.view" id="postfinance_service_tree_view">
|
|
112
|
-
<field name="name">postfinance.service.
|
|
112
|
+
<field name="name">postfinance.service.list</field>
|
|
113
113
|
<field name="model">ebill.postfinance.service</field>
|
|
114
114
|
<field name="arch" type="xml">
|
|
115
|
-
<
|
|
115
|
+
<list>
|
|
116
116
|
<field name="name" />
|
|
117
117
|
<field name="use_test_service" />
|
|
118
118
|
<field name="biller_id" />
|
|
119
|
-
<field name="active"
|
|
120
|
-
</
|
|
119
|
+
<field name="active" optional="hide" />
|
|
120
|
+
</list>
|
|
121
121
|
</field>
|
|
122
122
|
</record>
|
|
123
123
|
<record model="ir.actions.act_window" id="postfinance_service_act_window">
|
|
124
124
|
<field name="name">Postinance eBill Service</field>
|
|
125
125
|
<field name="res_model">ebill.postfinance.service</field>
|
|
126
|
-
<field name="view_mode">
|
|
126
|
+
<field name="view_mode">list,form</field>
|
|
127
127
|
<field name="domain">[]</field>
|
|
128
128
|
<field name="context">{'search_default_all_service': 1}</field>
|
|
129
129
|
</record>
|
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: odoo-addon-ebill_postfinance
|
|
3
|
-
Version:
|
|
3
|
+
Version: 18.0.1.0.0.7
|
|
4
|
+
Requires-Python: >=3.10
|
|
5
|
+
Requires-Dist: ebilling_postfinance
|
|
6
|
+
Requires-Dist: odoo-addon-account_invoice_export==18.0.*
|
|
7
|
+
Requires-Dist: odoo-addon-base_ebill_payment_contract==18.0.*
|
|
8
|
+
Requires-Dist: odoo==18.0.*
|
|
9
|
+
Requires-Dist: zeep
|
|
4
10
|
Summary: Postfinance eBill integration
|
|
5
11
|
Home-page: https://github.com/OCA/l10n-switzerland
|
|
12
|
+
License: AGPL-3
|
|
6
13
|
Author: Camptocamp,Odoo Community Association (OCA)
|
|
7
14
|
Author-email: support@odoo-community.org
|
|
8
|
-
License: AGPL-3
|
|
9
15
|
Classifier: Programming Language :: Python
|
|
10
16
|
Classifier: Framework :: Odoo
|
|
11
|
-
Classifier: Framework :: Odoo ::
|
|
17
|
+
Classifier: Framework :: Odoo :: 18.0
|
|
12
18
|
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Requires-Dist: zeep
|
|
19
|
+
Description-Content-Type: text/x-rst
|
|
20
|
+
|
|
21
|
+
.. image:: https://odoo-community.org/readme-banner-image
|
|
22
|
+
:target: https://odoo-community.org/get-involved?utm_source=readme
|
|
23
|
+
:alt: Odoo Community Association
|
|
19
24
|
|
|
20
25
|
=================
|
|
21
26
|
eBill Postfinance
|
|
@@ -26,28 +31,29 @@ eBill Postfinance
|
|
|
26
31
|
!! This file is generated by oca-gen-addon-readme !!
|
|
27
32
|
!! changes will be overwritten. !!
|
|
28
33
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
29
|
-
!! source digest: sha256:
|
|
34
|
+
!! source digest: sha256:70553006c73d13f974e48d52641436b9d6be23fb09a43c219b113be254f6e9d1
|
|
30
35
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
31
36
|
|
|
32
37
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
33
38
|
:target: https://odoo-community.org/page/development-status
|
|
34
39
|
:alt: Beta
|
|
35
|
-
.. |badge2| image:: https://img.shields.io/badge/
|
|
40
|
+
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
|
|
36
41
|
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
|
37
42
|
:alt: License: AGPL-3
|
|
38
43
|
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--switzerland-lightgray.png?logo=github
|
|
39
|
-
:target: https://github.com/OCA/l10n-switzerland/tree/
|
|
44
|
+
:target: https://github.com/OCA/l10n-switzerland/tree/18.0/ebill_postfinance
|
|
40
45
|
:alt: OCA/l10n-switzerland
|
|
41
46
|
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
|
42
|
-
:target: https://translation.odoo-community.org/projects/l10n-switzerland-
|
|
47
|
+
:target: https://translation.odoo-community.org/projects/l10n-switzerland-18-0/l10n-switzerland-18-0-ebill_postfinance
|
|
43
48
|
:alt: Translate me on Weblate
|
|
44
49
|
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
|
|
45
|
-
:target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-switzerland&target_branch=
|
|
50
|
+
:target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-switzerland&target_branch=18.0
|
|
46
51
|
:alt: Try me on Runboat
|
|
47
52
|
|
|
48
53
|
|badge1| |badge2| |badge3| |badge4| |badge5|
|
|
49
54
|
|
|
50
|
-
This module implements the exchange of electronic invoices with the
|
|
55
|
+
This module implements the exchange of electronic invoices with the
|
|
56
|
+
Postfinance web service.
|
|
51
57
|
|
|
52
58
|
**Table of contents**
|
|
53
59
|
|
|
@@ -57,48 +63,55 @@ This module implements the exchange of electronic invoices with the Postfinance
|
|
|
57
63
|
Installation
|
|
58
64
|
============
|
|
59
65
|
|
|
60
|
-
This module needs the Python library
|
|
61
|
-
More information can be found at
|
|
66
|
+
This module needs the Python library ebilling_postfinance which can be
|
|
67
|
+
installed from Pypi. More information can be found at
|
|
68
|
+
`repository <repository%20https://github.com/camptocamp/ebilling-postfinance>`__
|
|
69
|
+
https://github.com/camptocamp/ebilling-postfinance.
|
|
62
70
|
|
|
63
71
|
Configuration
|
|
64
72
|
=============
|
|
65
73
|
|
|
66
74
|
Create a service
|
|
67
|
-
|
|
75
|
+
----------------
|
|
68
76
|
|
|
69
|
-
First you need to be registred on 'Postfinance eBill service
|
|
70
|
-
|
|
77
|
+
First you need to be registred on 'Postfinance eBill service
|
|
78
|
+
<https://www.postfinance.ch/en/business/products/accounts-receivable-solutions/e-bill-invoice-issuer.html>'
|
|
79
|
+
To create a service go to Accounting - Configuration - Payments -
|
|
80
|
+
Postfinance eBill Service
|
|
71
81
|
|
|
72
82
|
Configure a customer and create his contract
|
|
73
|
-
|
|
83
|
+
--------------------------------------------
|
|
74
84
|
|
|
75
|
-
The contracts specific to Postfinance e-billing are located in
|
|
76
|
-
|
|
85
|
+
The contracts specific to Postfinance e-billing are located in
|
|
86
|
+
Accounting - Customers - eBill Postfinance Contract Create a contract
|
|
87
|
+
for a customer with his PayerId and make sure that the contract is
|
|
88
|
+
active by being in Open state with valid start/end dates.
|
|
77
89
|
|
|
78
|
-
Set
|
|
90
|
+
Set Customer Invoice Transmission Method on the customer to Postfinance.
|
|
79
91
|
|
|
80
92
|
Usage
|
|
81
93
|
=====
|
|
82
94
|
|
|
83
95
|
To use this module, you need to:
|
|
84
96
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
97
|
+
1. Configure the service, customers and contracts as described in the
|
|
98
|
+
CONFIGURATION section.
|
|
99
|
+
2. Create an invoice for a customer with an open Postfinance contract.
|
|
100
|
+
3. Validate the invoice, and click the Send eBill button.
|
|
88
101
|
|
|
89
102
|
Known issues / Roadmap
|
|
90
103
|
======================
|
|
91
104
|
|
|
92
105
|
ToDo
|
|
93
106
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
107
|
+
- Add option to import the contract subscription (csv)
|
|
108
|
+
- Add the download of this csv from web service, but what is the
|
|
109
|
+
endpoint ?
|
|
97
110
|
|
|
98
111
|
Nice to have
|
|
99
112
|
|
|
100
|
-
|
|
101
|
-
|
|
113
|
+
- Add a link to the failed job in the chatter message.
|
|
114
|
+
- Add an action on partner to create a ebilling contract.
|
|
102
115
|
|
|
103
116
|
Bug Tracker
|
|
104
117
|
===========
|
|
@@ -106,7 +119,7 @@ Bug Tracker
|
|
|
106
119
|
Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-switzerland/issues>`_.
|
|
107
120
|
In case of trouble, please check there if your issue has already been reported.
|
|
108
121
|
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
|
109
|
-
`feedback <https://github.com/OCA/l10n-switzerland/issues/new?body=module:%20ebill_postfinance%0Aversion:%
|
|
122
|
+
`feedback <https://github.com/OCA/l10n-switzerland/issues/new?body=module:%20ebill_postfinance%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
|
110
123
|
|
|
111
124
|
Do not contact contributors directly about support or help with technical issues.
|
|
112
125
|
|
|
@@ -114,17 +127,18 @@ Credits
|
|
|
114
127
|
=======
|
|
115
128
|
|
|
116
129
|
Authors
|
|
117
|
-
|
|
130
|
+
-------
|
|
118
131
|
|
|
119
132
|
* Camptocamp
|
|
120
133
|
|
|
121
134
|
Contributors
|
|
122
|
-
|
|
135
|
+
------------
|
|
123
136
|
|
|
124
|
-
|
|
137
|
+
- Thierry Ducrest <thierry.ducrest@camptocamp.com>
|
|
138
|
+
- Simone Orsi <simone.orsi@camptocamp.com>
|
|
125
139
|
|
|
126
140
|
Maintainers
|
|
127
|
-
|
|
141
|
+
-----------
|
|
128
142
|
|
|
129
143
|
This module is maintained by the OCA.
|
|
130
144
|
|
|
@@ -144,6 +158,6 @@ Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|
|
|
144
158
|
|
|
145
159
|
|maintainer-TDu|
|
|
146
160
|
|
|
147
|
-
This module is part of the `OCA/l10n-switzerland <https://github.com/OCA/l10n-switzerland/tree/
|
|
161
|
+
This module is part of the `OCA/l10n-switzerland <https://github.com/OCA/l10n-switzerland/tree/18.0/ebill_postfinance>`_ project on GitHub.
|
|
148
162
|
|
|
149
163
|
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
odoo/addons/ebill_postfinance/README.rst,sha256=Kgm3n1Jutd3WnWSrFwbFXgqe7Nile7bDWT1PUD8IzLQ,4953
|
|
2
|
+
odoo/addons/ebill_postfinance/__init__.py,sha256=X9EJGOE2GtZbS0G82PtSXmWSZ_R8jEM0rlJTDliQjp4,21
|
|
3
|
+
odoo/addons/ebill_postfinance/__manifest__.py,sha256=gypdtVMYBpmYauvhmXfZX5Z2KmSCFOw-jFlY0Zc-4Go,1009
|
|
4
|
+
odoo/addons/ebill_postfinance/data/ir_cron.xml,sha256=MZ7JTxS6NX6R8cW-Zu1Hf37PWFc6Znoh3k-IX3llJEk,542
|
|
5
|
+
odoo/addons/ebill_postfinance/data/mail_activity_type.xml,sha256=mP5La42MmtGFeCHQ_EIeoZ3VdH6cgAhtJx7Wfmos9Go,410
|
|
6
|
+
odoo/addons/ebill_postfinance/data/transmit.method.xml,sha256=q4Mf1yO2Nv_pjhy_lKWhptDEKVHwM7EPCyEhFLmR90s,406
|
|
7
|
+
odoo/addons/ebill_postfinance/i18n/ebill_postfinance.pot,sha256=SegmUfMlWSTIpDtec-Sc4z1-SWEU4TUfanFRCl6EDGw,18191
|
|
8
|
+
odoo/addons/ebill_postfinance/messages/invoice-2003A.jinja,sha256=xd25TK21-QjytwddSqKhiJEswKg58t17_U9yl82qqok,9486
|
|
9
|
+
odoo/addons/ebill_postfinance/messages/invoice-yellowbill.jinja,sha256=n3J9FjA36VP9ZbxVr2OE3mVlw3IYTyoQh5hw0KhZhSU,12114
|
|
10
|
+
odoo/addons/ebill_postfinance/messages/ybInvoice_V2.0.4.xsd,sha256=5fbM7Miwb59sXvUgjwJMszIJ19NuHQU3gsGaxTO27fA,48785
|
|
11
|
+
odoo/addons/ebill_postfinance/models/__init__.py,sha256=94IEqunNsjKCa5QhjyG9Nf8fIWkrUF9cQX1nUHEybiw,209
|
|
12
|
+
odoo/addons/ebill_postfinance/models/account_move.py,sha256=dtDrHqQ9b1G2fuSSNJcoIVBwWTqO84uqUJHvlL9hUd4,5496
|
|
13
|
+
odoo/addons/ebill_postfinance/models/account_move_line.py,sha256=uvkDXVDtKqLYVqUNO-b0mPU5mWlvhLwIBv7UERQkPyg,1040
|
|
14
|
+
odoo/addons/ebill_postfinance/models/ebill_payment_contract.py,sha256=iUal5MIzTB40i9Y-nMYlAmWJsNI4pTVZGUGQIE1j2V4,2979
|
|
15
|
+
odoo/addons/ebill_postfinance/models/ebill_postfinance_invoice_message.py,sha256=rhGYcVIRk3HnGy3l-3_h3skPsHEaIoQ6EG2wKLTNTOM,13872
|
|
16
|
+
odoo/addons/ebill_postfinance/models/ebill_postfinance_service.py,sha256=0BCZYJRuJoA0mZZ_d7UC9s4MFiSO9wJ9q2MdxzKh_Q4,5396
|
|
17
|
+
odoo/addons/ebill_postfinance/models/sale_order.py,sha256=FcZO5xIwLwQ3DfIRhxQ_u3ce4xF4JLRXSoLq4gcxpj0,596
|
|
18
|
+
odoo/addons/ebill_postfinance/readme/CONFIGURE.md,sha256=9Ltm2r63Vf2hXKqelKqy3rRKWqh4uJOui4VXtcLQsmo,668
|
|
19
|
+
odoo/addons/ebill_postfinance/readme/CONTRIBUTORS.md,sha256=-UAChp179PC2iHOfWylWiPmdcRXFo5YjCUrTVcyvZDU,102
|
|
20
|
+
odoo/addons/ebill_postfinance/readme/DESCRIPTION.md,sha256=5_rnfEXypKkAz_bzv-SvnqhObrKz7s0y4GOOB3KtULo,93
|
|
21
|
+
odoo/addons/ebill_postfinance/readme/INSTALL.md,sha256=ErCiPmKdNLtKzLIvSkDn5wXbo7pCjJeYT_3NX8eFkzM,255
|
|
22
|
+
odoo/addons/ebill_postfinance/readme/ROADMAP.md,sha256=nLq81zndHINi8A-4QARIR9d0UskLnMImbB-77m_DOZM,267
|
|
23
|
+
odoo/addons/ebill_postfinance/readme/USAGE.md,sha256=g4P07RKTNtVZlE8AGv7QvS-hy1mC0wmoE5pNgsvX_EQ,263
|
|
24
|
+
odoo/addons/ebill_postfinance/security/ir.model.access.csv,sha256=fJD04mfPfepHjkTEJxMqMdSM5CX7pYGy3cPP-b6GC-A,687
|
|
25
|
+
odoo/addons/ebill_postfinance/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
|
26
|
+
odoo/addons/ebill_postfinance/static/description/index.html,sha256=dd9wZVBrz8QJGRnLSV_8xm2KZKv_zhTSWZeLYRqEen4,16115
|
|
27
|
+
odoo/addons/ebill_postfinance/tests/__init__.py,sha256=8pkOAZOraRCvXwqdSsOIMcOxtdnzf-tT86ePA3Bs-r0,176
|
|
28
|
+
odoo/addons/ebill_postfinance/tests/common.py,sha256=AK2OobDX6UsJzRwNHBhQ043vcjs8vbQzsMWg_-BDVSo,8059
|
|
29
|
+
odoo/addons/ebill_postfinance/tests/test_account_move.py,sha256=uQNL82ioXdIdWsfB_oSNji9DVvjakP1SD7Kdl-ZiXqA,2439
|
|
30
|
+
odoo/addons/ebill_postfinance/tests/test_ebill_postfinance.py,sha256=MAFxx8zlfLq7zVvNS1JMCedquW-aGkd9Ui6aSL3GrXc,1968
|
|
31
|
+
odoo/addons/ebill_postfinance/tests/test_ebill_postfinance_message_yb.py,sha256=xrrBQ9kfPcVBWEWfuCREIlUj_V2OKkYJohgibKc2Lq8,2268
|
|
32
|
+
odoo/addons/ebill_postfinance/tests/test_ebill_postfinance_message_yb_creditnote.py,sha256=iXR-0zEpAkWO5ksbhgQ3KNcfXFkIXtlMMyamwXMvceQ,2409
|
|
33
|
+
odoo/addons/ebill_postfinance/tests/fixtures/cassettes/test_ping_service.yaml,sha256=iJqfZeJIrrK-H7dXwTzYDqqheRpW9APHqjVjQsfwa0c,70472
|
|
34
|
+
odoo/addons/ebill_postfinance/tests/fixtures/cassettes/test_search_invoices.yaml,sha256=rcVgP3wrk8xV8BfcPNlPyfE3UpC-kDOpPpWI2C-H3vE,37776
|
|
35
|
+
odoo/addons/ebill_postfinance/tests/fixtures/cassettes/test_upload_file.yaml,sha256=u5trLGrZ8OjtsQrsWZ-xwEWB8Ryk9oefKlxfqf2SkvE,142979
|
|
36
|
+
odoo/addons/ebill_postfinance/tests/samples/credit_note_yb.xml,sha256=rgaU56WyuMk9iZzRRrm2zh92cXdtVusxUjH8idbEOnA,8481
|
|
37
|
+
odoo/addons/ebill_postfinance/tests/samples/invoice_qr_yb.xml,sha256=6CJhUgKvNm8KZeHdWmG5jkMO-lM4NVKrg6trL8jsbyg,8787
|
|
38
|
+
odoo/addons/ebill_postfinance/tests/samples/yellowbill_qr_iban.xml,sha256=otxiwxkOf1pVOC4jU8EPlZqHzoFNDRTZEcQbEvASn1w,82082
|
|
39
|
+
odoo/addons/ebill_postfinance/views/ebill_payment_contract.xml,sha256=luoTtE95MwKbhvxC9exb5hZQgoUhi_uHaRTxWn5UmmM,2251
|
|
40
|
+
odoo/addons/ebill_postfinance/views/ebill_postfinance_invoice_message.xml,sha256=PBuwMKyZwpcoDa6OYKY2a6hN2AZoCer7bMe96uSdadY,3333
|
|
41
|
+
odoo/addons/ebill_postfinance/views/ebill_postfinance_service.xml,sha256=znESW62lr7EJW-YbLCsurNTqMqq_DmLNTtiTT_BxEp8,5999
|
|
42
|
+
odoo/addons/ebill_postfinance/views/message_template.xml,sha256=gNBva1ehWFgz6W6lrNCmpxZ_maovQJxhHcBpxcohvZo,213
|
|
43
|
+
odoo_addon_ebill_postfinance-18.0.1.0.0.7.dist-info/METADATA,sha256=OdmVLfrQF8p_gKTa7m7lr-QSvfjDczmf3xWyg9GnaBk,5683
|
|
44
|
+
odoo_addon_ebill_postfinance-18.0.1.0.0.7.dist-info/WHEEL,sha256=ZhOvUsYhy81Dx67gN3TV0RchQWBIIzutDZaJODDg2Vo,81
|
|
45
|
+
odoo_addon_ebill_postfinance-18.0.1.0.0.7.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
|
46
|
+
odoo_addon_ebill_postfinance-18.0.1.0.0.7.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
odoo
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
Create a service
|
|
2
|
-
================
|
|
3
|
-
|
|
4
|
-
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>'
|
|
5
|
-
To create a service go to `Accounting - Configuration - Payments - Postfinance eBill Service`
|
|
6
|
-
|
|
7
|
-
Configure a customer and create his contract
|
|
8
|
-
============================================
|
|
9
|
-
|
|
10
|
-
The contracts specific to Postfinance e-billing are located in `Accounting - Customers - eBill Postfinance Contract`
|
|
11
|
-
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.
|
|
12
|
-
|
|
13
|
-
Set `Customer Invoice Transmission Method` on the customer to Postfinance.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
* Thierry Ducrest <thierry.ducrest@camptocamp.com>
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
ToDo
|
|
2
|
-
|
|
3
|
-
* Add option to import the contract subscription (csv)
|
|
4
|
-
* Add the download of this csv from web service, but what is the endpoint ?
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Nice to have
|
|
8
|
-
|
|
9
|
-
* Add a link to the failed job in the chatter message.
|
|
10
|
-
* Add an action on partner to create a ebilling contract.
|