[IMP] POS: homepage update

task-4472597

closes odoo/documentation#13761

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
This commit is contained in:
Loredana Perazzo
2025-06-20 15:45:13 +02:00
committed by Audrey (auva)
parent 0ca004a806
commit 0944b8fae2
67 changed files with 704 additions and 665 deletions

View File

@@ -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 <pos/session-start>` 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
<pos/use/open-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`

View File

@@ -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 <pos/session-start>`.
#. :ref:`Open the relevant point of sale shop and make a sale <pos/use/open-register>`.
#. 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 <pos/refund>`, but *cancellations* must be performed
through the official government portal.
:ref:`Refunds can be processed directly in Odoo <pos/use/refund>`, 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**.

View File

@@ -867,7 +867,7 @@ Invoicing flows
Identification type and number
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The P0S cashier can :ref:`create a new contact for a customer <pos/customers>` who requests an
The P0S cashier can :ref:`create a new contact for a customer <pos/use/customers>` 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 <pos/refund>`.
*Consumidor Final* and can be managed :ref:`directly from the POS session <pos/use/refund>`.
.. _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 <pos/refund>`.
and return process can be managed :ref:`directly from the POS session <pos/use/refund>`.

View File

@@ -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 <malaysia/myinvois/pos_workflow/submit>`: 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 <receipts-invoices/invoices>`, and ensure the selected customer has a valid
:abbr:`TIN (tax identification number)` or **Identification Number**.
:doc:`create an invoice </applications/sales/point_of_sale/use/pos_invoices>`, 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 <malaysia/myinvois/pos_workflow/submit>` nor
:ref:`refunded <malaysia/myinvois/pos_workflow/refund>`.
.. note::
Orders belonging to an :ref:`open <pos/session-start>` POS session are not included in the
consolidation. :ref:`Close <pos/session-close>` the session to include them.
Orders belonging to an :ref:`open POS register <pos/use/open-register>` are not included in the
consolidation. :ref:`Close the register <pos/use/register-close>` 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 <pos/refund>`.
To refund a customer, :ref:`process a return <pos/use/refund>`.
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.

View File

@@ -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 <pos/refund>`.
when processing a :ref:`refund <pos/use/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:

View File

@@ -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
<configuration/settings>`:
- Onboard the :guilabel:`Invoices` default journal in the :ref:`PoS settings <pos/use/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 <pos/customers>` to the order before finalizing the transaction.
- :ref:`Assign a customer <pos/use/customers>` 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

View File

@@ -171,7 +171,7 @@ listed by their creation date and current status.
Point of sale orders
--------------------
Once an order has been :ref:`paid <pos/sell>`, a JSON file containing the order details is
Once an order has been :ref:`paid <pos/use/sell>`, 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,

View File

@@ -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 <configuration/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 <pos/use/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

View File

@@ -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 <point_of_sale/shop>` and :doc:`restaurant
<point_of_sale/restaurant>` settings, Odoo :abbr:`POS (Point of Sale)` also supports a
:doc:`self-ordering <point_of_sale/self_order>` 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 <point_of_sale/payment_methods/terminals>`;
- Cash drawers;
- :doc:`Cash machines <point_of_sale/payment_methods/cash_machines>`;
- :ref:`Scales <pos/hardware/scale>`;
- :doc:`Barcode scanners <point_of_sale/shop/barcode>`;
- :ref:`Customer displays <pos/hardware/display>`;
- :doc:`Preparation displays <point_of_sale/preparation>`;
- :doc:`Electronic shelf labels <point_of_sale/pricing/electronic_labels>`.
This hardware can be connected directly or through an :doc:`IoT system <../general/iot>`.
.. seealso::
- `Odoo Tutorials: Point of Sale Tutorials <https://www.odoo.com/slides/point-of-sale-28>`_
- :doc:`IoT Boxes Documentations </applications/general/iot>`
.. _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 <point_of_sale/employee_login>` 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
<point_of_sale/pricing/loyalty>`, automatically apply the :doc:`attributed pricelist
<point_of_sale/pricing/pricelists>`, or :ref:`generate and print an invoice
<receipts-invoices/invoices>`.
You can create customers from an :ref:`open POS session <pos/session-start>` 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
<pos/session-start>`. 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 <point_of_sale/shop/sales_order>` 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 <pos/session-start>` 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 <pos/session-close>`, 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 <https://www.odoo.com/slides/point-of-sale-28>`_
.. 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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -53,8 +53,9 @@ store or restaurant.
Practical application
=====================
:ref:`Open a POS session <pos/session-start>` 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 <pos/use/open-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%

