Skip to content
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

[17.0][MIG] delivery_schenker #841

Closed
wants to merge 26 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8d2e9c3
[ADD] delivery_schenker: New module
chienandalu Aug 20, 2021
a983848
[UPD] Update delivery_schenker.pot
oca-travis Dec 11, 2021
ee9c2d7
[UPD] README.rst
OCA-git-bot Dec 11, 2021
cef92b4
[FIX] delivery_schenker: undeclared method
chienandalu Dec 14, 2021
323da3b
[UPD] Update delivery_schenker.pot
oca-travis Dec 14, 2021
044f7e3
delivery_schenker 13.0.1.0.1
OCA-git-bot Dec 14, 2021
71e0572
[IMP] delivery_schenker: black, isort, prettier
hildickethan Dec 13, 2021
d805d61
[MIG] delivery_schenker: Migration to 14.0
hildickethan Dec 13, 2021
a2727ff
[IMP] delivery_schenker: Minimum for volume
hildickethan Dec 14, 2021
6df0ed1
[IMP] delivery_schenker: Add tracking
hildickethan Dec 14, 2021
50cc211
[IMP] delivery_schenker: Print extra label button
hildickethan Dec 14, 2021
4ee5c44
[I18N] delivery_schenker: Spanish translation
hildickethan Dec 14, 2021
76f0222
[UPD] Update delivery_schenker.pot
oca-travis Dec 14, 2021
0d46396
[UPD] README.rst
OCA-git-bot Dec 14, 2021
855bbb8
[14.0][IMP] delivery_schenker: Return expected dict instead of error
hildickethan Jan 13, 2022
0c93d49
[UPD] Update delivery_schenker.pot
Oct 17, 2022
7d3d9ad
delivery_schenker 14.0.1.0.1
OCA-git-bot Oct 17, 2022
1f43f53
Update translation files
weblate Oct 17, 2022
39b5b68
[UPD] Update delivery_schenker.pot
Nov 3, 2022
1e834bf
Update translation files
weblate Nov 3, 2022
0121fbf
[FIX] delivery_schenker: fix missing dependency, before there was no …
mt-software-de Mar 24, 2023
df02d1b
[IMP] delivery_schenker: black, isort, prettier
ferran-S73 Apr 18, 2023
d26d0c3
[16.0][MIG] delivery_schenker
ferran-S73 Apr 18, 2023
8d6110a
[IMP] delivery_schenker: pre-commit auto fixes
pablo-marin-s73 Jun 25, 2024
9d53fd3
[17.0][MIG] delivery_schenker: Migration to 17.0
pablo-marin-s73 Jun 26, 2024
0abcf08
[DON'T MERGE] test-requirements.txt
pablo-marin-s73 Jul 2, 2024
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
191 changes: 191 additions & 0 deletions delivery_schenker/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
=================
Delivery Schenker
=================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:066cbe8cb2e06129b8fe498984627ea925b84a1b2fbbf5963a15f2595ef7de80
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github
:target: https://github.com/OCA/delivery-carrier/tree/17.0/delivery_schenker
:alt: OCA/delivery-carrier
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/delivery-carrier-17-0/delivery-carrier-17-0-delivery_schenker
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/delivery-carrier&target_branch=17.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module links the `DB Schenker <https://www.dbschenker.com>`__
booking and tracking APIs with Odoo delivery system.

**Table of contents**

.. contents::
:local:

Installation
============

This module depends on the zeep python library and the
OCA/delivery-carrier delivery_package_number and delivery_state modules.

The Schenker API doesn't provide delivery rating methods, so OCA's
delivery_price_method is advised in order to use this carrier in a sales
workflow.

Configuration
=============

To configure a Schenker delivery method:

1. Go to *Inventory > Configuration > Delivery > Shipping methods* and
create a new one.
2. Choose *DB Schenker* as provider.
3. Configure the service parameters according to your contract
considerations.
4. Choose a delivery product and a default packaging. This is mandatory
for the booking request as it needs the packaging code.

To make tests, set the carrier environment to test from the smart
button. Don't forget to set it to production once you're ready to use
the delivery method!

Usage
=====

These are the operations possible with this module:

Place shipping bookings
-----------------------

1. When the picking is validated, the shipping will be booked at
Schenker.
2. With the response, we'll receive the delivery tracking number and the
pdf label in a chatter message and it will be kept as attachment to
the document.
3. You can manage packages number either with the proper Odoo workflows
or with the package number field available in the *Additional Info*
tab. You'll get as many labels as declared packages.

Cancel bookings
---------------

1. As in other carriers, we can cancel the shipping after the picking is
done. To do so, go to *Additional Info* tab and click on the *Cancel*
action on the side of the tracking number.
2. We can generate a new shipping if necessary.

Get labels
----------

1. If by chance we delete the generated labels, we can obtain them again
hitting the *Schenker Label* buttons in the header of the picking
form.

Tracking
--------

1. The module is integrated with delivery_state to be able to get the
tracking info directly from the DB Schenker API.
2. To do so, go to a picking shipped with Schenker. In the *Additional
Info* tab you'll find an action button to *Update tracking state* so
the state will be updated from the Schenker API.

Debugging
---------

The API calls and responses are tracked in two special fields in the
picking that can be viewed by technical users. You can also log them in
as ir.logging records setting the carrier debug on from the smart
button.

Known issues / Roadmap
======================

- There's no dummy access key to test API calls so no tests can be
performed.
- The test booking and shipping APIs databases aren't connected so it
isn't possible to perform trackings on test mode.
- Only land shipping is implemented, although the module is prepared
for extend to air and ocean just considering the mandatory request
fields for those methods. Some additional adaptations could be needed
(e.g.: origin and destination airport, port) anyway.
- Only volume is supported as a measure unit and with the limitations
of Odoo itself. To enjoy a full fledged volume support, install and
configure the OCA’s stock_quant_package_dimension module and its
dependencies. The connector is ready to make use of their volume
computations.
- It’d be needed to extend the method to support Schenker measure units
such as loading pieces or pallet space.
- Some more booking features aren’t yet supported although can be
extended in the future. Some of those, although the complete list
would be really extensive:

- Dangerous goods.
- Driver pre-advise.
- Transport temperature.
- Customs clearance.
- Cargo insurance.
- Cash on delivery.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/delivery-carrier/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_schenker%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Tecnativa
* Studio73

Contributors
------------

- `Tecnativa <https://www.tecnativa.com>`__:

- David Vidal

- `Studio73 <https://www.studio73.es>`__:

- Ethan Hildick

- Michael Tietz (MT Software) <[email protected]>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/delivery-carrier <https://github.com/OCA/delivery-carrier/tree/17.0/delivery_schenker>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions delivery_schenker/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
22 changes: 22 additions & 0 deletions delivery_schenker/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2021 Tecnativa - David Vidal
# Copyright 2021 Studio73 - Ethan Hildick <[email protected]>
# Copyright 2023 Studio73 - Ferran Mora <[email protected]>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Delivery Schenker",
"summary": "Delivery Carrier implementation for DB Schenker API",
"version": "17.0.1.0.0",
"category": "Stock",
"website": "https://github.com/OCA/delivery-carrier",
"author": "Tecnativa, Studio73, Odoo Community Association (OCA)",
"license": "AGPL-3",
"application": False,
"installable": True,
"depends": ["delivery_package_number", "delivery_state"],
"external_dependencies": {"python": ["zeep"]},
"data": [
"views/delivery_schenker_view.xml",
"views/stock_picking_views.xml",
"data/delivery_schenker_data.xml",
],
}
Loading
Loading