diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst index 34c1f0904..abc4d001d 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst @@ -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 ` + Configuration ============= diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation.rst b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation.rst index fa16590f2..e2bd6b6aa 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation.rst @@ -12,10 +12,10 @@ receipt, picking, delivery orders, quality checks): #. :ref:`Return slip ` #. :ref:`Product labels of items in the order ` #. :ref:`Lot and serial number labels ` -#. Carrier labels -#. Export documents -#. Package Content -#. Package label +#. :ref:`Carrier labels ` +#. :ref:`Export documents ` +#. :ref:`Package content ` +#. :ref:`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 + `. +#. :doc:`Connect a printer <../../../../general/iot/devices/printer>` to Odoo's *IoT* app. +#. :ref:`Assign the carrier label to the printer `. +#. Configure the shipping method's :ref:`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 + `. + +.. 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 +`: + +- 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 ` + +.. _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 + `. +#. :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 +`, 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. + diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/export-doc.png b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/export-doc.png new file mode 100644 index 000000000..c83ed69a1 Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/export-doc.png differ diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/fedex-carrier-label.png b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/fedex-carrier-label.png new file mode 100644 index 000000000..c915a68db Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/fedex-carrier-label.png differ diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/label-type.png b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/label-type.png new file mode 100644 index 000000000..e0f0ee923 Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/label-type.png differ diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/package-barcode.png b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/package-barcode.png new file mode 100644 index 000000000..7843ef2b4 Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/package-barcode.png differ diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/package-content.png b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/package-content.png new file mode 100644 index 000000000..f29506c1e Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/package-content.png differ diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/printer-report.png b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/printer-report.png new file mode 100644 index 000000000..4a0e4d875 Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/printer-report.png differ diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/select-printer.png b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/select-printer.png new file mode 100644 index 000000000..6f6894dd9 Binary files /dev/null and b/content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/print_on_validation/select-printer.png differ