erpnext_shopify

Hi guys,

I’m working right now with your erpnext_shopify module. I’ve manage to install it and sync it with a new shopify account. It’s work great.

Unfortunately when I tried to use it with an existing shopify account it wouldn’t want to sync anymore.

here’s the error code :

erpnext_shopify.api.sync_shopify

Method: hourly, Handler: erpnext_shopify.api.sync_shopify
Traceback (innermost last):
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/tasks.py”, line 110, in scheduler_task
frappe.get_attr(handler)()
File “/home/ubuntu/frappe-bench/apps/erpnext_shopify/erpnext_shopify/api.py”, line 25, in sync_shopify
sync_products(shopify_settings.price_list, shopify_settings.warehouse)
File “/home/ubuntu/frappe-bench/apps/erpnext_shopify/erpnext_shopify/sync_products.py”, line 19, in sync_products
sync_shopify_items(warehouse, shopify_item_list)
File “/home/ubuntu/frappe-bench/apps/erpnext_shopify/erpnext_shopify/sync_products.py”, line 24, in sync_shopify_items
make_item(warehouse, shopify_item, shopify_item_list)
File “/home/ubuntu/frappe-bench/apps/erpnext_shopify/erpnext_shopify/sync_products.py”, line 30, in make_item
create_item(shopify_item, warehouse, 1, attributes, shopify_item_list=shopify_item_list)
File “/home/ubuntu/frappe-bench/apps/erpnext_shopify/erpnext_shopify/sync_products.py”, line 123, in create_item
if not is_item_exists(item_dict, attributes):
File “/home/ubuntu/frappe-bench/apps/erpnext_shopify/erpnext_shopify/sync_products.py”, line 251, in is_item_exists
item = frappe.get_doc(“Item”, {“item_name”: shopify_item.get(“item_name”)})
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”, line 530, in get_doc
return frappe.model.document.get_doc(arg1, arg2)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 46, in get_doc
return controller(arg1, arg2)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 75, in init
frappe.throw((“{0} {1} not found”).format((arg1), arg2), frappe.DoesNotExistError)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”, line 262, in throw
msgprint(msg, raise_exception=exc)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”, line 255, in msgprint
_raise_exception()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”, line 240, in _raise_exception
raise raise_exception, encode(msg)
DoesNotExistError: Item {‘item_name’: u’Acme Coaches Glove Whistle 246-585’} not found

The trouble appeared to be when the Item inside shopify is the master of several variant. I know erpnext support variant. Is it a new bug issue? Anyone else experience it?

I’ve post the issue there : Sync Item Master and Variant from shopify to erpnext error · Issue #53 · frappe/erpnext_shopify · GitHub

@chafor

Thanks for reporting, will fix this issue and update you soon.

@chafor

Fixed via Test cases fixes by saurabh6790 · Pull Request #55 · frappe/erpnext_shopify · GitHub

Please check and let us know.

1 Like

I did a bench update and everything work now!!! Thank you very much @saurabh6790

A new trouble appear! It’s seem it’s appear later in the process when it’s time to create a variable of the item :

post the issue here : ValidationError: BLU must appear only once · Issue #56 · frappe/erpnext_shopify · GitHub

Thank you

@chafor
Thanks for reporting.
We have fixed a issue, we will update you after release.

Thank you!

@chafor

Fixed via pull request [fixes] fix duplicate item variant attribute issue by saurabh6790 · Pull Request #57 · frappe/erpnext_shopify · GitHub

Please check and let us know.

Unfortunately I got the same error.

ValidationError: BLU must appear only once

I think it could be the way you create the abbreviation for the item attribute. I think you only put the first 3 lettre right? For exemple I got many type of color that begin with black : Black, black/silver, black/red, black/white…

What do you think?

I’ve manage to bypass the error by importing all the item attribute and manually input all the abbreviation. But now the trouble is some item do not possess description and it’s a bit of a pain the find which one by using the error log.

I think the log should be better. I’ll log the issue. Still that pluggin is really great!

Thank you @saurabh6790 !