Freeze doctype for a particular user after a fixed date.?

IS there a way to freeze a document for particular user after every particular date.

For e.g) the sales employee has access to sales invoices , he can create as well as cancel and amend in case of any errors,
But at the end of each month the sales manager will review and audit all the invoices created by the employee.

and after that those invoices should be frozen to the employee to make any further changes.

How to handle the user permission in that case ?

As of now you may have to write a custom script and create a custom field for this type of functionality.

So i would need to write a custom script on a button only available if user has permission : sales Manager .(if _permission_?:thinking:)

And on that script i would restrict permission to cancel and edit for all sales invoices till that date for all users except sales manager .

Is that the correct way to approach this logic wise ?, possible to implement?