How to create packing list

Customization in general is covered here:
https://docs.erpnext.com/docs/user/manual/en/customize-erpnext

Linking fields between Doctypes is, IMO, not as easily understood or well documented , there may be some posts here that can help:

https://discuss.frappe.io/t/how-to-fetch-data-from-child-table-on-other-doctype/73077/2