Skip to content

[IMP] pos/restaurant: Update Restaurant features page with child pages #14048

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: 18.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion content/applications/general/iot/devices/printer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ device. Click the :guilabel:`Unlink` button next to each report to remove the li
:alt: A list of reports currently linked to a printer in the IoT app.

.. seealso::
:doc:`POS Order Printing <../../../sales/point_of_sale/restaurant/kitchen_printing>`
:ref:`POS Order Printing <restaurant/orders-printing>`

Potential issues
================
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ To connect the POS with an :doc:`IoT system </applications/general/iot>`:
- Instructions
* - Printer
- Connect a supported receipt printer to a :abbr:`USB (Universal Serial Bus)` port or
to the network, and power it on. Refer to :doc:`../restaurant/kitchen_printing`.
to the network, and power it on. Refer to :ref:`Order printing
<restaurant/orders-printing>`.
* - Cash drawer
- The cash drawer should be connected to the printer with an RJ25 cable.
* - Barcode scanner
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Receipt Printing` setting.
:alt: POS receipt

.. seealso::
- :doc:`restaurant/bill_printing`
- :ref:`Bills <restaurant/bills>`
- :doc:`configuration/epos_printers`

Reprint a receipt
Expand Down
323 changes: 290 additions & 33 deletions content/applications/sales/point_of_sale/restaurant.rst
Original file line number Diff line number Diff line change
@@ -1,55 +1,312 @@
:show-content:

===================
Restaurant features
===================

Managing a restaurant or a bar comes with specific needs. The Point of Sale application provides
various features that allow performing all the required tasks in such businesses.

Once the POS is set to be used in a restaurant or a bar, you can:
Odoo Point of Sale provides various features to manage a restaurant or a bar:

- :doc:`organize your floors and tables to reflect your interior <restaurant/floors_tables>`;
- :ref:`take orders <restaurant/orders>`;
- :doc:`communicate with the kitchen or the bar through the POS <restaurant/kitchen_printing>`;
- :doc:`print bills in advance and split them <restaurant/bill_printing>`;
- :doc:`collect tips <restaurant/tips>`; and
- :doc:`set different taxes for takeaway food <pricing/fiscal_position>`.
- :ref:`organizing the floors and tables <restaurant/floors>`;
- :ref:`taking orders <restaurant/orders>`;
- :ref:`communicating with the kitchen or bar through the POS <restaurant/orders-printing>`;
- :ref:`printing and splitting bills <restaurant/bills>`;
- :ref:`collecting tips <restaurant/tips>`;
- :doc:`setting different taxes for takeaway food <pricing/fiscal_position>`.

.. _restaurant/configuration:

Configuration
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we maybe rename this to something more precise like "Point of Sale" (could be confusing) or "Restaurant mode" (to refer to the setion name)? or something else if you have a better idea!

=============

To enable the restaurant and bar-specific features, go to :menuselection:`Point of Sale -->
Configuration --> Settings`, select the POS, and activate :guilabel:`Is a Bar/Restaurant`.
To enable the restaurant and bar-specific features, follow these steps:

#. Go to :menuselection:`Point of Sale --> Configuration --> Settings`.
#. Select the Point of Sale in the top-left dropdown menu.
#. Activate :guilabel:`Is a Bar/Restaurant` under the :guilabel:`Restaurant Mode` section.
Comment on lines +19 to +23
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the most frequent case scenario is probably going to be that people select this option when the create a new PoS. I just wanted to suggest we remove this section entirely, and instead have an important note saying this option needs to be enabled in the Restaurant mode section in the settings for the restaurant-specific features and settings to be available (something along those lines), with a seealso to somewhere explaining how to create a POS. However, I couldn't find anything anywhere in the POS doc explaining how to create a new POS (and like, sure, it's pretty simple, but still I feel like such a basic feature should be documented; probably on the main POS doc page maybe?) Am I missing something?

Copy link
Contributor Author

@emmi-odoo emmi-odoo Jul 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I agree, we created a task for it because we realised such page was missing.

Copy link
Contributor Author

@emmi-odoo emmi-odoo Jul 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To enable the restaurant and bar-specific features, follow these steps:
#. Go to :menuselection:`Point of Sale --> Configuration --> Settings`.
#. Select the Point of Sale in the top-left dropdown menu.
#. Activate :guilabel:`Is a Bar/Restaurant` under the :guilabel:`Restaurant Mode` section.
Install the Point of Sale app, go to :menuselection:`Point of Sale --> Dashboard`, and select
:guilabel:`Restaurant`.
.. important::
In the :ref:`POS settings <configuration/settings>`, the :guilabel:`Is a Bar/Restaurant`
feature under the :guilabel:`Restaurant Mode` section is activated and allows configuring the
restaurant.

Comment on lines +19 to +23
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think some people might have already set this option when creating the pos, if they create the pos from the settings. I see this box isn't available if we create a pos from Configuration --> Point of sales so let's discuss this maybe?

At first I wanted to remove this section (heading included) entirely and replace it with an important note or something saying like: "Make sure the pos is defined as "is a bar/restaurant" in the restaurant mode section" and refer to the part of the doc where we explain how to create a pos but I haven't found any (!!). I think we should definitely explain how to create a pos on the main pos doc page.

Also, the "dropdown menu" isn't really in the left-top, it's at the top of the settings.


.. _restaurant/floors:

Floors and tables
=================

The :guilabel:`Plan` view enables managing restaurant floors and tables, and monitoring
table status in real time, including occupancy, reservations, and kitchen orders.
Comment on lines +30 to +31
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • I think we should first (briefly) explain what the plan view is (possibly adding the term "restaurant layout" to tie in with the configuration instructions) and clarify where and when it’s displayed, before diving into what it allows users to do. And tbh I’d suggest adding the screenshot back here to help illustrate the explanation.
  • We previously had an example explaining what the colors, text, etc., represent in the plan view. I think that should be reintroduced in written form, ideally in a separate section (that we would add after "Configuration") to help people understand the plan view


Configuration
-------------

.. _restaurant/floors/backend:

From the POS backend
~~~~~~~~~~~~~~~~~~~~

To create floors and tables from the backend, go to :menuselection:`Point of Sale --> Configuration
--> Floor Plans`, and click :guilabel:`New`. Follow the next steps to configure the floor plan:

#. Enter a :guilabel:`Floor Name`.
#. Select the related :guilabel:`Point of Sales`.
#. Hover the mouse over the placeholder image and click the :icon:`fa-pencil` (:guilabel:`Edit`)
icon to add a background image to the restaurant layout.
#. Click :guilabel:`Add a line` to create and set a table:

- Enter a :guilabel:`Table Number`.
- Fill in the number of :guilabel:`Seats`.
- Select a :guilabel:`Square` or :guilabel:`Round` table shape.
#. (Optional) Activate additional settings by clicking the :icon:`oi-settings-adjust`
(:guilabel:`settings`) icon:

- Assign an :guilabel:`Appointment resource` to make the table bookable.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is only available if the Appointments app is installed as well so I'd add something like:

Suggested change
- Assign an :guilabel:`Appointment resource` to make the table bookable.
- Assign an :guilabel:`Appointment resource` to make the table bookable, provided the :doc:`/applications/productivity/appointments` app is installed.

- Adjust the :guilabel:`Height`, :guilabel:`Width`, and :guilabel:`Color`.
- Tick the :guilabel:`Active` box to make a table available or not.
#. Click the :icon:`fa-trash-o` (:guilabel:`trash`) icon to delete a table.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't add this in a step; instead, I'd move this as a list item in the tip.


.. tip::
To create a floor plan quickly, go to the :guilabel:`Floors & Tables Map` section in the POS
settings. Type the floor name in the :guilabel:`Floors` field, press `Enter`, or click
:guilabel:`Create and edit`.

.. _restaurant/floors/frontend:

From the POS front end
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
From the POS front end
From the POS frontend

(since you wrote back end in two words)
the same applies to this entire section/doc

~~~~~~~~~~~~~~~~~~~~~~

To create floors and tables from the front end, :ref:`open a POS session <pos/session-start>`, click
the :icon:`fa-bars` (:guilabel:`hamburger menu`) icon in the top right corner, then :guilabel:`Edit
Plan`. Follow the next steps to configure the floor plan:

#. Click the :icon:`fa-plus` (:guilabel:`Add Floor`) icon to add a floor
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#. Click the :icon:`fa-plus` (:guilabel:`Add Floor`) icon to add a floor
#. Click the :icon:`fa-plus` (:guilabel:`Add Floor`) icon to add a floor.

#. Enter a :guilabel:`Floor name` and click :guilabel:`Apply`.
#. Click the :icon:`fa-paint-brush` (:guilabel:`paintbrush`) icon to perform one of the following
editing actions:

- Select a background color.
- Click :icon:`fa-camera` :guilabel:`File` to upload an image.
Comment on lines +77 to +81
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#. Click the :icon:`fa-paint-brush` (:guilabel:`paintbrush`) icon to perform one of the following
editing actions:
- Select a background color.
- Click :icon:`fa-camera` :guilabel:`File` to upload an image.
#. Click the :icon:`fa-paint-brush` (:guilabel:`paintbrush`) icon to add a background, then select a color or click :icon:`fa-camera` :guilabel:`File` to upload an image.

to simplify and mention directly what this option allows to do instead of using "filler" words?

#. Click :icon:`fa-plus-circle` :guilabel:`Table` to add a new table.
#. (Optional) Click a table, then click one of the following icons to edit the table:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#. (Optional) Click a table, then click one of the following icons to edit the table:
#. (Optional) Click a table, then click one of the following icons to edit it:


These features are displayed in the :guilabel:`Restaurant & Bar` section.
- The :icon:`fa-user` (:guilabel:`Seats`) icon adds or changes the number of seats.
- The :icon:`fa-square-o` (:guilabel:`Square`) or :icon:`fa-circle-o` (:guilabel:`Round`)
icon switches the shape of the table.
- The :icon:`fa-paint-brush` (:guilabel:`Change Floor Background`) icon changes the table's
color.
- The :icon:`fa-pencil-square-o` (:guilabel:`Rename`) icon changes the table number.
- The :icon:`fa-copy` (:guilabel:`Clone`) icon adds a table.
- The :icon:`fa-trash` (:guilabel:`Delete`) icon removes the table.
Comment on lines +85 to +92
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would change all list items as follows, since your introductory sentence says "one of the following icons":

Suggested change
- The :icon:`fa-user` (:guilabel:`Seats`) icon adds or changes the number of seats.
- The :icon:`fa-square-o` (:guilabel:`Square`) or :icon:`fa-circle-o` (:guilabel:`Round`)
icon switches the shape of the table.
- The :icon:`fa-paint-brush` (:guilabel:`Change Floor Background`) icon changes the table's
color.
- The :icon:`fa-pencil-square-o` (:guilabel:`Rename`) icon changes the table number.
- The :icon:`fa-copy` (:guilabel:`Clone`) icon adds a table.
- The :icon:`fa-trash` (:guilabel:`Delete`) icon removes the table.
- :icon:`fa-user` (:guilabel:`Seats`): Add or change the number of seats.

#. Click :guilabel:`Save`.

.. image:: restaurant/restaurant-bar-section.png
:align: center
:alt: restaurant and bar-specific features
.. warning::
Removing a table or a floor is permanent.

.. _restaurant/floors/transfer:

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And what does this do? Should we document it in this section?

image

Table transfer
--------------

To transfer an order to another table from the :guilabel:`Plan` view, follow these steps:

#. Select a table to go to the POS interface.
#. Start an order.
#. Click :menuselection:`Actions --> Transfer/Merge`.
#. In the :guilabel:`Plan` view, choose the target table:

- Select a free table to transfer customers and their orders.
- Select an occupied table to merge customers and their orders.
Comment on lines +100 to +111
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this actually be under Order management? because it's more an order transfer than a table transfer? and we probably could rephrase this; depending on where you decide to move this section, it might not be necessary to repeat some steps at the beginning, tbd.


.. _restaurant/orders:

Take orders
===========
Order management
================

To take an order, open the register and follow these steps:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To take an order, open the register and follow these steps:
To take an order, open the point of sale's register and follow these steps:

maybe overkill?


#. Select a :guilabel:`Plan` view.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we just say we should select a floor plan? Or do you want to highlight the fact that the Plan option/button in the top-left must be selected (which it is by default anyways, if I'm not mistaken?)

#. Click a table to access the POS interface.
#. Start taking the order. The system automatically associates the order with the table.
#. Click :guilabel:`Order` to validate the order.
#. Click :guilabel:`Plan` to return to the :guilabel:`Plan` view.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add a tip somewhere to explain how we can switch tables/take orders for other tables from the "pos interface"?

To proceed with the order payment, click on the related table in the :guilabel:`Plan` view, then
follow these steps:
Comment on lines +126 to +127
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should go under Bills (we could be renamed to Payment and bills or something similar?)
This would fit the chronological flow better IMO, especially since you mention bill splitting in that section, which is tied closely with (and comes before) payment?


#. Click :guilabel:`Payment`.
#. Select a payment method, such as :guilabel:`Cash`, :guilabel:`Card`, and :guilabel:`Customer
Account`.
Comment on lines +130 to +131
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the doc, you guys called the "customer account" payment method "customer credit" so I would pick one for consistency.

Suggested change
#. Select a payment method, such as :guilabel:`Cash`, :guilabel:`Card`, and :guilabel:`Customer
Account`.
#. Select a payment method, such as :guilabel:`Cash`, :guilabel:`Card`, or :guilabel:`Customer
Account`.

#. (Optional) Select a customer and/or send an invoice to customers:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not one or the other; you need to select the customer to be able to send them an invoice


- Click :icon:`fa-user` :guilabel:`Customer` to select or create a customer account.
- Tick the :icon:`fa-file-text-o` :guilabel:`Invoice` checkbox to send an invoice to a customer.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Tick the :icon:`fa-file-text-o` :guilabel:`Invoice` checkbox to send an invoice to a customer.
- Tick the :icon:`fa-file-text-o` :guilabel:`Invoice` checkbox to send an invoice to the customer.

(it's not any customer but the one you selected)

#. Click :guilabel:`Validate`.

.. note::
Clicking a table sets the guest count to one. If the wrong table is selected, click
:guilabel:`Release table` to free it or :ref:`transfer the customer <restaurant/floors/transfer>`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from what you explain below, you techncially transfer an order, not a customer (although the two are related, of course)

to another table.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would definitely add a seealso with a link to the payment methods doc or add a link on line 130

.. _restaurant/orders-printing:

Order printing
==============

Configuration
-------------

To enable sending orders to a kitchen or bar printer, follow these steps:

#. Go to :menuselection:`Point of Sale --> Configuration --> Settings`.
#. Scroll down to the :guilabel:`Preparation` section, and enable the :guilabel:`Preparation
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#. Scroll down to the :guilabel:`Preparation` section, and enable the :guilabel:`Preparation
#. Scroll down to the :guilabel:`Preparation` section and enable the :guilabel:`Preparation

