[IMP] inventory: carrier label and export doc

closes odoo/documentation#9650

X-original-commit: fe3281523c
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: Jess Rogers <104637850+jero-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
This commit is contained in:
Felicious 2024-05-31 07:12:41 -07:00
parent 33244724b0
commit 3606b35230
9 changed files with 185 additions and 4 deletions

View File

@ -9,6 +9,9 @@ Integrate Odoo with :doc:`third-party shipping carriers
<../setup_configuration/third_party_shipper>` to automatically generate shipping labels that
includes prices, destination addresses, tracking numbers, and barcodes.
.. seealso::
:ref:`Automatically print shipping carrier labels <inventory/shipping_receiving/carrier-labels>`
Configuration
=============

View File

@ -12,10 +12,10 @@ receipt, picking, delivery orders, quality checks):
#. :ref:`Return slip <inventory/shipping_receiving/return-slip>`
#. :ref:`Product labels of items in the order <inventory/shipping_receiving/product-labels>`
#. :ref:`Lot and serial number labels <inventory/shipping_receiving/lot-sn-labels>`
#. Carrier labels
#. Export documents
#. Package Content
#. Package label
#. :ref:`Carrier labels <inventory/shipping_receiving/carrier-labels>`
#. :ref:`Export documents <inventory/shipping_receiving/export-doc>`
#. :ref:`Package content <inventory/shipping_receiving/package-content>`
#. :ref:`Package label <inventory/shipping_receiving/package-label>`
.. _inventory/shipping_receiving/print_setup:
@ -30,6 +30,7 @@ to the related section.
.. image:: print_on_validation/print-on-validation.png
:align: center
:alt: Show the *Print on Validation* option in the "Pick" *Operation Type*.
.. _inventory/shipping_receiving/delivery-slip:
Delivery slip
@ -52,6 +53,7 @@ order weight.
.. image:: print_on_validation/delivery-slip.png
:align: center
:alt: Example delivery slip.
.. _inventory/shipping_receiving/return-slip:
Return slip
@ -71,6 +73,7 @@ the return operation.
.. image:: print_on_validation/return-slip.png
:align: center
:alt: Example return slip.
.. _inventory/shipping_receiving/product-labels:
Product labels
@ -122,6 +125,7 @@ be printed as:
.. note::
Product labels can be manually printed from any delivery order, by clicking the :guilabel:`Print
Labels` button.
.. _inventory/shipping_receiving/lot-sn-labels:
Lot/SN Labels
@ -156,3 +160,177 @@ be printed as:
- :guilabel:`ZPL Labels - One per unit`: prints labels with the quantity of items in :abbr:`ZPL
(Zebra Programming Language)`, containing the product name, lot/serial number, and barcode.
.. _inventory/shipping_receiving/carrier-labels:
Carrier labels
==============
To automatically print a *carrier label* with the recipient address, tracking number, and carrier
details for specific third-party shipping carriers, complete the following setup:
#. Tick the :guilabel:`Carrier Labels` checkbox in the :ref:`operation type settings
<inventory/shipping_receiving/print_setup>`.
#. :doc:`Connect a printer <../../../../general/iot/devices/printer>` to Odoo's *IoT* app.
#. :ref:`Assign the carrier label to the printer <inventory/shipping_receiving/assign-printer>`.
#. Configure the shipping method's :ref:`label type <inventory/shipping_receiving/label-type>`.
.. _inventory/shipping_receiving/assign-printer:
Assign printer
--------------
Refer to the :doc:`Connect a printer <../../../../general/iot/devices/printer>` documentation for
details on connecting a printer to Odoo's *IoT* app. Upon completion, assign the carrier label to
the printer, by navigating to :menuselection:`IoT app --> Devices`, and selecting the desired
printer.
.. image:: print_on_validation/select-printer.png
:align: center
:alt: Show a list of IoT devices.
In the printer configuration form, go to the :guilabel:`Printer Reports` tab to configure the types
of documents the printer automatically prints. Click :guilabel:`Add a line` to open the
:guilabel:`Add: Reports` pop-up window. In the :guilabel:`Search...` bar, type `Shipping`, and
select :guilabel:`Shipping Labels`.
.. note::
The :guilabel:`Shipping Documents` report is for :ref:`export documents
<inventory/shipping_receiving/export-doc>`.
.. image:: print_on_validation/printer-report.png
:align: center
:alt: Show carrier label report added to the *Printer Reports*.
After adding the :guilabel:`Shipping Labels` report in the :guilabel:`Printer Reports` tab, ensure
the :guilabel:`Report Type` matches the IoT-connected printer's type.
- For laser printers, set the :guilabel:`Report Type` to :guilabel:`PDF`.
- For Zebra printers, set the :guilabel:`Report Type` to :guilabel:`Text`.
.. _inventory/shipping_receiving/label-type:
Shipping carrier label type
---------------------------
Next, complete the setup for the :doc:`third-party shipping connector
<../setup_configuration/third_party_shipper>`. After that, go to :menuselection:`Inventory app -->
Configuration --> Shipping Methods`, and select the desired shipping method.
On the shipping method configuration form, in the :guilabel:`[carrier name] Configuration` tab,
ensure the :guilabel:`Label Format` matches the :ref:`report type assigned earlier
<inventory/shipping_receiving/assign-printer>`:
- For laser printers, set the :guilabel:`Label Format` to :guilabel:`PDF`.
- For Zebra printers, set the :guilabel:`Label Format` to :guilabel:`ZPL2`.
.. image:: print_on_validation/label-type.png
:align: center
:alt: Show the *Label Type* field on FedEx's shipping method configuration page.
Example carrier label
---------------------
After validating the operation, the carrier label is generated in the chatter, and printed using the
IoT-connected printer.
.. spoiler:: Example carrier label
.. figure:: print_on_validation/fedex-carrier-label.png
:align: center
:alt: Show an example carrier label for FedEx.
Carrier label for FedEx, containing the recipient address, tracking number, barcode, and
other shipping information.
.. seealso::
:doc:`Print carrier labels <labels>`
.. _inventory/shipping_receiving/export-doc:
Export document
===============
An *export document*, required by customs to ship packages from one country to another, can be
automatically printed in Odoo by following these steps:
#. Tick the :guilabel:`Export Documents` checkbox in the :ref:`operation type settings
<inventory/shipping_receiving/print_setup>`.
#. :doc:`Connect a printer <../../../../general/iot/devices/printer>` to Odoo's *IoT* app.
#. Assign the export document to the printer.
Assign printer
--------------
Similar to the :ref:`printer assignment instructions for carrier labels
<inventory/shipping_receiving/assign-printer>`, after connecting a compatible printer to the Odoo
*IoT* app, go to :menuselection:`IoT app --> Devices`, and select the desired printer.
In the printer configuration form, go to the :guilabel:`Printer Reports` tab, and click
:guilabel:`Add a line`. In the :guilabel:`Add: Reports` pop-up window that appears, add the
:guilabel:`Shipping Documents` report to assign the export document to the printer.
.. spoiler:: Example export document
.. figure:: print_on_validation/export-doc.png
:align: center
:alt: Export document for a shipment from the USA to Belgium.
Export document for a shipment from the USA to Belgium.
.. _inventory/shipping_receiving/package-content:
Package content
===============
A *package content* PDF includes the package's barcode, packed date, along with a list of contained
products and quantities.
To print this form automatically, go to :menuselection:`Inventory app --> Configuration -->
Operation Types`, and select the desired operation type. Then, go to the :guilabel:`Hardware` tab,
and tick the :guilabel:`Package Contents` checkbox.
.. important::
If the option is not available, enable the :doc:`Packages
<../../product_management/product_tracking/package>` feature, by going to
:menuselection:`Inventory app --> Configuration --> Settings`, ticking the :guilabel:`Packages`
checkbox, and clicking :guilabel:`Save`.
After enabling the feature in the :guilabel:`Hardware` tab, validating the operation prints a PDF of
the package contents.
.. spoiler:: Example package content PDF
.. figure:: print_on_validation/package-content.png
:align: center
:alt: Package contents form showing the package contents, barcode, and pack date.
Package contents showing the package contents, barcode, and pack date.
.. _inventory/shipping_receiving/package-label:
Package label
=============
A *package label* that shows the package's barcode and pack date can be configured to print upon
clicking the *Put in Pack* button.
.. important::
The :guilabel:`Put in Pack` button is available **only** when the :doc:`Packages
<../../product_management/product_tracking/package>` feature is enabled in
:menuselection:`Inventory app --> Configuration --> Settings`.
After it is enabled, the :guilabel:`Put in Pack` button is available on all inventory operations
(e.g. receipt, pickings, internal transfers, delivery orders, etc.).
To automatically print the package label when the :guilabel:`Put in Pack` button is clicked, go to
:menuselection:`Inventory app --> Configuration --> Operation Types`. Select the desired operation
type, and tick the :guilabel:`Package Label` checkbox in the :guilabel:`Hardware` tab. Labels can be
printed in :guilabel:`PDF` or :guilabel:`ZPL` file formats, as defined in the :guilabel:`Print label
as` field.
.. spoiler:: Example of package barcode
.. image:: print_on_validation/package-barcode.png
:align: center
:alt: PDF of package barcode and package date.