cTN8040 ;IC-kwartaalopgave .NET; cTN8040; [ 02/02/10 10:35:20 ] ; T1 ;Opgave van 2010 kan maar vanaf 05.02.10 worden ingediend.; ; T1F ;Relevé IC de 2010 ne peut être déposée qu'à partir du 05.02.10.; ; T1E ;It is only possible to submit the IC Statement of 2010 as from 05.02.10.; ; YZ Q ; CHKKOL(UI1KW,SW,PAR) ; Disablen/enablen kolommen voor IC-opgave N OK,KW,BP1 S $ZT="TRAP^cAN000" I $L($G(UI1KW)) S KW=$$SIG^cAFA1("ICKW",UI1KW,102),BP1=$P(^(0),D) I $L($G(PAR)) S BP1=$P(PAR,D),KW=$P(PAR,D,2) I '$L($G(BP1)),'$L($G(KW)) S OK=0 G CHKKOLZ ; Enkel in theorie mogelijk S BP1=$$BM^cTN801(BP1,KW) I SW'=1 S OK=1 G CHKKOLZ I BP1<2010 S OK=0 G CHKKOLZ S OK=1 CHKKOLZ Q OK ; EXP(UI1KW,FILE) ; Exporteren IC-kwartaalopgave ; Input: UI1KW: UI1 van de IC-kwartaalopgave ; FILE : pad + file naar waar file moet geexporteerd worden N INHKW,UREFDET,KW,MND,BP1,B S $ZT="TRAP^cAN000" ; Ophalen gegevens IC-kwartaalopgave S INHKW=$$SIGN^cAFA1("ICKW",UI1KW,0) I $$BM^cTN801($P(INHKW,D),$P(INHKW,D,2))>2010,$$DC^cAFD1(DT)<20100205 S OK="0\"_$P($T(@("T1"_QT)),U,2) G EXPZ ; KU : 16.11.09 : aangifte van 2010 pas vanaf 05.02.10 ; Opzetten variablen nodig voor exporteren S UREFDET=$P($$REF^cAFA10(.Q,"ICKW.DET"),D) ; Ophalen kwartaal S KW=$P(INHKW,D,2) S MND=$P(INHKW,D) I $L(MND) S BP1=MND G EXPA ; Eerste boekingsmaand kwartaal ; S BP1=KW-1*3+1 S BP1=$P(KW,".")_"."_$TR($J($P(KW,".",2)-1*3+1,2)," ",0) S KW=+$P($P(INHKW,D,2),".",2) ; BTW-nummer EXPA S $P(B(1),D,7)=$P(INHKW,D,5) ; Ondertekenaar S $P(B(1),D,9)=$P(INHKW,D,10) ; Naam S $P(B(1),D,2)=$P(INHKW,D,6) ; Straat S $P(B(1),D,3)=$P(INHKW,D,7) ; Postcode S $P(B(1),D,5)=$P(INHKW,D,8)_" "_$P(INHKW,D,9) ; Telefoon S $P(B(1),D,13)=$P(INHKW,D,12) ; E-mail S $P(B(1),D,14)=$P(INHKW,D,13) ; Opstarten export S OK=$$VB^cTN80401(UI1KW,UREFDET,BP1,KW,FILE,.B,MND) EXPZ Q OK ; ICKW(GRIDID,UI1KW,CNTR) ; Berekenen IC-kwartaalopgave voor Belgische firma's ; Input : GRIDID : volgnr van de grid ; UI1KW : UI1 IC-kwartaalopgave ; CNTR = 1 : controle ; N OK,KW,BP1,BP2,IREFDB,I1,I2,UI1DB,DKL,BTWKL,LLVEN,DATIC,LANDVEN,LANDKL,BTWC,BEDR,LANDCO,LANDCO2,BTWI,CODE,MND S $ZT="TRAP^cAN000" S OK=1 K ^mtemp99(GRIDID,"ICKW") ; Ophalen kwartaal S KW=$$SIG^cAFA1("ICKW",UI1KW,102) S MND=$P(^(0),D) ; maand I $L(MND) S (BP1,BP2)=MND G ICKW1 ; Bepalen begin en einde boekingsmaand S BP1=$P(KW,".")_"."_$TR($J($P(KW,".",2)-1*3+1,2)," ",0) S BP2=$P(KW,".")_"."_$TR($J($P(KW,".",2)*3,2)," ",0) ICKW1 S LLVEN=$$SIG^cAFA1("Q",Q,214) ; kenletters BTW-nr S LANDVEN=$P(^(1),D,22) ; land BTW-administratie S BTWC=$$UI1OP^cAFA1("CODE.9011","M1","",LANDVEN,0) I $L(BTWC) S BTWC(BTWC)="" S BTWC=$$UI1OP^cAFA1("CODE.9011","M1","",LANDVEN,"0%(44)") ; KU : 16.11.09 : diensten I $L(BTWC) S BTWC(BTWC)=1 ; Aflopen verkoopdocumenten van begin tot einde kwartaal S IREFDB=$P($$REF^cAFA10(.Q,"DB"),D,3) S I1=$TR(BP1,".","") S I1=I1-1 ICKWA S I1=$O(@IREFDB@("M1",Q,"V",I1)) I I1="" G ICKWZ I I1>$TR(BP2,".","") G ICKWZ S DATIC=$$DCO^cAFD1(I1_"01") S I2="" ICKWB S I2=$O(@IREFDB@("M1",Q,"V",I1,I2)) I I2="" G ICKWA S UI1DB="" ICKWC S UI1DB=$O(@IREFDB@("M1",Q,"V",I1,I2,UI1DB)) I UI1DB="" G ICKWB ; Testen of BTW-nr. vennootschap is ingevuld I $L($$SIG^cAFA1("DB",UI1DB,125)) G ICKWC ; Testen of BTW-bedrag 0 is ; I $P(^(1),D,10) G ICKWC ; KU : 20.11.09 : niet mr over zijn totaliteit bekijken, maar per BTW-code ; Ophalen BTW-nr. van de klant S DKL=$P(^(0),D,9) S BTWKL=$$SIG^cAFA1("KL.A",DKL,116) S LANDKL=$P(^(0),D,8) ; S OK=1 ; berekenen I '$G(CNTR) D I 'OK G ICKWC . I '$L(BTWKL) S OK=0 Q ; geen BTW-nr ingevuld . S K=BTWKL I '$$EG^cTNI00(Q,DATIC,BTWKL) S OK=0 Q ; Land van BTW-nr is geen EU-land . I '$$BTW^cAFI1(BTWKL) S OK=0 Q ; geen geldig BTW-nr . I $E(BTWKL,3,999)?1."0" S OK=0 Q ; bevat enkel maar 0 . I $E(BTWKL,1,$L(LLVEN))=LLVEN S OK=0 Q ; Land BTW-nr = Kenletters BTW-nr vennootschap ; Indien controle I $G(CNTR) D I 'OK G ICKWC . ; KU/AM : 26.11.09 : indien geregistreerd werd op 0%(44) (dienst) dient dit op de controle te komen . I BP1<2010 S BTWC="" F S BTWC=$O(BTWC(BTWC)) Q:'$L(BTWC) I +BTWC(BTWC),$$SIG^cAFA1("DB.BTW",UI1DB_" "_BTWC,103) S OK=2 Q . I OK=2 Q . S K=BTWKL I $$EG^cTNI00(Q,DATIC,BTWKL) D Q .. I $E(BTWKL,3,999)'?1."0",$$BTW^cAFI1(BTWKL) S OK=0 Q . ; KU/AM : 26.11.09 : indien geregistreerd werd op 0%(44) (dienst) dient dit op de controle te komen . I BP1>2010 S BTWC="" F S BTWC=$O(BTWC(BTWC)) Q:'$L(BTWC) I +BTWC(BTWC),$$SIG^cAFA1("DB.BTW",UI1DB_" "_BTWC,103) S OK=2 Q . I OK=2 Q . I $$SIG^cAFA1("ISO.LAND",LANDKL,101)=LLVEN S OK=0 Q ; Land klant = Kenletters BTW-nr vennootschap . I '$$EG^cTNI00(Q,DATIC,"",$$SIG^cAFA1("ISO.LAND",LANDKL,101),"\1\1") S OK=0 Q ; land klant geen EU-land ; Maatstaven per BTW-code aflopen ; Maatstaf van BTW-codes ophalen ICKWF S BTWC="" ICKWF1 S BTWC=$O(BTWC(BTWC)) G ICKWC:BTWC="" I '$G(CNTR),BP1<2010,+BTWC(BTWC) G ICKWF1 ; indien geen controle : 0%(44) niet meenemen vóór 2010 I $G(CNTR),OK=2,'BTWC(BTWC) G ICKWF1 ; indien controle en er werd in 2010 geboekt door een NIET-EU op 0%(44) (dienst) of vóór 2010 door een EU op 0%(44) S BEDR=$$SIG^cAFA1("DB.BTW",UI1DB_" "_BTWC,103) I '$L(BEDR) G ICKWF1 S BTWI=$S($L(BTWKL):BTWKL,1:"~"),CODE="" ; KU : 12.11.09 : opsplitsen goederen en diensten I BP1>2010 D . I OK=2,'BTWC(BTWC) Q . S $P(BTWI,"~",2)="L",CODE="L" . I +BTWC(BTWC) S $P(BTWI,"~",2)="S",CODE="S" ; Cummuleren per BTW-nummer en klant I '$D(^mtemp99(GRIDID,"ICKW",BTWI,DKL)) S ^(DKL)=BTWKL_D_CODE S $P(^mtemp99(GRIDID,"ICKW",BTWI,DKL),D,3)=$P($G(^mtemp99(GRIDID,"ICKW",BTWI,DKL)),D,3)+BEDR ; Cumuleren per BTW-nummer I ($D(^mtemp99(GRIDID,"ICKW",BTWI))#10)'=1 S ^(BTWI)=BTWKL_D_CODE S $P(^mtemp99(GRIDID,"ICKW",BTWI),D,3)=$P($G(^mtemp99(GRIDID,"ICKW",BTWI)),D,3)+BEDR G ICKWF1 ICKWZ Q OK ; ZZ ; 02.02.10 - 14 u 30 * V9.06