TIP: You can type at any time to perform a new search.
eBill Postfinance
ebill_postfinance · OCA/l10n-switzerland
- Repository
- OCA/l10n-switzerland · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Uncategorized
- Folder size
- 0.52 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/l10n-switzerland
- Last tracking update
- 2026-08-11 17:30:52
- Authors
- Camptocamp, Odoo Community Association (OCA)
- Maintainers
- Camptocamp, Odoo Community Association (OCA)
- Committers
- Ricardoalso, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- ebilling_postfinance, zeep
- System dependencies
- None
- Required by
- None
- Description
This module implements the exchange of electronic invoices with the Postfinance web service.
Code Analysis ⓘ
Views touched (8)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
ebill_payment_contract_form_view |
ebill.payment.contract.form (in ebill_postfinance) | ebill.payment.contract | form | Inherits base_ebill_payment_contract.ebill_payment_contract_form_view |
ebill_postfinance_invoice_message_form_view |
ebill.postfinance.invoice.message.form | ebill.postfinance.invoice.message | form | New |
ebill_postfinance_invoice_message_search_view |
ebill.postfinance.invoice.message.search | ebill.postfinance.invoice.message | search | New |
ebill_postfinance_invoice_message_tree_view |
ebill.postfinance.invoice.message.list | ebill.postfinance.invoice.message | list | New |
postfinance_service_form_view |
postfinance.service.form | ebill.postfinance.service | form | New |
postfinance_service_search_view |
postfinance.service.search | ebill.postfinance.service | search | New |
postfinance_service_tree_view |
postfinance.service.list | ebill.postfinance.service | list | New |
rejected_invoice |
rejected_invoice | ir.ui.view | qweb | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (6)
New fields (0)
No new fields.
Public methods (5)-
create_postfinance_ebill(self)Generate the message record for an invoice. -
get_postfinance_other_reference(self)Allows glue module to insert <OTHER-REFERENCE> in the <HEADER> Add to the list ref, object strucutred like this: {'type': other reference allowed types, 'no': the content of <Reference-No> desired } -
log_invoice_accepted_by_system(self) -
log_invoice_refused_by_system(self) -
postfinance_invoice_line_ids(self)Filter invoice line to be included in XML message. Invoicing line that are UX based (notes, sections) are removed.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (5)
-
is_postfinance_contractBooleancompute='_compute_is_postfinance_contract'store=False -
is_postfinance_method_on_partnerBooleancompute='_compute_is_postfinance_method_on_partner' -
payment_typeSelectiondefault='qr'help='Payment type to use for the invoices sent, PDF will be generated and attached accordingly.'selection=[('qr', 'QR')]string='Payment method' -
postfinance_billeridCharhelp='The PayerID of the customer'size=20string='Contract ID' -
postfinance_service_idMany2one → ebill.postfinance.servicecomodel_name='ebill.postfinance.service'ondelete='restrict'string='Service'
-
set_postfinance_method_on_partner(self)
New fields (17)
-
attachment_idMany2one → ir.attachmentargs: 'ir.attachment', 'PDF' -
ebill_account_numberCharsize=20 args: 'Payer Id' -
ebill_payment_contract_idMany2one → ebill.payment.contractcomodel_name='ebill.payment.contract' -
file_type_usedChar -
invoice_idMany2one → account.movecomodel_name='account.move'ondelete='restrict' -
payloadTextargs: 'Payload sent' -
payload_sizeFloatdigits=(6, 3)readonly=True args: 'Payload Size (MB)' -
payment_typeSelectiondefault='iban'readonly=Trueselection=[('iban', 'IBAN'), ('credit', 'CREDIT'), ('other', 'OTHER'), ('dd', 'DD'), ('esr', 'ESR')] -
refCharsize=35 args: 'Reference No.' -
responseText -
server_reason_codeIntegerstring='Error code' -
server_reason_textCharstring='Error text' -
server_stateSelectionselection=[('invalid', 'Invalid'), ('processing', 'Processing'), ('unsigned', 'Unsigned'), ('open', 'Open'), ('paid', 'Paid'), ('rejected', 'Rejected'), ('incomplete', 'Incomplete'), ('deleted', 'Deleted')] -
service_idMany2one → ebill.postfinance.servicecomodel_name='ebill.postfinance.service'ondelete='restrict'readonly=Truerequired=Truestring='Service used' -
stateSelectiondefault='draft'selection=[('draft', 'Draft'), ('sent', 'Sent'), ('error', 'Error'), ('processing', 'Processing'), ('reject', 'Reject'), ('done', 'Done')] -
submitted_onDatetimestring='Submitted on' -
transaction_idChar
-
format_date(date_string=None)@staticmethodFormat a date in the Jinja template. -
format_date_yb(date_string=None)@staticmethodFormat a date in the Jinja template. -
send_to_postfinance(self) -
set_as_paid(self, data) -
set_transaction_id(self) -
update_invoice_status(self)Update the export status in the chatter. -
update_message_from_server_data(self, data)Update the invoice message with data received from the server. Keyword arguments: data -- Structure from the api Example: { 'BillerId': '41101000001021209', 'TransactionId': 'INV_2022_03_0001_2022_03_26_08_31_xml', 'eBillAccountId': '123412341234', 'Amount': Decimal('0'), 'State': 'Invalid', 'PaymentType': None, 'ESRReferenceNbr': None, 'DeliveryDate': datetime.datetime(2022, 3, 26, 0, 0), 'PaymentDueDate': None, 'ReasonCode': '16', 'ReasonText': 'some good reason' } -
validate_xml_payload(self)Check the validity of yellowbill xml.
New fields (13)
-
activeBooleandefault=True -
biller_idCharrequired=Truesize=17string='Biller ID' -
ebill_payment_contract_idsOne2many → ebill.payment.contractcomodel_name='ebill.payment.contract'inverse_name='postfinance_service_id'readonly=Truestring='Contracts' -
file_type_to_useSelectiondefault='XML'required=Trueselection=[('XML', 'XML Yellow Bill'), ('EAI.XML', 'Custom XML (SAPiDoc)'), ('struct.pdf', 'Factur X')]string='Invoice Format' -
invoice_message_idsOne2many → ebill.postfinance.invoice.messagecomodel_name='ebill.postfinance.invoice.message'inverse_name='service_id'readonly=Truestring='Invoice Messages' -
nameCharrequired=True -
operation_timeoutIntegerdefault='600'help='Timeout for each HTTP (GET, POST) request in seconds.'string='HTTP Timeout' -
partner_bank_idMany2one → res.partner.bankcomodel_name='res.partner.bank'ondelete='restrict'string='Bank account' -
passwordChar -
use_file_type_xml_paynetBooleanhelp='Enable use of legacy SIX/Paynet invoice format.'string='Use Paynet/SIX format' -
use_test_serviceBooleanhelp='Target the test service'string='Testing' -
usernameChar -
xml_file_languageMany2one → res.langcomodel_name='res.lang'help='The language used to generate the XML file, if unset default to the customer language.'string='XML file Language'
-
cron_update_invoices(self)@api.model -
get_ebill_recipient_subscription_status(self, recipient_id) -
get_invoice_list(self, archive_data=False) -
get_process_protocol_list(self, archive_data=False) -
get_registration_protocol(self, create_date, archive_data=False) -
get_registration_protocol_list(self, archive_data=False) -
ping_service(self, test_error=False, test_exception=False)Ping the service, uses the authentication. test_error: will create an unhandled error in the repsonse test_exception: will create a FaultException -
search_invoice(self, transaction_id=None)Get invoice status from the server. transaction_id: -
test_ping(self)Test the service from the UI. -
upload_file(self, transaction_id, file_type, data)
New fields (1)
-
postfinance_ebill_client_order_refCharcompute='_compute_postfinance_ebill_client_order_ref'
No public methods.
Loading…
Loading…
Loading…
Loading…