This module integrates the Austrian RKSV (Registrierkassensicherheitsverordnung) signing flow into the Odoo Point of Sale.
It uses the a.sign RK online service of A-Trust to sign every receipt with a chained AES-encrypted turnover counter, producing the QR code, DEP entry and zero/start receipts required by the Austrian fiscal authority.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Adds Austrian RKSV fiscal signing to the Point of Sale: every receipt gets a chained signature, QR code and DEP entry via the A-Trust a.sign online service, plus start, zero and cancel receipts.
This module makes an Austrian Point of Sale compliant with the RKSV cash-register security rules. On each POS configuration you enable a.sign, choose the signing method (online or card), enter the fiscal ID, POS ID, certificate serial and AES encryption key, and assign the certificate. A dedicated menu "a.sign RKSV" under the Point of Sale configuration holds the a.sign certificates, where you store the certificate file, serial, user and password.
When a receipt is paid, the module builds the RKSV payload from the order's tax amounts grouped by the a.sign tax category set on each tax group, chains it to the previous signed receipt, sends it to the A-Trust online service and stores the returned signature, QR code, DEP entry, counter and receipt number on the order. Receipt numbers come from a dedicated gapless sequence per POS, so cancelled orders do not create gaps. A "RKSV Austria" tab on the POS order shows all signature data, and the same fields are available in the order list.
Extra tools: a "Create Zero-Receipt" button on the POS configuration, a scheduled job that signs receipts missed during a session, and PDF reports for the certificate and the POS configuration. Refunds are routed through the same signing flow.
Depends on
Menus it adds
Models and fields (6)
- pos.order · extends an existing modelasign_dep (a.sign DEP), asign_seq (a.sign Sequence), asign_type (a.sign Type), asign_state (a.sign State), sign_qrcode, asign_qrcode (a.sign QR-Code), asign_serial (a.sign Serial), asign_counter (a.sign Counter), sign_qrcode_name, asign_qrcode_quoted (a.sign QR-Code Quoted)
- asign.cert · new modelcert (Certificate), name (Serial (Hex)), user, active, password, cert_name, cert_type, serial_hex (Serial (Normalized))
- pos.config · extends an existing modelasign_crc (a.sign Checksum), asign_fid (a.sign Fiscal ID), asign_key (a.sign Encryption Key), asign_pid (a.sign POS ID), asign_state (a.sign State), asign_method (a.sign Method), asign_seq_id (a.sign Sequence), asign_enabled (a.sign Enabled), asign_serial_hex (a.sign Serial), asign_start_order_id (Start Order)
- pos.session · extends an existing model
- account.tax.group · extends an existing modelasign_type (a.sign Type)
- res.config.settings · extends an existing modelasign_crc, asign_fid, asign_key, asign_pid, asign_state, asign_method, asign_enabled, asign_serial_hex (a.sign Serial)
Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 19.0
Confirmed on 2026-11-03 in branch 19.0 of OCA/l10n-austria.
terminal Installation and usage
OCA documentation · Odoo 19.0Configuration
Source · Odoo 19.0- Open Point of Sale > Configuration > a.sign RKSV and create an
a.sign Certificaterecord. For the online method, supply the certificate file together with the API user and password received from A-Trust. - Open Point of Sale > Configuration > Point of Sale and edit the POS you want to enable RKSV for. In the Settings tab, expand RKSV Austria and:
- tick RKSV Austria;
- select the Method (online or card);
- enter the Serial # of the certificate created above;
- enter the Fiscal ID (VAT number) of the company;
- leave POS ID and Encryption Key empty to let the module generate defaults, or override them as needed.
- Save the configuration and click Assign to lock the parameters and activate signing for new orders.
A scheduled action POS a.sign: Sign Missed runs daily and re-signs orders that could not be signed at checkout time (for example because the online service was temporarily unreachable).
Usage
Source · Odoo 19.0Once the POS is configured and assigned, every receipt closed at checkout is automatically signed and the resulting QR code is printed at the bottom of the receipt. Special receipts are produced when needed:
- Startbeleg – the very first signed receipt of a POS, stamped with the marker
STARTBELEGon the printed receipt. - Nullbeleg – manually triggered via the Create Zero-Receipt button on the POS configuration; printed with
NULLBELEG. - Storno – cancellation of a previous receipt, printed with
STORNO.
Cancelled orders consume a receipt number at creation. To keep the receipt range gapless, they are signed as zeroed receipts (NULLBELEG); orders without any payment have their lines zeroed first. This signing runs right after a session is closed (triggered asynchronously) and additionally once a day via cron; a POS with an open session is skipped. Signed orders are protected against concurrent cancel requests overwriting their state or name.
The list and form views of Point of Sale > Orders > Orders expose the RKSV fields (a.sign Type, a.sign State, a.sign Sequence, a.sign Counter, a.sign DEP, a.sign QR-Code) for auditing and exporting the DEP.
Printable PDF reports are available for the certificate and the POS configuration via the Print menu of the corresponding form.
No verified information in OCA: Installation.
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.