You can control the Negative Stock entry in a Voucher. In default Tally, we have used the Field Attribute Notify to notify the Negative Stock as a warning. In order to control the same, we need to use the Field Attribute Control.
Syntax:
Control : <Message Formula> : <Logical Condition>
For example ,
[#Field: VCH NrmlActualQty]
Option : NSC NrmlQty : @@IsSales Or @@IsDelNote
[#Field: VCH NrmlBilledQty]
Option : NSC NrmlQty : @@IsSales Or @@IsDelNote
[#Field: VCHBATCH NrmlAQty]
Option : NSC NrmlQty : @@IsSales Or @@IsDelNote
[#Field: VCHBATCH NrmlBQty]
Option : NSC NrmlQty : @@IsSales Or @@IsDelNote
[!Field : NSC NrmlQty]
Add : Control : NegativeStock : ##VCFGNegativeStock AND @@InvoiceInCreate AND + $$IsNegative:@@FinalStockTotal
The above Negative Stock Control solution will not work in Alter Mode.
A voucher, being a legal document must not be subjected to alteration. Imagine a scenario, where further entries have happened based on the Batch Name specified in one of the entries and later altered to a different Batch Name. Also, the Quantity, Tracking Number, Purchase Order and so on, if altered, can lead to chaos. To avoid this situation, alteration must be controlled and if required, only administrator must alter it. Normally, accounting practise is to reverse the entry and not alter the entry. By allowing to alter an entry, one is compromising on the accuracy of the information/ reports.
Hence, with the help of default Security Control, one must prevent the alteration of Vouchers.