From 38c244256764c06b37e291059fbb9bdfa24c233c Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 28 Nov 2023 20:54:37 +0100 Subject: [PATCH] Add ability to add 'description' field to package, not just shipment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit seit Januar 2023 muss für den Versand nach Mexiko eine Paketbeschreibung übergeben werden. UPS schreibt dazu: Hide quoted text However, as of January of 2023, the Mexican Tax Authority adopted the Carta Porte requirements, which mandate that all shipments to and within Mexico include a Package Description field that accurately describes the contents of the shipment. Sie übergeben die Beschreibung derzeit auf der shipment-Ebene: }, "carrier": "ups", "package": { "type": "parcel", "width": 20, "height": 4, "length": 27, "weight": 0.48 }, "service": "one_day", "incoterm": "dap", "description": "sim cards", "reference_number": "AM93\\OUT\\07008", "notification_mail": "roman.rohleder@gmail.com", "create_shipping_label": true } Sie müssen aber sowohl auf shipment-Ebene, als auch auf package-Ebene eine description angeben, damit ein Label erstellt wird. Z.B.: }, "carrier": "ups", "package": { "type": "parcel", "width": 20, "height": 4, "length": 27, "weight": 0.48", "description": "sim cards" }, "service": "one_day", "incoterm": "dap", "description": "sim cards", "reference_number": "AM93\\OUT\\07008", "notification_mail": "roman.rohleder@gmail.com", "create_shipping_label": true } --- models/shipcloud.py | 4 +++- models/shipcloud_delivery_carrier.py | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/models/shipcloud.py b/models/shipcloud.py index fb7816c..55fffbc 100644 --- a/models/shipcloud.py +++ b/models/shipcloud.py @@ -154,7 +154,7 @@ def gen_customs_decl(currency, invoice_nr, net_total, items, importer_ref=None, return customs_decl -def gen_package(width_cm, length_cm, height_cm, weight_kgs, value=None, currency=None): +def gen_package(width_cm, length_cm, height_cm, weight_kgs, value=None, currency=None, descr=None): """Generate a dict for a package in accordance with https://developers.shipcloud.io/reference/shipments_request_schema.html""" package = { @@ -171,6 +171,8 @@ def gen_package(width_cm, length_cm, height_cm, weight_kgs, value=None, currency 'amount': value, 'currency': currency, } + if descr: + package['description'] = descr return package diff --git a/models/shipcloud_delivery_carrier.py b/models/shipcloud_delivery_carrier.py index dca03b5..948d068 100644 --- a/models/shipcloud_delivery_carrier.py +++ b/models/shipcloud_delivery_carrier.py @@ -93,6 +93,7 @@ class SCDeliveryCarrier(models.Model): """Convert an Odoo stock.picking or sale.order into a shipcloud package""" pkg = {} pkg['type'] = 'parcel' + pkg['description'] = picking.sc_content_desc if picking: pkg['weight'] = self._get_weight_with_tare(order, picking) pkg['length'] = picking.packaging_length