diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations.rst b/content/applications/inventory_and_mrp/inventory/barcode/operations.rst
index fcba18e34..7372d6a2d 100644
--- a/content/applications/inventory_and_mrp/inventory/barcode/operations.rst
+++ b/content/applications/inventory_and_mrp/inventory/barcode/operations.rst
@@ -12,3 +12,4 @@ Daily Operations
operations/internal
operations/transfers_scratch
operations/barcode_nomenclature
+ operations/gs1_nomenclature
diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature.rst b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature.rst
new file mode 100644
index 000000000..d7751df4f
--- /dev/null
+++ b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature.rst
@@ -0,0 +1,356 @@
+========================
+GS1 barcode nomenclature
+========================
+
+`GS1 nomenclature `_ consolidates multiple pieces of information in a single
+barcode. Each piece needs to follow a specific barcode pattern—which is a defined format of numbers,
+letters, special characters, and character length—to ensure proper interpretation of the barcode. By
+scanning the barcode on an unopened box, GS1 nomenclature can identify the product, lot number,
+number of units contained, and more.
+
+.. seealso::
+ - `All GS1 barcodes `_
+ - :ref:`Odoo's default GS1 rules `
+ - :ref:`Why's my barcode not working? `
+
+.. _barcode/operations/set-up-barcode-nomenclature:
+
+Set up barcode nomenclature
+===========================
+
+To use GS1 nomenclature, navigate to the :menuselection:`Inventory app --> Configuration -->
+Settings`. Then under the :guilabel:`Barcode` section, check the :guilabel:`Barcode Scanner` box.
+Next, select :menuselection:`Barcode Nomenclature --> Default GS1 Nomenclature` from the default
+barcode nomenclature options.
+
+.. image:: gs1_nomenclature/setup-gs1-nomenclature.png
+ :align: center
+ :alt: Choose GS1 from dropdown and click the internal link to see the list of GS1 rules.
+
+To view and edit a list of GS1 *rules* and *barcode patterns* Odoo supports by default, click the
+:guilabel:`➡️ (External link)` icon to the right of the :guilabel:`Barcode Nomenclature` selection.
+
+Opening the pop-up table provides an editable view of GS1 :guilabel:`Rule Names` available in Odoo.
+The table contains all the information that can be condensed with a GS1 barcode, along with the
+corresponding :guilabel:`Barcode Pattern`.
+
+.. tip::
+ After setting GS1 as the barcode nomenclature, :menuselection:`Barcode Nomenclatures` can also be
+ accessed by first enabling :ref:`developer mode `. Navigate to
+ :menuselection:`Inventory app --> Configuration --> Barcode Nomenclatures` and finally, select
+ :guilabel:`Default GS1 Nomenclature`.
+
+.. _barcode/operations/create-GS1-barcode:
+
+Use GS1 barcode
+===============
+
+To build GS1 barcodes in Odoo, combine multiple pieces of information using the specified barcode
+pattern. The `application identifier
+`_ (A.I.) serves as the universal
+prefix for GS1 for barcode identification. Odoo uses regular expressions to describe barcode
+patterns concisely. Each barcode pattern begins with a required 2-4 digit :abbr:`A.I. (application
+identifier)`, which corresponds to the rule defined in the system's :ref:`barcode nomenclature list
+`. By including the appropriate :abbr:`A.I.
+(application identifier)` from the list, Odoo can accurately interpret GS1 barcodes. While most
+barcode patterns have a flexible length, some specific patterns, such as barcodes for dates, have
+defined length requirements.
+
+.. tip::
+ Use the FNC1 separator (`\x1D`) to end the barcode without needing to reach the maximum character
+ length.
+
+Refer to the :ref:`GS1 nomenclature list ` to see
+a comprehensive list of all barcode patterns and rules to follow. Otherwise, the following section
+contains examples of how to generate a barcode for common items in a warehouse.
+
+Product + quantity + lot
+------------------------
+
+To build a GS1 barcode for a box that contains a product, number of units in it, and the lot number,
+the following barcode patterns are used:
+
++------------+--------------------------+------+----------------------------------+------------------------------------------+
+| Name | Rule Name | A.I. | Barcode Pattern | Field in Odoo |
++============+==========================+======+==================================+==========================================+
+| Product | Global Trade Item Number | 01 | (01)(\\d{14}) | :guilabel:`Barcode` field on product form|
+| | (GTIN) | | | |
++------------+--------------------------+------+----------------------------------+------------------------------------------+
+| Quantity | Variable count of items | 30 | (30)(\\d{0,8}) | :guilabel:`Units` field on transfer form |
++------------+--------------------------+------+----------------------------------+------------------------------------------+
+| Lot Number | Batch or lot number | 10 | (10)([!"%-/0-9:-?A-Z_a-z]{0,20}) | :guilabel:`Lot` on Detailed Operations |
+| | | | | pop-up |
++------------+--------------------------+------+----------------------------------+------------------------------------------+
+
+.. _barcode/operations/lot-setup:
+
+Configuration
+~~~~~~~~~~~~~
+
+To track products using lots, first enable the :ref:`Lots and Serial Numbers
+` feature. To do so, navigate to
+:menuselection:`Inventory app --> Configuration --> Settings`. Next, under the
+:guilabel:`Traceability` heading, check the box for :guilabel:`Lots & Serial Numbers`.
+
+Then, set up the product barcode by navigating to the intended product form in
+:menuselection:`Inventory app --> Products --> Products` and selecting the product. On the product
+form, click :guilabel:`Edit`. Then, in the :guilabel:`General Information` tab, fill in the
+:guilabel:`Barcode` field with the 14-digit `Global Trade Item Number (GTIN)
+`_, which is a universal and unique identifying number
+from GS1.
+
+.. important::
+ On the product form, omit the :abbr:`A.I. (application identifier)` `01` for GTIN product barcode
+ pattern, as it is only used to encode multiple barcodes into a single barcode that contains
+ detailed information about the package contents.
+
+.. example::
+ To create a barcode for the product, `Fuji Apple`, enter the 14-digit GTIN `12345678901231` in
+ the :guilabel:`Barcode` field on the product form.
+
+ .. image:: gs1_nomenclature/barcode-field.png
+ :align: center
+ :alt: Enter 14-digit GTIN into the Barcode field on product form.
+
+.. tip::
+ It is also possible to view a list of all products and barcodes. To access this list, go to
+ :menuselection:`Inventory --> Configuration --> Settings`. Under the :guilabel:`Barcode` heading,
+ click on the :guilabel:`Configure Product Barcodes` button under the :guilabel:`Barcode Scanner`
+ section. Enter the 14-digit GTIN into the :guilabel:`Barcode` column, then click
+ :guilabel:`Save`.
+
+ .. image:: gs1_nomenclature/product-barcodes-page.png
+ :align: center
+ :alt: View the Product Barcodes page from inventory settings.
+
+.. _barcode/operations/lot-setup-on-product:
+
+Next, enable lots and serial number tracking on the product. Select the :guilabel:`Inventory` tab on
+the product form. Under :guilabel:`Tracking`, choose the :guilabel:`By Lots` radio button.
+
+.. image:: gs1_nomenclature/track-by-lots.png
+ :align: center
+ :alt: Enable product tracking by lots in the "Inventory" tab of the product form.
+
+Scan barcode on receipt
+~~~~~~~~~~~~~~~~~~~~~~~
+
+To ensure accurate lot interpretation in Odoo on product barcodes scanned during a receipt
+operation, navigate to the :menuselection:`Barcode` app to manage the :ref:`receipt picking process
+`.
+
+From the :guilabel:`Barcode Scanning` dashboard, click the :guilabel:`Operations` button, then the
+:guilabel:`Receipts` button to view the list of vendor receptions to process. Receipts generated
+from :abbr:`POs (Purchase Orders)` are listed, but new receipt operations can also be created
+directly through the :menuselection:`Barcode` app using the :guilabel:`Create` button.
+
+On the list of receipts, click on the warehouse operation (`WH/IN`) and scan product barcodes and
+lot numbers with a barcode scanner. The scanned product then appears on the list. Use the
+:guilabel:`✏️ (pencil)` button to open a window and manually enter quantities for specific lot
+numbers.
+
+.. example::
+ After placing a :abbr:`PO (Purchase Order)` for 50 apples, navigate to the associated receipt.
+ Scan the product barcode, and Odoo will prompt for the lot number.
+
+ .. image:: gs1_nomenclature/receive-50-apples.png
+ :align: center
+ :alt: Scan the barcode for a product on the reception picking page in the *Barcode* app.
+
+ Scan the lot number to process 1 of 50 apples. To avoid scanning 49 remaining barcodes, click
+ the :guilabel:`✏️ (pencil)` button next to the desired lot number.
+
+ .. image:: gs1_nomenclature/scan-apple-lot-number.png
+ :align: center
+ :alt: Scan lot number and click the pencil to edit quantities.
+
+ Doing so opens a mobile-friendly keypad page to specify received quantities. Use the keypad to
+ specify the :guilabel:`Units` for the lot number. When finished, click :guilabel:`Confirm`.
+
+ .. image:: gs1_nomenclature/edit-lot-quantities.png
+ :align: center
+ :alt: Change scanned quantities using pencil button.
+
+Repeat this process to specify additional lot numbers and quantities in this receipt. Once the
+:guilabel:`Units` are all accounted for, finish the reception by clicking the :guilabel:`Validate`
+button.
+
+Alternatively, scan the barcode containing the product, lot number, and quantity to complete the
+receipt operation in fewer steps.
+
+Product + non-unit quantity
+---------------------------
+
+To build a GS1 barcode that contains products measured in a non-unit quantity, like kilograms, for
+example, the following barcode patterns are used:
+
++-------------+--------------------------+----------+--------------------+----------------------------+
+| Name | Rule Name | A.I. | Barcode Pattern | Field in Odoo |
++=============+==========================+==========+====================+============================+
+| Product | Global Trade Item Number | 01 | (01)(\\d{14}) | :guilabel:`Barcode` field |
+| | (GTIN) | | | on product form |
++-------------+--------------------------+----------+--------------------+----------------------------+
+| Quantity in | Variable count of items | 310[0-5] | (310[0-5])(\\d{6}) | :guilabel:`Units` field on |
+| kilograms | | | | transfer form |
++-------------+--------------------------+----------+--------------------+----------------------------+
+
+Scan barcode on receipt
+~~~~~~~~~~~~~~~~~~~~~~~
+
+To confirm that quantities are correctly interpreted in Odoo, place an order in the *Purchase* app
+using the appropriate unit of measure (:guilabel:`UoM`) for the quantity of products to be
+purchased.
+
+.. seealso::
+ :ref:`Simplify vendor unit conversions with UoMs `
+
+After the order is placed, navigate to the :menuselection:`Barcode` app to :ref:`receive the vendor
+shipment `.
+
+.. example::
+ On the receipt in the *Barcode* app, receive an order for `52.1 kg` of peaches by scanning the
+ barcode. If `52.1 / 52.1` :guilabel:`kg` appears on the page, this means the reception was
+ processed without issue. Finally, press :guilabel:`Validate`.
+
+ Note: the :abbr:`A.I. (application identifier)` for kilograms, `310` + `1`, was used to represent
+ `52.1` kg as a barcode: `000521`. This is because the `1` represents how many digits from the
+ right to place the decimal point.
+
+ .. image:: gs1_nomenclature/scan-barcode-peaches.png
+ :align: center
+ :alt: Scan barcode screen for a reception operation in the Barcode app.
+
+For additional verification purposes, the quantities of received products are also recorded on the
+:guilabel:`Product Moves` report, accessible by navigating to :menuselection:`Inventory app -->
+Reporting --> Product Moves`.
+
+The items on the :guilabel:`Product Moves` report are grouped by product by default. To confirm the
+received quantities, click on a product line to open its collapsible drop-down menu, which displays
+a list of *stock move lines* for the product. The latest stock move matches the warehouse reception
+reference number (e.g. `WH/IN/00013`) and quantity processed in the barcode scan, demonstrating that
+the records processed in the *Barcode* app were properly stored in *Inventory*.
+
+.. image:: gs1_nomenclature/stock-moves-peach.png
+ :align: center
+ :alt: Reception stock move record for 52.1 kg of peaches.
+
+.. _barcode/operations/create-new-rules:
+
+Create rules
+------------
+
+If a supplier uses a GS1 barcode with a field not supported by Odoo's :ref:`default GS1 list
+`, Odoo will fail to interpret the entire barcode.
+To ensure the complete reading of the barcode, it is necessary to add the missing barcode to Odoo's
+list.
+
+.. important::
+ While the new field will be read, the information won't link to an existing field in Odoo without
+ developer customizations. However, adding new rules is still useful to ensure the rest of the
+ fields in the barcode are interpreted correctly.
+
+Begin by turning on :ref:`developer mode ` and navigating to the :guilabel:`Barcode
+Nomenclatures` list in :menuselection:`Inventory app --> Configuration --> Barcode Nomenclatures`.
+Then, select the :guilabel:`Default GS1 Nomenclature` list item.
+
+On the :guilabel:`Default GS1 Nomenclature` page, select :guilabel:`Add a line` at the bottom of the
+table, which opens a window to create a new rule. The :guilabel:`Rule Name` field is used internally
+to identify what the barcode represents. The barcode :guilabel:`Types` are different classifications
+of information that can be understood by the system (e.g. product, quantity, best before date,
+package, coupon). The :guilabel:`Sequence` represents the priority of the rule; this means the
+smaller the value, the higher the rule appears on the table. Odoo follows the sequential order of
+this table and will use the first rule it matches based on the sequence. The :guilabel:`Barcode
+Pattern` is how the sequence of letters or numbers is recognized by the system to contain
+information about the product.
+
+After filling in the information, click the :guilabel:`Save & New` button to make another rule or
+click :guilabel:`Save & Close` to save and return to the table of rules.
+
+.. _barcode/operations/troubleshooting:
+
+Barcode troubleshooting
+=======================
+
+Since GS1 barcodes are challenging to work with, here are some checks to try when the barcodes are
+not working as expected:
+
+#. Ensure that the :guilabel:`Barcode Nomenclature` setting is set as :menuselection:`Default GS1
+ Nomenclature`. Jump to the :ref:`nomenclature setup section
+ ` for more details.
+#. Ensure that the fields scanned in the barcode are enabled in Odoo. For example, to scan a barcode
+ containing lots and serial numbers, make sure the :guilabel:`Lots & Serial Numbers` feature is
+ enabled in :ref:`Odoo's settings ` and :ref:`on the product
+ `.
+#. Omit punctuation such as parentheses `()` or brackets `[]` between the :abbr:`A.I. (Application
+ Identifier)` and the barcode sequence. These are typically used in examples for ease of reading
+ and should **not** be included in the final barcode. For more details on building GS1 barcodes,
+ go to :ref:`this section `.
+#. When a single barcode contains multiple encoded fields, Odoo requires all rules to be listed in
+ the barcode nomenclature for Odoo to read the barcode. :ref:`This section
+ ` details how to add new rules in the barcode nomenclature.
+
+.. _barcode/operations/default-gs1-nomenclature-list:
+
+GS1 nomenclature list
+=====================
+
+The table below contains Odoo's default list of GS1 rules. Barcode patterns are written in regular
+expressions. Only the first three rules require a `check digit
+`_ as the final character.
+
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Rule Name | Type | Barcode Pattern | GS1 Content Type | Odoo field |
++=========================================+=============+==============================+====================+=======================+
+| Serial Shipping Container Code | Package | (00)(\\d{18}) | Numeric identifier | Package name |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Global Trade Item Number (GTIN) | Unit | (01)(\\d{14}) | Numeric identifier | :guilabel:`Barcode` |
+| | Product | | | field on product form |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| GTIN of contained trade items | Unit | (02)(\\d{14}) | Numeric identifier | Packaging |
+| | Product | | | |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Ship to / Deliver to global | Destination | (410)(\\d{13}) | Numeric identifier | Destination |
+| location | location | | | location |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Ship / Deliver for forward | Destination | (413)(\\d{13}) | Numeric identifier | Source location |
+| | location | | | |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| I.D. of a physical location | Location | (414)(\\d{13}) | Numeric identifier | Location |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Batch or lot number | Lot | (10) | Alpha-numeric name | Lot |
+| | | ([!"%-/0-9:-?A-Z_a-z]{0,20}) | | |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Serial number | Lot | (21) | Alpha-numeric name | Serial number |
+| | | ([!"%-/0-9:-?A-Z_a-z]{0,20}) | | |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Packaging date (YYMMDD) | Packaging | (13)(\\d{6}) | Date | Pack date |
+| | Date | | | |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Best before date (YYMMDD) | Best before | (15)(\\d{6}) | Date | Best before date |
+| | Date | | | |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Expiration date (YYMMDD) | Expiration | (17)(\\d{6}) | Date | Expiry date |
+| | Date | | | |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Variable count of items | Quantity | (30)(\\d{0,8}) | Measure | UoM: Units |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Count of trade items | Quantity | (37)(\\d{0,8}) | Measure | Qty in units for |
+| | | | | containers (AI 02) |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Net weight: kilograms (kg) | Quantity | (310[0-5])(\\d{6}) | Measure | Qty in kg |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Length in meters (m) | Quantity | (311[0-5])(\\d{6}) | Measure | Qty in m |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Net volume: liters (L) | Quantity | (315[0-5])(\\d{6}) | Measure | Qty in L |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Net volume: cubic meters (m\ :sup:`3`) | Quantity | (316[0-5])(\\d{6}) | Measure | Qty in m\ :sup:`3` |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Length in inches (in) | Quantity | (321[0-5])(\\d{6}) | Measure | Qty in inches |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Net weight/volume: ounces (oz) | Quantity | (357[0-5])(\\d{6}) | Measure | Qty in oz |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Net volume: cubic feet (ft\ :sup:`3`) | Quantity | (365[0-5])(\\d{6}) | Measure | Qty in ft\ :sup:`3` |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
+| Packaging type | Packaging | (91) | Alpha-numeric name | Package type |
+| | Type | ([!"%-/0-9:-?A-Z_a-z]{0,90}) | | |
++-----------------------------------------+-------------+------------------------------+--------------------+-----------------------+
diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/barcode-field.png b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/barcode-field.png
new file mode 100644
index 000000000..4ada92345
Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/barcode-field.png differ
diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/edit-lot-quantities.png b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/edit-lot-quantities.png
new file mode 100644
index 000000000..b79d98d87
Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/edit-lot-quantities.png differ
diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/open-pencil-icon.png b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/open-pencil-icon.png
new file mode 100644
index 000000000..54b63bac7
Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/open-pencil-icon.png differ
diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/product-barcodes-page.png b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/product-barcodes-page.png
new file mode 100644
index 000000000..c1d53cb23
Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/product-barcodes-page.png differ
diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/receive-50-apples.png b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/receive-50-apples.png
new file mode 100644
index 000000000..0a0aaf17f
Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/receive-50-apples.png differ
diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/scan-apple-lot-number.png b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/scan-apple-lot-number.png
new file mode 100644
index 000000000..c55a63c41
Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/scan-apple-lot-number.png differ
diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/scan-barcode-peaches.png b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/scan-barcode-peaches.png
new file mode 100644
index 000000000..42c161aaf
Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/scan-barcode-peaches.png differ
diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/setup-gs1-nomenclature.png b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/setup-gs1-nomenclature.png
new file mode 100644
index 000000000..526086287
Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/setup-gs1-nomenclature.png differ
diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/stock-moves-peach.png b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/stock-moves-peach.png
new file mode 100644
index 000000000..567c565fd
Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/stock-moves-peach.png differ
diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/track-by-lots.png b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/track-by-lots.png
new file mode 100644
index 000000000..47e30c073
Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/barcode/operations/gs1_nomenclature/track-by-lots.png differ
diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/internal.rst b/content/applications/inventory_and_mrp/inventory/barcode/operations/internal.rst
index 5549d7bcc..9d428ca79 100644
--- a/content/applications/inventory_and_mrp/inventory/barcode/operations/internal.rst
+++ b/content/applications/inventory_and_mrp/inventory/barcode/operations/internal.rst
@@ -35,6 +35,8 @@ with the stock moves.
If you have different storage locations in your warehouse, you can add
additional steps for the different operation types.
+.. _barcode/operations/scan-received-products:
+
Receipts
========
diff --git a/content/applications/inventory_and_mrp/inventory/barcode/setup/hardware.rst b/content/applications/inventory_and_mrp/inventory/barcode/setup/hardware.rst
index 1ec985105..06087a8ff 100644
--- a/content/applications/inventory_and_mrp/inventory/barcode/setup/hardware.rst
+++ b/content/applications/inventory_and_mrp/inventory/barcode/setup/hardware.rst
@@ -2,6 +2,8 @@
Set up your barcode scanner
===========================
+.. _barcode/setup/hardware:
+
Getting started with barcode scanning in Odoo is fairly easy. Yet, a
good user experience relies on an appropriate hardware setup. This guide
will help you through the task of choosing and configuring the barcode
diff --git a/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst b/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst
index 4df192fb4..49db26a3b 100644
--- a/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst
+++ b/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst
@@ -30,6 +30,8 @@ click the :guilabel:`Save` button to save changes.
:align: center
:alt: Enabled lots and serial numbers feature in inventory settings.
+.. _inventory/management/track_products_by_lots:
+
Track products by lots
======================
diff --git a/content/applications/inventory_and_mrp/inventory/management/products/usage.rst b/content/applications/inventory_and_mrp/inventory/management/products/usage.rst
index b2acf95e5..b51161418 100644
--- a/content/applications/inventory_and_mrp/inventory/management/products/usage.rst
+++ b/content/applications/inventory_and_mrp/inventory/management/products/usage.rst
@@ -6,6 +6,8 @@ In Odoo, there are a variety of ways to specify the amount of products being bou
sold. *Units of measure*, *packages*, and *packagings* are all available to streamline inventory
flows, allowing for a variety of configurations for products as they enter and leave the warehouse.
+.. _inventory/management/uom-example:
+
Units of measure
================