By referring the code from forum of ledger alter I try to do it for sales order and it is working,But because of this tdl not able to create either a new sales order or some time physical stock. Please look in to the following code and guide me.Thanks, [#Part :VCH Narration] Switch : salesJKAlter : JK sales Alter : $$InAlterMode AND @@IsSalesOrder [!Part :JK sales Alter] Add :Line :At ENd :JK sales Alter [Line :JK sales Alter] Field :Medium Prompt,JK sales Alter DateTime Local :Field :Medium Prompt :Setas :"Sales Altered Date:" ;; Invisible :Yes [Field :JK sales Alter DateTime] Use :Name Field width :15 Set as $$String:$$MachineDate:UniversalDate + $$LocaleString:" at " + $$MachineTime) Storage :TASalesAltered Skip :Yes [Collection: JKSALESALTER] TYPE:Voucher Childof :$Name Fetch :TASalesAltered,Name,*.* [Collection: JKSalesAltered] Type:Voucher Fetch :JKsalesAlter,TASalesAltered,Name,*.* [System :UDF] JKsalesAlter :Aggregate :57016 TASalesAltered : String :57018 [#Form:Voucher] ON : FORM ACCEPT : TRUE AND $$InAlterMode AND @@IsSalesOrder:CALL : JayLedfunc2 [Function : JayLedfunc2 ] Variable : SalesAltDate :String 005 : If : $$InAlterMode 010 : Set Target 050 : Set:SalesAltDate$$String:$$MachineDate:UniversalDate + $$LocaleString:" " + $$MachineTime) 080 : Insert Collection Object:JKSALESALTER 090 : Set Target: (Voucher). 120 : Set Value:TASalesAltered:$$String##SalesAltDate) 160 : Set Target.. 170 : Set Target.. 175 : Accept Object 180 : EndIf