CGST, SGST and IGST Tax Analysis in customized Invoice TDL

Discussion in 'Tally Developer' started by Sitham, Dec 13, 2018.

    
  1. Sitham

    Sitham New Member


    Hi to all
    Can anyone help me to modify this code for IGST tax analysis while IGST sales? If I sales IGST then not need CGST and SGST analysis. Attached image and codes for your reference.

    P.S Can't upload the screenshot because of server error. Code posted below...

    [Part : Part2]

    Line : KTaxPartline2,KTaxPartline3
    Repeat : KTaxPartline3:NSINVENTORYENTRIES
    Common Border: Yes
    Total : KTAXFLDA,CGSTAMTA,SGSTAMTA



    [Collection: NS INVENTORYENTRIESSRC]

    Source Collection: dEFAULT
    Walk: All Inventoryentries

    Compute : NSCentraltax:mad:@GSTL3
    ; @@GSTL2 ;;$NSGROUPCGSTTRate:Stockgroup:
    Compute : NSamt : $Amount
    Compute : NSTaxamt : ($Amount* @@GSTL3)/100


    ;;select $NSCentraltax,$NSamt,$NSTaxamt from NSINVENTORYENTRIESSRC
    [System : Formulae]


    GSTL3 : if $$IsEmpty:$NSCGSTTRate:StockItem:$StockItemName then $NSGROUPCGSTTRate:Stockgroup:mad:@GSTL2 else $NSCGSTTRate:StockItem:$StockItemName
    GSTL2 : $Parent:Stockitem:$Stockitemname;

    [Collection : NSINVENTORYENTRIES]
    Source Collection : NS INVENTORYENTRIESSRC

    By : NSSCentraltax : $NSCentraltax; $NSCentraltax:Stockgroup:mad:@GSTL2
    Aggr Compute : NSSamt : Sum: $NSamt
    Aggr Compute : NSSTaxamt : Sum: $NSTaxamt

    ;;select $NSSCentraltax,$NSSamt,$NSSTaxamt from NSINVENTORYENTRIES

    [Line : KTaxPartline2]

    Field : KTAXFLDA,CGSTRATEA,CGSTAMTA,SGSTRATEA,SGSTAMTA
    Border : Thin Bottom

    Local : Field : Default : Align : Centre
    Local : Field : Default : Type : String
    Local : Field : Default : Style : KStyleAD

    Local : Field : KTAXFLDA : Set as: "(Basic)"
    Local : Field : CGSTRATEA : Set as: "Rate"
    Local : Field : CGSTAMTA : Set as: "Amount"
    Local : Field : SGSTRATEA : Set as: "Rate"
    Local : Field : SGSTAMTA : Set as: "Amount"

    Local : Field : KTAXFLDA : Border:Thin Right
    Local : Field : CGSTRATEA : Border:Thin Right
    Local : Field : CGSTAMTA : Border:Thin Right
    Local : Field : SGSTRATEA : Border:Thin Right
    [Line : KTaxPartline3]

    Field : KTAXFLDA,CGSTRATEA,CGSTAMTA,SGSTRATEA,SGSTAMTA

    [Field : KTAXFLDA]

    Use : amount Field
    Set as : $NSSamt;-$NSSTaxamt-$NSSTaxamt ;;Amount
    Width : 6.99 cm
    Align : Right
    Style : KStyleAD

    [Field : CGSTRATEA]

    Use : NUMBER Field
    Set as : $NSSCentraltax
    Type : Number: Forced
    Format : "No Zero, Percentage"
    Width : 3 cm
    Align : Right
    Style : KStyleAD


    [Field : CGSTAMTA]

    Use : AMOUNT Field
    Set as : $NSSTaxamt
    Width : 3 cm
    Align : Right
    Style : KStyleAD


    [Field : SGSTRATEA]

    Use : NUMBER Field
    Set as : $NSSCentraltax
    Type : Number: Forced
    Format : "No Zero, Percentage"
    Width : 3 cm
    Align : Right
    Style : KStyleAD


    [Field : SGSTAMTA]

    Use : AMOUNT Field
    Set as : $NSSTaxamt
    Width : 3 cm
    Align : Right
    Style : KStyleAD

    ;;-------------------------------------------------------------------------------------------------------------------

    [Part : KTotalVatPart]

    Left Part : KTotalVatP
    Right Part : KNarrPart
    Border : Thin Left

    [part : KTotalVatP]

    Line : KTaxPartline4,KTaxPartline5
    Border : Thin Bottom Right


    [Line : KTaxPartline4]

    Field : KTOTALA1,KTAXFLDA1,CGSTRATEA1,CGSTAMTA1,SGSTRATEA1,SGSTAMTA1
    Border : Thin Bottom

    Local : Field : Default : Align : Centre
    Local : Field : Default : Type : String
    ; Local : Field : Default : Style : KStyleAB

    Local : Field : KTOTALA1 : Set as: "TOTAL"
    Local : Field : KTAXFLDA1 : Set as: $$Total:KTAXFLDA
    Local : Field : CGSTRATEA1 : Set as: ""
    Local : Field : CGSTAMTA1 : Set as: $$Total:CGSTAMTA
    Local : Field : SGSTRATEA1 : Set as: ""
    Local : Field : SGSTAMTA1 : Set as: $$Total:SGSTAMTA

    [Field : KTOTALA1]

    Use : Name Field
    Width : 2.99 cm
    Style : KStyleAB


    [Field : KTAXFLDA1]

    Use : Amount Field
    Set as : $$Total:KTAXFLDA
    Width : 4 cm
    Border : Thin Right
    Style : KStyleAD
    Align : Right

    [Field : CGSTRATEA1]

    Use : Name Field
    Set : ""
    Width : 3 cm
    Border : Thin Right
    Style : KStyleAD

    [Field : CGSTAMTA1]

    Use : Amount Field
    Set as : $$Total:CGSTAMTA;SGSTAMTA
    Width : 3 cm
    Border : Thin Right
    Align : Right
    Style : KStyleAD

    [Field : SGSTRATEA1]

    Use : Name Field
    Set : ""
    Width : 3 cm
    Border : Thin Right
    Style : KStyleAD

    [Field : SGSTAMTA1]

    Use : Amount Field
    Set as : $$Total:SGSTAMTA
    Width : 3 cm
    Align : Right
    Style : KStyleAD

    [#Object : Stock Item]

    NSGSTHSNs : $GSTDETAILS[LAST].HSNCODE
    NSGSTHSNDess : $GSTDETAILS[LAST].HSN
    NSGSTHSNCOde : $GSTDETAILS[LAST].TAXABILITY

    ;;cgst

    NSCGST : $GSTDETAILS[LAST].STATEWISEDETAILS[1].RATEDETAILS[1].GSTRATEDUTYHEAD
    NSCGSTValueType : $GSTDETAILS[LAST].STATEWISEDETAILS[1].RATEDETAILS[1].GSTRATEVALUATIONTYPE
    NSCGSTTRate : $GSTDETAILS[LAST].STATEWISEDETAILS[1].RATEDETAILS[1].GSTRATE

    ;;State Tax
    NSSGST : $GSTDETAILS[LAST].STATEWISEDETAILS[1].RATEDETAILS[2].GSTRATEDUTYHEAD
    NSSGSTVAL : $GSTDETAILS[LAST].STATEWISEDETAILS[1].RATEDETAILS[2].GSTRATEVALUATIONTYPE
    NSSGSTRATE : $GSTDETAILS[LAST].STATEWISEDETAILS[1].RATEDETAILS[2].GSTRATE

    ;;Integrated Tax
    NSIGST : $GSTDETAILS[LAST].STATEWISEDETAILS[1].RATEDETAILS[3].GSTRATEDUTYHEAD
    NSIGSTValueType : $GSTDETAILS[LAST].STATEWISEDETAILS[1].RATEDETAILS[3].GSTRATEVALUATIONTYPE
    NSIGSTRATE : $GSTDETAILS[LAST].STATEWISEDETAILS[1].RATEDETAILS[3].GSTRATE


    [#Object : Stock Group]
    ;; HSN Code
    NSGroupGSTHSNCode : $GSTDETAILS[LAST].HSNCODE

    ;;Integrated Tax
    NSGroupIGSTRate : $GSTDETAILS[LAST].STATEWISEDETAILS[1].RATEDETAILS[3].GSTRATE

    ;;CGST

    NSGROUPCGSTTRate : $GSTDETAILS[LAST].STATEWISEDETAILS[1].RATEDETAILS[1].GSTRATE

    ;;SGST

    NSGROUPSGSTRate : $GSTDETAILS[LAST].STATEWISEDETAILS[1].RATEDETAILS[2].GSTRATE
     


  2. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    In all the three lines...... Title, Body and total for CGST And SGST.........

    Use INVISIBLE if empty or as 0 as a value.
     


  3. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    First I presume that you might be using complete address in your Debtors ledgers and that all sales are credit sales only.

    then it would be simple conditional formula in your code...........

    Invisible : If StateName not equal to "Maharashtra" in both CGST and SGST fields.
     


  4. Sitham

    Sitham New Member


    Thank you, Expert... I will try
     


Share This Page