Extend existing DocTypes through custom apps

Whats the correct way to customize a doctype or form using a custom app?
My use case is as below:

I am trying to hide some fields from the Entry screen when the document loads and some tasks to perform while the document is validated. I have tried it but its not working. I am pasting my code of the the hooks.py file and the function below.

hooks.py


doc_events = {
	"Sales Invoice": {
		"validate": "cdocs.customizations.customizations.set_terms(self, method)"
	}
}

the fuction on the customizations.py file

from __future__ import unicode_literals
import frappe
#from frappe.model.document import Document

def set_terms(self, method):
        self.terms="TEST"

What fields of Sales Invoice are you hiding?

py (python files) are for the back-end. Meaning saving things to the database.

js (javascript files) are for the front end. Meaning how it would appear on the Web.

1 Like

Trying to hide several unnecessary sections for example “Loyalty Points Redemption” from the entry screen.
I am actually trying to make the Sales Invoice very compact by hiding said fields for some multiple and specific use cases.
I have been doing so by customising the form but need to change my approach to make it more easy to apply the same stuff on the other side through a custom app.