View File

@@ -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 </applications/general/users>`
: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. <employee_login>`
- :doc:`Connect and set up an IoT sytem. <configuration/pos_iot>`
- :doc:`Connect and set up an ePOS printer. <configuration/epos_ssc>`
.. 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 </applications/general/users>`
: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 <configuration/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:

View File

@@ -11,7 +11,7 @@ Configuration
To use an ePos printer in Point of Sale:
#. :ref:`Access the POS settings <configuration/settings>`.
#. :ref:`Access the POS settings <pos/use/settings>`.
#. Activate the :guilabel:`ePos Printer` feature.
#. Fill in the field with your ePos IP address.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

View File

@@ -41,9 +41,9 @@ To connect the POS with an :doc:`IoT system </applications/general/iot>`:
the POS.
.. tip::
Alternatively, :ref:`access the POS settings <configuration/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 <pos/use/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::

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -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 <pos/employee_login/use>`. Activating this feature enables the
:ref:`log into the POS register <pos/employee_login/use>`. Activating this feature enables the
following actions:
- Select specific users who can :ref:`log into the POS <pos/employee_login/use>`.
@@ -17,7 +17,7 @@ Configuration
=============
Access the multi-employee setting from the :guilabel:`PoS Interface` section of the :ref:`POS
settings <configuration/settings>`. Then,
settings <pos/use/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 <configuration/settings>`. Then,
**Sales transactions:**
- :ref:`Process standard sales transactions <pos/sell>`.
- :ref:`Set customers <pos/customers>`.
- :ref:`Add notes to orders <pos/customer-notes>`.
- :ref:`Process standard sales transactions <pos/use/sell>`.
- :ref:`Set customers <pos/use/customers>`.
- :ref:`Add notes to orders <pos/use/notes>`.
**Pricing and discounts:**
@@ -66,13 +66,13 @@ settings <configuration/settings>`. Then,
**Session management:**
- :ref:`Open a POS session <pos/session-start>`.
- :ref:`Perform cash-in and cash-out operations <pos/cash-register>`.
- :ref:`Open the POS register <pos/use/open-register>`.
- :ref:`Perform cash-in and cash-out operations <pos/use/cash-register>`.
**Sales transactions:**
- :ref:`Create customers <pos/customers>`.
- :ref:`Process refunds <pos/refund>`.
- :ref:`Create customers <pos/use/customers>`.
- :ref:`Process refunds <pos/use/refund>`.
- :doc:`Access and handle sales orders <shop/sales_order>`.
- Access past and current order history.
- Cancel orders.
@@ -81,7 +81,7 @@ settings <configuration/settings>`. Then,
- Manually select another :doc:`pricelist <pricing/pricelists>`.
- :doc:`Manually apply discounts <pricing/discounts>`.
- Manually :ref:`change a product's price <pos/sell>`.
- Manually :ref:`change a product's price <pos/use/sell>`.
- Give loyalty program's rewards.
- Switch between :doc:`fiscal positions <pricing/fiscal_position>`.
@@ -91,7 +91,7 @@ settings <configuration/settings>`. Then,
- Create products.
- Access the Odoo backend interface.
- :ref:`Close the current POS session <pos/session-close>`.
- :ref:`Close the current POS register <pos/use/register-close>`.
.. 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 <pos/session-start>` and access the POS interface. They can :ref:`scan their employee badge
<pos/employee_login/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 <pos/use/open-register>` and access the POS interface. They can :ref:`scan their employee
badge <pos/employee_login/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
<pos/employee_login/pin>` 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 <pos/session-start>`, click on the currently
To switch between users from the :ref:`interface <pos/use/open-register>`, 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 <pos/use/open-register>`, 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.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -67,7 +67,7 @@ UrbanPiper credentials
#. Get your Atlas credentials:
#. Go to the :ref:`POS settings <configuration/settings>`.
#. Go to the :ref:`POS settings <pos/use/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 <https://atlas.urbanpiper.com>`_ 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 <configuration/settings>`.
#. Go to the :ref:`POS settings <pos/use/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 <configuration/settings>`.
#. Go to the :ref:`POS settings <pos/use/settings>`.
#. Scroll down the :guilabel:`Food Delivery Connector` section.
#. Click the :guilabel:`Sync Menu` button.

