This module implements the exchange of electronic invoices with the SIXT Paynet infrastructure used in Switzerland.
It allows the automatic sending of invoice to customer that have registered with the service.
auto_awesome What this module does
AI-generated from the code · Odoo 14.0Send customer invoices electronically through the Swiss Paynet (SIXT) network. Configure Paynet services and contracts, and track each invoice message until Paynet accepts or rejects it.
This module connects Odoo to the Paynet electronic invoicing platform used in Switzerland. Once a customer has a Paynet contract, invoices can be sent automatically instead of by post.
- Configure one or more Paynet services under Accounting > Configuration > Paynet Service, with credentials, Paynet ID, bank account, B2B/B2C type, test mode and HTTP timeout. Buttons let you test the connection and check for shipments.
- On a customer's payment contract, set the Paynet ID, the Paynet service and the payment method (QR or ISR). The Paynet ID and service are mandatory for Paynet contracts.
- When an invoice uses the Paynet transmission method, Odoo builds a PDF (with QR or ISR report) and an XML message, then sends it to Paynet. The invoice is marked as exported.
- Each message is stored with its state (draft, sent, done, reject, error), reference, shipment ID, payload and response. A 'Resend' button is available on the message form.
- A scheduled job runs hourly to poll Paynet for shipment statuses, download them and update the related invoices. Accepted invoices are logged in the chatter; rejected ones create a 'Paynet System Error' activity.
- A 'Paynet Messages' list and a 'Paynet Contracts' list are reachable from the service form.
Depends on
Required by other modules
Models and fields (5)
- sale.order · extends an existing modelpaynet_client_order_ref
- account.move · extends an existing model
- paynet.service · new modelurl, name, active, password, username, client_pid (Paynet ID), service_type (Service type), partner_bank_id (Bank account), use_test_service (Testing), operation_timeout (HTTP Timeout), invoice_message_ids (Invoice Messages), ebill_payment_contract_ids (Contracts)
- ebill.payment.contract · extends an existing modelpayment_type (Payment method), paynet_service_id (Paynet Service), is_paynet_contract, paynet_account_number (Paynet ID)
- paynet.invoice.message · new modelref (Reference No.), state, ic_ref (IC Ref), payload (Payload sent), response (Response recieved), invoice_id, service_id (Paynet Service), shipment_id, payment_type, attachment_id, ebill_account_number (Paynet Id)
Text generated by AI (DeepSeek) from reading the Odoo 14.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 2 confirmed, 7 with no information of 9 versions.
Sources · Odoo 13.0
Confirmed on 2026-11-03 in branch 13.0 of OCA/l10n-switzerland.
terminal Installation and usage
OCA documentation · Odoo 14.0Installation
Source · Odoo 14.0This module depends on base_ebill_payment_contract which is located on OCA/account_invoicing, so this repository must also be present on the system. This base_ebill_payment_contract module depends on account_invoice_transmit_method which will also be installed.
Configuration
Source · Odoo 14.0Create a service
To create a service you need to be registred with SIXT Paynet service. Then the configuration of the service can be done in Accounting - Configuration - Payments - Paynet Service
Configure the customers
A customer that wants to receive his invoices through Paynet will also need to register with the service. In Odoo to enable the sending of invoices for a specific customer through Paynet, the transmit method must be set accordingly for that customer. This is done on the customer form in the tab Sales & Purchases section Sales.
Configure the contracts
The contracts specific to e-billing are located in Accounting - Customers - eBill Payment Contract Although the Paynet system allows for automatic exchange of contract registration and status changes, this automation is not yet implemented. To be active a contract needs to be in the state Open and it's start/end dates to be valid.
Usage
Source · Odoo 14.0To 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 Paynet contract.
- Validate the invoice, and it will be send to the service.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.