8000 [ADD] barcode: operations and commands barcode printing by slinkous · Pull Request #13355 · odoo/documentation · GitHub
[go: up one dir, main page]

Skip to content

[ADD] barcode: operations and commands barcode printing #13355

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
1 change: 1 addition & 0 deletions content/applications/inventory_and_mrp/barcode/setup.rst
8000
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ Setup
setup/device_troubleshooting
setup/hardware
setup/software
setup/operation_types
Original file line number Diff line number Diff line change
@@ -0,0 +1,230 @@
============================
Operation types and commands
============================

Inventory operations, like :doc:`receipts and delivery
orders<../../inventory/shipping_receiving/daily_operations/receipts_delivery_one_step>`, as well
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
orders<../../inventory/shipping_receiving/daily_operations/receipts_delivery_one_step>`, as well
orders <../../inventory/shipping_receiving/daily_operations/receipts_delivery_one_step>`, as well

we need one space between link text and link (:

commands, like validating a transfer or putting products in packages, can be performed by scanning
barcodes through the **Barcode** app. This allows employees to handle tasks and access menus without
the need to touch a screen or use the **Inventory** app on a computer, and allows workflow
streamlining by putting operation barcodes in the appropriate physical location.

.. image:: operation_types/barcode-default-operations.png
:alt: Printable barcodes for Receipts, Delivery Orders, and Manufacturing.

.. _inventory/barcode/configure_operations:

Configuring operations
======================

*Operation types* in the **Inventory** and **Barcode** apps define actions that will change the
state of products in inventory. What operation types are available will depend on the settings which
are enabled in the database. By default, barcodes can be printed for the :guilabel:`Receipts
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
are enabled in the database. By default, barcodes can be printed for the :guilabel:`Receipts
are enabled in the database. By default, barcodes can be printed for :guilabel:`Receipts

maybe an extra "the"? Also see my later comment about possibly changing these guilabels to italics if the operation types aren't visible on the screen (:

(WHIN)`, :guilabel:`Delivery Orders (WHOUT)`, and :guilabel:`Manufacturing (WHMANUF)`. The
:guilabel:`Internal Transfers (WHINT)` and :guilabel:`Internal Transfers (WHINT)` and
:guilabel:`Pick (WHPICK)` operations can also be enabled.
Comment on lines +22 to +25
Copy link
Contributor

Choose a reason for hiding this comment

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

all should change to italics or stay unformatted since we cant see them on the screen (:


.. note::
Both :guilabel:`Internal Transfers (WHINT)` and :guilabel:`Pick (WHPICK)` operations require
:doc:`location barcodes <./software>` to scan.

Internal transfers
------------------

The :guilabel:`Internal Transfers (WHINT)` operation barcode is available if the database is using
the ::guilabel:`Storage Locations` to designate where products are located in the inventory. To
Comment on lines +34 to +35
Copy link
Contributor

Choose a reason for hiding this comment

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

super nitpicky but we only use the guilabel tag when that field is currently visible on the UI. In this intro sentence, we haven't navigated to a specific page yet, so it's not yet on the reader's page. So, we use italics 😊

Suggested change
The :guilabel:`Internal Transfers (WHINT)` operation barcode is available if the database is using
the ::guilabel:`Storage Locations` to designate where products are located in the inventory. To
The *Internal Transfers (WHINT)* operation barcode is available if the database is using
the *Storage Locations* to designate where products are located in the warehouse. To

Note: extra : in front of storage locations, and maybe missing the word "feature"?

optional: I'm not really sure if "products are located in the inventory" is a common phrase? How about "in the warehouse", or "in inventory" (without "the")?

enable this setting, go to :menuselection:`Inventory app --> Configuration --> Settings`, then, in
the :guilabel:`Warehouse` section, tick the :guilabel:`Storage Locations` option.
Copy link
Contributor

Choose a reason for hiding this comment

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

guilabels properly used here! 😊


.. TODO: Seealso for transfers

Picking
-------

The :guilabel:`Pick (WHPICK)` operation barcode is available if the database is using the
::guilabel:`Multi-Step Routes` feature configured with a picking step. To enable this setting, go to
Copy link
Contributor

Choose a reason for hiding this comment

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

italics

:menuselection:`Inventory app --> Configuration --> Settings`, then, in the :guilabel:`Warehouse`
section, tick the :guilabel:`Multi-Step Routes` option and save. From there, click
:icon:`fa-arrow-right` :guilabel:`Set Warehouse Routes` to open warehouse settings and select the
warehouse. In the :guilabel:`Outgoing Shipments` section, select either :guilabel:`Pick then Deliver
(2 steps)` or :guilabel:`Pick, Pack, then Deliver (3 steps)`.

.. seealso::
- :doc:`Two-step receipt and delivery
<../../inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps>`
- :doc:`Three-step delivery
<../../inventory/shipping_receiving/daily_operations/delivery_three_steps>`

Copy link
Contributor

Choose a reason for hiding this comment

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

extra line

Suggested change


Print barcodes for inventory commands and operations
====================================================

Barcodes for operations and commands can be printed at any time. These documents will include all
the available inventory commands, regardless of whether they are enabled, but only the operations
that are currently enabled in the database. See :ref:`configuring operations
<inventory/barcode/configure_operations>` to enable any missing operations.

.. example::
The `print_inventory_commands_and_operation_types` document will always show the :guilabel:`PUT
IN PACK` command, regardless of whether the *Packages* feature is enabled, but the
:guilabel:`Pick (WHPICK)` operation will only be added if *Multi-Step Routes* are configured to
have a picking step.

.. warning::
Printing barcodes, by default, will either directly download a PDF file of the selected barcodes
or open a new tab with a downloadable or printable PDF. To turn this into a direct printing
operation, :doc:`connect a printer<../../../general/iot/devices/printer>`.
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
operation, :doc:`connect a printer<../../../general/iot/devices/printer>`.
operation, :doc:`connect a printer <../../../general/iot/devices/printer>`.


When first opening Barcode
--------------------------

When first opening the **Barcode** app, there is a prompt with options to print barcodes for
commands and operations, as well as some sample barcodes to print and use for testing. Clicking
these links is the easiest way to print command and operation barcodes, but will no longer be
displayed after the first time it is clicked.

.. image:: operation_types/barcode-initial-print-prompt.png
:alt: A prompt to print demo data or barcodes for operations.

From Inventory Settings
-----------------------

Inventory commands and operation types barcodes can always be printed from the *Settings* page. Go
to :menuselection:`Inventory app --> Configuration --> Settings` and in the :guilabel:`Barcode`
section under the :guilabel:`Barcode Scanner` setting, click :icon:`fa-print` :guilabel:`Print
barcode commands and operation types`.

.. image:: operation_types/print-operations-and-commands.png
:alt: Link to print inventory operations and commands.

Individual operations
---------------------

Barcodes for individual operations, like receipts and manufacturing orders, can also be printed from
the *Operations Types* configuration menu. To select operations to print, go to
:menuselection:`Inventory app --> Configuration --> Operations Types` and tick the box by each
operation type required.

.. image:: operation_types/barcode-print-operations.png
:alt: Available operations selected making a "Print" button appear.

Next, click the :icon:`fa-print` :guilabel:`Print` button and select either :guilabel:`Operation
type (PDF)` to download a PDF with the operation barcodes, or :guilabel:`Operation type (ZPL)` to
send the print job to a :ref:`ZPL-enabled printer <iot/link-printer>`.

.. note::
The :icon:`fa-print` :guilabel:`Print` button does not appear until at least one operation type
is selected.

.. _inventory/barcode/print_order:

Print picking operations for specific orders
============================================

Receipts, manufacturing orders, transfers, and delivery orders can all be printed in advanced and
are broadly referred to as "picking operations" or "picking".

In Barcode
----------

From the **Barcode** app, tap the :guilabel:`Operations` button, and select the operation type, and
then the specific order to print. From there, either scan the :guilabel:`PRINT PICKING OPERATION`
barcode if there is one available, or tap the :icon:`fa-cog` :guilabel:`(cog)` icon to open the
Barcode Actions menu and tap the :guilabel:`Print Picking Operation` button.

.. image:: operation_types/print-picking-barcode-cog.png
:alt: Menu from a receipt with the 'Print Picking Operation' button.

In Inventory
------------

To print a picking from the **Inventory** app, click the appropriate operation type
(:guilabel:`Receipt`, :guilabel:`Delivery Order`, etc.) and select the individual order or the
operation.

From the order, click the :icon:`fa-cog` :guilabel:`(Actions)` icon, hover over :icon:`fa-print`
:guilabel:`Print`, and click :guilabel:`Picking Operations`.

.. note::
The type of operation can be inferred from the operation reference to help distinguish picking
operations. For example, the "IN" in `WH/IN/00012` indicates that it is a receipt operation.
These references are similar to, but do not exactly match the operation type barcodes.


Use barcodes for inventory operations and commands
==================================================

Operations
----------

- :guilabel:`Receipts (WHIN)` creates a new order to receive products into inventory.

.. warning::
Scanning a barcode for a receipt will always create a *new* instance of that operation, and
will not match an already scheduled order. To scan or a specific scheduled receipt, first
:ref:`print a picking for the individual receipt <inventory/barcode/print_order>`.

.. example::
Scanning :guilabel:`Receipts (WHIN)` will create a brand new receipt, even if the contents
match an existing receipt exactly.

- :guilabel:`Delivery Orders (WHOUT)` opens the currently scheduled delivery orders
- :guilabel:`Manufacturing (WHMANUF)` creates a new manufacturing order. Scanning a product barcode
from here will add it to the :guilabel:`Producing` list.
- :guilabel:`Internal Transfers (WHINT)` creates a new transfer order. :doc:`Location barcodes
<software>` can be scanned to designate the source and destination, or scanned direction to
initiate a transfer in **Barcode**.
- :guilabel:`Pick (WHPICK)` creates a new picking operation. This will *require* a :doc:`location
barcode <software>` for the source location.

Commands
--------

- :guilabel:`MAIN MENU`: Scan to return to the main menu from an inventory adjustment.
- :guilabel:`DISCARD`: TODO
Copy link
Contributor

Choose a reason for hiding this comment

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

let's delete this and all the other todos and revisit in follow-up PRs

Suggested change
- :guilabel:`DISCARD`: TODO

- :guilabel:`VALIDATE`: Scan to confirm that an operation is correct and ready to be completed.
- :guilabel:`CANCEL`: Scan from an operation to prevent that operation from being validated and set
its status to "Canceled".
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
its status to "Canceled".
its status to *Canceled*.

- :guilabel:`PRINT PICKING OPERATION`: Scan from an existing delivery order, transfer, or receipt to
generate a PDF with the name and barcode for that operation's reference number. This can be
scanned later to go directly to the operation.
- :guilabel:`PRINT DELIVERY SLIP`: Scan from an existing receipt or delivery order to generate a PDF
of the purchase order or delivery order. This will not include a barcode.
- :guilabel:`PUT IN PACK`: After scanning products, this command will designate them as all being in
one :doc:`package <../../inventory/product_management/configure/package>`. Products scanned
*after* this command are placed in a new package if the :guilabel:`PUT IN PACK` command is scanned
again.
- :guilabel:`SCRAP`: Scan this to mark a scanned product as defective, and move it to a virtual
location for :doc:`scrap inventory
<../../inventory/warehouses_storage/inventory_management/scrap_inventory>`
- :guilabel:`RECORD COMPONENTS`: TODO
- :guilabel:`RETURN`: TODO

Print barcodes for manufacturing commands
=========================================

By default, the :guilabel:`Manufacturing` operation type can scan products and components and tap a
:guilabel:`Produce` button to produce them. To print barcodes for basic manufacturing operations, go
to :menuselection:`Manufacturing app --> Configuration --> Settings`, then, in the
:guilabel:`Operations` section, make sure the :guilabel:`Barcode Scanner` box is ticked and click
:icon:`fa-print` :guilabel:` Print barcode commands and operation types`.


Work order commands
-------------------

To enable more granular control of the manufacturing process through **Barcode**, enable the
:doc:`Work Orders <../../manufacturing/basic_setup/bill_configuration>` feature. To print barcodes
for work orders, go to :menuselection:`Manufacturing app --> Configuration --> Settings`, then, in
the :guilabel:`Operations` section, make sure the :guilabel:`Work Orders` box is ticked and click
:icon:`fa-print` :guilabel:`Print barcode commands`.

.. image:: operation_types/print-work-order-commands.png
:alt: Add alt text.

.. seealso::
- `Odoo Tutorials: Process and Cancel MOs Using Barcodes
<https://www.youtube.com/watch?v=6zBz93AIXBo>`_
- `Odoo Tutorials: Consuming Components Using Barcodes
<https://www.youtube.com/watch?v=2ojxIbTq41Q>`_

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
0