Printers` feature.
#. Type in the printer's name in the :guilabel:`Printers` field.
#. Press `Enter` or click :guilabel:`Create and edit` to open the :ref:`printer setup form
<restaurant/orders-printing/setup>`.

.. _restaurant/orders-printing/setup:

Printer setup form
------------------

Click a table to access the POS interface and start taking your customer's order. The system
automatically associates the orders and the table, allowing you to add more items later and generate
a bill specifically for that table's orders.
To access the printer setup form, click :guilabel:`--> Printers` under the :guilabel:`Preparation
Printers` feature of the :guilabel:`Preparation` section.

Once you have taken an order, click :guilabel:`Change table` to return to the floor plan view.
To create a printer, click :guilabel:`New`, add a :guilabel:`Printer Name`, and select the
:guilabel:`Printer Type`:
Comment on lines +155 to +169
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would make more sense to 1) enable the Preparation printers feature, 2) Save (because you have to), 3) scroll down to that section again and click the Printers internal link, and then 4) set up the printer. So I would probably not have a separate section for printer setup, but instead add the printer setup steps under the other configuration steps, inside the same numbered list.


- If the printer is connected to an IoT system, select :guilabel:`Use a printer connected to the
IoT Box` and add the hostname of the IoT device in the :guilabel:`Proxy IP Address` field.
- If using an Epson printer that does not require an IoT system, select :guilabel:`Use an Epson
printer` and enter the printer's IP address in the :guilabel:`Epson Printer IP Address` field.

.. seealso::
- :doc:`/applications/general/iot/connect`
- :doc:`/applications/general/iot/devices/printer`

Set the printer to print specific products based on their POS category. To do so, click
:guilabel:`Add a line` in the :guilabel:`Printed Product Categories` field. Select a category or
click :guilabel:`New` to create a new one.

When creating a :guilabel:`Printed Product Category`, follow these steps:

#. Type a name.
#. Click the :icon:`fa-pencil` (:guilabel:`Edit`) icon to add an image.
#. Select a :guilabel:`Parent Category`.
#. Choose a preferred :guilabel:`Color`.
#. Determine the product availability.
#. Click :guilabel:`Save & Close` or :guilabel:`Save & New`.

Kitchen preparation
-------------------

From an open POS session, start :ref:`taking an order <restaurant/orders>`, then click
:guilabel:`Order` to send it to the bar or the kitchen.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add a seealso with a link to the Preparation display doc?

.. _restaurant/bills:

Bills
=====

There are two features to request or split a bill before payment: :ref:`Receipt printing
<restaurant/bills/printing>` and :ref:`Bill splitting <restaurant/bills/splitting>`.
Comment on lines +204 to +205
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd remove this as it doesn't really add anything; see also my comment above about payments.
I would also move "Bill splitting" above "Receipt printing" since it fits the chronological flow better. So this "Payment and bills" section would have the following sub-sections: Payment, Bill splitting, Receipt printing


Configuration
-------------

To allow bill printing and splitting, go to :menuselection:`Point of Sale --> Configuration -->
Settings`, select the POS, and enable the :guilabel:`Early Receipt Printing` and :guilabel:`Allow
Bill Splitting` features in the :guilabel:`Restaurant Mode` section.
Comment on lines +207 to +212
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would remove this section (since the two features aren't really related per say) and instead add the feature-specific configuration steps at the beginning of each section instead, in a simple sentence.


.. _restaurant/bills/printing:

Receipt printing
----------------

From an open POS session, follow the :ref:`order process <restaurant/orders>` until the payment
is successful, then click :icon:`fa-print` :guilabel:`Print Full Receipt` to generate and print a
bill.
Comment on lines +219 to +221
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
From an open POS session, follow the :ref:`order process <restaurant/orders>` until the payment
is successful, then click :icon:`fa-print` :guilabel:`Print Full Receipt` to generate and print a
bill.
Once the :ref:`payment has been processed <add ref to payment section>`, click :icon:`fa-print` :guilabel:`Print Full Receipt` to generate and print a receipt.


.. note::
Any change to the order is reflected in the bill.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this necessary? (it's kind of common sense to me, but I assume you added this for a reason? let's be more specific!)

And should we add a seealso to the Receipts and invoices doc?


.. _restaurant/bills/splitting:

Bill splitting
--------------

From an open POS session, start :ref:`selecting items <restaurant/orders>` and follow these steps:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
From an open POS session, start :ref:`selecting items <restaurant/orders>` and follow these steps:
To split a bill, follow these steps:

I don't think we need to select items before selecting the Split action, do we?


#. Click :menuselection:`Actions --> Split`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#. Click :menuselection:`Actions --> Split`.
#. Click :guilabel:`Actions`, then guilabel:`Split`.

not a menu 😉

#. Select the items to split.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really select the items to split, or do we select the items to be added to that "part" of the bill (i.e. the items that person A ate/drank)? I think it's the latter, isn't it?

#. Click :guilabel:`Split Order`.
#. Proceed with the payment.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a link to the relevant section of this doc?

#. Click :icon:`fa-chevron-right` :guilabel:`Continue` and repeat the process for each guest.

.. note::
The :icon:`fa-files-o` :guilabel:`Split` button is available when at least two items are ordered.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The :icon:`fa-files-o` :guilabel:`Split` button is available when at least two items are ordered.
The :icon:`fa-files-o` :guilabel:`Split` action is available when at least two items are ordered.


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, how does this work as far as order management goes? Is the order split into several (sub-)orders? Should this be mentionned in a note?

.. _restaurant/tips:

Tips
====

Point of Sale allows tipping in :ref:`shops <pos/sell>`, bars, and restaurants.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then I think this maybe shouldn't be under Restaurant but somewhere in the main POS doc? Although it's probably more common for restaurants/bars so I'm not sure; could we maybe discuss this (and maybe check with an expert to see if it would make sense to move this doc? really not sure here)


Configuration
-------------

To allow tipping in a POS, follow these steps:

#. Go to :menuselection:`Point of Sale --> Configuration --> Settings`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#. Go to :menuselection:`Point of Sale --> Configuration --> Settings`.
#. Go to :menuselection:`Point of Sale --> Configuration --> Settings` and select the :guilabel:`Point of Sale`.

since this setting is pos-specific

#. Enable the :guilabel:`Tips` feature under the :guilabel:`Payment` section.
#. Add a :guilabel:`Tip Product` in the corresponding field:

- Enter a product's name in the field and press `Enter` or click :guilabel:`Create`.
- To select a tip product in a POS session, enter a product's name, click :guilabel:`Create and
edit`, tick the :guilabel:`Point of Sale` checkbox, and click :guilabel:`Save & Close`.
Comment on lines +256 to +260
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The second list item is confusing to me because it makes it sound like you're going to explain how to add the tip product in a pos session, i.e., from the frontend. I'd rephrase:

Suggested change
#. Add a :guilabel:`Tip Product` in the corresponding field:
- Enter a product's name in the field and press `Enter` or click :guilabel:`Create`.
- To select a tip product in a POS session, enter a product's name, click :guilabel:`Create and
edit`, tick the :guilabel:`Point of Sale` checkbox, and click :guilabel:`Save & Close`.
#. Add a :guilabel:`Tip Product`: Enter a name for the tip product, then click :guilabel:`Create and
edit`. In the product form, enable :guilabel:`Point of Sale` checkbox, then click :guilabel:`Save & Close`.

EDIT: actually, from what I understand, the tip product is added automatically when you enable the Tips feature so I'm not even sure it's necessary to mention this step at all? to be checked!

#. (Optional) Tick the :guilabel:`Add tip after payment` and/or :guilabel:`Add tip through payment
terminal (Adyen)` checkboxes for additional tipping configuration:

- :guilabel:`Add tip after payment` generates a bill that indicates the tip value that the
customer gives after the payment.
- :guilabel:`Add tip through payment terminal (Adyen)` enables tipping with an :doc:`Adyen
<../../../applications/sales/point_of_sale/payment_methods/terminals/adyen>` payment terminal.
Comment on lines +261 to +267
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • For the 1st option: I would simplify the step; something like: If you wish to allow tips to be added after payment, enable :guilabel:Add tip after payment. And I would maybe move the part about bill generation etc. in the Tip after payment section.
  • For the 2nd option: Since this is only available for Adyen, I would add it in a tip instead; saying something like: if you use an Adyen payment terminal (with link), blabla. Then I would make sure the Adyen doc mentions something about this as well (+ the required configuration on Adyen's side, if any; see also my comment on lines 297-312

#. Click :guilabel:`Save`.

.. important::
- To use the :guilabel:`Add tip after payment` feature, the selected payment method must have a
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

link to the payment methods doc

bank journal attributed to it.
- To use the :guilabel:`Add tip through payment terminal (Adyen)` feature, select
:guilabel:`Adyen` under the :guilabel:`Payment Terminals` section in the settings.
Comment on lines +273 to +274
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd remove this; this is Adyen-specific and there's a lot more configuration involved than this (which should already mentionned on the Adyen doc page).


.. note::
As soon as you click a table, the number of guests is automatically set to one. If you
mistakenly select a table, click :guilabel:`Release table` to free it or :ref:`transfer the
customer <pos/floors_tables/transfer>` to another table.
- When you create a product to use as a tip, leave the **product type** as :guilabel:`Consumable`
to avoid unnecessary inventory movements.
Comment on lines +277 to +278
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is up-to-date

- You can only select one tip product per POS, but you can choose a different one for each.

.. _restaurant/tips/add-tips:

Add tips during checkout
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we would use the word "checkout" for a restaurant

------------------------

Tip after payment
~~~~~~~~~~~~~~~~~

To tip after payment, follow these steps:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would rephrase this because it makes it sound like the user (i.e., more likely the waiter/manager) is tipping

Alos, I don't understand how the process you describe below is tipping after payment. To me it looks like what you are describing here is actually the process of tipping before/during payment? (i.e. the tip is processed at the same time as the total amount?) From what I can see, this is what it looks like when you tip after payment:
image
Also, why do we have a "tip after payment section" but not "before/during payment"? I suppose it would also make sense in some workflows? I suppose this also depends on the terminal? Do you know more about this? (tip before vs after payment)


#. :ref:`Process an order <restaurant/orders>` until payment.
#. In the **Payment** view, select a payment method.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is technically called the payment view:

Suggested change
#. In the **Payment** view, select a payment method.
#. Select a payment method.

#. Click :icon:`fa-heart` :guilabel:`Tip` to open a popover.
#. Add the tip amount to the popover and click :guilabel:`Ok`.
Comment on lines +293 to +294
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#. Click :icon:`fa-heart` :guilabel:`Tip` to open a popover.
#. Add the tip amount to the popover and click :guilabel:`Ok`.
#. Click :icon:`fa-heart` :guilabel:`Tip`, then add the tip amount in the popover and click :guilabel:`Ok`.

to keep instructions actionable

#. Click :guilabel:`Close Tab` to validate the payment and the tip.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI, if Add tip after payment is not enabled, the button's label is "Validate" instead of "Close tab".


Tip using an Adyen terminal
~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. toctree::
:titlesonly:
To tip using an Adyen terminal, follow these steps:

restaurant/floors_tables
restaurant/kitchen_printing
restaurant/bill_printing
restaurant/tips
#. Create an :ref:`Adyen payment method <adyen/method-creation>`.
#. Go to :menuselection:`Configuration --> Settings --> Payment` and add the created
:guilabel:`Adyen` payment method to the :guilabel:`Payment Methods` field.
#. Click :guilabel:`Save`.
#. Go to the POS and :ref:`process an order <restaurant/orders>`.
#. Select the :guilabel:`Adyen` payment method during checkout. The :guilabel:`Adyen` terminal
displays the transaction and suggests adding tips.
#. Add a tip amount in the terminal and validate.
#. Click :icon:`fa-heart` :guilabel:`Tip` to open a popover in Odoo POS.
#. Add the same tip amount to the popover and click :guilabel:`Ok`.
#. Click :guilabel:`Close Tab` to validate the payment and the tip.
Comment on lines +297 to +312
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is Adyen-specific, so it shouldn’t be on this page IMO. When we move it, I think we can just keep the parts that are really about Adyen AND tips. The rest is either standard POS behavior or general Adyen setup (which should already be described on that page).

Loading