OdooWiki OCA HUB

eBill Postfinance

ebill_postfinance folder_open OCA/l10n-switzerland open_in_new
Uncategorised License: AGPL-3

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

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Send customer invoices and credit notes electronically to Postfinance eBill, and track their status (sent, paid, rejected) directly in Odoo.

This module connects Odoo to the Postfinance eBill service so you can send invoices electronically instead of by post. You configure one or more Postfinance services (Biller ID, username, password, bank account, invoice format and language) under the Payment menu.

  • On a customer contract you set the Postfinance Contract ID, the service and the payment method; Odoo checks that both the Contract ID and the service are filled in.
  • A button on the contract sets the Postfinance transmit method on the customer, and another button opens the list of invoices already sent for that contract.
  • When an invoice uses the Postfinance transmit method, Odoo automatically picks the bank account defined on the service, generates the PDF, builds the XML message and uploads it to Postfinance.
  • Each sent invoice creates a message record showing transaction ID, submission date, payload, response, server state and error code/text. You can resend a message or check that its XML payload is valid.
  • A scheduled job runs every hour to check invoice states on the server; paid invoices are marked done and a note is added in the invoice chatter, while rejected or errored invoices create a warning activity for follow-up.
  • The module also touches account.move, account.move.line, sale.order and ebill.payment.contract.
Models and fields (5)
  • sale.order · extends an existing modelpostfinance_ebill_client_order_ref
  • account.move · extends an existing model
  • ebill.payment.contract · extends an existing modelpayment_type (Payment method), postfinance_billerid (Contract ID), postfinance_service_id (Service), is_postfinance_contract, is_postfinance_method_on_partner
  • ebill.postfinance.service · new modelname, active, password, username, biller_id (Biller ID), partner_bank_id (Bank account), file_type_to_use (Invoice Format), use_test_service (Testing), operation_timeout (HTTP Timeout), xml_file_language (XML file Language), invoice_message_ids (Invoice Messages), use_file_type_xml_paynet (Use Paynet/SIX format), ebill_payment_contract_ids (Contracts)
  • ebill.postfinance.invoice.message · new modelref (Reference No.), state, payload (Payload sent), response, invoice_id, service_id (Service used), payload_size (Payload Size (MB)), payment_type, server_state, submitted_on (Submitted on), attachment_id, file_type_used, transaction_id, server_reason_code (Error code), server_reason_text (Error text), ebill_account_number (Payer Id), ebill_payment_contract_id

Text generated by AI (DeepSeek) from reading the Odoo 19.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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 5 confirmed, 4 with no information of 9 versions.

Sources · Odoo 14.0

Confirmed on 2026-11-03 in branch 14.0 of OCA/l10n-switzerland.

terminal Installation and usage

OCA documentation · Odoo 19.0

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

Create a service

First you need to be registred on 'Postfinance eBill service \<\>' 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.

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.
info

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.