Metadata-Version: 2.1
Name: odoo-addon-l10n_at_pos_rksv
Version: 19.0.1.4.3.2
Requires-Dist: cryptography
Requires-Dist: odoo==19.0.*
Requires-Dist: pytz
Requires-Dist: requests
Summary: Austrian RKSV (a.sign) integration for Point of Sale
Home-page: https://github.com/OCA/l10n-austria
License: LGPL-3
Author: Weboffice IT-Service und Marketing GmbH & Co KG, Odoo Community Association (OCA)
Author-email: support@odoo-community.org
Classifier: Programming Language :: Python
Classifier: Framework :: Odoo
Classifier: Framework :: Odoo :: 19.0
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Development Status :: 4 - Beta
Description-Content-Type: text/x-rst

.. image:: https://odoo-community.org/readme-banner-image
   :target: https://odoo-community.org/get-involved?utm_source=readme
   :alt: Odoo Community Association

================
POS Austria RKSV
================

.. 
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! This file is generated by oca-gen-addon-readme !!
   !! changes will be overwritten.                   !!
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! source digest: sha256:e53470319fefd897ae57f4ff2d8e9c04a672cc3141761bb4e53665f75b4e3a29
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
    :target: https://odoo-community.org/page/development-status
    :alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
    :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
    :alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--austria-lightgray.png?logo=github
    :target: https://github.com/OCA/l10n-austria/tree/19.0/l10n_at_pos_rksv
    :alt: OCA/l10n-austria
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/l10n-austria-19-0/l10n-austria-19-0-l10n_at_pos_rksv
    :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
    :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-austria&target_branch=19.0
    :alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

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.

**Table of contents**

.. contents::
   :local:

Configuration
=============

1. Open *Point of Sale > Configuration > a.sign RKSV* and create an
   ``a.sign Certificate`` record. For the *online* method, supply the
   certificate file together with the API user and password received
   from A-Trust.
2. 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.

3. 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
=====

Once 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 ``STARTBELEG`` on 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.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-austria/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/l10n-austria/issues/new?body=module:%20l10n_at_pos_rksv%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Weboffice IT-Service und Marketing GmbH & Co KG

Contributors
------------

- Martin Reisenhofer <martin.reisenhofer@weboffice.at>
- Weboffice IT-Service und Marketing GmbH & Co KG

Other credits
-------------

The integration tests rely on the
`regkassen-verification <https://github.com/a-sit-plus/at-registrierkassen-mustercode>`__
DEP verification tool published by the Austrian A-SIT Plus initiative.
The related Java archives shipped under
``tests/regcheck/regkassen-verification-1.1.1`` remain the property of
their respective authors.

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
   :alt: Odoo Community Association
   :target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/l10n-austria <https://github.com/OCA/l10n-austria/tree/19.0/l10n_at_pos_rksv>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
