You should list the changes you want to make. People here can help you decide what can be done without customization and what will need them
bench update pulls new code from Github into frappe and erpnext, and migrate schema changes to DB and more. They won’t be gone exactly, but they’ll definitely create conflicts when trying to update. Hence it is recommended to not commit any code in ERPNext/Frappe repositories or to add/remove fields in default doctypes via Edit Doctype. Also, don’t manipulate the database manually.
The best possible route for customization is the Custom App. You can add more functionality to the existing default doctypes but you cannot override the default code.
Thanks for your reply. Let me describe my needs so you or others will get a better idea of what I’m trying to achieve:
My company works with a single Customer, but working on multiple projects per year. Each project will have exactly the same tasks (there will be some minor details added for maybe 2 projects out of 20)
Flow: Note to Proceed —> Team A activities —> Reports —> Approval —> Team B Activities —> Reports —> Approval —> Additional Work if needed —> Project Completion
Project: Fields required will be Project ID, Project Name, Address, City, GPS Coordinate, PO Type, PO Date to name a few. The creator will be “Project Admin”.
Tasks: Tasks are under 2 fixed categories (or teams), and each team has a fixed set of tasks. If possible, I’d like to have all the tasks loaded automatically whenever I create new projects.
Project Updates: Project Updates will have all tasks listed as above. Each “Project Team User” will need to open individual tasks and update it accordingly (some will require uploading photo or pdf evidence)
I will need to generate reports based on the Project Doctype, with fixed report format provided by the customer
Based on your reply, and also after doing some reading, I think I will try with the Custom App. I’ll just have to spare some time to learn about hooks.