Git Product home page Git Product logo

erpnext-shipping's Introduction

ERPNext Shipping

A Shipping Integration for ERPNext with various platforms. Platforms integrated in this app are:

Features

  • Creation of shipment to a carrier service (e.g. FedEx, UPS) via LetMeShip and SendCloud.
  • Compare shipping rates.
  • Printing the shipping label is also made available within the Shipment doctype.
  • Templates for the parcel dimensions.
  • Shipment tracking.

Installation

Install on Frappe Cloud or your own server:

cd ~/frappe-bench
bench get-app https://github.com/frappe/erpnext-shipping.git --branch version-14
bench --site $MY_SITE install-app erpnext_shipping

Setup

For the compare shipping rates feature to work as expected, you need to generate an API key from your service provider. Service providers have their own specific doctypes similar to those from the Integrations. They can be enabled or disabled depending on your needs.

LetMeShip 2020-08-05 09-54-28

Fetch Shipping Rates

core2

You can see the list of shipping rates by clicking the Fetch Shipping Rates button. Once you picked a rate, it will create the shipment for you.

Shipping Label

71bcfc9d-9d66-4a58-8238-1eeab4e9a24f 2020-08-05 09-48-32

The service provider will also provide the shipping label and to generate the label, click on the Print Shipping Label on top of the doctype.


License

MIT

erpnext-shipping's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

erpnext-shipping's Issues

Fetch Shipping Rates with Server Error

Hello @marination,

thanks for develop this extension for ERPnext. So i like to work with it in Germany with Packlink Pro. But i have some problems with this extension and i hope you can help me.

  • We have installed it and it will work. After i have created a new shipment and insert all data i will click on "Fetch shipping Rates"
  • After them i will get an Server Error / AttributeError: 'NoneType' object has no attribute 'upper'
  • After i click on "report" on this Error message i will get new message "Support Email Address Not Specified"

What exactly means this and how can i fix this error. Thanks for your help, best regards Thomas

response_data = {'error': {'code': 412, 'request': 'api/v2/parcels', 'message': 'User has no address data'}}

Thank you earlier issue was resolved but now another issue as per the below sendcloud and in erpnext verion-15 packlink is missing i am not sure why
'parcel_items': [{'description': 'Coffee', 'quantity': 1, 'weight': 1, 'value': '30000'}]}
response = <Response [412]>
response_data = {'error': {'code': 412, 'request': 'api/v2/parcels', 'message': 'User has no address data'}}
builtins.KeyError: 'parcels'

Do I need to add anywhere User address data? I already included the correct addresses but it is not working please advise.

Delivery Note-parcel_service cannot be changed to link from data

