Import from excel to tally Automatic rounding off of Invoice

Discussion in 'Tally Developer' started by Sandy2150, Jul 20, 2025.

  1. Sandy2150

    Sandy2150 New Member


    ;Please Resolve the Error of Miss Match Difference of Total Dr & Total CR with Rounding of Invoice Amount
    ;;--------------------------------------------------------------------------------------------------------------

    [Function : ImportSvWBInvCall]

    Variable : Counter : Number
    Variable : TotalDr : Amount
    Variable : TotalCr : Amount
    Variable : RoundDiff : Amount

    00 : Start Batch Post : 10000
    10 : SET : Counter : 0

    20 : START PROGRESS : ($$NumItems:ImportSvWBInvInfo1) : "Vouchers Importing " : @@CmpMailName : "Importing to Sales- Vouchers..."
    30 : WALK COLLECTION : ImportSvWBInvInfo1

    110 : SET : SVViewName : $$SysName:AcctgVchView
    120 : NEW OBJECT : Voucher
    130 : SET VALUE : Date : $$Date:mad:@SvWBInvEVchDatePost
    140 : SET VALUE : VoucherTypeName : $$String:"Sales-":$$VchTypeSales
    150 : SET VALUE : NARRATION : $SvWBInvVchNarration
    160 : SET VALUE : VOUCHERNUMBER : $SvWBInvVchNo
    170 : SET VALUE : Reference : $SvWBInvVchNo

    ;========================= DR ENTRY =========================

    200 : INSERTCOLLECTION OBJECT : AllLedgerEntries
    210 : SET TARGET : LedgerEntries
    220 : SET VALUE : LedgerName : $SvWBInvPartyLedgerNameDr
    230 : SET VALUE : StateName : "Chhattisgarh"
    240 : SET VALUE : PlaceOfSupply : $SvWBInvPlaceofSupply
    250 : SET VALUE : GSTRegistrationType : $$String:"Unregistered"
    260 : SET VALUE : Amount : $SvWBInvInvoiceAmountDr
    270 : SET VALUE : Is Deemed Positive : "Yes"
    280 : SET : TotalDr : ##TotalDr + $Amount
    290 : SET TARGET : ..

    ;========================= CR ENTRY: Sales =========================

    300 : INSERTCOLLECTION OBJECT : AllLedgerEntries
    310 : SET TARGET : LedgerEntries
    320 : SET VALUE : LedgerName : $SvWBInvIncomeLedgerNameCr
    330 : SET VALUE : Amount : $SvWBInvTTaxableAmount
    340 : SET VALUE : Is Deemed Positive : "No"
    350 : SET : TotalCr : ##TotalCr + $Amount
    360 : SET TARGET : ..

    ;========================= IGST =========================
    ; IGST (Cr) - Only if > 0
    379 : IF : NOT $$IsEmpty:$SvWBInvTIGSTAmountCr
    380 : INSERTCOLLECTION OBJECT : AllLedgerEntries
    390 : SET TARGET : LedgerEntries
    400 : SET VALUE : LedgerName : "IGST-Output"
    410 : SET VALUE : Amount : $$AsAmount:$$Round:$SvWBInvTIGSTAmountCr
    420 : SET VALUE : Is Deemed Positive : "No"
    430 : SET : TotalCr : ##TotalCr + $Amount
    440 : SET TARGET : ..
    450 : END IF

    ;========================= CGST =========================
    ;; CGST (Cr) - Only if > 0
    460 : IF : NOT $$IsEmpty:$SvWBInvTCGSTAmountCr
    ; 460 : IF : $$Round:$SvWBInvTCGSTAmountCr <> 0
    470 : INSERTCOLLECTION OBJECT : AllLedgerEntries
    480 : SET TARGET : LedgerEntries
    490 : SET VALUE : LedgerName : "CGST-Output"
    500 : SET VALUE : Amount : $$AsAmount:$$Round:$SvWBInvTCGSTAmountCr
    510 : SET VALUE : Is Deemed Positive : "No"
    520 : SET : TotalCr : ##TotalCr + $Amount
    530 : SET TARGET : ..
    540 : END IF

    ;========================= SGST =========================
    ;; SGST (Cr) - Only if > 0
    549 : IF : NOT $$IsEmpty:$SvWBInvTSGSTAmountCr

    ; 550 : IF : $$Round:$SvWBInvTSGSTAmountCr <> 0
    560 : INSERTCOLLECTION OBJECT : AllLedgerEntries
    570 : SET TARGET : LedgerEntries
    580 : SET VALUE : LedgerName : "SGST-Output"
    590 : SET VALUE : Amount : $$AsAmount:$$Round:$SvWBInvTSGSTAmountCr
    600 : SET VALUE : Is Deemed Positive : "No"
    610 : SET : TotalCr : ##TotalCr + $Amount
    620 : SET TARGET : ..
    630 : END IF

    ;========================= ROUND OFF ENTRY =========================

    640 : SET : RoundDiff : ($$Round:##TotalDr) - ($$Round:##TotalCr)

    650 : IF : $$Round:##RoundDiff <> 0
    660 : INSERTCOLLECTION OBJECT : AllLedgerEntries
    670 : SET TARGET : LedgerEntries
    680 : SET VALUE : LedgerName : "Round Off"
    690 : SET VALUE : Amount : $$Round:##RoundDiff
    700 : SET VALUE : Is Deemed Positive : IF ##RoundDiff < 0 THEN "No" ELSE "Yes"
    710 : SET TARGET : ..
    720 : END IF

    ;========================= VOUCHER SAVE =========================

    960 : CREATE TARGET
    970 : SET VALUE : PersistedView : ##SVViewName
    980 : INCREMENT : Counter
    990 : SHOW PROGRESS : ##Counter

    1000 : END WALK
    1010 : END PROGRESS
    1015 : MSGBOX : "Voucher Import" : "Sales vouchers successfully imported!"
    1020 : RETURN
    1030 : END BATCH POST
     

    Attached Files:



  2. Sandy2150

    Sandy2150 New Member


    Please Resolve the Error of Miss Match Difference of Total Dr & Total CR with Rounding of Invoice Amount
     


  3. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    Do not use $$Round function in your "Round Off" section.
     


Share This Page