Community mailing list archives

community@mail.odoo.com

Shipping module for v7 released on github.com

by
Chris Jones
- 04/09/2015 11:18:58
I posted an Indiegogo campaign a few days ago. It hasn't had much activity. I've decided to release my current v7 shipping module today. If you like the module and would like to donate it would be appreciated and would allow me to add more features to it. I have a tremendous amount of unpaid time and money in this module. It's taken a small team a year to develop and thoroughly test. 

https://github.com/saasier1/saasier_public_addons
saasier_shipping
saasier_shipping_3dpack
saasier_shipping_webhook

I will be posting documentation on www.saasier.com soon. It's a very extensive module. Here's a little to get you started. 

It's been loosely integrated with the old OpenLabs Magento connector to import the Carrier and shipping method. I have a bunch of other modifications to that module that won't be useful to anyone else so I'm not posting it. Someone should modify the new Magneto connector to work with this module. 

Right now it supports Easypost.com (which supports UPS, Fedex, USPS), Stamps.com and 3Dbinpacking.com for optionally selecting boxes based on product size rules. If you like UPS Worldship (I don't) there's also an option to export an XML file formatted for Worldship instead of a shipping label directly in here. 

To put in the API keys to Easypost and Stamps go to res.company, Shipping tab. There are two shipping templates, one uses Duplex Pack Slip labels (two sided) and the other uses UPS thermal. 

Labels are generated by the Scheduler every couple of minutes. This allows for much longer connections to the APIs without timing out. In Shipping Labels (stock.picking.out.label) you'll see two fields, Label Created and Label Printed. Label Created is checked once the labels have downloaded via the Scheduler, give it a few minutes. Label Printed is checked once you print the label, this way you can keep track of which ones you've printed. 

If a shipment is kicked back from the API it will put a note in the Error Note field in the Delivery Order. Uncheck Faulty if you want to process it again. Under res.partner there's a checkbox called Address Validation. If you're shipping to a known good address but API is saying it's bad, uncheck that. 

Be sure to configure box.setup and if you're shipping UPS or USPS Priority (non flat rate) you'll need to specify a Box in the Pack of a Delivery Order. You also need to put the weight of your products in product.product.weight_net. Weight is in lbs. 

saasier_shipping_webhook is a Flask application that listens for tracking number status updates from Easypost and uses xmlrpc to update OpenERP with the status of the shipment. 

You might run across some dependencies that need to be installed. One I can think of off the top of my head is Easypost. https://github.com/EasyPost/easypost-python and Stamps.com https://github.com/jzempel/stamps

There are even more hidden gems in the module such as auto packing rules, splitting orders between warehouses, etc. Enjoy. 


--
Chris Jones
SaaSier.com
Open Source ERP Solutions
310-400-0256