View File

@@ -4,8 +4,8 @@
Cash machines
=============
Connecting and integrating a cash machine with a :ref:`POS system <pos/session-start>` 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 <pos/sell>` with a :ref:`configured cash machine
To process a :ref:`payment <pos/use/sell>` with a :ref:`configured cash machine
<pos/cash_machines/configuration>`, select the machine's :doc:`payment method <../payment_methods>`
on the **payment screen**, then follow the instructions on the machine.

View File

@@ -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 <pos/customers>`
to allow using this payment method.
#. Enable :guilabel:`Identify Customer` to force the :ref:`selection of a customer
<pos/use/customers>` 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 customers 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

View File

@@ -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 <configuration/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 <pos/use/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

View File

@@ -4,7 +4,7 @@
Payment terminals
=================
Connect and integrate a payment terminal to a :ref:`POS system <pos/session-start>` to accept
Connect and integrate a payment terminal to a :ref:`POS system <pos/use/open-register>` 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 <pos/sell>` with a :ref:`configured terminal
To process a :ref:`payment <pos/use/sell>` with a :ref:`configured terminal
<pos/terminals/configuration>` 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.

View File

@@ -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 <configuration/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 <pos/use/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 <adyen/api>`, :ref:`Adyen
Terminal Identifier <adyen/identifier>`, and :guilabel:`Adyen Merchant Account`.
@@ -82,8 +82,8 @@ Terminal Identifier <adyen/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 <configuration/settings>`, click :guilabel:`Edit`, and add the payment method
under the :guilabel:`Payments` section.
:ref:`POS' settings <pos/use/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 <configuration/settings>`, enable the :ref:`Tips <pos/restaurant/tips>` and the
:ref:`POS settings <pos/use/settings>`, enable the :ref:`Tips <pos/restaurant/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:

View File

@@ -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 <configuration/settings>`.
#. Go to the :ref:`POS settings <pos/use/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.

View File

@@ -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 <configuration/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 <pos/use/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 <configuration/settings>`, click :guilabel:`Edit`, and add the payment method
under the :guilabel:`Payments` section.
:ref:`POS' settings <pos/use/settings>`, click :guilabel:`Edit`, and add the payment method under
the :guilabel:`Payments` section.

View File

@@ -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
<configuration/settings>` and request a new self-signed certificate from QFPay.
<pos/use/settings>` 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.

View File

@@ -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 <configuration/settings>` and add the payment method under the :guilabel:`Payment` section.
settings <pos/use/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.

View File

@@ -29,7 +29,7 @@ Prerequisites
Configure the payment method
----------------------------
#. Enable the payment terminal :ref:`in the application settings <configuration/settings>` and
#. Enable the payment terminal :ref:`in the application settings <pos/use/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 <configuration/settings>`.
#. Go to the :ref:`POS' settings <pos/use/settings>`.
#. Add the payment method under the :guilabel:`Payment methods` field within the :guilabel:`Payment`
section.

View File

@@ -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 <configuration/settings>`.
#. Go to the :ref:`POS settings <pos/use/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.

View File

@@ -18,8 +18,8 @@ Worldline
Worldline configuration
=======================
First, enable the Worldline payment terminal in the :ref:`POS settings <configuration/settings>`
under :guilabel:`Payment Terminals`. Then :doc:`connect the IoT system to Odoo
First, enable the Worldline payment terminal in the :ref:`POS settings <pos/use/settings>` under
:guilabel:`Payment Terminals`. Then :doc:`connect the IoT system to Odoo
</applications/general/iot/connect>` and follow these steps on the terminal:
#. **Configure the ECR protocol**:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -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 customers 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 <whatsapp/odoo-templates>`;
#. 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
<pos_based_marketing/whatsapp_config>` steps.
.. seealso::
:doc:`../../productivity/whatsapp`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -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 <pos/sell>`, the subtotal
as items are added, and details throughout the payment process. It also displays the total amount,
the selected :doc:`payment method <payment_methods>`, and any change to be returned.
during the checkout process. This screen shows the :ref:`items in the cart <pos/use/sell>`, the
subtotal as items are added, and details throughout the payment process. It also displays the total
amount, the selected :doc:`payment method <payment_methods>`, 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 <configuration/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 <pos/use/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 <configuration/settings>`.
#. Navigate to the :ref:`POS settings <pos/use/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 <configuration/settings>` and select an IoT-connected screen
using the :guilabel:`Customer Display` field.
#. Return to the :ref:`POS settings <pos/use/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 <pos/session-start>`.
#. :ref:`Access the POS register <pos/use/open-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 <pos/session-start>`.
#. :ref:`Access the POS register <pos/use/open-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 <configuration/settings>`.
#. :ref:`Access the POS settings <pos/use/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 <pos/session-start>`.
#. :ref:`Access the POS register <pos/use/open-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.

