Does Frappe really just permit a single form customisation for a given document type? What if I want to create a Customer entry form for my Sales users which hides the financial information, and a different customer entry form for financial users which hides the CRM information? How might I achieve this without extensive scripting?
You can create a custom doctype with all required fields and child tables without writing any code.
Or use the User and Role permissions scenario.
Maybe you can even go to field level permissions.