Optimal Methods for Personalising ERPNext Modules: Seeking Advice

Hello Everyone :hugs:,

I’m relatively new to working with ERPNext, and I’ve recently started exploring some customizations for my company’s implementation. However, as I dive deeper into the customization options, I’ve encountered a few challenges and would greatly appreciate the community’s insights on best practices for customizing ERPNext modules.

My specific questions are:

  1. Which customization approach is recommended for scalability and future upgrades? For example, would you advise using the built-in Customization tools like Custom Fields, or should I consider creating a separate custom app using Frappe? How do these approaches differ in terms of maintenance and stability over time?
  2. How can I manage custom scripts effectively? While custom scripts have proven to be quite useful for adding client-side functionality, I’m wondering if there are any particular guidelines or techniques that the community follows to ensure these scripts don’t break during system updates.
  3. What’s the best way to handle custom reports? I’ve noticed that custom reports often require specific SQL queries, but I want to ensure they remain optimized as my database grows. Are there any tips for building custom reports that won’t hinder performance, particularly when dealing with large datasets? :thinking:
  4. Are there specific tools or methods you use for testing customizations before pushing them to production? I’d like to ensure that any customizations we make don’t negatively impact other parts of the system. Are there any recommended workflows or tools that help mitigate risks? :thinking:

Thank you in advance for your advice and guidance. Any resources or alteryx documentation that you think would help me would also be appreciated.