View File

@@ -13,7 +13,7 @@ Configuration
To enable the preparation display feature,
#. Go to the :ref:`POS settings <configuration/settings>`.
#. Go to the :ref:`POS settings <pos/use/settings>`.
#. Scroll down to the :guilabel:`Preparation` section.
#. Check the :guilabel:`Preparation Display` option.

View File

@@ -36,10 +36,10 @@ can also :ref:`create new fiscal positions <fiscal_positions/configuration>`.
Use fiscal positions
====================
Open a :ref:`POS session <pos/session-start>` 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 <pos/use/open-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

View File

@@ -11,8 +11,8 @@ customers, or offer discounts when set quantities are ordered.
Configuration
=============
Navigate to the :ref:`general POS app settings <configuration/settings>` and ensure
:guilabel:`Flexible Pricelists` are enabled under the :guilabel:`Pricing` section.
Navigate to the :ref:`general POS app settings <pos/use/settings>` and ensure :guilabel:`Flexible
Pricelists` are enabled under the :guilabel:`Pricing` section.
:ref:`Multiple prices per product <pricelists/simple>` 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 <configuration/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 <pos/use/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 <pos/session-start>`, click the **pricelists** button, and select
the desired pricelist from the list.
Then, :ref:`access the POS register <pos/use/open-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
<pos/customers>`. 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.
<pos/use/customers>`. 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`

View File

@@ -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
<pos/use/settings>` and select the relevant categories in the :guilabel:`Restrict Categories` field
under the :guilabel:`Product & PoS categories` section.

View File

@@ -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 <pos/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
<cheat_sheet/journals>`, previously :ref:`set up <receipts_invoices/invoice_configuration>`.
.. _receipts_invoices/invoice_configuration:
Configuration
-------------
To define what journals will be used for a specific POS, go to the :ref:`POS' settings
<configuration/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 <pos/customers>` 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`.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -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 <pos/use/register-close>`, access the comprehensive
report to review all session activities, including who initiated the session (i.e., :ref:`opened
the register <pos/use/open-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.

View File

@@ -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
<configuration/settings>`.
:guilabel:`Point of Sale` section must be enabled in the :ref:`POS settings <pos/use/settings>`.
.. note::
When :guilabel:`Booking` is enabled in the :ref:`POS settings <configuration/settings>`, a
When :guilabel:`Booking` is enabled in the :ref:`POS settings <pos/use/settings>`, a
:ref:`Booking <pos/restaurant/floors/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
<configuration/settings>`, scroll down to the :guilabel:`PoS Interface` section, and set the
<pos/use/settings>`, scroll down to the :guilabel:`PoS Interface` section, and set the
:guilabel:`Default Screen` setting to :guilabel:`Tables` (i.e., :ref:`Floor plan
<pos/restaurant/floors>` view) or :ref:`Register <pos/restaurant/orders>`.
@@ -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 <configuration/settings>`. Under :guilabel:`Floors & Tables Map`, type the
floor name in the :guilabel:`Floors` field, and press `Enter`.
:ref:`POS settings <pos/use/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 <pos/session-start>`,
To create floors and tables from the frontend, :ref:`open the POS register <pos/use/open-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 <configuration/settings>`, scroll down to the :guilabel:`PoS
Interface` section, and enable :guilabel:`Booking`.
#. Go to the :ref:`POS settings <pos/use/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 <appointments/configure>` 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 <configuration/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 <pos/restaurant/orders>`, select the relevant preset, and :ref:`process the order
To use preconfigured presets, go to the :ref:`POS settings <pos/use/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
<pos/restaurant/orders>`, select the relevant preset, and :ref:`process the order
<pos/restaurant/orders/process>`:
- :guilabel:`Dine In`: Assign a :ref:`table or open a tab <pos/restaurant/orders/process>`.
@@ -318,8 +317,8 @@ Order printing
==============
To enable sending orders to a kitchen or a bar printer, :doc:`connect a printer
<configuration/epos_printers>` to Odoo, go to the :ref:`POS settings <configuration/settings>`, and
follow these steps:
<configuration/epos_printers>` to Odoo, go to the :ref:`POS settings <pos/use/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 <configuration/settings>`, click :guilabel:`Save`.
#. In the :ref:`POS settings <pos/use/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 <configuration/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 <pos/use/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 <pos/restaurant/orders/process>`, click the :icon:`fa-cutlery`
(:guilabel:`order`) icon in the :ref:`POS register <pos/restaurant/orders>` next to
:guilabel:`Payment` to reprint a duplicate of the last kitchen order.
@@ -424,7 +422,7 @@ After a successful :ref:`order payment <pos/restaurant/bills/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 <configuration/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 <pos/use/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 <configuration/settings>`. To
process tips after payment, follow these steps:
tip after payment` setting is enabled in the :ref:`POS settings <pos/use/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 <payment_methods/terminals/stripe>` or :doc:`Adyen

