cTN80200 ; BTW-aangifte via DBH ; cTN80200; [ 29/01/10 13:27:10 ] ; T0 ;BTW-aangifte; T1 ;00%;6%;12%;21%;O.H.;0%;0%(47);0%(44); ; T0F ;BTW-aangifte; ; T0E ;BTW-aangifte; ; T0D ;BTW-aangifte; ; ; parameters zie BA^cTN8020 ; UI1BA = internr BA ; INHBA = inhoud node 0 van BA ; KW = kwartaal ; BP1 = beginmaand ; BP2 = eindmaand ; STAT = Status ; 1 S $ZT="TRAP^cAN000" N TYPE,GRIDID,I3,A0,A1,NR,REF,UREF,IREF,UI1,R,i,oQ,OK ; D Q1^cAFA10("DB") ; I $G(SWXW) G 7 ; indien vanuit wijzigen hoofding ; 2 ; Aankoop 21 S TYPE="A",OK=$$BTEMP^cTN111("","",TYPE,BP1,BP2,"",QT,$G(PAR)) I 'OK G YZ S GRIDID=OK I '$L(GRIDID) G 4 ; 3 S I3="~~TOT 999 0" 31 S I3=$O(^mtemp99(GRIDID,"COMMON",I3)) G 4:I3="" S A0=^(I3,0),A1=$G(^(1)) S NR=$P(I3," ",3) ; 33 I NR=105 D SET(TYPE,59,63,$P(A1,D),$P(A1,D,2)) ; Aftrekbare BTW I "\110\113\"[(D_NR_D) D SET(TYPE,56,63,$P(A1,D),$P(A1,D,2)) ; BTW Onroerende heffing, Medecontractant I NR=111 D SET(TYPE,55,63,$P(A1,D),$P(A1,D,2)) ; BTW Intracommunautaire I NR=114 D SET(TYPE,57,63,$P(A1,D),$P(A1,D,2)) ; BTW Verlegging ; 35 I NR=200 D SET(TYPE,81,"",$P(A1,D,4),"") ; Maatstaf Goederen I NR=201 D SET(TYPE,82,"",$P(A1,D,4),"") ; Maatstaf Diensten I NR=202 D SET(TYPE,83,"",$P(A1,D,4),"") ; Maatstaf Investeringen ; 37 I "\300\303\304\"[(D_NR_D) D SET(TYPE,87,85,$P(A1,D,4),$P(A1,D,2)) ; Maatstaf Onroerende heffing, Medecontractant en Verlegging I BP1<2010 D . I NR=301 D SET(TYPE,86,84,$P(A1,D,4),$P(A1,D,2)) ; Maatstaf IC Goederen/Diensten I BP1>2010 D . I NR="301a" D SET(TYPE,86,84,$P(A1,D,4),$P(A1,D,2)) ; Maatstaf IC Goederen . I NR="301b" D SET(TYPE,88,84,$P(A1,D,4),$P(A1,D,2)) ; Maatstaf IC Diensten I NR=305 D SET(TYPE,"",85,"",$P(A1,D,2)) ; Maatstaf Overige ; 39 G 31 ; ; Verkoop 4 S TYPE="V",OK=$$BTEMP^cTN111(GRIDID,"","V",BP1,BP2,"",QT,$P($T(@("T1"_QT)),U,2,99)) I 'OK G YZ S GRIDID=OK I '$L(GRIDID) G 6 ; 5 S I3="~~TOT 999 0" 51 S I3=$O(^mtemp99(GRIDID,"COMMON",I3)) G 6:I3="" S A0=^(I3,0),A1=$G(^(1)) S NR=$P(I3," ",3) ; 53 I NR=102 D SET(TYPE,54,64,$P(A1,D),$P(A1,D,2)) ; BTW ; 55 I $E(NR,1,2)'=11 G 59 S VAK=$$VAK(BP1,$P(A0,D,9),$P(A0,D,10)) D SET(TYPE,$P(VAK,D),$P(VAK,D,2),$P(A1,D),$P(A1,D,2)) ; 59 G 51 ; 6 D Q1^cAFA10("AR.A") S REF=$$REF^cAFA10(.Q,"AR.A",149) S UREF=$P(REF,D),IREF=$P(REF,D,3) S UI1="" 61 S UI1=$O(@IREF@($S($L(Q(49)):Q(49),1:" "),UI1)) G 63:UI1="" S TYPE=$P(@UREF@(0),D,13) I "\3\5\"'[(D_TYPE_D) G 61 I TYPE=3 D G 61 . ; S R=$$SALDO^cTN004(Q,UI1,BP1_D_BP2,"AR.A",4) . S R=$$SALDOF^cTN004(Q,UI1,BP1_D_BP2,"AR.A","F;D") . F i=1:1:$L(R,D) S VAK(82)=$G(VAK(82))+$P(R,D,i) I TYPE=5 D G 61 . ; S R=$$SALDO^cTN004(Q,UI1,BP1_D_BP2,"AR.A",4_$S('$P(INHBA,D,16):"DC",1:"")) . S R=$$SALDOF^cTN004(Q,UI1,BP1_D_BP2,"AR.A","F;D\"_$S('$P(INHBA,D,16):1,1:0)) . F i=1:1:$L(R,D) S VAK(59)=$G(VAK(59))+$P(R,D,i),VAK("59b")=$G(VAK("59b"))+$P(R,D,i) G 61 ; 63 D Q2^cAFA10 ; 65 S VAK("59a")=$G(VAK(59))-$G(VAK("59b")) ; 7 ; Extra Vak 59, 71 en 72 D XTRVAK ; 8 ; controlegetal S CONTR=$$CONTR(Q,UI1BA,INHBA,.VAK,$G(SWLEEG)) ; YZ D Q2^cAFA10 Q ; SET(TYPE,VAKF,VAKC,BF,BC) ; TYPE ; A = Aankoop ; V = Verkoop ; VAKF : Vak voor facturen ; VAKC : Vak voor creditnota's ; BF : Bedrag facturen ; BC : Bedrag creditnota ; SETA I TYPE="A" D . I NR=105 S BC=-BC Q . I NR>109,NR<120 S BF=-BF,BC=-BC Q . I NR>299,NR<320 S BC=-BC Q ; SETV I TYPE="V" D . I NR=102 S BF=-BF Q . I $E(NR,1,2)=11 S BF=-BF Q ; SETB I $L(VAKF) S VAK(VAKF)=$G(VAK(VAKF))+BF I $L(VAKC) S VAK(VAKC)=$G(VAK(VAKC))+BC SETZ Q ; VAK(BP,BTWC,IC) ; bepaal vak voor BTWC S $ZT="TRAP^cAN000" N BTW,i S $ZT="TRAP^cAN000" I BTWC="Z.B." S R="" G VAKZ VAKA S BTW=$P($T(T1),U,2,99) S VAKF="00\01\02\03\45\"_(47-IC)_"\47\"_$S(BP>2010:44,1:47-IC) S VAKC=49-IC_"\49\49\49\49\"_(49-IC)_"\49\"_$S(BP>2010:48,1:49-IC) S OK=0 F i=1:1:$L(BTW,U) I $P(BTW,U,i)=BTWC S OK=1 Q I 'OK S R="" G VAKZ S R=$P(VAKF,D,i)_D_$P(VAKC,D,i) VAKZ Q R ; CONTR(Q,UI1BA,INHBA,VAK,SWLEEG) ; Berekenen controletotaal ; UI1BA = intern nr BTW_aangifte ; INHBA = node 0 van BTW-aangifte : indien niet doorgegeven wordt dit via UI1BA opgehaald ; VAK = Vakken : indien niet doorgegeven wordt dit via UI1BA opgehaald ; doorgeven als .VAK ; ; Uitgang : Controlegetal ; S $ZT="TRAP^cAN000" N CTRL,T,BTWAG,I,T,oQ,KW,BP2,UREF,UI1,INH D Q1^cAFA10("BA") ; CONTRA S CTRL="" I UI1BA="" G CONTRZ ; Ophalen gegevens BTW-aangifte I '$L($G(INHBA)) S INHBA=$$SIGN^cAFA1("BA",UI1BA,0) ; Opzetten variablen ivm kwartaal, maand en jaar S KW=$P(INHBA,D,2) S BP2=$P(INHBA,D) ; Bepalen einde boekingsmaand I $L(KW) S BP2=$P(KW,".")_"."_$TR($J($P(KW,".",2)*3,2)," ",0) ; Indien geen vakken werden doorgegeven: ophalen vakken I $O(VAK(""))'="" G CONTRC S UREF=$P($$REF^cAFA10(.Q,"BA.DET"),D) S UI1=UI1BA_" " CONTRB S UI1=$O(@UREF) I $P(UI1," ")'=UI1BA G CONTRC S INH=^(UI1,0) S VAK($P(INH,D,2))=+$P(INH,D,6) G CONTRB ; CONTRC S CTRL=0 S BTWAG="" I $L($P(INHBA,D,5)) S BTWAG=$E($TR($$BTW^cAFO1($P(INHBA,D,5))," .",""),3,99) I $L(BTWAG) S CTRL=CTRL+$TR(BTWAG,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","") F I="00","01","02","03",44:1:91 I $G(VAK(I)) S T=VAK(I)*$S(QD:10000,1:100)+I,CTRL=CTRL+T I $G(SWLEEG)=1 S T=0*$S(QD:10000,1:100)+71,CTRL=CTRL+T I '$G(KW) S CTRL=CTRL+($P(BP2,".",2)_$P(BP2,".")) I $G(KW) S CTRL=CTRL+(+$P(KW,".",2)_$P(KW,".")) I $P(INHBA,D,14)=1 S CTRL=CTRL+1 ; aanvraag tot terugbetaling I $P(INHBA,D,15)=1 S CTRL=CTRL+1 ; aanvraag betalingformulier CONTRZ D Q2^cAFA10 Q CTRL ; XTRVAK ; herrekenen van vakken 59, 71 en 72 S $ZT="TRAP^cAN000" N XX,YY,K I '$L($O(VAK(""))) G XTRVAKZ I $G(SWXW),$G(BTWEENH) G XTRVAKZ ; INDIEN BTW-EENHEID MAG DIT NIET GEBEUREN ; XTRVAKA S VAK(59)=$G(VAK("59a"))+$G(VAK("59b")) S XX=$G(VAK(54))+$G(VAK(55))+$G(VAK(56))+$G(VAK(57))+$G(VAK(61))+$G(VAK(63))+$G(VAK(65)) S YY=$G(VAK(59))+$G(VAK(62))+$G(VAK(64))+$G(VAK(66)) S VAK(71)=0,VAK(72)=0 I XX>YY S VAK(71)=XX-YY I YY>XX S VAK(72)=YY-XX ; XTRVAKB I '$G(SWXW) G XTRVAKZ ; komt niet vanuit wijzigen hoofding D W^cAN220("BA.DET","",UI1BA_" 71",106,VAK(71)) I K="-" X "STOP" D W^cAN220("BA.DET","",UI1BA_" 72",106,VAK(72)) I K="-" X "STOP" D W^cAN220("BA.DET","",UI1BA_" 59",106,VAK(59)) I K="-" X "STOP" XTRVAKZ Q ; ZZ ; 27.11.09 - KU