After the update there is a new error on migration, the Field CustomField: Delivery Note-parcel_service cannot be changed to link from data. I can Fix it over the DB but i think it is better to fix it ;)

  File "/opt/erpnext/apps/frappe/frappe/model/document.py", line 951, in fn
    return method_object(*args, **kwargs)
      self = <CustomField: Delivery Note-parcel_service>
      args = ()
      kwargs = {}
      method_object = <bound method CustomField.validate of <CustomField: Delivery Note-parcel_service>>
      method = 'validate'
  File "/opt/erpnext/apps/frappe/frappe/custom/doctype/custom_field/custom_field.py", line 187, in validate
    frappe.throw(
      self = <CustomField: Delivery Note-parcel_service>
      check_fieldname_conflicts = <function check_fieldname_conflicts at 0x7f010cf41e10>
      CustomizeForm = <class 'frappe.custom.doctype.customize_form.customize_form.CustomizeForm'>
      doc_before_save = <CustomField: Delivery Note-parcel_service>
      old_fieldtype = 'Data'
  File "/opt/erpnext/apps/frappe/frappe/__init__.py", line 578, in throw
    msgprint(
      msg = 'Fieldtype cannot be changed from Data to Link'
      exc = <class 'frappe.exceptions.ValidationError'>
      title = None
      is_minimizable = False
      wide = False
      as_list = False
  File "/opt/erpnext/apps/frappe/frappe/__init__.py", line 550, in msgprint
    _raise_exception()
      title = None
      as_table = False
      as_list = False
      indicator = 'red'
      alert = False
      primary_action = None
      is_minimizable = False
      wide = False
      realtime = False
      sys = <module 'sys' (built-in)>
      _raise_exception = <function msgprint.<locals>._raise_exception at 0x7f010cbeff40>
      _strip_html_tags = <functools._lru_cache_wrapper object at 0x7f010d057c10>
      msg = 'Fieldtype cannot be changed from Data to Link'
      out = {'message': 'Fieldtype cannot be changed from Data to Link', 'title': 'Message', 'indicator': 'red', 'raise_exception': 1, '__frappe_                                                                                                                                exc_id': 'ec1bab0e9709a521e087caa2b6ab9cf9285b5f051086f4f7de5115b8'}
      raise_exception = <class 'frappe.exceptions.ValidationError'>
      strip_html_tags = <function strip_html_tags at 0x7f011b98be20>
      ...skipped... 1 vars
  File "/opt/erpnext/apps/frappe/frappe/__init__.py", line 501, in _raise_exception
    raise exc
      exc = ValidationError('Fieldtype cannot be changed from Data to Link')
      msg = 'Fieldtype cannot be changed from Data to Link'
      out = {'message': 'Fieldtype cannot be changed from Data to Link', 'title': 'Message', 'indicator': 'red', 'raise_exception': 1, '__frappe_                                                                                                                                exc_id': 'ec1bab0e9709a521e087caa2b6ab9cf9285b5f051086f4f7de5115b8'}
      raise_exception = <class 'frappe.exceptions.ValidationError'>
      ...skipped... 1 vars
frappe.exceptions.ValidationError: Fieldtype cannot be changed from Data to Link

Originally posted by @thejoe8495 in #9 (comment)

Value too big Bad Request while fetching rates

Hi Getting the below error can guide how to resolve this

Error Log 3d87751d7c: 'Title' (Traceback (most recent call last): File "apps/erpnext_shipping/erpnext_shipping/erpnext_shipping/doctype/packlink/packlink.py", line 45, in get_available_services frappe.throw(error_message, title=_("PackLink")) File "apps/frappe/frappe/init.py", line 589, in throw msgprint( File "apps/frappe/frappe/init.py", line 561, in msgprint _raise_exception() File "apps/frappe/frappe/init.py", line 512, in _raise_exception raise exc frappe.exceptions.ValidationError: Bad Request ) will get truncated, as max characters allowed is 140

It is coming for both services packlink and letmeship

Version 14.2.0
ERPNext Version 15

Error in console when installing app

erpnext_shipping.utils.update_tracking_info_daily is not a valid method: No module named 'erpnext_shipping.utils'

Any ideas how to fix this? Does this mean the app wont track shipments?

Erpnext V14 manual hosted
Thank you.

Create better Exceptioninfo ;)

url=url, auth=(self.api_id, self.api_password), headers=headers, data=json.dumps(payload)

The error messageblock shows only error, it would be better to return the complete JSON from the server.
In our case the return was an undocumented:
{
"errorCode": 400,
"errorMessage": "Your request is not properly formatted, please refer to the documentation guide for sample requests"
}
The created JSON is valid but Letmeship don't want to accept it. We can reproduce it in the swagger ui of Letmeship and create an Ticket on Letmeship to find out where is the Problem n the JSON.
https://api.letmeship.com/v1/swagger-ui.html#/Available%20Services/getAvailableServicesUsingPOST

Can't figure out how to add parcel service type to preferred services

System info:

  • ERPNext: v14.63.3
  • ERPNext Germany: v14.4.2
  • ERPNext Shipping: v14.2.2
  • Frappe Framework: v14.66.2
  • Service Provider : Sendcloud

Problem description:

I have tried to follow the steps described in the documentation to add "UPS Standard 0-70 Kg" to the preferred services, but I can't figure out how to do it. When creating a new parcel service, I don't know where to get the correct values for the "parcel_service_name" & "parcel_service_code" fields, nor which url is needed in the "url_reference" field. The same goes for the fields of the "Parcel Service Type" doctype. I made sure to tick the "Show in Preferred Services List" checkbox, so that's not the problem.

Improvement suggestion:

It would be very helpful if the docs article could be expanded to include some example images for creating the Parcel Service and Parcel Service Type, as well as some information on where/how to find a list of allowed values.

Not able to get this up and running in frappe_docker

Hey,

I try to install this locally with frappe_docker manual: https://github.com/frappe/frappe_docker/blob/develop/docs/custom-apps-for-production.md

So I built two images: erpnext-shipping-nginx and erpnext-shipping-worker and replaced it in docker-compose.yml everywhere.

But I can not get this working, when logging in first time the frontend is showing:

FileNotFoundError: [Errno 2] No such file or directory: './assets/erpnext/js/setup_wizard.js'

Is there a howto? A Manual? A Readme? How to install this in frappe_docker?

Template shipment_service_selector not found.

I am using ERPNext/Frappe v14 and this is what I get when I try to fetch Shipping Rates on a Shipment:
image

I also needed to copy the shipment.min.js from the apps directory into the sites/assets/js directory for anything to work.

Is this plugin working with ERPNext v14?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.