How to allow Supplier and Customer to edit entry not created by himself

i want the supplier to edit some entry i as administrator created.
Let’s say i want the supplier to update (not to create) the shipping date of a specific purchase order.
i Created a new doc called Purchase Order Tracking from which i request to the supplier some information then update the Purchase Order Accordingly. The main problem i face is that the Supplier can’t access the Purchase Order Tracking i created only the ones he creates. when trying to access them i get “You do not have enough permissions to complete the action”.
An other example is for Customer to let them update the Addresses that desk users added not only the ones he created.
Could some one help please ?

1 Like

Using the has_website_permission hook solved my problem.
in my case i added to

has_website_permission = { "Purchase Order Tracking": "erpnext.controllers.website_list_for_contact.has_website_permission", }

HI @Steven_Athouel
this is one of the best topics i found about the tracking of purchase order
please help me doing the same .
i have duplicated Purchase Order DocType with name Purchase Order Tracking
i need the supplier to update every item status ,quantity,shipping,transferring and etc.
but i dont know how to start!!!
please post your scripts and images of how did you performed your steps

thank you in advance


  1. Build a doctype that will have to “track” your purchase order let’s say Purchase Order Tracking with a link field within it that link the tracking to the purchase order AND an other link field for the supplier of the Purchase Order
  2. add to this doctype all the fields you want to track let’s say loading date (the ones you want your suppliers to fill)
  3. Create a webform that is link to the purchase order tracking
  4. For each supplier you will have to create at least one user linked to it and add user permission (User Permission doctype) to this user when you allow him to see only the PO Tracking Entries where he appears.
  5. update has_website_permission in your (see the solution of this topic) in order to allow supplier to edit PO tracking via webform.