| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-austria |
| GIT | |
| GIT | https://github.com/OCA/l10n-austria.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-austria/tree/19.0/l10n_at_pos_rksv |
| VERSION | |
| VERSION | 1.4.3 |
| CATEGORY | |
| CATEGORY | Localization/Austria |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Weboffice IT-Service und Marketing GmbH & Co KG |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Weboffice IT-Service und Marketing GmbH & Co KG |
| COMMITTERS | |
| COMMITTERS | OCA-git-bot, oca-ci, Martin Reisenhofer |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-austria |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:50 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - l10n_at - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - uom - analytic - portal - http_routing - auth_signup - digest - resource - account_edi_ubl_cii - base_iban - base_vat - l10n_din5008 - point_of_sale - stock_account - stock - barcodes_gs1_nomenclature - barcodes - phone_validation - partner_autocomplete - iap_mail - iap - iot_base - google_address_autocomplete |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
cryptography pytz requests |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module integrates the Austrian RKSV (*Registrierkassensicherheitsverordnung*) signing flow into the Odoo Point of Sale. It uses the [a.sign RK](https://www.a-trust.at/de/asignrk/) 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. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
asign_cert_view_form |
asign.cert.view.form | asign.cert | form | New |
asign_cert_view_search |
asign.cert.view.search | asign.cert | search | New |
asign_cert_view_tree |
asign.cert.view.list | asign.cert | list | New |
pos_config_view_form |
pos.config.inherit.form | pos.config | sheet | Inherits point_of_sale.pos_config_view_form |
report_certificate |
report_certificate | ir.ui.view | qweb | New |
report_pos_config |
report_pos_config | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.inherit.form | res.config.settings | block | Inherits point_of_sale.res_config_settings_view_form |
view_pos_order_tree |
pos.order.inherit.list | pos.order | field | Inherits point_of_sale.view_pos_order_tree |
view_pos_pos_form |
pos.order.inherit.form | pos.order | notebook | Inherits point_of_sale.view_pos_pos_form |
view_tax_group_form |
account.tax.group.inherit.form | account.tax.group | field | Inherits account.view_tax_group_form |
view_tax_group_tree |
account.tax.group.inherit.list | account.tax.group | field | Inherits account.view_tax_group_tree |
asign_type
Selection
help='RKSV (a.sign) tax category used when computing the chained signature for Austrian POS receipts.'
string='a.sign Type'
args: [('reduced1', 'Reduced 1'), ('reduced2', 'Reduced 2'), ('special', 'Special'), ('null', 'Null')]
No public methods.
active
Boolean
default=True
cert
Binary
help='Public certificate of the signing card or online service.'
string='Certificate'
cert_name
Char
compute='_compute_cert_name'
cert_type
Selection
default='online'
required=True
args: [('online', 'Online'), ('card', 'Card')]
name
Char
required=True
string='Serial (Hex)'
password
Char
serial_hex
Char
compute='_compute_serial_hex'
help='Serial number of the certificate in normalized hex format.'
index=True
store=True
string='Serial (Normalized)'
user
Char
No public methods.
asign_crc
Char
compute='_compute_asign_crc'
copy=False
help='Checksum of the encryption key.'
store=True
string='a.sign Checksum'
asign_enabled
Boolean
help='Enable Austrian RKSV (a.sign) signing for this POS.'
string='a.sign Enabled'
asign_fid
Char
help='VAT or tax number of the company for the POS.'
string='a.sign Fiscal ID'
asign_key
Char
copy=False
help='The AES encryption key of the journal.'
string='a.sign Encryption Key'
asign_method
Selection
default='online'
string='a.sign Method'
args: [('card', 'Card'), ('online', 'Online')]
asign_pid
Char
copy=False
help='Fiscal ID of the POS system inside the company, used as prefix of the order number.'
string='a.sign POS ID'
asign_serial_hex
Char
help='Serial number of the certificate in hex format.'
string='a.sign Serial'
asign_start_order_id
Many2one → pos.order
compute='_compute_asign_start_order_id'
store=False
string='Start Order'
args: 'pos.order'
asign_state
Selection
copy=False
default='draft'
readonly=True
string='a.sign State'
args: [('draft', 'Draft'), ('assigned', 'Assigned'), ('active', 'Active')]
action_asign_assign(self)
action_asign_reset(self)
action_asign_zero_receipt(self)
asign_counter
Char
help='The turnover counter of the RKSV signature.'
readonly=True
string='a.sign Counter'
asign_dep
Text
help='The DEP entry of the RKSV signature export.'
readonly=True
string='a.sign DEP'
asign_qrcode
Char
help='The QR code of the RKSV signature.'
index=True
readonly=True
string='a.sign QR-Code'
asign_qrcode_quoted
Char
compute='_compute_qrcode'
string='a.sign QR-Code Quoted'
asign_seq
Integer
help='The sequence number of the RKSV signature export.'
index=True
readonly=True
string='a.sign Sequence'
asign_serial
Char
help='The serial number of the RKSV signing component.'
readonly=True
string='a.sign Serial'
asign_state
Selection
help='State of the RKSV signature: unsigned means the signature is missing, signed means the signature is present. If empty, no signing is needed.'
index=True
readonly=True
string='a.sign State'
args: [('u', 'Unsigned'), ('s', 'Signed')]
asign_type
Selection
index=True
readonly=True
string='a.sign Type'
args: [('o', 'Order'), ('s', 'Start'), ('0', 'Null'), ('c', 'Cancel'), ('m', 'Mixed'), ('t', 'Training')]
sign_qrcode
Char
compute='_compute_qrcode'
sign_qrcode_name
Char
compute='_compute_qrcode'
action_pos_order_paid(self)
No new fields.
Public methods (1)action_pos_session_close(self, balancing_account=False, amount_to_balance=0, bank_payment_method_diffs=None)
asign_crc
Char
compute='_compute_asign'
readonly=True
asign_enabled
Boolean
compute='_compute_asign'
inverse='_inverse_asign'
asign_fid
Char
compute='_compute_asign'
inverse='_inverse_asign'
asign_key
Char
compute='_compute_asign'
inverse='_inverse_asign'
asign_method
Selection
compute='_compute_asign'
inverse='_inverse_asign'
args: [('card', 'Card'), ('online', 'Online')]
asign_pid
Char
compute='_compute_asign'
inverse='_inverse_asign'
asign_serial_hex
Char
compute='_compute_asign'
help='Serial number of the certificate in hex format.'
inverse='_inverse_asign'
string='a.sign Serial'
asign_state
Selection
compute='_compute_asign'
readonly=True
related='pos_config_id.asign_state'
action_asign_assign(self)
action_asign_reset(self)