[IMP] inventory: carrier label and export doc
closes odoo/documentation#9588 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>
@ -9,6 +9,9 @@ Integrate Odoo with :doc:`third-party shipping carriers
|
|||||||
<../setup_configuration/third_party_shipper>` to automatically generate shipping labels that
|
<../setup_configuration/third_party_shipper>` to automatically generate shipping labels that
|
||||||
includes prices, destination addresses, tracking numbers, and barcodes.
|
includes prices, destination addresses, tracking numbers, and barcodes.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
:ref:`Automatically print shipping carrier labels <inventory/shipping_receiving/carrier-labels>`
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
@ -12,10 +12,10 @@ receipt, picking, delivery orders, quality checks):
|
|||||||
#. :ref:`Return slip <inventory/shipping_receiving/return-slip>`
|
#. :ref:`Return slip <inventory/shipping_receiving/return-slip>`
|
||||||
#. :ref:`Product labels of items in the order <inventory/shipping_receiving/product-labels>`
|
#. :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>`
|
#. :ref:`Lot and serial number labels <inventory/shipping_receiving/lot-sn-labels>`
|
||||||
#. Carrier labels
|
#. :ref:`Carrier labels <inventory/shipping_receiving/carrier-labels>`
|
||||||
#. Export documents
|
#. :ref:`Export documents <inventory/shipping_receiving/export-doc>`
|
||||||
#. Package Content
|
#. :ref:`Package content <inventory/shipping_receiving/package-content>`
|
||||||
#. Package label
|
#. :ref:`Package label <inventory/shipping_receiving/package-label>`
|
||||||
|
|
||||||
.. _inventory/shipping_receiving/print_setup:
|
.. _inventory/shipping_receiving/print_setup:
|
||||||
|
|
||||||
@ -30,6 +30,7 @@ to the related section.
|
|||||||
.. image:: print_on_validation/print-on-validation.png
|
.. image:: print_on_validation/print-on-validation.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Show the *Print on Validation* option in the "Pick" *Operation Type*.
|
:alt: Show the *Print on Validation* option in the "Pick" *Operation Type*.
|
||||||
|
|
||||||
.. _inventory/shipping_receiving/delivery-slip:
|
.. _inventory/shipping_receiving/delivery-slip:
|
||||||
|
|
||||||
Delivery slip
|
Delivery slip
|
||||||
@ -52,6 +53,7 @@ order weight.
|
|||||||
.. image:: print_on_validation/delivery-slip.png
|
.. image:: print_on_validation/delivery-slip.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Example delivery slip.
|
:alt: Example delivery slip.
|
||||||
|
|
||||||
.. _inventory/shipping_receiving/return-slip:
|
.. _inventory/shipping_receiving/return-slip:
|
||||||
|
|
||||||
Return slip
|
Return slip
|
||||||
@ -71,6 +73,7 @@ the return operation.
|
|||||||
.. image:: print_on_validation/return-slip.png
|
.. image:: print_on_validation/return-slip.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Example return slip.
|
:alt: Example return slip.
|
||||||
|
|
||||||
.. _inventory/shipping_receiving/product-labels:
|
.. _inventory/shipping_receiving/product-labels:
|
||||||
|
|
||||||
Product labels
|
Product labels
|
||||||
@ -122,6 +125,7 @@ be printed as:
|
|||||||
.. note::
|
.. note::
|
||||||
Product labels can be manually printed from any delivery order, by clicking the :guilabel:`Print
|
Product labels can be manually printed from any delivery order, by clicking the :guilabel:`Print
|
||||||
Labels` button.
|
Labels` button.
|
||||||
|
|
||||||
.. _inventory/shipping_receiving/lot-sn-labels:
|
.. _inventory/shipping_receiving/lot-sn-labels:
|
||||||
|
|
||||||
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
|
- :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.
|
(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.
|
||||||
|
|
||||||
|
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 57 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 7.5 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 21 KiB |