diff --git a/content/applications/finance/fiscal_localizations.rst b/content/applications/finance/fiscal_localizations.rst index b6b2973d2..ed9f7736a 100644 --- a/content/applications/finance/fiscal_localizations.rst +++ b/content/applications/finance/fiscal_localizations.rst @@ -62,7 +62,7 @@ available on Odoo. - :doc:`Argentina - Accounting ` - :doc:`Australian - Accounting ` - Austria - Accounting -- Belgium - Accounting +- :doc:`Belgium - Accounting ` - Bolivia - Accounting - Brazilian - Accounting - Canada - Accounting @@ -137,6 +137,7 @@ available on Odoo. fiscal_localizations/argentina fiscal_localizations/australia + fiscal_localizations/belgium fiscal_localizations/chile fiscal_localizations/colombia fiscal_localizations/colombia_ES diff --git a/content/applications/finance/fiscal_localizations/belgium.rst b/content/applications/finance/fiscal_localizations/belgium.rst new file mode 100644 index 000000000..75a7151c1 --- /dev/null +++ b/content/applications/finance/fiscal_localizations/belgium.rst @@ -0,0 +1,181 @@ +======= +Belgium +======= + +.. _belgium/introduction: + +Fiscal certification: POS restaurant +==================================== + +In Belgium, the owner of a cooking business such as a restaurant or food truck is required by law to +use a government-certified **Cash Register System** for their receipts. This applies if their yearly +earnings (excluding VAT, drinks, and take-away food) exceed 25,000 euros. + +This government-certified system entails the use of a :ref:`certified POS system +`, along with a device called a :ref:`Fiscal Data Module ` (or +**black box**) and a :ref:`VAT Signing Card `. + +.. important:: + Do not forget to register as *foodservice industry manager* on the `Federal Public Service + Finance registration form `_. + +.. _belgium/certified: + +Certified POS system +-------------------- + +The Odoo POS system is certified for the major versions of databases hosted on **Odoo Online** and +**Odoo.sh**. Please refer to the following table to ensure that your POS system is certified. + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + + * - + - Odoo Online + - Odoo.sh + - On-Premise + * - Odoo 16.0 + - Review in progress + - Review in progress + - Not certified + * - Odoo 15.2 + - Not certified + - Not certified + - Not certified + * - Odoo 15.0 + - Certified + - Certified + - Not certified + * - Odoo 14.0 + - Certified + - Certified + - Not certified + +.. seealso:: + :doc:`/administration/maintain/supported_versions` + +A `certified POS system `_ must +adhere to rigorous government regulations, which means it operates differently from a non-certified +POS. + +- On a certified POS, you cannot: + + - Make a refund. + - Set up and use the **global discounts** feature (the `pos_discount` module is blacklisted and + cannot be activated). + - Set up and use the **loyalty programs** feature (the `pos_loyalty` module is blacklisted and + cannot be activated). + - Reprint receipts (the `pos_reprint` module is blacklisted and cannot be activated). + - Modify prices in order lines. + - Modify or delete order lines in POS orders. + - Sell products without a valid VAT number. + - Use a POS that is not connected to an IoT box. + +- The :doc:`cash rounding <../../sales/point_of_sale/shop/cash_rounding>` feature must be activated + and set to a :guilabel:`Rounding Precision` of `0,05` and a :guilabel:`Rounding Method` set as + :guilabel:`Half-Up`. +- Taxes must be set as included in the price. To set it up, go to :menuselection:`Point of Sale --> + Configuration --> Settings`, and from the :guilabel:`Taxes` section, open the :guilabel:`Default + Sales Tax` form by clicking the arrow next to the default sales tax field. There, click + :guilabel:`Advanced Options` and enable :guilabel:`Included in Price`. +- At the start of a POS session, users must click :guilabel:`Work in` to clock in. Doing so allows + the registration of POS orders. If users are not clocked in, they cannot make POS orders. + Likewise, they must click :guilabel:`Work Out` to clock out at the end of the session. + +.. warning:: + If you configure a POS to work with a black box, you cannot use it again without it. + +.. _belgium/fdm: + +The Fiscal Data Module +---------------------- + +The :abbr:`FDM (Fiscal Data Module)`, or `black box `_, is +a government-certified device that works together with the Point of Sale application and saves your +POS orders information. Concretely, a **hash** (:dfn:`unique code`) is generated for each POS order +and added to its receipt. This allows the government to verify that all revenue is declared. + +.. note:: + Ensure your black box is approved by the Belgian government. You can check the compliance of your + black box by visiting the `Federal Public Service Finance + `_ website. + +Configuration +~~~~~~~~~~~~~ + +Before setting up your database to work with an FDM, ensure you have the following hardware: + +- a registered :ref:`black box ` (go to `www.boîtenoire.be + `_ to order yours); +- an RS-232 serial null modem cable per FDM; +- an RS-232 serial-to-USB adapter per FDM; +- an :ref:`IoT Box ` (one IoT box per black box); and +- a receipt printer. + +.. _belgium/blackbox: + +Black box module +**************** + +As a pre-requisite, :ref:`activate ` the `Belgian Registered Cash Register` module +(technical name: `pos_blackbox_be`). + +.. image:: belgium/be-modules.png + :align: center + :alt: black box modules for belgian fiscal certification + +Once the module is activated, add your VAT number to your company information. To set it up, go to +:menuselection:`Settings --> Companies --> Update Info`, and fill in the :guilabel:`VAT` field. +Then, enter a national registration number for every staff member who operates the POS system. To do +so, go to the :guilabel:`Employees` app and open an employee form. There, go to :menuselection:`HR +settings tab --> Attendance`, and fill in the :guilabel:`INSZ or BIS number` field. + +.. image:: belgium/bis-number.png + :align: center + :alt: ISNZ or BIS number field on employee form + +.. tip:: + To input your information, click on your avatar, go to :menuselection:`My Profile --> Preference + tab`, and enter your INSZ or BIS number in the designated field. + +.. warning:: + You must configure the black box directly in the production database. Utilizing it in a testing + environment may result in incorrect data being stored within the black box. + +.. _belgium/iotbox: + +IoT Box +******* + +In order to use a Fiscal Data Module, you need a registered IoT Box. To register your IoT box, you +must contact us through our `support contact form `_ and provide the +following information: + +- your VAT number; +- your company's name, address, and legal structure; and +- the Mac address of your IoT Box. + +Once your IoT box is certified, :doc:`connect <../../productivity/iot/config/connect>` it to your +database. To verify that the IoT Box recognizes the FDM, go to the IoT homepage and scroll down the +:guilabel:`IOT Device` section, which should display the FDM. + +.. image:: belgium/iot-devices.png + :align: center + :alt: Hardware status page on a registered IoT Box + +Then, add the IoT to your POS. To do so, go to :menuselection:`Point of Sale --> Configuration --> +Point of Sale`, select your POS, scroll down to the :guilabel:`Connected Device` section, and enable +:guilabel:`IoT Box`. Lastly, add the FMD in the :guilabel:`Fiscal Data Module` field. + +.. note:: + To be able to use an FDM, you must at least connect one :guilabel:`Receipt Printer`. + +.. _belgium/vat: + +VAT signing card +---------------- + +When you open a POS session and make your initial transaction, you are prompted to enter the PIN +provided with your :abbr:`VSC (VAT signing card)`. The card is delivered by the :abbr:`FPS (Service +Public Federal Finances)` upon `registration `_. diff --git a/content/applications/finance/fiscal_localizations/belgium/be-modules.png b/content/applications/finance/fiscal_localizations/belgium/be-modules.png new file mode 100644 index 000000000..f4589837a Binary files /dev/null and b/content/applications/finance/fiscal_localizations/belgium/be-modules.png differ diff --git a/content/applications/finance/fiscal_localizations/belgium/bis-number.png b/content/applications/finance/fiscal_localizations/belgium/bis-number.png new file mode 100644 index 000000000..2835699e2 Binary files /dev/null and b/content/applications/finance/fiscal_localizations/belgium/bis-number.png differ diff --git a/content/applications/finance/fiscal_localizations/belgium/iot-devices.png b/content/applications/finance/fiscal_localizations/belgium/iot-devices.png new file mode 100644 index 000000000..be9a765f4 Binary files /dev/null and b/content/applications/finance/fiscal_localizations/belgium/iot-devices.png differ diff --git a/content/applications/sales/point_of_sale.rst b/content/applications/sales/point_of_sale.rst index c3039501d..305cea962 100644 --- a/content/applications/sales/point_of_sale.rst +++ b/content/applications/sales/point_of_sale.rst @@ -22,4 +22,3 @@ is able to continue working even if you are offline. point_of_sale/restaurant point_of_sale/payment point_of_sale/advanced_pricing_features - point_of_sale/belgian_fdm diff --git a/content/applications/sales/point_of_sale/belgian_fdm.rst b/content/applications/sales/point_of_sale/belgian_fdm.rst deleted file mode 100644 index 005009cb8..000000000 --- a/content/applications/sales/point_of_sale/belgian_fdm.rst +++ /dev/null @@ -1,10 +0,0 @@ -:nosearch: - -=================== -Fiscal Data Modules -=================== - -.. toctree:: - :titlesonly: - - belgian_fdm/setup diff --git a/content/applications/sales/point_of_sale/belgian_fdm/setup.rst b/content/applications/sales/point_of_sale/belgian_fdm/setup.rst deleted file mode 100644 index 1fc9d2315..000000000 --- a/content/applications/sales/point_of_sale/belgian_fdm/setup.rst +++ /dev/null @@ -1,92 +0,0 @@ -=================================================== -Setting up the Fiscal Data Module with the Odoo POS -=================================================== - -Introduction -============ - -The Belgian government requires certain businesses to use a -government-certified device called a **Fiscal Data Module** (also -known as a **blackbox**). This device works together with the POS -application and logs certain transactions. On top of that, the used -POS application must also be certified by the government and must -adhere to strict standards specified by them. `Odoo 9 (Enterprise Edition) is a -certified application -`_. More -information concerning the Fiscal Data Module can be found on `the -official website `_. - -Required hardware -================= - -* A government certified `Fiscal Data Module - `_ - per POS, all of them should work, but the Cleancash SC-B is - recommended, you will also need: - - * Serial null modem cable per FDM (`example - `__) - * Serial-to-USB adapter per FDM (`example - `__) - -* A registered IoT Box per POS configuration - -Setup -===== - -IoT Box -------- - -In order to use a Fiscal Data Module, you will need a registered -IoT Box. These IoT Boxes are similar to the regular IoT Boxes we sell, -but they are registered with the Belgian government. This is required -by law. Attempting to use a Fiscal Data Module on a non-registered -IoT Box will not work. You can verify that the Fiscal Data Module is -recognized by the IoT Box by going to the *Hardware status page* via -the IoT Box homepage. - -.. image:: setup/posbox_fdm_hardware_status.png - :align: center - -Odoo ----- - -An Odoo POS app can be given certified POS capabilities by installing -the **Belgian Registered Cash Register** app (technical name: -``pos_blackbox_be``). Because of government restrictions imposed on -us, this installation cannot be undone. After this, you will have to -ensure that each POS configuration has a unique registered IoT Box -associated with it (:menuselection:`Point of Sale --> Configuration ---> Point of Sale` and ensure Hardware Proxy / IoT Box and the serial -number of your IoT Box is set). The first time you open the Point of -Sale and attempt to do a transaction, you will be asked to input the -PIN that you received with your VAT signing card. - -.. image:: setup/vat_signing_card_pin.png - :align: center - -Certification & On-premise -========================== - -The certification granted by the government is restricted to the use on odoo.com -Odoo Online instance. The usage of the module from the source or a modified version -will **not** be certified. For on-premise users, we also support the Fiscal Data -Module in such installations. The main restriction is that this requires an -obfuscated version of the ``pos_blackbox_be`` module we will provide on request -for Enterprise customers. - -Restrictions -============ - -As mentioned before, in order to get certified the POS application -must adhere to strict government guidelines. Because of this, a -certified Odoo POS has some limitations not present in the -non-certified Odoo POS. - -* Refunding is disabled -* Modifying orderline prices -* Creating/modifying/deleting POS orders -* Selling products without a valid tax -* Multiple Odoo POS configurations per IoT Box are not allowed -* Using the POS without a connection to the IoT Box (and thus FDM) -* Blacklisted modules: pos_discount, pos_reprint, pos_loyalty diff --git a/content/applications/sales/point_of_sale/belgian_fdm/setup/posbox_fdm_hardware_status.png b/content/applications/sales/point_of_sale/belgian_fdm/setup/posbox_fdm_hardware_status.png deleted file mode 100644 index c8f789c40..000000000 Binary files a/content/applications/sales/point_of_sale/belgian_fdm/setup/posbox_fdm_hardware_status.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/belgian_fdm/setup/vat_signing_card_pin.png b/content/applications/sales/point_of_sale/belgian_fdm/setup/vat_signing_card_pin.png deleted file mode 100644 index ad3324b89..000000000 Binary files a/content/applications/sales/point_of_sale/belgian_fdm/setup/vat_signing_card_pin.png and /dev/null differ diff --git a/redirects/14.0.txt b/redirects/14.0.txt index eae27fa3a..105c44106 100644 --- a/redirects/14.0.txt +++ b/redirects/14.0.txt @@ -35,6 +35,7 @@ applications/finance/accounting/payables/supplier_bills/manage.rst applications/ applications/sales/crm/acquire_leads/generate_from_email.rst applications/sales/crm/acquire_leads/generate_leads.rst # (#986) applications/sales/crm/acquire_leads/generate_from_website.rst applications/sales/crm/acquire_leads/generate_leads.rst # (#986) +applications/sales/point_of_sale/belgian_fdm/setup.rst applications/finance/fiscal_localizations/belgium.rst applications/sales/sales/advanced/portal.rst applications/general/users/portal.rst # developer/howtos