MyParcel - Odoo Connector (PostNL, Sendmyparcel)

by
Odoo

107.15

v 14.0 Third Party 37
Live Preview
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Sales (sale_management)
Discuss (mail)
Invoicing (account)
Inventory (stock)
Lines of code 2255
Technical Name delivery_myparcel
LicenseOPL-1
Websitehttps://ventor.tech
Versions 17.0 13.0 16.0 14.0 15.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Sales (sale_management)
Discuss (mail)
Invoicing (account)
Inventory (stock)
Lines of code 2255
Technical Name delivery_myparcel
LicenseOPL-1
Websitehttps://ventor.tech
Versions 17.0 13.0 16.0 14.0 15.0

MyParcel - Odoo Connector (Backend)

by VentorTech

Fully integrated with MyParcel.nl. Allows applying all MyParcel's delivery options, get shipping costs, tracking numbers, and fetch shipping labels right in the Odoo standard interface without even interaction with MyParcel.

Description

The app connects Odoo and your MyParcel account

All MyParcel's / PostNL package types and related delivery options are available in your Odoo standard interface. There's no need to interact with MyParcel

You can process the whole workflow from creating a quote to ship goods from your warehouse in Odoo

Workflow

TEST THE MODULE ON OUR DEMO SERVER - https://odoo.ventor.tech/

Use your MyParcel API for tests (check out the "Documentation" tab)

