ok, I will help you, Meaning if you do more than 2 lakh while paying cash payment, then stop it by Tally.
ok @Mani Saravanan see this code, please tell me your opinion about this tdl ------------ enjoy see this code [*Field: VCH CrAmt] Use : VCH Amount Template Inactive : If $$InAlterMode OR $$InDuplicateMode Then ((#VCHToBy = $$LocaleString:"Dr") or (#VCHToBy = $$LocaleString:"By")) Else $$IsEmpty:$LedgerName OR $IsDeemedPositive ;; Inactive : If $IsDeemedPositive Then $$SetVCHCrAmtInactive:$LedgerName Else $$SetVCHCrAmtInactive:$LedgerName UseOwnValue : If $$InAlterMode OR $$InDuplicateMode Then (If $$IsBaseCurrency:$$SubTotal:VCHDrAmt AND NOT $$IsBaseCurrency:$$SubTotal:VCHCrAmt + then $$AsPositive:$Amount Else $$AbsvCurAmtDiff) Else + if NOT @vCurAmtIsDr then $$Value else $$AbsvCurAmtDiff ;; For New Service Tax - This sub form to realised the TDS amount Sub Form : STX JrnlTaxObject Alloc : @@IsIndianServicetax AND @@STXNumItemTaxObjSTWithTDS AND @@STXJrnlTdsPurchase AND NOT @@STXIsTDSDedVch AND $$IsEmpty:$TaxAdjustment Sub Form : STX AdvRealizedTaxObj AllocForAsVchForJV : @@IsIndianServicetax AND $$IsJournal:$VoucherTypeName AND + @ThisHasBillVch AND $$STXIsServiceDetlsExists AND + $$IsSTXAdvnaceReciptPresentAmtForAsVch > 0 AND + NOT $IsDeemedPositive AND NOT ##PreAllocateBills AND $$IsEmpty:$TaxAdjustment AND NOT $IsSTXNonRealizedVch AND $$NumItems:STXTaxObjsForVchRealization > 0 ThisHasBillVch : @@IsAccVch AND ($$IsBillWiseOn) AND ($IsBillWiseOn:Ledger:$LedgerName) Sub Form : Vch Bank Allocations : @OpenBankSubForm OpenBankSubForm : ($$IsLedofGrp:$LedgerName:$$GroupBank OR $$IsLedofGrp:$LedgerName:$$GroupBankOD) AND NOT $$IsEmpty:$$Value AND NOT $$IsExploded:VchBankAllocationsExp AND (NOT ##ShowBankAlloc OR $$NumItems:BankAllocations > 1) Validate$$IsGroupCash:$Parent:Ledger:$LedgerName and $$NettAmount:$$VchLedTotal:$LedgerName<200000) or (not $$IsGroupCash:$Parent:Ledger:$LedgerName) or ($$IsReceipt:$VoucherTypeName) Validate$$IsGroupCash:$Parent:Ledger:$LedgerName and $$NettAmount:$$VchLedTotal:$LedgerName<200000) or (not $$IsGroupCash:$Parent:Ledger:$LedgerName) or ($$IsContra:$VoucherTypeName) [*Field: ACLSFixedLed] Use : Vch LedgerFetch Use : Ledger Name Field Type : String : Forced Storage : Ledger Name : All Ledger Entries : Last : @@IsVchCashBankAcctRE Table : Cash Class Ledgers Extract : $$IsEmptyVchLed Set as : If NOT $$IsEmptyVchLed Then @VchLed Else $$Value VchLed : If $$IsEmpty:##SVClass Then "" Else $$CollectionField:$Name:1:ClassLedgerForInventory Common Table: NO Skip on : @@IsPaySalaryProcess OR NOT $$IsEmptyVchLed Set always : Yes Switch : TDS : ACLS FixedLedDedn : ##SVTDSDeduction AND $$IsTDSOn AND $$InCreateMode Validate$$IsGroupCash:$Parent:Ledger:$LedgerName and $$NettAmount:$$VchLedTotal:$LedgerName<200000) or (not $$IsGroupCash:$Parent:Ledger:$LedgerName) or ($$IsReceipt:$VoucherTypeName) Validate$$IsGroupCash:$Parent:Ledger:$LedgerName and $$NettAmount:$$VchLedTotal:$LedgerName<200000) or (not $$IsGroupCash:$Parent:Ledger:$LedgerName) or ($$IsContra:$VoucherTypeName) See this code, please not this points below ----------------------------------------------------------------- 1 ] you cannot make the payment more than 2,00,000/- in payment voucher 2 ] you can make payment more than 2,00,000/- in contra voucher 3 ] you can make receipt voucher more than 2,00,000/- 4 ] you can deposit any amount in the bank through contra voucher 5 ] you can receive any amount in through receipt voucher but you cannot make payment more than RS. 2,00,000/- by cash through payment voucher. also, note this point below also, you can enhance or subtract the cash payment limit [ mentioned in above code in red color, you can change as per your required amount and save ]
Make a Collection based on receipt voucher type.........Aggr Compute the total receipts in that ledger account.... Then put a validation in the Single Entry & Double Entry amount Field (as above)