View File

@@ -12,8 +12,8 @@ Feature activation
------------------
To enable this feature and select a self-ordering type, access the :ref:`POS settings
<configuration/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.
<pos/use/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.
You can choose from:

View File

@@ -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 <configuration/settings>`, scroll down to the :guilabel:`Inventory`
section, and enable :guilabel:`Allow Ship Later`.
:ref:`Go to the POS settings <pos/use/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 <pos/session-start>` and make a sale.
#. :ref:`Access the POS register <pos/use/open-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.

View File

@@ -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
<pos/use/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 <accounting/journals/cash>` 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. <employee_login>`
- :doc:`Connect and set up an IoT sytem. <configuration/pos_iot>`
- :doc:`Connect and set up an ePOS printer. <configuration/epos_ssc>`
.. _pos/use/open-register:
Open the POS register
=====================
Once the POS is fully :doc:`configured <configuration>`, 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 <employee_login>` from an open POS register,
provided :ref:`multi-employee management is enabled <pos/employee_login/use>`.
From the POS interface header:
- Click :guilabel:`Register` to access the register for daily POS actions such as :ref:`sales
<pos/use/sell>`, :ref:`refunds <pos/use/refund>`, etc.
- Click :guilabel:`Orders` to access the POS :ref:`orders <pos/use/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 <pos/employee_login/use>`.
- Click the :icon:`fa-bars` (:guilabel:`hamburger menu`) icon to access more advanced options, such
as :ref:`closing the register <pos/use/register-close>`.
.. _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 <payment_methods>`.
#. 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 <payment_methods>` is manually
selected.
.. _pos/use/customers:
Set customers
=============
Registering customers is necessary to :doc:`collect their loyalty points and grant them rewards
<pricing/loyalty>`, automatically apply an :doc:`attributed pricelist
<pricing/pricelists>`, or :ref:`generate and print invoices <pos_invoices/invoices>`.
To create customers from :ref:`the POS register <pos/use/open-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 <use/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 <pos/use/refund>`.
.. 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 <pos/restaurant/orders/preset>`, 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 <pos/use/open-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 <pos/use/orders>` 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 <ewallet_gift/gift-cards>` 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
<pos/restaurant/orders/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 <use/receipts>` or :doc:`invoice <use/pos_invoices>`.
.. 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 customers 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 <use/receipts>` and :doc:`invoices <use/pos_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 <pos/use/open-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 <shop/sales_order>` 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 <pos/employee_login/configuration>`
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 <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

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@@ -0,0 +1,65 @@
========
Invoices
========
.. _pos_invoices/invoices:
Point of Sale allows you to issue and print invoices for :ref:`registered customers
<pos/use/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
<cheat_sheet/journals>` :ref:`configured in the POS settings
<pos_invoices/invoice_configuration>`.
.. _pos_invoices/invoice_configuration:
Configuration
=============
To define the default journals for a specific POS, go to the :ref:`POS' settings
<pos/use/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 <pos/use/customers>` for the order.
Then, upon :ref:`processing the payment <pos/use/sell>`, 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`.

View File

@@ -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 | |
| <pos/use/customers>`) | |
| - The complete order, discounts, prices, and used | |
| payment methods | |
| - Optionally, a QR code or URL link for customers to | |
| generate :doc:`invoices <pos_invoices>` | |
+----------------------------------------------------------+---------------------------------+
To set up POS receipts, navigate to the :ref:`POS settings <pos/use/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 <general/install>`.
.. 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 <pos/use/open-register>`, 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`.

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

View File

@@ -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
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