Tuesday, December 19, 2017

Attach any document to voucher entry in Tally.ERP9

In this post i have share code for attaching document to voucher entry and opening that document from within Tally.ERP9. This is very useful at the place were we want our documents to be in soft copy and does not want to maintain hard copy of each and every stuff.

To know how to attache any tdl to tally please visit
http://tallyexperttips.blogspot.in/2017/09/how-to-attach-any-tallyerp9.html


[#Form: Sales Color]
Add    :Button    :Open Attachement

[#Form: Contra Color]
Add    :Button    :Open Attachement

[#Form: Payment Color]
Add    :Button    :Open Attachement

[#Form: Receipt Color]
Add    :Button    :Open Attachement

[#Form: Journal Color]
Add    :Button    :Open Attachement

[#Form: Payroll Color]
Add    :Button    :Open Attachement

[#Form: Debit Note Color]
Add    :Button    :Open Attachement

[#Form: Credit Note Color]
Add    :Button    :Open Attachement

[#Form: Purchase Color]
Add    :Button    :Open Attachement

[#Form: Memorandum Color]
Add    :Button    :Open Attachement

[#Form: Reversing Journal Color]
Add    :Button    :Open Attachement

[#Form: Stock Journal Color]
Add    :Button    :Open Attachement

[#Form: Delivery Note Color]
Add    :Button    :Open Attachement

[#Form: Receipt Note Color]
Add    :Button    :Open Attachement

[#Form: Rejection Inward Color]
Add    :Button    :Open Attachement

[#Form: Rejection Outward Color]
Add    :Button    :Open Attachement

[#Form: Physical Stock Color]
Add    :Button    :Open Attachement

[#Form: Sales Order Color]
Add    :Button    :Open Attachement

[#Form: Purc Order Color]
Add    :Button    :Open Attachement

[#Form: Indent Color]
Add    :Button    :Open Attachement

[#Form: Attendance Color]
Add    :Button    :Open Attachement

[#Form: JobOrderIn Color]
Add    :Button    :Open Attachement

[#Form: JobOrderOut Color]
Add    :Button    :Open Attachement

 [Button : Open Attachement]
Title : $$LocaleString:"Open Attachement"
Key : Ctrl + O
Action :Browse Url Ex : #HyperlinkCompany

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[#Part: VCH Narration]
Add : Switch    : BankDetRcpt : BankDet VCH Narration

[!Part: BankDet VCH Narration]
Add : Line : HyperlinkCompany

[Line: HyperlinkCompany]
Fields  : Short Prompt, HyperlinkCompany
Local   : Field : Short Prompt : Info: $$LocaleString:"Supporting Doc."

[System: UDF]
hyper1 : String    : 1101

[Key : Execute Hyperlink1]
Title: Exc
Key : Left Click
Action : Browse Url Ex: “www.onetouchsolution.co.in”

[Field: HyperlinkCompany]
Use         : Name Field
Color : Blue
;Border : Thin Bottom
Key : Execute Hyperlink1
Storage : hyper1
Local : Key : Execute Hyperlink1 : Action :Browse Url Ex: "D:\DOCUMENTS\" + $VoucherTypeName +"\"+ #HyperlinkCompa
Skip: $$InAlterMode
Fullwidth:yes

After adding this you will bed able to find new field on each voucher shown as below.


you need to specify the complete path of the document including extension as show below and save the voucher.


After that when you edit the voucher you should be able to see the document as shown below.

and now you can open this document from within Tally by pressing Open Attachment Button on the right hand side.








Thursday, December 14, 2017

How to create Custom Menu on Tally Start Instead of Gateway of Tally

In this Post I am sharing sample code about how to change and create custom menu on Tally.ERP9 Start instead of Gateway of Tally. This can be use full for security purpose were we want or employee to have only those options which we want on there screen and which cannot be achieved using default Tally.ERP9 security feature. So lets start.


[System: Formula]
locDefaultGateway                 : $$LocaleString:"Gateway of Tally"
    locInvv   :$$LocaleString:"Inventory Vouchers"
locRepo   :$$LocaleString:"Reports"

[Menu: Vouchers Entry]
Key Item    : @@locInventoryVouchers : T : Create Collection : Company InvVouchers : $$IsInventoryOn:$$CurrentSimpleCompany 

[Menu: Reports]
Key Item    : @@locDayBook                : D : Display   : Day Book              : NOT $$IsEmpty:$$SelectedCmps
Item    : BLANK
Add : Key Item  : GodownWise Stock : G : Display Collection : Godown Summary : $$IsMultiGodownOn:$$CurrentSimpleCompany
Control : @@locGodowns : $$IsMultiGodownOn AND @@IndianAccTerminology AND $$Allow:Display:GodownWiseSummary


[Menu: Default Gateway]

Title       : $$LocaleString:"Gateway of Tally"
    Indent  : @@locIndentMasters
    Item    : BLANK
Key Item : @@locAccountsInfo : A : Menu : Accounts Info. : NOT $$IsEmpty:$$SelectedCmps 
Key Item : @@locPayrollInfo : L : Menu : Payroll Info. : NOT $$IsEmpty:$$SelectedCmps AND ($$AddOnInfo:PayrollEnabled) AND $$IsPayrollOn:$$CurrentSimpleCompany 
Key Item : @@locInventoryInfo : I : Menu : Inventory Info. : NOT $$IsEmpty:$$SelectedCmps AND $$IsInventoryOn:$$CurrentSimpleCompany 
Key Item : @@locQuickSetup : K : Menu : Quick Setup : @@IsIndian AND NOT $$IsEmpty:$$SelectedCmps 
    Item    : BLANK
    Indent  : @@locIndentTransactions
    Item    : BLANK
    Key Item    : @@locAccountingVouchers : V : Create Collection : Company AccVouchers
    Key Item    : @@locInventoryVouchers : T : Create Collection : Company InvVouchers : $$IsInventoryOn:$$CurrentSimpleCompany 
    Key Item    : @@locOrderVouchers : E : Create Collection : Company OrdVouchers : ($$IsPurcOrdersOn:$$CurrentSimpleCompany OR $$IsSalesOrdersOn:$$CurrentSimpleCompany OR $$IsJobWorkOn:$$CurrentSimpleCompany)
    Key Item    : @@locPayrollVouchers : Y : Create Collection : Company Payroll Vouchers : $$IsPayrollOn:$$CurrentSimpleCompany   
Key Item    : @@locAttendanceVouchers : C : Create Collection : Company Attendance Vouchers : $$IsPayrollOn:$$CurrentSimpleCompany AND $$NumAttdTypes >= 1 
    Item    : BLANK
    Indent  : @@locIndentUtilities
    Item    : BLANK
    Indent  : @@locIndentReports
    Item     : BLANK
    Key Item    : @@locBalanceSheet      : B : Display           : Balance Sheet : $$IsAccountingOn:$$CurrentCompany
    Key Item    : @@locProfitLossAcc      : P : Display           : Profit and Loss : $$IsAccountingOn:$$CurrentCompany
    Key Item    : @@locIncomeExpenseAcc  : N : Display           : Profit and Loss : $$IsAccountingOn:$$CurrentCompany
    Key Item    : @@locStockSummary      : S : Display           : Stock Summary : $$IsInventoryOn:$$CurrentCompany
    Key Item    : @@locRatioAnalysis      : R : Display           : Ratio Analysis : $$IsAccountingOn:$$CurrentCompany
    Item    : BLANK
    Key Item    : @@locDisplay            : D : Menu : Display Menu
    Key Item    : @@locMultiAccPrinting  : M : Menu : Printing Menu : (($$LicenseInfo:IsLicensedMode) OR (($$LicenseInfo:RemoteSerialNumber) > 0))
Item    : BLANK
    Key Item    : @@locQuit : Q
Control : @@locAccountsInfo : $$Allow:Create:AccountsMasters OR $$Allow:Alter:AccountsMasters OR $$Allow:Display:AccountsMasters
Control : @@locPayrollInfo : $$IsPayrollOn AND ($$Allow:Create:PayrollMasters OR $$Allow:Alter:PayrollMasters OR $$Allow:Display:PayrollMasters)
Control : @@locInventoryInfo : $$IsInventoryOn AND ($$Allow:Create:InventoryMasters OR $$Allow:Alter:InventoryMasters OR $$Allow:Display:InventoryMasters)
Control : @@locQuickSetup : @@IsIndian
    Control : @@locAccountingVouchers : $$Allow:Create:Vouchers AND $$Allow:Create:AccountingVouchers AND $$CheckAllowedAccVchTypeMenu
Control  : @@locPayrollVouchers : $$IsPayrollOn:$$CurrentSimpleCompany AND $$Allow:Create:PayrollVouchers AND $$CheckAllowedPayrollVchTypeMenu
Control  : @@locAttendanceVouchers : $$IsPayrollOn:$$CurrentSimpleCompany AND ($$Allow:Create:AttendanceVouchers OR $$Allow:Create:Attendance) AND (NOT $$Allow:Create:Payroll OR NOT $$Allow:Create:PayrollVouchers) AND $$CheckAllowedAttendanceVchTypeMenu
    Control : @@locInventoryVouchers : $$IsInventoryOn AND $$Allow:Create:Vouchers AND $$Allow:Create:InventoryVouchers AND $$CheckAllowedInvVchTypeMenu
    Control : @@locOrderVouchers : $$IsInventoryOn AND ($$IsPurcOrdersOn OR $$IsSalesOrdersOn OR $$IsJobWorkOn) AND $$Allow:Create:Vouchers AND $$Allow:Create:OrderVouchers AND $$CheckAllowedOrderVchTypeMenu
    Control : @@locBalanceSheet      : $$Allow:Display:BalanceSheet
    Control : @@locRatioAnalysis      : $$Allow:Display:BalanceSheet
    Control : @@locProfitLossAcc      : $$Allow:Display:ProfitLossAc AND NOT $PLasIncomeExpense:Company:$$CurrentCompany
    Control : @@locIncomeExpenseAcc  : $$Allow:Display:ProfitLossAc AND $PLasIncomeExpense:Company:$$CurrentCompany
    Control : @@locStockSummary : $$IsInventoryOn AND $$Allow:Display:StockSummary
Control : @@locMultiAccPrinting : (($$LicenseInfo:IsLicensedMode) OR (($$LicenseInfo:RemoteSerialNumber) > 0))
    Option : Import Direct : NOT $$IsTallyClient AND NOT $$IsTallyServer
Option : Import InDirect : $$IsTallyClient OR $$IsTallyServer
    Option : FinalAcctsMenu : @@UseFinalAcctsMenu
    Option : MultiAccountButton : (($$LicenseInfo:IsLicensedMode) OR (($$LicenseInfo:RemoteSerialNumber) > 0))
Button : Select Company
Delete :  Key Item    : Stock Report : C : Display Collection    : Stock Query1


In above code i have change the default Tally.ERP9 Gateway of Tally menu to "Main menu" and added the key items which i want my employees to have it on there screen.



I have also added key item which will take me to Default Tally.ERP9  Gateway of Tally but provided i have access to it. So using the above code my employee will only be able to use all the voucher type which can be accessed using Invoice Voucher Option and reports which I want them to see.

Note:- To have it more secure you will need to use default tally security feature on with security level set so that shortcut cannot be used.


Note:- This is just for education purpose you will need to edit the code as per your requirements.

Thursday, December 7, 2017

Block Invoicing After Credit Day Overdue Free Tally TDL

As we all know that Tally.ERP9 software as the functionality of setting up Credit days and Credit based on Amount in Ledger Master but does not block billing even if Credit days are over due.

Below Code will help you in blocking the billing if any bill is overdue of a particular customer. 

;;;;; In below code we have found the field were we want our code to check and block the entry and have applied the control;;;;;;;

[#Field: EI Consignee]
Control : CtrlCreditDays : @@ChkCreditDays>0 and $$InCreateMode and $$IsSales:##SVVoucherType

[Collection: Credit PartyPending Bills]

    Type        : Bills
    Child of    : #EIConsignee
    Unique      : $$Name
Format : @@DateDiff
    Format      : $BillDate, 8      : Universal Date
    Format      : $$Name, 10
    Format      : $BaseClosing,-30  : "AllSymbols, DrCr"
Format : @@DueDate
Format : ##SVCurrentDate
Filter : FltrCreditDays, FltrCrAmt

[System : Formula]

CtrlCreditDays : if @@ChkCreditDays = 1 then "The Customer has " + $$NewLine + $$String:@@ChkCreditDays +  $$NewLine + " Bill OverDue." else "The Customer has " + $$NewLine + $$String:@@ChkCreditDays +  $$NewLine + " Bills OverDue."
ChkCreditDays : $$Numitems:CreditPartyPendingBills
FltrCreditDays : $$Number:@@DateDiff>=1 
DueDate : $$Date:$$String:$BillCreditPeriod:UniversalDate
DateDiff : ##SVCurrentDate - @@DueDate
FltrCrAmt : $$IsDr:$BaseClosing 



Common Troubleshooting....


1. After attaching the code to Tally ( http://tallyexperttips.blogspot.in/2017/09/how-to-attach-any-tallyerp9.html ) it is blocking all the invoice even if credit period is not over ?


Answer:- Go to Display-> Statement of Accounts-> Outstanding-> Select Ledger for which you are facing issue-> and check that there is not no of days in overdue column.