diff --git a/content/applications/finance/fiscal_localizations/austria.rst b/content/applications/finance/fiscal_localizations/austria.rst index 4828c06f7b..42257debb5 100644 --- a/content/applications/finance/fiscal_localizations/austria.rst +++ b/content/applications/finance/fiscal_localizations/austria.rst @@ -295,10 +295,9 @@ Then, click :guilabel:`Print` to download the PDF file with DEP7 data. Monthly / Yearly closing receipts ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -To print monthly/yearly closing receipts, :ref:`start a session ` from the **POS -dashboard** and click :guilabel:`Open Register` on the related point of sale. Click the -:icon:`oi-view-list` :guilabel:`(list view)` icon in the top-right corner and select -:guilabel:`Montly/Yearly Receipts`. +To print monthly/yearly closing receipts, :ref:`open the related POS register +` from the **POS dashboard**. Click the :icon:`oi-view-list` +:guilabel:`(list view)` icon in the top-right corner and select :guilabel:`Montly/Yearly Receipts`. The last month is selected by default in the :guilabel:`Print closing receipts` window. To change it, select :guilabel:`Monthly` or :guilabel:`Yearly`, then click the :icon:`fa-calendar-o` diff --git a/content/applications/finance/fiscal_localizations/brazil.rst b/content/applications/finance/fiscal_localizations/brazil.rst index 6dbc821bce..03be0fccce 100644 --- a/content/applications/finance/fiscal_localizations/brazil.rst +++ b/content/applications/finance/fiscal_localizations/brazil.rst @@ -723,7 +723,7 @@ Generating an NFC-e To generate an NFC-e, follow these steps: -#. :ref:`Open the relevant point of sale shop and make a sale `. +#. :ref:`Open the relevant point of sale shop and make a sale `. #. Validate the payment to calculate taxes and issue an NFC-e. The valid NFC-e appears on the right side of the screen. @@ -782,8 +782,8 @@ If the NFC-e returns an error, follow these steps: NFC-e refunds & cancellations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:ref:`Refunds can be processed directly in Odoo `, but *cancellations* must be performed -through the official government portal. +:ref:`Refunds can be processed directly in Odoo `, but *cancellations* must be +performed through the official government portal. When the process is finalized, the approved return NF-e is created, meaning the **previous NFC-e is canceled**. diff --git a/content/applications/finance/fiscal_localizations/ecuador.rst b/content/applications/finance/fiscal_localizations/ecuador.rst index 29ee74ac51..244e62b1e1 100644 --- a/content/applications/finance/fiscal_localizations/ecuador.rst +++ b/content/applications/finance/fiscal_localizations/ecuador.rst @@ -867,7 +867,7 @@ Invoicing flows Identification type and number ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The P0S cashier can :ref:`create a new contact for a customer ` who requests an +The P0S cashier can :ref:`create a new contact for a customer ` who requests an invoice from an open POS session. The *Ecuadorian Module for Point of Sale* adds two new fields to the contact creation form: @@ -890,7 +890,7 @@ customer as :guilabel:`Consumidor Final` and generates an electronic invoice any .. note:: If the client requests a credit note due to a return of this type of purchase, the credit note should be made using the client's real contact information. Credit notes cannot be created for - *Consumidor Final* and can be managed :ref:`directly from the POS session `. + *Consumidor Final* and can be managed :ref:`directly from the POS session `. .. _localizations/ecuador/specific-customer: @@ -902,4 +902,4 @@ with their fiscal information. This ensures the invoice is generated with accura .. note:: If the client requests a credit note due to a return of this type of purchase, the credit note - and return process can be managed :ref:`directly from the POS session `. + and return process can be managed :ref:`directly from the POS session `. diff --git a/content/applications/finance/fiscal_localizations/malaysia.rst b/content/applications/finance/fiscal_localizations/malaysia.rst index f4704af83a..24b806fe45 100644 --- a/content/applications/finance/fiscal_localizations/malaysia.rst +++ b/content/applications/finance/fiscal_localizations/malaysia.rst @@ -375,8 +375,7 @@ issued from an invoice or a :guilabel:`Self-billed Debit Note` from a vendor bil POS workflow ------------ -Two workflows are available to issue e-invoices in -:doc:`Point of Sale <../../sales/point_of_sale>`: +Two workflows are available to issue e-invoices in :doc:`Point of Sale <../../sales/point_of_sale>`: - :ref:`Individual e-invoice `: Issue an e-invoice immediately for a specific order using the customer's details. @@ -389,8 +388,8 @@ Individual e-invoice ~~~~~~~~~~~~~~~~~~~~ To issue an individual e-invoice and send it to MyInvois, -:ref:`create an invoice `, and ensure the selected customer has a valid -:abbr:`TIN (tax identification number)` or **Identification Number**. +:doc:`create an invoice `, and ensure the +selected customer has a valid :abbr:`TIN (tax identification number)` or **Identification Number**. .. note:: If the QR code does not appear on the invoice, the MyInvois validation is still in progress. @@ -413,8 +412,8 @@ individually :ref:`invoiced ` nor :ref:`refunded `. .. note:: - Orders belonging to an :ref:`open ` POS session are not included in the - consolidation. :ref:`Close ` the session to include them. + Orders belonging to an :ref:`open POS register ` are not included in the + consolidation. :ref:`Close the register ` to include them. To submit the consolidation, click :guilabel:`Submit to MyInvois` on the form view. For multiple records, click :guilabel:`Consolidated Invoices` to go back to the list view, and @@ -426,7 +425,7 @@ Consolidated e-invoices are issued to the pre-configured :guilabel:`General Publ Refunds ~~~~~~~ -To refund a customer, :ref:`process a return `. +To refund a customer, :ref:`process a return `. Refunds for orders e-invoiced individually or via consolidation must be issued as e-invoices (Refund Notes). To do so, click :guilabel:`Invoice` before processing the refund. diff --git a/content/applications/finance/fiscal_localizations/mexico.rst b/content/applications/finance/fiscal_localizations/mexico.rst index c235febee1..472bac9f40 100644 --- a/content/applications/finance/fiscal_localizations/mexico.rst +++ b/content/applications/finance/fiscal_localizations/mexico.rst @@ -1420,7 +1420,7 @@ receipt. :alt: Invoice Configuration for Point of Sale. To sign a credit note automatically, tick the :icon:`fa-file-text-o` :guilabel:`Invoice` checkbox -when processing a :ref:`refund `. +when processing a :ref:`refund `. .. note:: Credit notes for returned products will contain the relation type :guilabel:`03 - Devolución de @@ -1457,7 +1457,7 @@ to handle reversals of the sales entries when invoices are requested as well as account for the new invoices. .. seealso:: - :doc:`../../sales/point_of_sale/receipts_invoices` + :doc:`../../sales/point_of_sale/use/pos_invoices` .. _l10n/mx/pos/global-invoice: diff --git a/content/applications/finance/fiscal_localizations/saudi_arabia.rst b/content/applications/finance/fiscal_localizations/saudi_arabia.rst index d6f51a74fc..24c87ec891 100644 --- a/content/applications/finance/fiscal_localizations/saudi_arabia.rst +++ b/content/applications/finance/fiscal_localizations/saudi_arabia.rst @@ -587,8 +587,7 @@ ZATCA integration configuration PoS orders must be properly reported in compliance with ZATCA Phase 2. To do so, follow these steps: -- Onboard the :guilabel:`Invoices` default journal in the :ref:`PoS settings - `: +- Onboard the :guilabel:`Invoices` default journal in the :ref:`PoS settings `: - Go to :menuselection:`Point of Sale --> Configuration --> Settings`. In the yellow banner, select the relevant :guilabel:`Point of Sale`, then navigate to the :guilabel:`Accounting` @@ -599,7 +598,7 @@ PoS orders must be properly reported in compliance with ZATCA Phase 2. To do so, - In the :guilabel:`Enter the OTP` window, enter the 6-digit :guilabel:`OTP` retrieved from the Fatoora Portal under the Production Environment. Then click :guilabel:`Confirm`. -- :ref:`Assign a customer ` to the order before finalizing the transaction. +- :ref:`Assign a customer ` to the order before finalizing the transaction. These steps ensure that each receipt is processed as a compliant e-invoice and reported to the ZATCA portal in real time. Once the receipt is generated, the Phase 2 QR code automatically appears on diff --git a/content/applications/finance/fiscal_localizations/spain.rst b/content/applications/finance/fiscal_localizations/spain.rst index 123b8e39ae..84ccdfde17 100644 --- a/content/applications/finance/fiscal_localizations/spain.rst +++ b/content/applications/finance/fiscal_localizations/spain.rst @@ -171,7 +171,7 @@ listed by their creation date and current status. Point of sale orders -------------------- -Once an order has been :ref:`paid `, a JSON file containing the order details is +Once an order has been :ref:`paid `, a JSON file containing the order details is generated. This file is stored as a Veri*Factu document. Go to :menuselection:`Point of Sale --> Orders --> Orders`. In the :guilabel:`Orders` list view, diff --git a/content/applications/general/iot/devices/printer.rst b/content/applications/general/iot/devices/printer.rst index 22df555d73..13cfec569e 100644 --- a/content/applications/general/iot/devices/printer.rst +++ b/content/applications/general/iot/devices/printer.rst @@ -240,10 +240,10 @@ the `ESC *` command as follows: #. Click :guilabel:`Add Printer`. If everything was done correctly, the page should redirect to the :guilabel:`Banners` page. #. Wait a few minutes for the IoT system to detect the printer and sync to Odoo's server. -#. :ref:`Access the POS settings ` and select your POS, or click the - vertical ellipsis button (:guilabel:`⋮`) on a POS card and click :guilabel:`Edit`. Scroll down - to the :guilabel:`Connected Devices` section, enable :guilabel:`IoT Box`, and select the printer - in the :guilabel:`Receipt Printer` field. Click :guilabel:`Save`. +#. :ref:`Access the POS settings ` and select your POS, or click the vertical + ellipsis button (:guilabel:`⋮`) on a POS card and click :guilabel:`Edit`. Scroll down to the + :guilabel:`Connected Devices` section, enable :guilabel:`IoT Box`, and select the printer in the + :guilabel:`Receipt Printer` field. Click :guilabel:`Save`. .. note:: If the printer was set up incorrectly (e.g., it continues to print random text, or the printed diff --git a/content/applications/sales/point_of_sale.rst b/content/applications/sales/point_of_sale.rst index b3e82c1fb5..95a1aa6f0b 100644 --- a/content/applications/sales/point_of_sale.rst +++ b/content/applications/sales/point_of_sale.rst @@ -1,220 +1,42 @@ :show-content: -:show-toc: ============= Point of Sale ============= -With **Odoo Point of Sale**, run your shops and restaurants easily. The app works on any device with -a web browser, even if you are temporarily offline. Product moves are automatically registered in -your stock, you get real-time statistics, and your data is consolidated across all shops. +Odoo **Point of Sale** is designed for managing shops and restaurants. It is web-browser-based, +allowing it to run on any device, and is built to maintain functionality even during temporary +network outages. + +Beyond traditional :doc:`store ` and :doc:`restaurant +` settings, Odoo :abbr:`POS (Point of Sale)` also supports a +:doc:`self-ordering ` feature, enabling customers to place orders and make +payments using a dedicated kiosk or their own mobile device. + +Odoo :abbr:`POS (Point of Sale)` integrates with all essential point-of-sale hardware, including: + +- :doc:`Payment terminals `; +- Cash drawers; +- :doc:`Cash machines `; +- :ref:`Scales `; +- :doc:`Barcode scanners `; +- :ref:`Customer displays `; +- :doc:`Preparation displays `; +- :doc:`Electronic shelf labels `. + +This hardware can be connected directly or through an :doc:`IoT system <../general/iot>`. .. seealso:: - - `Odoo Tutorials: Point of Sale Tutorials `_ - - :doc:`IoT Boxes Documentations ` - -.. _pos/session-start: - -Start a session -=============== - -From the **POS dashboard**, click :guilabel:`New Session`, and at the :guilabel:`Opening Cash -Control` screen, click :guilabel:`Open Session` to start a POS session, or click :guilabel:`Continue -Selling` if the session is already opened. - -.. note:: - :doc:`Multiple users ` can be logged into the same session at the - same time. However, the session can only be opened once on the same browser. - -.. _pos/sell: - -Sell products -============= - -Click on products to add them to the cart. To change the **quantity**, click :guilabel:`Qty` and -enter the number of products using the keypad. To add a **discount** or modify the product -**price**, click respectively :guilabel:`% Disc` or :guilabel:`Price` and enter the amounts. - -Once an order is completed, proceed to checkout by clicking :guilabel:`Payment`. Select the -**payment method**, enter the received amount, and click :guilabel:`Validate`. Click -:guilabel:`New Order` to move on to the next customer. - -.. image:: point_of_sale/pos-interface.png - :alt: POS session interface. - -.. tip:: - - You can use both `,` and `.` on your keyboard as decimal separators. - - **Cash** is selected by default if you enter the amount without choosing a payment method. - -.. note:: - The system can only load a limited number of products for effective opening. Click - :guilabel:`Search more` if the desired product is not loaded automatically. - -.. _pos/customers: - -Set customers -============= - -Registering your customer is necessary to :doc:`collect their loyalty points and grant them rewards -`, automatically apply the :doc:`attributed pricelist -`, or :ref:`generate and print an invoice -`. - -You can create customers from an :ref:`open POS session ` by clicking -:menuselection:`Customer --> Create`, and filling in the contact information. You can also create -customers from the backend by going to :menuselection:`Point of Sale --> Orders --> Customers` and -clicking :guilabel:`New`. Then, fill in the information and save. - -To set a customer during an order, access the list of customers by clicking :guilabel:`Customer` on -the POS interface. You can also set a customer at the payment screen by clicking -:guilabel:`Customer`. - -.. _pos/customer-notes: - -Customer notes -============== - -You can add **customer notes** about specific products directly from an open :ref:`POS session -`. For instance, to provide cleaning and maintenance tips. They can also be used -to track a customer's particular request, such as not wanting the product to be assembled for them. - -To do so, select a product and click :guilabel:`Customer Note` on the pad. Doing so opens a pop-up -window in which you can add or modify content for the note. - -.. note:: - Product notes from an :doc:`imported SO ` are displayed - identically in the cart. - -.. image:: point_of_sale/customer-notes.png - :alt: Customer note button and notes (SO and POS session) on products in the cart - -Customer notes appear on customers' receipts and invoices similarly to how they appear in the cart, -under the related product. - -.. image:: point_of_sale/notes-receipt.png - :alt: Customer receipt with notes from an SO and from the customer note feature - -.. _pos/refund: - -Return and refund products -========================== - -To refund a returned product, follow these steps: - -#. :ref:`Start a session ` from the **POS dashboard**. -#. Click the :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` icon, then :icon:`fa-undo` - :guilabel:`Refund`, and select the corresponding order. -#. Select items, use the keypad to set the quantity to refund, then click :guilabel:`Refund`. -#. Click :guilabel:`Payment` and select the appropriate refund payment method. -#. Click :guilabel:`Validate` and print the receipt if needed. -#. Click :guilabel:`New Order` to proceed to the next customer. - -.. tip:: - - To filter the **orders list** by :guilabel:`Reference`, :guilabel:`Receipt Number`, - :guilabel:`Date`, or :guilabel:`Customer`, enter a value in the search bar and choose the - relevant filter from the dropdown menu. - - When the total amount is negative, adding a gift card to the cart automatically adjusts the - gift card balance to match that amount. - -.. note:: - Alternatively, a refund can be processed by selecting the returned product(s) from an open - session and setting a negative quantity equal to the number of returned items. To do so, click - :guilabel:`Qty` and :guilabel:`+/-`, and update the quantity accordingly. - -Once the return payment is validated, Odoo generates the required credit note, referencing the -original receipt or invoice and partially or fully canceling the document. - -.. _pos/cash-register: - -Manage the cash register -======================== - -To add or take out cash from the register, click the **menu icon** in the upper right corner of your -screen and :guilabel:`Cash In/Out`. - -.. image:: point_of_sale/menu-button.png - :alt: Dropdown menu to close a POS session, reach the backend, add or take cash out or check - orders - -Doing so opens a pop-up window on which you can select :guilabel:`Cash In` or :guilabel:`Cash Out`, -enter the amount and the reason, and click :guilabel:`Confirm`. - -.. _pos/session-close: - -Close the POS session -===================== - -To close your session, click the **menu icon** in the upper right corner of your screen and -:guilabel:`Close Session`. - -Doing so opens the :guilabel:`Closing Control` pop-up screen. From this screen, you can retrieve -various information: - -- the number of orders made and the total amount made during the session; -- the expected amounts grouped by payment method. - -Before closing this window, count your cash using the calculator icon. Doing so opens a pop-up -window that computes the total amount in the cash drawer depending on the coins and bills counted -and added manually. Then, click :guilabel:`Confirm` or :guilabel:`Discard` to close the window. The -computed amount is set in the :guilabel:`Counted` column, and the :guilabel:`Money Details` are -specified in the **Notes** section. - -.. image:: point_of_sale/closing-control.png - :alt: How to close a POS session. - -Once you are done controlling the amounts, click :guilabel:`Close Session` to close and go back to -the **POS dashboard**. - -.. note:: - - To reach the backend without closing the session, click :guilabel:`Backend` on the dropdown - menu. - - To abort, click :guilabel:`Discard` on the pop-up window. - - Depending on your setup, you might only be allowed to close a session if the expected cash - revenue equals the counted cash. To close it anyway, click :guilabel:`Ok` on the - :guilabel:`Payments Difference` screen. - -.. tip:: - - It is strongly advised to close your POS session at the end of each day. - - To look at all your previous sessions, go to :menuselection:`Point of Sale --> Orders --> - Sessions`. - -.. _pos/analytics: - -Analytics -========= - -Once you :ref:`close and post the POS session `, access the comprehensive report -to review all session activities, including who initiated the session and who handled specific -orders. To access the session's report: - -#. Click :icon:`fa-ellipsis-v` (:guilabel:`vertical ellipsis`) on the POS card. -#. Click :guilabel:`Sessions` under the :guilabel:`View` section. -#. From that list view, you can see all the sessions and who initiated them under the - :guilabel:`Opened By` column. -#. Select a POS session to open a detailed session report. -#. Click the :guilabel:`Orders` smart button to display a list of all orders placed during that - session. -#. From that view, you can retrieve the following information: - - - The :guilabel:`Order Ref` - - The :guilabel:`Date` of the order. - - The :guilabel:`Point of Sale` where that order was made. - - The :guilabel:`Receipt Number`. - - The :guilabel:`Customer`. - - The :guilabel:`Employee` that placed this order. - - The :guilabel:`Total` paid amount. - - The order :guilabel:`Status`. - -To get an overview of all orders, regardless of the session, click the vertical ellipsis button -(:guilabel:`⋮`) on the POS card and select :guilabel:`Orders` from the :guilabel:`View` section. + `Odoo Tutorials: Point of Sale tutorials `_ .. toctree:: :titlesonly: + point_of_sale/use + point_of_sale/products point_of_sale/configuration point_of_sale/pos_hardware point_of_sale/employee_login - point_of_sale/receipts_invoices point_of_sale/preparation point_of_sale/self_order point_of_sale/combos @@ -222,6 +44,5 @@ To get an overview of all orders, regardless of the session, click the vertical point_of_sale/restaurant point_of_sale/pricing point_of_sale/payment_methods - point_of_sale/pos_based_marketing point_of_sale/online_food_delivery point_of_sale/reporting diff --git a/content/applications/sales/point_of_sale/closing-control.png b/content/applications/sales/point_of_sale/closing-control.png deleted file mode 100644 index ce8a66a583..0000000000 Binary files a/content/applications/sales/point_of_sale/closing-control.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/combos.rst b/content/applications/sales/point_of_sale/combos.rst index 17fa99adae..f513303af8 100644 --- a/content/applications/sales/point_of_sale/combos.rst +++ b/content/applications/sales/point_of_sale/combos.rst @@ -53,8 +53,9 @@ store or restaurant. Practical application ===================== -:ref:`Open a POS session ` and select the combo product. Choose the options and -click :guilabel:`Add to order`. As a reminder, the extra price appears under the related choices. +:ref:`Access the POS register ` and select the combo product. Choose the +options and click :guilabel:`Add to order`. As a reminder, the extra price appears under the related +choices. .. image:: combos/combo-select.png :scale: 75% diff --git a/content/applications/sales/point_of_sale/configuration.rst b/content/applications/sales/point_of_sale/configuration.rst index 3ab7a085aa..6a86b4e35a 100644 --- a/content/applications/sales/point_of_sale/configuration.rst +++ b/content/applications/sales/point_of_sale/configuration.rst @@ -1,92 +1,7 @@ -:show-content: -:show-toc: - ============= Configuration ============= -.. _configuration/settings: - -Access the POS settings -======================= - -To access the general POS settings, go to :menuselection:`Point of Sale --> Configuration --> -Settings`. Then, open the dropdown menu in the :guilabel:`Point of Sale` field and select the POS to -configure. - -.. image:: configuration/select-pos-dropdown.png - :alt: Dropdown menu to select the POS in the app settings - -.. note:: - These settings are available to users with the :doc:`access rights ` - :guilabel:`Administration` set as :guilabel:`Settings`. - -You can also configure some settings from the dashboard by clicking the vertical ellipsis button -(:guilabel:`⋮`) on a POS card. Doing so opens a popup window, from which you can: - -- :doc:`Enable multiple employees to log in. ` -- :doc:`Connect and set up an IoT sytem. ` -- :doc:`Connect and set up an ePOS printer. ` - -.. image:: configuration/toggle-settings.png - :alt: popup window to access quick settings in POS - -.. note:: - These settings are available to users with the :doc:`access rights ` - :guilabel:`Point of Sale` set as :guilabel:`Administrator`. - -Make products available -======================= - -To make products available for sale, - -#. Go to :menuselection:`Point of Sale --> Products --> Products`. -#. Select a product to open the product form. -#. Tick the :guilabel:`Point of Sale` checkbox at the top of the form. - -.. image:: configuration/pos-available.png - :alt: Making a product available in your POS. - -PoS product categories -====================== - -Configuration -------------- - -POS product categories allow users to categorize products and get a more structured and clean -POS interface. - -To manage PoS categories, go to :menuselection:`Point of Sale --> Configuration --> PoS Product -Categories`. To add a new category, click :guilabel:`Create`. Then, name it in the -:guilabel:`Category Name` field. - -To associate a category with a parent category, fill in the :guilabel:`Parent Category` field. A -parent category groups one or more child categories. - -.. example:: - .. image:: configuration/parent-categories.png - :alt: The PoS product categories grouped by parent categories - -Assign PoS product categories ------------------------------ - -Go to :menuselection:`Point of Sale --> Products --> Products` and open a product form. Then, go to -the :guilabel:`Point of Sale` tab and fill in the :guilabel:`Category` field under the -:guilabel:`Point of Sale` section with one or multiple PoS categories. - -.. image:: configuration/form-pos-category.png - :alt: Point of Sale tab of a product form to add a PoS product category - -Restrict categories -------------------- - -You can limit the categories displayed on your POS interface. To achieve this, go to your :ref:`POS -settings ` and choose the specific categories to display in the -:guilabel:`Restrict Categories` field within the :guilabel:`Product & PoS categories` section. - -.. image:: configuration/restrict-category.png - :alt: Setting to set up the restrict category feature - .. toctree:: :titlesonly: diff --git a/content/applications/sales/point_of_sale/configuration/epos_printers.rst b/content/applications/sales/point_of_sale/configuration/epos_printers.rst index f34430e739..bcc1d074f9 100644 --- a/content/applications/sales/point_of_sale/configuration/epos_printers.rst +++ b/content/applications/sales/point_of_sale/configuration/epos_printers.rst @@ -11,7 +11,7 @@ Configuration To use an ePos printer in Point of Sale: -#. :ref:`Access the POS settings `. +#. :ref:`Access the POS settings `. #. Activate the :guilabel:`ePos Printer` feature. #. Fill in the field with your ePos IP address. diff --git a/content/applications/sales/point_of_sale/configuration/form-pos-category.png b/content/applications/sales/point_of_sale/configuration/form-pos-category.png deleted file mode 100644 index 9eafbc69b1..0000000000 Binary files a/content/applications/sales/point_of_sale/configuration/form-pos-category.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/configuration/parent-categories.png b/content/applications/sales/point_of_sale/configuration/parent-categories.png deleted file mode 100644 index 993d3827c9..0000000000 Binary files a/content/applications/sales/point_of_sale/configuration/parent-categories.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/configuration/pos-available.png b/content/applications/sales/point_of_sale/configuration/pos-available.png deleted file mode 100644 index df90174dc9..0000000000 Binary files a/content/applications/sales/point_of_sale/configuration/pos-available.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/configuration/pos_iot.rst b/content/applications/sales/point_of_sale/configuration/pos_iot.rst index 12212a1e15..30d90e8cf3 100644 --- a/content/applications/sales/point_of_sale/configuration/pos_iot.rst +++ b/content/applications/sales/point_of_sale/configuration/pos_iot.rst @@ -41,9 +41,9 @@ To connect the POS with an :doc:`IoT system `: the POS. .. tip:: - Alternatively, :ref:`access the POS settings ` and select the POS, or - click the vertical ellipsis button (:guilabel:`⋮`) on a POS card and click :guilabel:`Edit`. - Then, enable :guilabel:`IoT Box`, select the devices to use with the POS, and click + Alternatively, :ref:`access the POS settings ` and select the POS, or click + the vertical ellipsis button (:guilabel:`⋮`) on a POS card and click :guilabel:`Edit`. Then, + enable :guilabel:`IoT Box`, select the devices to use with the POS, and click :guilabel:`Save`. .. seealso:: diff --git a/content/applications/sales/point_of_sale/configuration/restrict-category.png b/content/applications/sales/point_of_sale/configuration/restrict-category.png deleted file mode 100644 index 409d429ddb..0000000000 Binary files a/content/applications/sales/point_of_sale/configuration/restrict-category.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/configuration/toggle-settings.png b/content/applications/sales/point_of_sale/configuration/toggle-settings.png deleted file mode 100644 index f607aa1a3b..0000000000 Binary files a/content/applications/sales/point_of_sale/configuration/toggle-settings.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/customer-notes.png b/content/applications/sales/point_of_sale/customer-notes.png deleted file mode 100644 index f5e6d958a6..0000000000 Binary files a/content/applications/sales/point_of_sale/customer-notes.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/employee_login.rst b/content/applications/sales/point_of_sale/employee_login.rst index 7266c67507..55a6c86992 100644 --- a/content/applications/sales/point_of_sale/employee_login.rst +++ b/content/applications/sales/point_of_sale/employee_login.rst @@ -3,7 +3,7 @@ Multi-employee management ========================= Odoo Point of Sale (POS) offers a **Log in with Employees** feature, allowing multiple users to -:ref:`log into a POS session `. Activating this feature enables the +:ref:`log into the POS register `. Activating this feature enables the following actions: - Select specific users who can :ref:`log into the POS `. @@ -17,7 +17,7 @@ Configuration ============= Access the multi-employee setting from the :guilabel:`PoS Interface` section of the :ref:`POS -settings `. Then, +settings `. Then, #. Activate the :guilabel:`Log in with Employees` feature. #. Add the employees with **basic POS functionality** access in the :guilabel:`Basic rights` field. @@ -52,9 +52,9 @@ settings `. Then, **Sales transactions:** - - :ref:`Process standard sales transactions `. - - :ref:`Set customers `. - - :ref:`Add notes to orders `. + - :ref:`Process standard sales transactions `. + - :ref:`Set customers `. + - :ref:`Add notes to orders `. **Pricing and discounts:** @@ -66,13 +66,13 @@ settings `. Then, **Session management:** - - :ref:`Open a POS session `. - - :ref:`Perform cash-in and cash-out operations `. + - :ref:`Open the POS register `. + - :ref:`Perform cash-in and cash-out operations `. **Sales transactions:** - - :ref:`Create customers `. - - :ref:`Process refunds `. + - :ref:`Create customers `. + - :ref:`Process refunds `. - :doc:`Access and handle sales orders `. - Access past and current order history. - Cancel orders. @@ -81,7 +81,7 @@ settings `. Then, - Manually select another :doc:`pricelist `. - :doc:`Manually apply discounts `. - - Manually :ref:`change a product's price `. + - Manually :ref:`change a product's price `. - Give loyalty program's rewards. - Switch between :doc:`fiscal positions `. @@ -91,7 +91,7 @@ settings `. Then, - Create products. - Access the Odoo backend interface. - - :ref:`Close the current POS session `. + - :ref:`Close the current POS register `. .. note:: An employee with advanced POS rights who is not a database user cannot access the backend. @@ -104,16 +104,16 @@ Usage guidelines Logging in ---------- -Once the **Log in with Employees** feature is enabled, employees must log in to :ref:`open a POS -session ` and access the POS interface. They can :ref:`scan their employee badge -`, click the :icon:`fa-users` icon (:guilabel:`users`) to select their -name from the list of authorized users, or by entering :ref:`their PIN code +Once the **Log in with Employees** feature is enabled, employees must log in to :ref:`open the POS +register ` and access the POS interface. They can :ref:`scan their employee +badge `, click the :icon:`fa-users` icon (:guilabel:`users`) to select +their name from the list of authorized users, or by entering :ref:`their PIN code ` in the :guilabel:`Enter your PIN` field. .. image:: employee_login/log-in.png - :alt: Login window to open a session when the multiple cashiers feature is active + :alt: Login window to open a register when the multiple cashiers feature is active -To switch between users during an :ref:`active session `, click on the currently +To switch between users from the :ref:`interface `, click on the currently logged-in employee's name at the top right of the POS screen and select the user to switch to. .. tip:: @@ -137,17 +137,17 @@ the employee's profile in the **Employees** module: - Click :guilabel:`Generate` to create a unique badge ID automatically. #. Click :guilabel:`Print Badge` to generate a barcode representation of the assigned badge ID. -To switch users within an open POS session using a badge, you must first lock the session. To do so, -click the :icon:`fa-lg fa-lock` icon (:guilabel:`lock`) to return to the login screen. Then, the new -employee can scan their badge to log in. +To switch users from the :ref:`interface `, using a badge, you must first +lock the register. To do so, click the :icon:`fa-lg fa-lock` icon (:guilabel:`lock`) to return to +the login screen. Then, the new employee can scan their badge to log in. .. _pos/employee_login/pin: Adding a PIN Code ----------------- -For enhanced security, employees may be forced to enter a PIN code each time they log into a POS -session. To set up a PIN code for an employee: +For enhanced security, employees may be forced to enter a PIN code each time they log into the POS +register. To set up a PIN code for an employee: #. Navigate to the **Employees** module. #. Open the form view of the relevant employee. diff --git a/content/applications/sales/point_of_sale/menu-button.png b/content/applications/sales/point_of_sale/menu-button.png deleted file mode 100644 index 1680737331..0000000000 Binary files a/content/applications/sales/point_of_sale/menu-button.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/notes-receipt.png b/content/applications/sales/point_of_sale/notes-receipt.png deleted file mode 100644 index 0da784be28..0000000000 Binary files a/content/applications/sales/point_of_sale/notes-receipt.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/online_food_delivery.rst b/content/applications/sales/point_of_sale/online_food_delivery.rst index 4f4ff0acba..1759eb3ab9 100644 --- a/content/applications/sales/point_of_sale/online_food_delivery.rst +++ b/content/applications/sales/point_of_sale/online_food_delivery.rst @@ -67,7 +67,7 @@ UrbanPiper credentials #. Get your Atlas credentials: - #. Go to the :ref:`POS settings `. + #. Go to the :ref:`POS settings `. #. Scroll down to the :guilabel:`Food Delivery Connector` section. #. Click :guilabel:`Fill this form to get Username & Api key` and fill out the survey. #. `Go to your Atlas account `_ and retrieve your API key and username @@ -81,7 +81,7 @@ Point of Sale #. Enable the :guilabel:`Urban Piper` setting: - #. Go to the :ref:`POS settings `. + #. Go to the :ref:`POS settings `. #. Scroll down to the :guilabel:`Food Delivery Connector` section. #. Check the :guilabel:`Urban Piper` setting. @@ -153,7 +153,7 @@ Synchronization To make products available on food delivery platforms, synchronize with your UrbanPiper account: -#. Go to the :ref:`POS settings `. +#. Go to the :ref:`POS settings `. #. Scroll down the :guilabel:`Food Delivery Connector` section. #. Click the :guilabel:`Sync Menu` button. diff --git a/content/applications/sales/point_of_sale/payment_methods/cash_machines.rst b/content/applications/sales/point_of_sale/payment_methods/cash_machines.rst index 764465620b..3bfd507ca3 100644 --- a/content/applications/sales/point_of_sale/payment_methods/cash_machines.rst +++ b/content/applications/sales/point_of_sale/payment_methods/cash_machines.rst @@ -4,8 +4,8 @@ Cash machines ============= -Connecting and integrating a cash machine with a :ref:`POS system ` enables -automation of cash transactions, cash counting, and change return. +Connecting and integrating a cash machine with a POS system automates cash transactions, cash +counting, and change return. .. _pos/cash_machines/configuration: @@ -23,7 +23,7 @@ Configure the cash machine itself before setting it up in Odoo. Currently, Odoo Use === -To process a :ref:`payment ` with a :ref:`configured cash machine +To process a :ref:`payment ` with a :ref:`configured cash machine `, select the machine's :doc:`payment method <../payment_methods>` on the **payment screen**, then follow the instructions on the machine. diff --git a/content/applications/sales/point_of_sale/payment_methods/customer_credit.rst b/content/applications/sales/point_of_sale/payment_methods/customer_credit.rst index 5294295f6c..e46838a585 100644 --- a/content/applications/sales/point_of_sale/payment_methods/customer_credit.rst +++ b/content/applications/sales/point_of_sale/payment_methods/customer_credit.rst @@ -15,8 +15,8 @@ Configuration To allow customers to pay using their customer account, :doc:`create a payment method <../payment_methods>` and configure it as follows: -#. Enable :guilabel:`Identify Customer` to force the :ref:`selection of a customer ` - to allow using this payment method. +#. Enable :guilabel:`Identify Customer` to force the :ref:`selection of a customer + ` to allow using this payment method. #. Keep the :guilabel:`Journal` field blank to use the customer's receivable account. #. Select the points of sale where this payment method is available in the :guilabel:`Point of Sale` field. @@ -60,7 +60,7 @@ To use the customer account as a payment method for a purchase from the POS paym .. important:: To effectively monitor and manage the customer’s unpaid debt, either :doc:`create an invoice - <../receipts_invoices>` for the order or install the :doc:`Accounting application + <../use/pos_invoices>` for the order or install the :doc:`Accounting application <../../../finance/accounting>`. Debt tracking diff --git a/content/applications/sales/point_of_sale/payment_methods/qr_code_payment.rst b/content/applications/sales/point_of_sale/payment_methods/qr_code_payment.rst index 4b3a4c4098..85251bdbe6 100644 --- a/content/applications/sales/point_of_sale/payment_methods/qr_code_payment.rst +++ b/content/applications/sales/point_of_sale/payment_methods/qr_code_payment.rst @@ -82,8 +82,8 @@ Create the payment method At least one bank account must be defined in the journal to allow QR code payments to be registered with bank apps. -Once the payment method is created, go to the :ref:`POS' settings ` and add -the payment method to your POS under the :guilabel:`Payment` section. +Once the payment method is created, go to the :ref:`POS' settings ` and add the +payment method to your POS under the :guilabel:`Payment` section. .. image:: qr_code_payment/qr-configuration-setting.png :alt: Enable QR code payment method diff --git a/content/applications/sales/point_of_sale/payment_methods/terminals.rst b/content/applications/sales/point_of_sale/payment_methods/terminals.rst index e036dae555..7a52411006 100644 --- a/content/applications/sales/point_of_sale/payment_methods/terminals.rst +++ b/content/applications/sales/point_of_sale/payment_methods/terminals.rst @@ -4,7 +4,7 @@ Payment terminals ================= -Connect and integrate a payment terminal to a :ref:`POS system ` to accept +Connect and integrate a payment terminal to a :ref:`POS system ` to accept multiple payment options, including credit and debit cards. .. _pos/terminals/configuration: @@ -42,7 +42,7 @@ To activate a payment terminal and allow processing payments with it, follow the Terminal use ============ -To process a :ref:`payment ` with a :ref:`configured terminal +To process a :ref:`payment ` with a :ref:`configured terminal ` for an order, select the terminal's :doc:`payment method <../payment_methods>` on the :guilabel:`Payment` screen, then follow the instructions on the terminal device. diff --git a/content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst b/content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst index 9489c7a919..b1ed72b8e5 100644 --- a/content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst +++ b/content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst @@ -72,9 +72,9 @@ For Odoo to know when a payment is made, you must configure the terminal **Event Configure the payment method ---------------------------- -Enable the payment terminal :ref:`in the application settings ` and -:doc:`create the related payment method <../../payment_methods>`. Set the journal type as -:guilabel:`Bank` and select :guilabel:`Adyen` in the :guilabel:`Use a Payment Terminal` field. +Enable the payment terminal :ref:`in the application settings ` and :doc:`create +the related payment method <../../payment_methods>`. Set the journal type as :guilabel:`Bank` and +select :guilabel:`Adyen` in the :guilabel:`Use a Payment Terminal` field. Finally, fill in the mandatory fields with your :ref:`Adyen API key `, :ref:`Adyen Terminal Identifier `, and :guilabel:`Adyen Merchant Account`. @@ -82,8 +82,8 @@ Terminal Identifier `, and :guilabel:`Adyen Merchant Account`. .. image:: adyen/payment-method.png Once the payment method is created, you can select it in your POS settings. To do so, go to the -:ref:`POS' settings `, click :guilabel:`Edit`, and add the payment method -under the :guilabel:`Payments` section. +:ref:`POS' settings `, click :guilabel:`Edit`, and add the payment method under +the :guilabel:`Payments` section. .. _adyen/tips: @@ -91,7 +91,7 @@ Tips ==== Odoo Point of Sale allows tipping with an Adyen terminal. To configure this option, go to the -:ref:`POS settings `, enable the :ref:`Tips ` and the +:ref:`POS settings `, enable the :ref:`Tips ` and the :guilabel:`Add tip through payment terminal (Adyen)` settings, then click :guilabel:`Save`. To process tips with an Adyen terminal, follow these steps: diff --git a/content/applications/sales/point_of_sale/payment_methods/terminals/dpo.rst b/content/applications/sales/point_of_sale/payment_methods/terminals/dpo.rst index 0143a18f95..22f4950c0b 100644 --- a/content/applications/sales/point_of_sale/payment_methods/terminals/dpo.rst +++ b/content/applications/sales/point_of_sale/payment_methods/terminals/dpo.rst @@ -60,7 +60,7 @@ Add the payment method to a POS To add a **payment method** to your point of sale: -#. Go to the :ref:`POS settings `. +#. Go to the :ref:`POS settings `. #. Select the POS in the :guilabel:`Point of Sale` field. #. Add the payment method under the :guilabel:`Payment Methods` field in the :guilabel:`Payment` section. diff --git a/content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst b/content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst index f9e218f729..c2ae93a61d 100644 --- a/content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst +++ b/content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst @@ -41,13 +41,13 @@ At this point, the terminal restarts and should be displayed on the IoT system's Configure the payment method ---------------------------- -Enable the payment terminal :ref:`in the application settings ` and -:doc:`create the related payment method <../../payment_methods>`. Set the journal type as -:guilabel:`Bank` and select :guilabel:`Ingenico` in the :guilabel:`Use a Payment Terminal` field. -Then, select your terminal device in the :guilabel:`Payment Terminal Device` field. +Enable the payment terminal :ref:`in the application settings ` and :doc:`create +the related payment method <../../payment_methods>`. Set the journal type as :guilabel:`Bank` and +select :guilabel:`Ingenico` in the :guilabel:`Use a Payment Terminal` field. Then, select your +terminal device in the :guilabel:`Payment Terminal Device` field. .. image:: ingenico/payment-method.png Once the payment method is created, you can select it in your POS settings. To do so, go to the -:ref:`POS' settings `, click :guilabel:`Edit`, and add the payment method -under the :guilabel:`Payments` section. +:ref:`POS' settings `, click :guilabel:`Edit`, and add the payment method under +the :guilabel:`Payments` section. diff --git a/content/applications/sales/point_of_sale/payment_methods/terminals/qfpay.rst b/content/applications/sales/point_of_sale/payment_methods/terminals/qfpay.rst index 8937060eb2..bade5cbdba 100644 --- a/content/applications/sales/point_of_sale/payment_methods/terminals/qfpay.rst +++ b/content/applications/sales/point_of_sale/payment_methods/terminals/qfpay.rst @@ -34,7 +34,7 @@ To configure a QFPay payment terminal, follow these steps: refunds by QFPay. - Write the server address as follows: `https://yourdomain.odoo.com/qfpay/notify`. - If the terminal's IP address changes, update it in the :ref:`Odoo POS settings - ` and request a new self-signed certificate from QFPay. + ` and request a new self-signed certificate from QFPay. - If a QFPay account already exists, contact `technical.support@qfpay.com` with the merchant information and server address. diff --git a/content/applications/sales/point_of_sale/payment_methods/terminals/razorpay.rst b/content/applications/sales/point_of_sale/payment_methods/terminals/razorpay.rst index 05690f0e75..67afe68aa4 100644 --- a/content/applications/sales/point_of_sale/payment_methods/terminals/razorpay.rst +++ b/content/applications/sales/point_of_sale/payment_methods/terminals/razorpay.rst @@ -50,7 +50,7 @@ Configure the payment method production. Once the payment method is created, you can enable it for your POS. To do so, go to the :ref:`POS' -settings ` and add the payment method under the :guilabel:`Payment` section. +settings ` and add the payment method under the :guilabel:`Payment` section. .. note:: The terminal must have at least a 10% battery level to use it. diff --git a/content/applications/sales/point_of_sale/payment_methods/terminals/six.rst b/content/applications/sales/point_of_sale/payment_methods/terminals/six.rst index 01d68b889d..60cd49ebdb 100644 --- a/content/applications/sales/point_of_sale/payment_methods/terminals/six.rst +++ b/content/applications/sales/point_of_sale/payment_methods/terminals/six.rst @@ -29,7 +29,7 @@ Prerequisites Configure the payment method ---------------------------- -#. Enable the payment terminal :ref:`in the application settings ` and +#. Enable the payment terminal :ref:`in the application settings ` and :doc:`create a payment method for SIX terminals <../../payment_methods>`. #. Set the journal type as :guilabel:`Bank`. #. Fill in the :guilabel:`Outstanding Account` field. @@ -59,6 +59,6 @@ Link the payment method to a POS Once the payment method is created, it can be selected in the POS settings. To do so, -#. Go to the :ref:`POS' settings `. +#. Go to the :ref:`POS' settings `. #. Add the payment method under the :guilabel:`Payment methods` field within the :guilabel:`Payment` section. diff --git a/content/applications/sales/point_of_sale/payment_methods/terminals/tyro.rst b/content/applications/sales/point_of_sale/payment_methods/terminals/tyro.rst index 66f1f6bcf3..0e1465d885 100644 --- a/content/applications/sales/point_of_sale/payment_methods/terminals/tyro.rst +++ b/content/applications/sales/point_of_sale/payment_methods/terminals/tyro.rst @@ -53,11 +53,11 @@ Configure the payment method The :guilabel:`Tyro Mode` field must be set to :guilabel:`Production Mode`. Add the payment method to a POS --------------------------------- +------------------------------- To add a **payment method** to your point of sale: -#. Go to the :ref:`POS settings `. +#. Go to the :ref:`POS settings `. #. Select the POS in the :guilabel:`Point of Sale` field. #. Add the payment method under the :guilabel:`Payment Methods` field of the :guilabel:`Payment` section. diff --git a/content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst b/content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst index fdd14efd47..0cc57206d1 100644 --- a/content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst +++ b/content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst @@ -18,8 +18,8 @@ Worldline Worldline configuration ======================= -First, enable the Worldline payment terminal in the :ref:`POS settings ` -under :guilabel:`Payment Terminals`. Then :doc:`connect the IoT system to Odoo +First, enable the Worldline payment terminal in the :ref:`POS settings ` under +:guilabel:`Payment Terminals`. Then :doc:`connect the IoT system to Odoo ` and follow these steps on the terminal: #. **Configure the ECR protocol**: diff --git a/content/applications/sales/point_of_sale/pos-interface.png b/content/applications/sales/point_of_sale/pos-interface.png deleted file mode 100644 index 1d31b4dfff..0000000000 Binary files a/content/applications/sales/point_of_sale/pos-interface.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/pos_based_marketing.rst b/content/applications/sales/point_of_sale/pos_based_marketing.rst deleted file mode 100644 index 8210a2299c..0000000000 --- a/content/applications/sales/point_of_sale/pos_based_marketing.rst +++ /dev/null @@ -1,120 +0,0 @@ -================== -Marketing features -================== - -Use your POS system to engage with customers directly by sending them promotional offers via email -or WhatsApp. - -Storing contact details -======================= - -This feature requires your customer's contact details, either their email address or phone number. - -- **Email addresses**: automatically collected and saved in POS orders when sending a receipt by - email. -- **Phone numbers**: to store phone numbers when sending receipts on WhatsApp or by SMS, - - #. Go to :menuselection:`Configuration --> Settings` and scroll to the :guilabel:`Bills & - Receipts` section; - #. Activate the :guilabel:`WhatsApp Enabled` or :guilabel:`SMS Enabled` option(s). - -.. image:: pos_based_marketing/sms-whatsapp-enabled.png - :alt: setting to enable to store phone numbers when sending receipts - -If a customer’s contact information is missing, it will be automatically saved in POS orders when -the receipt is sent via email, SMS, or WhatsApp. - -.. tip:: - From a POS order form, navigate to the :guilabel:`Contact Info` category under the - :guilabel:`Extra Info` tab, then click the email icon or whatsapp icon to send standalone - marketing messages. - - .. image:: pos_based_marketing/standalone-marketing-from-pos.png - :alt: pos orders form's standalone marketing message option - -Email marketing -=============== - -To send marketing emails to your customers from POS orders, - -#. Go to :menuselection:`Point of Sale --> Orders --> Orders`; -#. Select the orders; -#. Click :guilabel:`Actions`, then :guilabel:`Send Email` from the dropdown menu. - -Doing so opens an email composing form. Fill it in and hit :guilabel:`Send`. - -.. image:: pos_based_marketing/mail-composer.png - :alt: mail composer view - :scale: 50 % - -.. tip:: - - Save some time by saving your content as a template. Click the vertical ellipsis button and - select your template under the :guilabel:`Insert Template` section. - - You can also save your content as template for later use. Click the vertical ellipsis button - and select :guilabel:`Save as Template`. - -.. note:: - - Fill in the :guilabel:`Mass Mailing Name` field to create a mass mailing and track its results - in the :doc:`Email Marketing app <../../marketing/email_marketing>`. - - If an email address is not related to an existing customer, a new customer is automatically - created when sending marketing emails. - -.. seealso:: - :doc:`Use the email marketing app for more advanced marketing features - <../../marketing/email_marketing>`. - -Whatsapp marketing -================== - -.. _pos_based_marketing/whatsapp_config: - -Configuration -------------- - -You first need to enable the related server action to send WhatsApp marketing messages from your POS -using the phone numbers collected from POS orders. To do so, - -#. Go to the WhatsApp application; -#. Create a new :ref:`WhatsApp template `; -#. Configure the fields: - - - :guilabel:`Applies to` field set to :guilabel:`Point of Sale Orders`; - - :guilabel:`Category` field to :guilabel:`Marketing`; - - :guilabel:`Phone Field` to either :guilabel:`Mobile` or :guilabel:`Customer > Phone`. -#. Click :guilabel:`Submit for Approval`; -#. Once approved, click the :guilabel:`Allow Multi` button to create a server action in the POS - orders list view. - -.. image:: pos_based_marketing/whatsapp-template.png - :alt: approved and configured for marketing uses whatsapp template - -.. warning:: - If you modify the template's content, you must request for approval again, as its status returns - to the :guilabel:`Draft` state. - -.. seealso:: - :doc:`WhatsApp configuration <../../productivity/whatsapp>` - -Send WhatsApp marketing messages --------------------------------- - -#. Go to :menuselection:`Point of Sale --> Orders --> Orders`; -#. Select the orders; -#. Click :guilabel:`Actions`, then :guilabel:`WhatsApp Message` from the dropdown menu. - -Doing so opens a WhatsApp message composing form. Select the desired marketing template in the -:guilabel:`Template` field and hit :guilabel:`Send Message`. - -.. image:: pos_based_marketing/whatsapp-composer.png - :alt: whatsapp composer view - -.. note:: - - To use WhatsApp marketing in the Point of Sale, approved marketing templates must have the - :guilabel:`Allow Multi` option enabled and :guilabel:`Point of Sale Orders` selected in the - :guilabel:`Applies to` field. - - If the server action is displayed without a properly configured template, an error message - appears. Click :guilabel:`Configure Templates` and complete the :ref:`WhatsApp setup - ` steps. - -.. seealso:: - :doc:`../../productivity/whatsapp` diff --git a/content/applications/sales/point_of_sale/pos_based_marketing/mail-composer.png b/content/applications/sales/point_of_sale/pos_based_marketing/mail-composer.png deleted file mode 100644 index 7ba49ca72e..0000000000 Binary files a/content/applications/sales/point_of_sale/pos_based_marketing/mail-composer.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/pos_based_marketing/sms-whatsapp-enabled.png b/content/applications/sales/point_of_sale/pos_based_marketing/sms-whatsapp-enabled.png deleted file mode 100644 index 607b6d5d5b..0000000000 Binary files a/content/applications/sales/point_of_sale/pos_based_marketing/sms-whatsapp-enabled.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/pos_based_marketing/standalone-marketing-from-pos.png b/content/applications/sales/point_of_sale/pos_based_marketing/standalone-marketing-from-pos.png deleted file mode 100644 index cc7ca91380..0000000000 Binary files a/content/applications/sales/point_of_sale/pos_based_marketing/standalone-marketing-from-pos.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/pos_based_marketing/whatsapp-composer.png b/content/applications/sales/point_of_sale/pos_based_marketing/whatsapp-composer.png deleted file mode 100644 index 9f759f7c04..0000000000 Binary files a/content/applications/sales/point_of_sale/pos_based_marketing/whatsapp-composer.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/pos_based_marketing/whatsapp-template.png b/content/applications/sales/point_of_sale/pos_based_marketing/whatsapp-template.png deleted file mode 100644 index 1d8bea80ac..0000000000 Binary files a/content/applications/sales/point_of_sale/pos_based_marketing/whatsapp-template.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/pos_hardware.rst b/content/applications/sales/point_of_sale/pos_hardware.rst index b94ae6c719..d4a29048b9 100644 --- a/content/applications/sales/point_of_sale/pos_hardware.rst +++ b/content/applications/sales/point_of_sale/pos_hardware.rst @@ -14,9 +14,9 @@ Customer display ================ The **customer display** feature provides real-time updates on a secondary screen for customers -during the checkout process. This screen shows the :ref:`items in the cart `, the subtotal -as items are added, and details throughout the payment process. It also displays the total amount, -the selected :doc:`payment method `, and any change to be returned. +during the checkout process. This screen shows the :ref:`items in the cart `, the +subtotal as items are added, and details throughout the payment process. It also displays the total +amount, the selected :doc:`payment method `, and any change to be returned. .. image:: pos_hardware/display.png :alt: customer screen @@ -35,26 +35,25 @@ Depending on the POS setup, the feature can be displayed directly on a secondary via USB-C or HDMI or on a screen connected through an IoT system. The feature is activated by default, but its background image can still be configured. To do so, -navigate to the :ref:`POS settings ` and scroll down to the -:guilabel:`Connected Devices` section. Then, click :guilabel:`Upload your file` to set a background -image. +navigate to the :ref:`POS settings ` and scroll down to the :guilabel:`Connected +Devices` section. Then, click :guilabel:`Upload your file` to set a background image. For displays connected using an :doc:`IoT system <../../general/iot>`: -#. Navigate to the :ref:`POS settings `. +#. Navigate to the :ref:`POS settings `. #. Enable the :guilabel:`IoT Box` option to activate the IoT system in POS. #. Click :guilabel:`Save`, which activates the IoT app in Odoo. #. :doc:`Connect and configure an IoT system <../../general/iot/connect>` for a :doc:`display <../../general/iot/devices/screen>`. -#. Return to the :ref:`POS settings ` and select an IoT-connected screen - using the :guilabel:`Customer Display` field. +#. Return to the :ref:`POS settings ` and select an IoT-connected screen using the + :guilabel:`Customer Display` field. Opening the customer display ---------------------------- To open the customer display, follow these steps: -#. :ref:`Open the POS register `. +#. :ref:`Access the POS register `. #. Click the :icon:`fa-bars` (:guilabel:`hamburger menu`) icon. #. Click the :icon:`fa-desktop` (:guilabel:`Customer Display`) icon, which opens the customer display either in a new window to drag onto the second screen or directly onto the IoT-connected @@ -73,7 +72,7 @@ support, follow these steps: #. :doc:`Activate the Point of Sale Mobile module <../../general/apps_modules>` to enable the customer display. -#. :ref:`Open the POS register `. +#. :ref:`Access the POS register `. #. Click the :icon:`fa-bars` (:guilabel:`hamburger menu`) icon. #. Click the :icon:`fa-desktop` (:guilabel:`Customer Display`) icon, which opens the customer display on the terminal's secondary screen. @@ -103,7 +102,7 @@ Configuration Scale connection ~~~~~~~~~~~~~~~~ -#. :ref:`Access the POS settings `. +#. :ref:`Access the POS settings `. #. Scroll down to the :guilabel:`Connected Devices` section and enable :guilabel:`IoT Box`. #. Select the scale in the :guilabel:`Electronic Scale` field. #. Click :guilabel:`Save`. @@ -164,7 +163,7 @@ turns green. Using a scale in PoS -------------------- -#. :ref:`Open the POS register `. +#. :ref:`Access the POS register `. #. Select the product to weigh on the order screen or scan its barcode. #. Place the product on the scale and wait for the weight to be displayed in the popup window. #. Once the weight is determined, the price is automatically computed. diff --git a/content/applications/sales/point_of_sale/preparation.rst b/content/applications/sales/point_of_sale/preparation.rst index fbed75a42f..d306462996 100644 --- a/content/applications/sales/point_of_sale/preparation.rst +++ b/content/applications/sales/point_of_sale/preparation.rst @@ -13,7 +13,7 @@ Configuration To enable the preparation display feature, -#. Go to the :ref:`POS settings `. +#. Go to the :ref:`POS settings `. #. Scroll down to the :guilabel:`Preparation` section. #. Check the :guilabel:`Preparation Display` option. diff --git a/content/applications/sales/point_of_sale/pricing/fiscal_position.rst b/content/applications/sales/point_of_sale/pricing/fiscal_position.rst index 481518d7f3..46a51c770d 100644 --- a/content/applications/sales/point_of_sale/pricing/fiscal_position.rst +++ b/content/applications/sales/point_of_sale/pricing/fiscal_position.rst @@ -36,10 +36,10 @@ can also :ref:`create new fiscal positions `. Use fiscal positions ==================== -Open a :ref:`POS session ` to use one of the allowed fiscal positions. Then, -click the :guilabel:`Tax` button next to the **book-shaped** icon and select a fiscal position from -the list. Doing so applies the defined rules automatically to all the products subject to the chosen -fiscal position's regulations. +Open the :ref:`POS register ` to use one of the allowed fiscal positions. +Then, click the :guilabel:`Tax` button next to the **book-shaped** icon and select a fiscal position +from the list. Doing so applies the defined rules automatically to all the products subject to the +chosen fiscal position's regulations. .. image:: fiscal_position/set-tax.png :align: center diff --git a/content/applications/sales/point_of_sale/pricing/pricelists.rst b/content/applications/sales/point_of_sale/pricing/pricelists.rst index 7833d95d6d..6b900cd08e 100644 --- a/content/applications/sales/point_of_sale/pricing/pricelists.rst +++ b/content/applications/sales/point_of_sale/pricing/pricelists.rst @@ -11,8 +11,8 @@ customers, or offer discounts when set quantities are ordered. Configuration ============= -Navigate to the :ref:`general POS app settings ` and ensure -:guilabel:`Flexible Pricelists` are enabled under the :guilabel:`Pricing` section. +Navigate to the :ref:`general POS app settings ` and ensure :guilabel:`Flexible +Pricelists` are enabled under the :guilabel:`Pricing` section. :ref:`Multiple prices per product ` is the default pricelist option for setting simple fixed price rules per product. Select :ref:`Advanced price rules (discounts, formulas) @@ -106,12 +106,12 @@ prices. To add a new price rule to a pricelist, click :guilabel:`Add a line`. In Select pricelists ----------------- -Go to the :ref:`specific POS settings ` and add all the available -pricelists in the :guilabel:`Available` field. Then, set its **default pricelist** in the -:guilabel:`Default` field. +Go to the :ref:`specific POS settings ` and add all the available pricelists in +the :guilabel:`Available` field, and set its **default pricelist** in the :guilabel:`Default` +field. -When you :ref:`open a POS session `, click the **pricelists** button, and select -the desired pricelist from the list. +Then, :ref:`access the POS register `, click the **pricelists** button, and +select the desired pricelist from the list. .. image:: pricelists/pricelist-button.png :alt: Button to select a pricelist on the POS frontend @@ -123,8 +123,8 @@ the desired pricelist from the list. .. tip:: You can also set a pricelist to be selected automatically once a specific :ref:`customer is set - `. To do so, go to the customer form and switch to the preferred pricelist in the - :guilabel:`Pricelist` field of the :guilabel:`Sales & Purchase` tab. + `. To do so, go to the customer form and switch to the preferred pricelist in + the :guilabel:`Pricelist` field of the :guilabel:`Sales & Purchase` tab. .. seealso:: - :doc:`../../sales/products_prices/prices/pricing` diff --git a/content/applications/sales/point_of_sale/products.rst b/content/applications/sales/point_of_sale/products.rst new file mode 100644 index 0000000000..2a51e76142 --- /dev/null +++ b/content/applications/sales/point_of_sale/products.rst @@ -0,0 +1,39 @@ +======== +Products +======== + +Products can be created from the backend or the POS interface. To manage products from the backend, +go to :menuselection:`Point of Sale --> Products --> Products`. Click :guilabel:`New` to create a +product, or open an existing one to edit it. Update the fields as needed and ensure the +:guilabel:`Point of Sale` checkbox is enabled at the top of the form. + +To create products from the POS interface, access the POS register, click the :icon:`fa-bars` +(:guilabel:`hamburger menu`) icon, then :guilabel:`Create Product`. Enter the product details in the +pop-up window and click :guilabel:`Save`. The product is immediately available in the register. + +To update an existing product from the POS register, long-click a product to open the information +pop-up, and click :guilabel:`Edit`. Change the necessary product details and click :guilabel:`Save` +to return to the POS register. + +POS product categories +====================== + +POS product categories are used to organize products in the POS register. + +To manage POS categories, follow these steps: + +#. Navigate to :menuselection:`Point of Sale --> Configuration --> PoS Product Categories`. +#. Click :guilabel:`New` to create a category or click an existing one to update it. +#. Classify and build a hierarchy between categories: Associate a category with a parent + category by filling in the :guilabel:`Parent Category` field. A parent category groups one or + more child categories (e.g., use `Drinks` to group `Hot beverages` and `Soft drinks`). + +Once POS product categories are created, assign them to specific products: + +#. Go to :menuselection:`Point of Sale --> Products --> Products` and open a product form. +#. Navigate to the :guilabel:`Point of Sale` tab and fill in the :guilabel:`Category` field with one + or multiple POS categories. + +To limit the categories displayed on the POS register, navigate to the :ref:`POS settings +` and select the relevant categories in the :guilabel:`Restrict Categories` field +under the :guilabel:`Product & PoS categories` section. diff --git a/content/applications/sales/point_of_sale/receipts_invoices.rst b/content/applications/sales/point_of_sale/receipts_invoices.rst deleted file mode 100644 index fc681878b4..0000000000 --- a/content/applications/sales/point_of_sale/receipts_invoices.rst +++ /dev/null @@ -1,110 +0,0 @@ -===================== -Receipts and invoices -===================== - -Receipts -======== - -Set up receipts by going to :menuselection:`Point of Sale --> Configuration --> Point of Sale`, -selecting a POS, and scrolling down to the :guilabel:`Bills & Receipts` section. - -To **customize** the **header** and **footer**, activate :guilabel:`Header & Footer` and fill in -both fields with the information to be printed on the receipts. - -To **print receipts** automatically once the payment is registered, enable the :guilabel:`Automatic -Receipt Printing` setting. - -.. image:: receipts_invoices/receipt.png - :scale: 75% - :alt: POS receipt - -.. seealso:: - - :ref:`pos/restaurant/bills` - - :doc:`configuration/epos_printers` - -Reprint a receipt ------------------ - -From the POS interface, click :guilabel:`Orders`, open the dropdown selection menu next to the -search bar, and change the default :guilabel:`All active orders` filter to :guilabel:`Paid`. Then, -select the corresponding order and click :guilabel:`Print Receipt`. - -.. image:: receipts_invoices/print-receipt.png - :alt: Print receipt button from the backend - -.. note:: - You can filter the list of orders using the search bar. Type in your reference and click - :guilabel:`Receipt Number`, :guilabel:`Date`, or :guilabel:`Customer`. - -.. _receipts-invoices/invoices: - -Invoices -======== - -Point of Sale allows you to issue and print invoices for :ref:`registered customers ` -upon payment and retrieve all past invoiced orders. - -.. note:: - An invoice created in a POS creates an entry into the corresponding :ref:`accounting journal - `, previously :ref:`set up `. - -.. _receipts_invoices/invoice_configuration: - -Configuration -------------- - -To define what journals will be used for a specific POS, go to the :ref:`POS' settings -` and scroll down to the accounting section. Then, you can determine the -accounting journals used by default for orders and invoices in the :guilabel:`Default Journals` -section. - -.. image:: receipts_invoices/invoice-config.png - :alt: accounting section in the POS settings - -Invoice a customer ------------------- - -Upon processing a payment, click :guilabel:`Invoice` underneath the customer's name to issue an -invoice for that order. - -Select the payment method and click :guilabel:`Validate`. The **invoice** is automatically issued -and ready to be downloaded and/or printed. - -.. note:: - To be able to issue an invoice, a :ref:`customer ` must be selected. - -Retrieve invoices ------------------ - -To retrieve invoices from the **POS dashboard**, - -#. access all orders made through your POS by going to :menuselection:`Point of Sale --> Orders --> - Orders`; -#. to access an order's invoice, open the **order form** by selecting the order, then click - :guilabel:`Invoice`. - -.. image:: receipts_invoices/invoice-smart-button.png - :alt: invoice smart button from an order form - -.. note:: - - **Invoiced orders** can be identified by the :guilabel:`Invoiced` status in the - :guilabel:`Status` column. - - You can filter the list of orders to invoiced orders by clicking :guilabel:`Filters` and - :guilabel:`Invoiced`. - -QR codes to generate invoices ------------------------------ - -Customers can also request an invoice by scanning the **QR code** printed on their receipt. Upon -scanning, they must fill in a form with their billing information and click :guilabel:`Get my -invoice`. On the one hand, doing so generates an invoice available for download. On the other hand, -the order status goes from :guilabel:`Paid` or :guilabel:`Posted` to :guilabel:`Invoiced` in the -Odoo backend. - -.. image:: receipts_invoices/order-status.png - :alt: order status change - -To use this feature, you have to enable QR codes on receipts by going to :menuselection:`Point of -Sale --> Configuration --> Settings`. Then, select the POS in the :guilabel:`Point of Sale` field, -scroll down to the :guilabel:`Bills & Receipts` section and enable :guilabel:`Use QR code on -ticket`. diff --git a/content/applications/sales/point_of_sale/receipts_invoices/invoice-smart-button.png b/content/applications/sales/point_of_sale/receipts_invoices/invoice-smart-button.png deleted file mode 100644 index 8136ceb28e..0000000000 Binary files a/content/applications/sales/point_of_sale/receipts_invoices/invoice-smart-button.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/receipts_invoices/order-status.png b/content/applications/sales/point_of_sale/receipts_invoices/order-status.png deleted file mode 100644 index fe9e5f0d69..0000000000 Binary files a/content/applications/sales/point_of_sale/receipts_invoices/order-status.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/receipts_invoices/print-receipt.png b/content/applications/sales/point_of_sale/receipts_invoices/print-receipt.png deleted file mode 100644 index fbbb528653..0000000000 Binary files a/content/applications/sales/point_of_sale/receipts_invoices/print-receipt.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/receipts_invoices/receipt.png b/content/applications/sales/point_of_sale/receipts_invoices/receipt.png deleted file mode 100644 index 447b282f3c..0000000000 Binary files a/content/applications/sales/point_of_sale/receipts_invoices/receipt.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/refund.png b/content/applications/sales/point_of_sale/refund.png deleted file mode 100644 index c55f5ce203..0000000000 Binary files a/content/applications/sales/point_of_sale/refund.png and /dev/null differ diff --git a/content/applications/sales/point_of_sale/reporting.rst b/content/applications/sales/point_of_sale/reporting.rst index b8b329c7de..2171195063 100644 --- a/content/applications/sales/point_of_sale/reporting.rst +++ b/content/applications/sales/point_of_sale/reporting.rst @@ -11,3 +11,34 @@ and :guilabel:`Orders`. These statistics are available in a graph or pivot view that you can filter or group depending on your needs. + +.. _pos/analytics: + +Analytics +========= + +Once you :ref:`close the POS register `, access the comprehensive +report to review all session activities, including who initiated the session (i.e., :ref:`opened +the register `) and who handled specific orders. To access the report: + +#. Click the :icon:`fa-ellipsis-v` (:guilabel:`vertical ellipsis`) icon on the POS card. +#. Click :guilabel:`Sessions` under the :guilabel:`View` section. +#. From that list view, you can see all the sessions and who initiated them under the + :guilabel:`Opened By` column. +#. Select a session to open a detailed session report. +#. Click the :guilabel:`Orders` smart button to display a list of all orders placed during that + session. +#. From that view, you can retrieve the following information: + + - The :guilabel:`Order Ref` + - The :guilabel:`Date` of the order. + - The :guilabel:`Point of Sale` where that order was made. + - The :guilabel:`Receipt Number`. + - The :guilabel:`Customer`. + - The :guilabel:`Employee` that placed this order. + - The :guilabel:`Total` paid amount. + - The order :guilabel:`Status`. + +To get an overview of all orders for a specific POS, regardless of the session, click the +:icon:`fa-ellipsis-v` (:guilabel:`vertical ellipsis`) button on the POS card and select +:guilabel:`Orders` from the :guilabel:`View` section. diff --git a/content/applications/sales/point_of_sale/restaurant.rst b/content/applications/sales/point_of_sale/restaurant.rst index 8a8a115f48..1ebf14ce06 100644 --- a/content/applications/sales/point_of_sale/restaurant.rst +++ b/content/applications/sales/point_of_sale/restaurant.rst @@ -21,11 +21,10 @@ orders: .. important:: To configure restaurant-specific settings, the :guilabel:`Is a Bar/Restaurant` setting under the - :guilabel:`Point of Sale` section must be enabled in the :ref:`POS settings - `. + :guilabel:`Point of Sale` section must be enabled in the :ref:`POS settings `. .. note:: - When :guilabel:`Booking` is enabled in the :ref:`POS settings `, a + When :guilabel:`Booking` is enabled in the :ref:`POS settings `, a :ref:`Booking ` button appears on the main interface for viewing and managing bookings. @@ -35,7 +34,7 @@ Default start screen ==================== To define the point of sale's default start screen, go to the :ref:`POS settings -`, scroll down to the :guilabel:`PoS Interface` section, and set the +`, scroll down to the :guilabel:`PoS Interface` section, and set the :guilabel:`Default Screen` setting to :guilabel:`Tables` (i.e., :ref:`Floor plan ` view) or :ref:`Register `. @@ -115,15 +114,15 @@ plan`: .. tip:: To create a :guilabel:`Floor plan` quickly, go to the :guilabel:`Point of Sale` section of the - :ref:`POS settings `. Under :guilabel:`Floors & Tables Map`, type the - floor name in the :guilabel:`Floors` field, and press `Enter`. + :ref:`POS settings `. Under :guilabel:`Floors & Tables Map`, type the floor + name in the :guilabel:`Floors` field, and press `Enter`. .. _pos/restaurant/floors/frontend: From the POS frontend ~~~~~~~~~~~~~~~~~~~~~ -To create floors and tables from the frontend, :ref:`open the POS register `, +To create floors and tables from the frontend, :ref:`open the POS register `, click the :icon:`fa-bars` (:guilabel:`hamburger menu`) icon in the top right corner of the :guilabel:`Floor plan` view, then :guilabel:`Edit Plan`. To configure the :guilabel:`Floor plan`, follow the next steps: @@ -170,8 +169,8 @@ Booking configuration To enable and configure the bookings, follow these steps: -#. Go to the :ref:`POS settings `, scroll down to the :guilabel:`PoS - Interface` section, and enable :guilabel:`Booking`. +#. Go to the :ref:`POS settings `, scroll down to the :guilabel:`PoS Interface` + section, and enable :guilabel:`Booking`. #. Enter a name in the :guilabel:`Appointment type` field and click :guilabel:`Create and edit`. #. Configure the :ref:`Appointment type ` form and click :guilabel:`Save`. #. Click :guilabel:`Save` in the POS settings. @@ -270,10 +269,10 @@ Presets are used to apply preconfigured settings to orders and determine whether customer contact information is required and apply capacity limits based on opening hours and order quantity. -To use preconfigured presets, go to the :ref:`POS settings ` and -enable the :guilabel:`Take out / Delivery / Members` setting under the :guilabel:`Point of Sale` -section. Set the :guilabel:`Default` field to the preferred preset, then save. From the -:ref:`register `, select the relevant preset, and :ref:`process the order +To use preconfigured presets, go to the :ref:`POS settings ` and enable the +:guilabel:`Take out / Delivery / Members` setting under the :guilabel:`Point of Sale` section. Set +the :guilabel:`Default` field to the preferred preset, then save. From the :ref:`register +`, select the relevant preset, and :ref:`process the order `: - :guilabel:`Dine In`: Assign a :ref:`table or open a tab `. @@ -318,8 +317,8 @@ Order printing ============== To enable sending orders to a kitchen or a bar printer, :doc:`connect a printer -` to Odoo, go to the :ref:`POS settings `, and -follow these steps: +` to Odoo, go to the :ref:`POS settings `, and follow +these steps: #. Scroll down to the :guilabel:`Preparation` section and enable the :guilabel:`Preparation Printers` setting. @@ -337,7 +336,7 @@ follow these steps: :guilabel:`Printed Product Categories` field and selecting the preferred category from the popover. #. Click :guilabel:`Save`. -#. In the :ref:`POS settings `, click :guilabel:`Save`. +#. In the :ref:`POS settings `, click :guilabel:`Save`. The printer is then connected to the point of sale and can print kitchen orders and order receipts. @@ -349,10 +348,9 @@ The printer is then connected to the point of sale and can print kitchen orders image, determine the product availability, then click :guilabel:`Save & Close`. .. tip:: - - To access all preparation printers from the :ref:`POS settings `, - scroll down to the :guilabel:`Preparation` section and click :icon:`oi-arrow-right` - :guilabel:`Printers`. Alternatively, go to :menuselection:`Point of Sale --> Orders --> - Preparations Printers`. + - To access all preparation printers from the :ref:`POS settings `, scroll down + to the :guilabel:`Preparation` section and click :icon:`oi-arrow-right` :guilabel:`Printers`. + Alternatively, go to :menuselection:`Point of Sale --> Orders --> Preparations Printers`. - After :ref:`processing an order `, click the :icon:`fa-cutlery` (:guilabel:`order`) icon in the :ref:`POS register ` next to :guilabel:`Payment` to reprint a duplicate of the last kitchen order. @@ -424,7 +422,7 @@ After a successful :ref:`order payment `, click :i the receipt is automatically printed upon payment confirmation. .. seealso:: - :doc:`/applications/sales/point_of_sale/receipts_invoices` + :doc:`/applications/sales/point_of_sale/use/pos_invoices` .. _pos/restaurant/tips: @@ -434,8 +432,8 @@ Tips Configuration ------------- -To allow tipping in a POS, go to the :ref:`POS settings `, scroll down to -the :guilabel:`Payment` section, enable :guilabel:`Tips`, and click :guilabel:`Save`. +To allow tipping in a POS, go to the :ref:`POS settings `, scroll down to the +:guilabel:`Payment` section, enable :guilabel:`Tips`, and click :guilabel:`Save`. .. important:: - The :guilabel:`Add tip after payment` setting only works for a POS in the United States @@ -472,8 +470,8 @@ Tip after payment (US only) --------------------------- To allow tipping after payment for a POS in the United States of America, ensure the :guilabel:`Add -tip after payment` setting is enabled in the :ref:`POS settings `. To -process tips after payment, follow these steps: +tip after payment` setting is enabled in the :ref:`POS settings `. To process tips +after payment, follow these steps: #. On the :guilabel:`Payment` screen, select a :guilabel:`Card` payment method linked to a :doc:`Stripe ` or :doc:`Adyen diff --git a/content/applications/sales/point_of_sale/self_order.rst b/content/applications/sales/point_of_sale/self_order.rst index 4a3d1b1f94..e1cf4b1352 100644 --- a/content/applications/sales/point_of_sale/self_order.rst +++ b/content/applications/sales/point_of_sale/self_order.rst @@ -12,8 +12,8 @@ Feature activation ------------------ To enable this feature and select a self-ordering type, access the :ref:`POS settings -`, scroll down to the :guilabel:`Mobile self-order & Kiosk` section, and -select a :guilabel:`Self Ordering` type under the :guilabel:`QR menu & Kiosk activation` section. +`, scroll down to the :guilabel:`Mobile self-order & Kiosk` section, and select a +:guilabel:`Self Ordering` type under the :guilabel:`QR menu & Kiosk activation` section. You can choose from: diff --git a/content/applications/sales/point_of_sale/shop/ship_later.rst b/content/applications/sales/point_of_sale/shop/ship_later.rst index 49aa4d3ae3..4216d216ac 100644 --- a/content/applications/sales/point_of_sale/shop/ship_later.rst +++ b/content/applications/sales/point_of_sale/shop/ship_later.rst @@ -9,8 +9,8 @@ or if, for any reason, the customer needs their order to be shipped later, etc. Configuration ============= -:ref:`Go to the POS settings `, scroll down to the :guilabel:`Inventory` -section, and enable :guilabel:`Allow Ship Later`. +:ref:`Go to the POS settings `, scroll down to the :guilabel:`Inventory` section, +and enable :guilabel:`Allow Ship Later`. .. image:: ship_later/settings.png :scale: 85% @@ -31,7 +31,7 @@ Once activated, you can: Practical application ===================== -#. :ref:`Open a session ` and make a sale. +#. :ref:`Access the POS register ` and make a sale. #. On the payment screen, set a customer and select :guilabel:`Ship Later`. #. On the popup window, set a shipping date and click :guilabel:`Confirm` to proceed to payment. diff --git a/content/applications/sales/point_of_sale/use.rst b/content/applications/sales/point_of_sale/use.rst new file mode 100644 index 0000000000..3c446b7d28 --- /dev/null +++ b/content/applications/sales/point_of_sale/use.rst @@ -0,0 +1,349 @@ +:show-content: + +=== +Use +=== + +.. _pos/use/create-pos: + +Create a POS +============ + +If no point of sale exists yet in the database, a set of POS cards is displayed on the Point of Sale +:guilabel:`Dashboard`. Each card represents a business type. Click a card to create a POS with +preconfigured settings tailored to that type. These settings can be adjusted later as needed. + +To create additional POS or to create one from scratch, go to :menuselection:`Point of Sale --> +Configuration --> Point of Sales` and click :guilabel:`New`. Then, configure the :ref:`POS settings +` to meet your specific business requirements. + +.. note:: + Click :guilabel:`Configurations > Settings` to access more settings. + +.. important:: + Assign a dedicated :doc:`cash payment method <../point_of_sale/payment_methods>` and :ref:`cash + journal ` to each POS. This ensures that accounting entries are + separated and traceable to specific points of sale. + +.. _pos/use/settings: + +Access the POS settings +======================= + +To access the general POS settings, go to :menuselection:`Point of Sale --> Configuration --> +Settings`. Then, open the :guilabel:`Point of Sale` dropdown menu and select the POS to configure. + +.. image:: use/select-pos-dropdown.png + :alt: Dropdown menu to select the POS in the app settings + +.. tip:: + To configure basic settings, access the POS dashboard, click the :icon:`fa-ellipsis-v` + (:guilabel:`vertical ellipsis`) icon on the relevant POS card, then select :guilabel:`Edit`. + In the popup window, you can: + + - :doc:`Enable multiple employees to log in. ` + - :doc:`Connect and set up an IoT sytem. ` + - :doc:`Connect and set up an ePOS printer. ` + +.. _pos/use/open-register: + +Open the POS register +===================== + +Once the POS is fully :doc:`configured `, access the POS interface by opening the +register. Navigate to :menuselection:`Point of Sale --> Dashboard` and: + +#. On the relevant POS card, click :guilabel:`Open Register`. +#. In the :guilabel:`Opening Control` popup, ensure the :guilabel:`Opening cash` amount is correct. +#. Click :guilabel:`Open Register`. + +.. note:: + - Once the register is open, :guilabel:`Open Register` is replaced by :guilabel:`Continue + Selling` on the POS card. + - You can switch between :doc:`multiple users ` from an open POS register, + provided :ref:`multi-employee management is enabled `. + +From the POS interface header: + +- Click :guilabel:`Register` to access the register for daily POS actions such as :ref:`sales + `, :ref:`refunds `, etc. +- Click :guilabel:`Orders` to access the POS :ref:`orders ` overview screen and + retrieve past or ongoing orders. +- Click the :icon:`fa-plus-circle` :guilabel:`(plus)` icon to put the current order aside and start + a new one. +- Click the order numbers to switch between ongoing orders. +- Search for products using the search bar. +- Click the :icon:`fa-barcode` (:guilabel:`barcode`) icon to use a webcam as a barcode scanner. +- Click the user's avatar to switch between employees, provided :ref:`multi-employee management is + enabled `. +- Click the :icon:`fa-bars` (:guilabel:`hamburger menu`) icon to access more advanced options, such + as :ref:`closing the register `. + +.. _pos/use/sell: + +Sell products +============= + +The POS register can be divided into three sections: the cart, a pad to adjust cart items, apply +discounts, set customers, etc., and the list of products. To make sales: + +#. Click on products to add them to the cart. + + - To change the **quantity**, click :guilabel:`Qty` and enter the number of products using the + keypad. + - To add a **discount**, click :guilabel:`%` and enter the discount value using the keypad. + - To modify the product **price**, click :guilabel:`Price` and enter the new amount using the + keypad. +#. Once the order is completed, click :guilabel:`Payment` to proceed to checkout. +#. Select the :doc:`payment method `. +#. Enter the received amount, then click :guilabel:`Validate`. +#. Click :guilabel:`New Order` to move on to the next order. + +.. image:: use/pos-register.png + :alt: POS register + +.. tip:: + - You can use both `,` and `.` on the keyboard as decimal separators. + - **Cash** is selected by default if no :doc:`payment method ` is manually + selected. + +.. _pos/use/customers: + +Set customers +============= + +Registering customers is necessary to :doc:`collect their loyalty points and grant them rewards +`, automatically apply an :doc:`attributed pricelist +`, or :ref:`generate and print invoices `. + +To create customers from :ref:`the POS register `: + +#. Click :guilabel:`Customer`. +#. Click :guilabel:`Create`. +#. Complete the customer form information and save. + +To create customers from the backend: + +#. Go to :menuselection:`Point of Sale --> Orders --> Customers`. +#. Click :guilabel:`New`. +#. Fill in the customer form information. + +To assign a customer to an order, click :guilabel:`Customer` to access the customer list on the POS +register or the payment screen, and select the desired customer. + +.. note:: + Creating a new customer from the POS register or the payment screen assigns them automatically to + the current order upon saving. + +Send marketing messages +----------------------- + +Customers' contact details, such as their phone number or email addresses, are stored +automatically when sending :doc:`receipts ` by email, SMS or Whatsapp. They can then +be used, for example, for :doc:`marketing <../../marketing>` purposes. + +To send marketing messages manually from the POS application, go to :menuselection:`Point of Sale +--> Orders --> Orders`, open a POS order form, navigate to the :guilabel:`Contact Info` category +under the :guilabel:`Extra Info` tab, then click the :icon:`fa-envelope` (:guilabel:`email`) icon or +:icon:`fa-whatsapp` (:guilabel:`whatsapp`) icon. + +.. seealso:: + - :doc:`../../marketing/email_marketing` + - :doc:`../../marketing/sms_marketing` + - :doc:`../../productivity/whatsapp` + +.. _pos/use/orders: + +Orders overview +=============== + +The :guilabel:`Orders` overview allows for viewing, searching, and retrieving orders from the POS +interface. To access it, click :guilabel:`Orders` in the header. + +Then, search for orders in the search bar using their: + +- :guilabel:`Reference` +- :guilabel:`Receipt Number` +- :guilabel:`Date` +- :guilabel:`Customer` +- :guilabel:`Delivery Channel` +- :guilabel:`Delivery Order Status` + +To filter orders based on their status, click the :guilabel:`Active` dropdown menu and select one of +the following options: + +- :guilabel:`Active`: Orders currently in progress. This includes orders marked as + :guilabel:`Ongoing`, as well as those in the :guilabel:`Payment` or the :guilabel:`Receipt` stages + (i.e., orders for which the receipt has been emailed to the customer). +- :guilabel:`Paid`: Paid orders. + +To navigate between pages, click the :icon:`fa-caret-left` or :icon:`fa-caret-right` +(:guilabel:`caret`) icon. + +To access an order in the register, click it, then click :guilabel:`Load Order`. + +.. note:: + Paid orders can be :ref:`refunded `. + +.. tip:: + - To define the number of orders visible on a page, click `1-x / x`. Enter a number lower than + the total number of pages, and click :guilabel:`Ok`. + - Click the :icon:`fa-trash` (:guilabel:`trash`) icon next to an :guilabel:`Active` order to + delete it. + - If using :ref:`presets `, click one to view the related orders. + Click it again to return to the main overview. + +.. _pos/use/refund: + +Return and refund products +========================== + +To refund a returned product, follow these steps: + +#. :ref:`Open or access the register ` from the POS dashboard. +#. Click the :icon:`fa-ellipsis-v` (:guilabel:`vertical ellipsis`) button, then :icon:`fa-undo` + :guilabel:`Refund`. + + .. note:: + Alternatively, you can refund orders from the :ref:`orders overview ` screen. + Access the list of orders and filter them by status to display only :guilabel:`Paid` orders. + +#. Select the relevant order from the order list. +#. Select the items and use the keypad to set the refund quantity, then click :guilabel:`Refund`. +#. Choose how to handle the refund: + + - To reimburse the customer, select a payment method on the payment screen, then click + :guilabel:`Validate`. + - To issue a :ref:`gift card ` for the refund amount, click + :guilabel:`Back`. A new order containing the returned items (with negative quantities) is + created automatically. Then, add the gift card from the product list to the order; its value + is set automatically to match the total refund amount. Click :guilabel:`Payment`, then + :guilabel:`Validate` the refund. + +.. note:: + - You cannot add other products to the cart until the refund has been validated. + - Alternatively, refunds can be processed by: + + - Selecting the returned product(s) from the POS register and setting a negative quantity + equal to the number of returned items. To do so, click :guilabel:`Qty` and :guilabel:`+/-`, + and update the quantity accordingly. + - Selecting the returned product(s) from the POS register and a :ref:`preset + ` set up for the return mode. + - Accessing the POS dashboard, navigating to :menuselection:`Point of Sale --> Orders --> + Orders`, selecting an order, and clicking :guilabel:`Return Products`. + +Once the return is validated, a corresponding credit note is generated, referencing the original +:doc:`receipt ` or :doc:`invoice `. + +.. seealso:: + :doc:`/applications/finance/accounting/customer_invoices/credit_notes` + +.. _pos/use/notes: + +Notes +===== + +Notes allow you to attach extra information to specific products in an order. There are two types of +notes: internal notes and customer notes. + +Internal notes +-------------- + +Internal notes provide information meant for staff (e.g., `no tomato` for the kitchen). These notes +do not appear on the customer’s receipt. To add a note to an order, ensure no item is selected and +click :guilabel:`Note`. Likewise, to add a note to one specific item, select it from the cart and +click :guilabel:`Note`. Then, add or modify the note's content in the popup that opens: + + - Type the note directly into the window, or + - Use a configured note model to save time if the same content is frequently used. Click on the + desired note model to insert its text. + +To create or edit note models, navigate to :menuselection:`Point of Sale --> Configuration --> +Note Models`, click :guilabel:`New` or the relevant note model, then complete or edit the +:guilabel:`Name` column. + +Customer notes +-------------- + +Notes for customers appear on :doc:`receipts ` and :doc:`invoices `. +They can be used, for example, to provide warranty details for a high-value item or specific care +instructions, such as `Dry clean only`. + +To add a **customer note** from the :ref:`POS register ` to a specific item, +select a product from the cart and click the :icon:`fa-ellipsis-v` (:guilabel:`vertical ellipsis`) +button. Click :guilabel:`Customer Note`, then add the note's content in the popup window. + +.. note:: + - If no item is selected, the note applies for the whole order. + - Product notes from an :doc:`imported SO ` are displayed identically in the + cart. + +.. image:: use/customer-notes.png + :alt: Customer note button and notes (SO and POS register) on products in the cart + +.. _pos/use/cash-register: + +Manage the cash register +======================== + +Odoo POS allows you to determine which coins and bills are accepted. To set up the allowed coins and +bills: + +#. Navigate to :menuselection:`Point of Sale --> Configuration --> Coins/Bills`. +#. Click :guilabel:`New` to add a new value. +#. Select the POS where this value is available in the :guilabel:`Point of Sale` column or leave the + field empty to make it available for all POS. + +To record a cash in or cash out transaction not associated with a sale: + +#. Click the :icon:`fa-bars` (:guilabel:`hamburger menu`) icon on the POS interface. +#. Click :guilabel:`Cash In/Out`. +#. In the popup that opens, select :guilabel:`Cash In` or :guilabel:`Cash Out`. +#. Enter the amount. +#. Specify the reason for the addition or removal of cash, and :guilabel:`Confirm`. + +.. note:: + Only employees with :ref:`basic or advanced access rights ` + are allowed to perform cash in/out actions. + +.. _pos/use/register-close: + +Close the POS register +====================== + +To close the POS register, click the :icon:`fa-bars` (:guilabel:`hamburger menu`) icon, then +:guilabel:`Close Register`. + +In the :guilabel:`Closing Register` pop-up that opens, you can view: + +- The number of orders and the total amount made during the session. +- The expected amounts grouped by payment method. + +#. Click :icon:`fa-money` (:guilabel:`money`) to specify the number of each coin and bill. +#. Click :guilabel:`Confirm` to return to the previous pop-up window. The computed amount is set in + the :guilabel:`Cash Count` field, and the :guilabel:`Closing Details` are specified in the + :guilabel:`Closing Note` section. +#. Click :guilabel:`Close Register` to close the register and post accounting entries. + +.. tip:: + Click :icon:`fa-clone` (:guilabel:`clone`) to automatically fill in the field with the expected + cash amount. + +.. note:: + - When the money counted does **not** match the expected amount, a :guilabel:`Payments + Difference` window automatically pops up. Selecting :guilabel:`Proceed Anyway` validates the + session and automatically posts the discrepancy to the designated cash difference journal. + - Closing the register of a :doc:`restaurant ` POS when orders are still in draft + and not scheduled for later is not allowed and opens a pop-up window on which you can either + :guilabel:`Review Orders` or :guilabel:`Cancel Orders`. + - It is strongly advised to close the POS register at the end of each day. + +.. seealso:: + - :doc:`shop` + - :doc:`restaurant` + +.. toctree:: + :titlesonly: + + use/receipts + use/pos_invoices diff --git a/content/applications/sales/point_of_sale/use/customer-notes.png b/content/applications/sales/point_of_sale/use/customer-notes.png new file mode 100644 index 0000000000..934a786a2f Binary files /dev/null and b/content/applications/sales/point_of_sale/use/customer-notes.png differ diff --git a/content/applications/sales/point_of_sale/use/pos-register.png b/content/applications/sales/point_of_sale/use/pos-register.png new file mode 100644 index 0000000000..ff3001c03f Binary files /dev/null and b/content/applications/sales/point_of_sale/use/pos-register.png differ diff --git a/content/applications/sales/point_of_sale/use/pos_invoices.rst b/content/applications/sales/point_of_sale/use/pos_invoices.rst new file mode 100644 index 0000000000..3a28338ed6 --- /dev/null +++ b/content/applications/sales/point_of_sale/use/pos_invoices.rst @@ -0,0 +1,65 @@ +======== +Invoices +======== + +.. _pos_invoices/invoices: + +Point of Sale allows you to issue and print invoices for :ref:`registered customers +` upon payment and retrieve all past invoiced orders. + +.. note:: + An invoice created in a POS creates an entry into the corresponding :ref:`accounting journal + ` :ref:`configured in the POS settings + `. + +.. _pos_invoices/invoice_configuration: + +Configuration +============= + +To define the default journals for a specific POS, go to the :ref:`POS' settings +`, scroll down to the :guilabel:`Accounting` section, and select the appropriate +journals for :guilabel:`Orders` and :guilabel:`Invoices` under :guilabel:`Default Journals`. + +.. image:: pos_invoices/invoice-config.png + :alt: accounting section in the POS settings + :scale: 70 % + +.. note:: + Specific journals can also be defined for each :doc:`payment method <../payment_methods>`. + +Invoice a customer +================== + +To invoice a customer, first make sure a :ref:`customer is set ` for the order. +Then, upon :ref:`processing the payment `, click :guilabel:`Invoice` underneath the +customer's name to issue an invoice for that order. + +Select the payment method and click :guilabel:`Validate`. The invoice is automatically issued +and ready to be downloaded and/or printed. + +Retrieve invoices +================= + +To retrieve the invoice of a POS order, follow these steps: + +#. Go to :menuselection:`Point of Sale --> Orders --> Orders`. +#. Click the relevant invoiced order in the list. +#. On the order form, click the :guilabel:`Invoice` smart button. + +.. tip:: + - Invoiced orders have the :guilabel:`Fully Invoiced` :guilabel:`Invoice Status`. + - You can filter the list of orders to only display invoiced orders in the list: click the search + bar and select the :guilabel:`Invoiced` filter. + +QR codes to generate invoices +============================= + +Customers can also request an invoice by scanning the QR code printed on their receipt. Upon +scanning, they must fill in a form with their billing information and click :guilabel:`Get my +invoice`. The invoice is then generated and available for download and the order's status is +updated to :guilabel:`Fully invoiced`. + +To use this feature, enable QR codes on receipts by going to :menuselection:`Point of Sale --> +Configuration --> Settings`. Then, select the POS in the :guilabel:`Point of Sale` field, scroll +down to the :guilabel:`Bills & Receipts` section, and enable :guilabel:`Use QR code on ticket`. diff --git a/content/applications/sales/point_of_sale/receipts_invoices/invoice-config.png b/content/applications/sales/point_of_sale/use/pos_invoices/invoice-config.png similarity index 100% rename from content/applications/sales/point_of_sale/receipts_invoices/invoice-config.png rename to content/applications/sales/point_of_sale/use/pos_invoices/invoice-config.png diff --git a/content/applications/sales/point_of_sale/use/receipts.rst b/content/applications/sales/point_of_sale/use/receipts.rst new file mode 100644 index 0000000000..6b3e534d45 --- /dev/null +++ b/content/applications/sales/point_of_sale/use/receipts.rst @@ -0,0 +1,52 @@ +.. _pos/configuration/receipts: + +======== +Receipts +======== + ++----------------------------------------------------------+---------------------------------+ +| POS receipts display the following elements: | | +| | | +| - The company logo | .. image:: receipts/receipt.png | +| - The receipt and order number | | +| - The customizable header and footer | | +| - The name of the cashier and the customer | | +| (provided a customer was :ref:`set for the order | | +| `) | | +| - The complete order, discounts, prices, and used | | +| payment methods | | +| - Optionally, a QR code or URL link for customers to | | +| generate :doc:`invoices ` | | ++----------------------------------------------------------+---------------------------------+ + +To set up POS receipts, navigate to the :ref:`POS settings ` and scroll down to +the :guilabel:`Bills & Receipts` section. + +- To customize the header and footer, activate the :guilabel:`Header & Footer` setting + and fill in both fields with the information to be printed on the receipts. +- To print receipts automatically once a payment is registered, enable the :guilabel:`Automatic + Receipt Printing` setting. +- To print receipts that don't display product prices, enable the :guilabel:`Basic Receipt` setting. +- Receipts can be sent by email by default, but also by SMS or through WhatsApp. To do so, activate + the :guilabel:`SMS Enabled` or :guilabel:`WhatsApp Enabled` option(s). + + .. note:: + The :guilabel:`WhatsApp Enabled` setting is only available if the :guilabel:`WhatsApp + Messaging` module is :ref:`installed `. + +.. seealso:: + - :ref:`pos/restaurant/bills` + - :doc:`pos_invoices` + - :doc:`../configuration/epos_printers` + +Reprint a receipt +================= + +To reprint a receipt, navigate to the :ref:`POS interface `, click +:guilabel:`Orders`, open the dropdown selection menu next to the search bar, and change the default +:guilabel:`All active orders` filter to :guilabel:`Paid`. Then, select the order and click +:guilabel:`Print Receipt`. + +.. tip:: + Filter the list of orders using the search bar: type in your reference and select + :guilabel:`Receipt Number`, :guilabel:`Date`, or :guilabel:`Customer`. diff --git a/content/applications/sales/point_of_sale/use/receipts/receipt.png b/content/applications/sales/point_of_sale/use/receipts/receipt.png new file mode 100644 index 0000000000..a4b40b2631 Binary files /dev/null and b/content/applications/sales/point_of_sale/use/receipts/receipt.png differ diff --git a/content/applications/sales/point_of_sale/configuration/select-pos-dropdown.png b/content/applications/sales/point_of_sale/use/select-pos-dropdown.png similarity index 100% rename from content/applications/sales/point_of_sale/configuration/select-pos-dropdown.png rename to content/applications/sales/point_of_sale/use/select-pos-dropdown.png diff --git a/redirects/19.0.txt b/redirects/19.0.txt index 2761861a71..a1d15b4038 100644 --- a/redirects/19.0.txt +++ b/redirects/19.0.txt @@ -85,4 +85,6 @@ applications/general/users/portal.rst applications/general/users/user_portals.rs # application/sales/point_of_sale -applications/sales/point_of_sale/configuration/https.rst applications/sales/point_of_sale/configuration.rst \ No newline at end of file +applications/sales/point_of_sale/configuration/https.rst applications/sales/point_of_sale/configuration.rst +applications/sales/point_of_sale/receipts_invoices.rst applications/sales/point_of_sale/use/pos_invoices.rst # receipts_invoices renamed because of content move +applications/sales/point_of_sale/pos_based_marketing.rst applications/sales/point_of_sale.rst # page deleted only info kept is contact details storage and is available on the pos homepage