Key points

  • Fully integrated with MyParcel.nl (all features are available in Odoo standard)
  • Delivery within all EU
  • All options of PostNL for deliveries in The Netherlands
  • Getting rates by API online (while a sales order creation)
  • Dynamic shipping rates (by API) or your custom fixed rates
  • Fetching tracking number and shipping labels
  • Changing shipping options for the delivery stage
  • * Automatic printing of shipping labels with Odoo Direct Print app or Ventor app
  • Compatible with the Ventor mobile app (https://ventor.tech/ventor-mobile-app-for-odoo-inventory/)
  • Delivery to customer addresses or MyParcel / PostNL pickup points
  • Suggestions of the closest pickup points
  • Insurance

Demo

Log in to our demo server by clicking the button "Live Preview" on the top of this page.

Manage

Get rates by API instantly while quoting or creating sales orders

Change any shipping option for the delivery stage

Get tracking number and shipping labels from MyParcel / PostNL after transfer validation

* And print it automatically with our Odoo Direct Print app

* Or print on a printer connected to your barcode scanner with the Ventor app

Use any of available MyParcel package types for your deliveries

Fixed and dynamic shipping rates. Receive dynamic rates online from MyParcel, or set up your own fixed rates manually

Deliver across all of the European Union

Coming soon

  • The Netherlands translation
  • Integration with the Odoo Website (separate module)

TEST THE MODULE ON OUR DEMO SERVER - https://odoo.ventor.tech/

Use your MyParcel API for tests (check out the "Documentation" tab)

Bugs reporting and features requests

If you have questions, need any help, or have a customization request, please contact us at support@ventor.tech.

Installation and Configuration

The installation module requires the following knowledge:

  • How to install a module on your Odoo Instance (self-hosted or odoo.sh)

Module installation and configuration are not included in the module's price. Refer to the "Documentation" tab in the current module for installation details.

If you need help, you can request paid support via support@ventor.tech.

Description

De app verbindt Odoo en uw MyParcel (PostNL) account

Alle MyParcel's/PostNL pakkettypen en gerelateerde bezorgopties zijn beschikbaar in Odoo standaard interface. Het is niet nodig interactie te hebben met MyParcel

U kunt de hele workflow in Odoo verwerken, van het creëren van een offerte tot het verzenden van goederen vanuit uw magazijn

Workflow

TEST THE MODULE ON OUR DEMO SERVER - https://odoo.ventor.tech/

Use your MyParcel API for tests (check out the "Documentation" tab)

Key points

  • Geheel geïntegreerd met MyParcel.nl (alle functies zijn in Odoo standaard beschikbaar)
  • Delivery within all EU
  • All options of PostNL for deliveries in The Netherlands
  • Krijg tarieven via API online (tijdens het aanmaken van een verkooporder)
  • Dynamisch verzenden (by API) of uw aangepaste vaste tarieven
  • Fetching tracking number and shipping labels
  • Changing shipping options for the delivery stage
  • * Automatic printing of shipping labels with Odoo Direct Print app en Ventor app
  • Compatibel met de Ventor mobiele app (https://ventor.tech/ventor-mobile-app-for-odoo-inventory/)
  • Leveren aan klantadressen of MyParcel/PostNL pickup punten
  • Suggestions of the closest pickup points
  • Insurance

Demo

Log in to our demo server by clicking the button "Live Preview" on the top of this page.

Beheer

Krijg tarieven direct via API terwijl u offreert of verkooporders aanmaakt

Verander elke verzendoptie voor de leveringsfase

Krijg het trackingnummer en verzendlabels via MyParcel/ PostNL na overdrachtvalidatie

* En print het automatisch met onze Odoo Direct Print app

* Of print op een printer die verbonden is met uw barcodescanner met de Ventor app

Gebruik elk van de beschikbare MyParcel pakkettypen voor uw leveringen

Vaste en variabele verzendkosten Ontvang online dynamische tarieven van MyParcel, of stel uw eigen vaste tarieven handmatig in

Lever in de hele Europese Unie

Coming soon

  • The Netherlands translation
  • Integration with the Odoo Website (separate module)

TEST THE MODULE ON OUR DEMO SERVER - https://odoo.ventor.tech/

Use your MyParcel API for tests (check out the "Documentation" tab)

Bugs reporting and features requests

If you have questions, need any help, or have a customization request, please contact us at support@ventor.tech.

Installation and Configuration

The installation module requires the following knowledge:

  • How to install a module on your Odoo Instance (self-hosted or odoo.sh)

Module installation and configuration are not included in the module's price. Refer to the "Documentation" tab in the current module for installation details.

If you need help, you can request paid support via support@ventor.tech.

Quick configuration guide


  1. Install the "MyParcel.nl Odoo Connector" app on your server

images/image10.png

  1. Go to Sales > Configuration > Shipping Methods and select MyParcel.nl / Package

images/image11.png

  1. Go to your account on https://myparcel.nl/ > Account settings > General and copy your API key

images/image12.jpg

  1. Then return to your Odoo shipping methods and insert the API key into a related field. Save settings

images/image13.png

  1. After you finish with settings, Publish the method.

images/image14.png

That is it. Now you can deliver your goods with MyParcel.nl / Post.nl


Change Log


  • 1.7.14 (2024-01-12)
    • Fixed a issue with JSONDecodeError
  • 1.7.13 (2023-11-27)
    • Fix of customer delivery phone
  • 1.7.12 (2023-11-08)
    • Fix fetching delivery option when delivering from NL to BE (and vice versa)
    • Fix of customer delivery email address
  • 1.7.11 (2023-05-12)
    • For Bpost do not request delivery date
  • 1.7.10 (2023-03-14)
    • Fixed warnings during module upgrade
  • 1.7.9 (2023-03-06)
    • Avoid fetching delivery options for countries different from NL and BE
  • 1.7.8 (2023-02-23)
    • Recording the history of delivery date and time changes on sales orders and delivery order (to simplify analysis)
  • 1.7.7 (2023-02-10)
    • Fix issue with errors that were showed when we were trying to delivery to countries different from Netherlands and Belgium
  • 1.7.6 (2022-08-16)
    • Adapted module to work with accounts created on https://www.sendmyparcel.be/ Now it is possible to specify Country Code on Delivery Method settings (default to Netherlands)
  • 1.7.5 (2022-05-19)
    • Send company name from contact if it exists (from special Odoo field)
  • 1.7.4 (2022-05-18)
    • Fix getting delivery options for NL addresses
  • 1.7.3 (2021-10-21)
    • Fix issue with impossibility to confirm orders from non-NL / non-BE countries in case option "Apply default delivery type = Delivery" is set
    • Do not throw error in case auto-confirmation is happening with third-party connectors
  • 1.7.2 (2021-10-06)
    • Removed UK from supported countries list (due to Brexit)
  • 1.7.1 (2021-10-04)
    • Fix issue with impossibility to Get Rate on Sales Order for other EU Customers (not NL/BE)
  • 1.7 (2021-09-24)
    • Added possibility to click on tracking URLs for myparcel
  • 1.6.1 (2021-08-27)
    • Fix issue with resetting delivery type after selecting Pickup Location
  • 1.6.0 (2021-03-03)
    • Add possibility to Refresh Delivery options on Delivery Order, that allows to preselect another date and time
  • 1.5.1 (2021-03-01)
    • Default delivery options are applied on SO confirmation instead of SO creation
  • 1.5 (2021-02-23)
    • Apply Default Delivery Options in case integrating with third-party connectors and they do not have proper integration with myparcel delivery carrier
  • 1.4 (2021-02-12)
    • Automatically select "Delivery" as Delivery Method Type in Carrier Selection Wizard if myparcel Delivery Carrier is selected
    • Auto fill earliest "Delivery Date" and cheapest "Delivery Time" in Carrier Selection Wizard
    • Fixed bug that will not allow to select Delivery Date after clicking "Get Rate" button
    • Fixed bug that was prohibiting to use MyParcel Delivery method, when it has Debug enabled
    • Allow automatic downloading of return label after Picking Validation

    Learn more about the new settings

  • 1.3.1 (2020-09-15)
    • Allow option "Signature upon receipt" for pickup/express
  • 1.3 (2020-09-11)
    • Require street number only for NL recipients
    • Require delivery date only for NL recipients
  • 1.2 (2020-08-31)
    • Post tracking links and tracking numbers in picking chatter
  • 1.1 (2020-03-09)
    • Service Points (pickup locations) implementation
  • 1.0 (2020-02-13)
    • Deliveries integration with MyParcel.nl

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
There are no ratings yet!
Error with my parcel app
by
Bouke Steemers
on 1/12/24, 7:03 AM Confirmed Purchase

Hi Ventor i get the following error when i try to validate a delivery order. 

Coud you help me with this?

Odoo Server Error

 

Traceback (most recent call last):

  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_http.py", line 237, in _dispatch

    result = request.dispatch()

  File "/home/odoo/src/odoo/odoo/http.py", line 696, in dispatch

    result = self._call_function(**self.params)

  File "/home/odoo/src/odoo/odoo/http.py", line 370, in _call_function

    return checked_call(self.db, *args, **kwargs)

  File "/home/odoo/src/odoo/odoo/service/model.py", line 94, in wrapper

    return f(dbname, *args, **kwargs)

  File "/home/odoo/src/odoo/odoo/http.py", line 358, in checked_call

    result = self.endpoint(*a, **kw)

  File "/home/odoo/src/odoo/odoo/http.py", line 919, in __call__

    return self.method(*args, **kw)

  File "/home/odoo/src/odoo/odoo/http.py", line 544, in response_wrap

    response = f(*args, **kw)

  File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 1374, in call_button

    action = self._call_kw(model, method, args, kwargs)

  File "/home/odoo/src/user/printnode_base/controllers/main.py", line 50, in _call_kw

    return super(DataSetProxy, self)._call_kw(model, method, args, kwargs)

  File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 1362, in _call_kw

    return call_kw(request.env[model], method, args, kwargs)

  File "/home/odoo/src/odoo/odoo/api.py", line 404, in call_kw

    result = _call_kw_multi(method, model, args, kwargs)

  File "/home/odoo/src/odoo/odoo/api.py", line 391, in _call_kw_multi

    result = method(recs, *args, **kwargs)

  File "/home/odoo/src/user/printnode_base/models/stock_picking.py", line 42, in button_validate

    res = super(StockPicking, self).button_validate()

  File "/home/odoo/src/odoo/addons/stock/models/stock_picking.py", line 974, in button_validate

    pickings_to_backorder.with_context(cancel_backorder=False)._action_done()

  File "/home/odoo/src/user/common_connector_library/models/stock_picking.py", line 15, in _action_done

    result = super(StockPicking, self)._action_done()

  File "/home/odoo/src/odoo/addons/sale_stock/models/stock.py", line 91, in _action_done

    res = super()._action_done()

  File "/home/odoo/src/odoo/addons/stock/models/stock_picking.py", line 801, in _action_done

    self._send_confirmation_email()

  File "/home/odoo/src/odoo/addons/delivery/models/stock_picking.py", line 183, in _send_confirmation_email

    pick.sudo().send_to_shipper()

  File "/home/odoo/src/user/printnode_base/models/stock_picking.py", line 108, in send_to_shipper

    super(StockPicking, self).send_to_shipper()

  File "/home/odoo/src/user/common_connector_library/models/stock_picking.py", line 38, in send_to_shipper

    return super(StockPicking, self).send_to_shipper()

  File "/home/odoo/src/odoo/addons/delivery/models/stock_picking.py", line 225, in send_to_shipper

    res = self.carrier_id.send_shipping(self)[0]

  File "/home/odoo/src/odoo/addons/delivery/models/delivery_carrier.py", line 194, in send_shipping

    return getattr(self, '%s_send_shipping' % self.delivery_type)(pickings)

  File "/home/odoo/src/user/delivery_myparcel/models/delivery_carrier.py", line 275, in myparcelnl_send_shipping

    picking.fetch_delivery_options(target_model_clean=False)

  File "/home/odoo/src/user/delivery_myparcel/models/myparcel_mixin.py", line 274, in fetch_delivery_options

    delivery_options = self.carrier_id.myparcelnl_get_delivery_options(

  File "/home/odoo/src/user/delivery_myparcel/models/delivery_carrier.py", line 545, in myparcelnl_get_delivery_options

    result = myparcelnl_request.get_delivery_options(

  File "/home/odoo/src/user/delivery_myparcel/models/myparcelnl_request.py", line 387, in get_delivery_options

    response = self._send_request(

  File "/home/odoo/src/user/delivery_myparcel/models/myparcelnl_request.py", line 543, in _send_request

    return json.loads(response.text)

  File "/usr/lib/python3.8/json/__init__.py", line 357, in loads

    return _default_decoder.decode(s)

  File "/usr/lib/python3.8/json/decoder.py", line 337, in decode

    obj, end = self.raw_decode(s, idx=_w(s, 0).end())

  File "/usr/lib/python3.8/json/decoder.py", line 355, in raw_decode

    raise JSONDecodeError("Expecting value", s, err.value) from None

Exception

 

The above exception was the direct cause of the following exception:

 

Traceback (most recent call last):

  File "/home/odoo/src/odoo/odoo/http.py", line 652, in _handle_exception

    return super(JsonRequest, self)._handle_exception(exception)

  File "/home/odoo/src/odoo/odoo/http.py", line 317, in _handle_exception

    raise exception.with_traceback(None) from new_cause

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)



I highly recommend it to anyone who is looking to add MyParcel as a delivery option.
by
Bojan Anchev
on 8/28/21, 5:54 PM

I was developing extra features for a client that bought this module, I am very satisfied with the features that were added in this module. Keep in mind if you buy this module you will need to develop another module that will cover the same features on the frontend side. But mainly every case scenario is covered, VentorTech did a great job analyzing the API and as a result, they developed an excelent module. Keep up the good work.

Best regards, Bojan