How can we apply controls for document printing such that user cannot print a document once it is printed? If needed, he must contact the Administrator. This is possible using Event On: After Print at the Report Definition being printed. Also, we need to confirm that the Report is actually printed and not just previewed. This can be controlled using Function$$InPreviewMode (introduced in Tally.ERP 9 Release 3.0) which returns the current mode i.e., if the Report is being printed or just previewed. Example: - [Report : Sales Invoice] On : After Print : NOT $$InPreviewMode : CALL : Update Sales Printed Flag The function Update Sales Printed Flag must update the Printed Flag (Logical UDF) within the current Voucher which is used to control printing of the Report.