cTN111 ; BTW-Overzicht ; [ 29/01/10 13:32:22 ] ; Compiled December 8, 2011 12:06:23 ; T1 ;Klanten; T2 ;BTW; T3 ;Korting contant; T4 ;Verschillen; T5 ;Belastbare basis; T6 ; (IC); T7 ;Leverancier; T8 ;TOT;Totaal;Totaal; T9 ;Goederen;Diensten;Investeringen;Andere;Aftrekbare BTW;Niet aftrekbare BTW; T10 ;Maatstaf Goederen;Maatstaf Diensten;Maatstaf Investeringen;Maatstaf Andere; T11 ;BTW ; T12 ;Maatstaf ;Maatstaf Overige; ; T1F ;Clients; T2F ;TVA; T3F ;Escompte comptant; T4F ;Différences; T5F ;Base taxable; T6F ; (IC); T7F ;Fournisseur; T8F ;TOT;Total;Total; T9F ;Marchandises;Services;Investissements;Autres;TVA déductible;TVA non déductible; T10F ;Mesure de tax. Marchandises;Mesure de tax. Services;Mesure de tax. Investissements;Mesure de tax. Autres; T11F ;TVA ; T12F ;Mesure de tax. ;Mesure de tax. Restant; ; T1E ;Customers; T2E ;VAT; T3E ;In cash discount; T4E ;Differences; T5E ;Taxable basis; T6E ; (IC); T7E ;Supplier; T8E ;TOT;Total;Total; T9E ;Goods;Services;Investments;Other;Deductible VAT;Non Deductible VAT; T10E ;VAT Basis Goods;VAT Basis Services;VAT Basis Investments;VAT Basis Other; T11E ;VAT Basis ; T12E ;VAT Basis ;VAT Basis Remain.; ; ; YZ Q ; BTEMP(GRIDID,KEUID,TYPE,M1,M2,JRN,QTD,PAR) ; Input: GRIDID: GridId van ^mtemp99, indien "" wordt er een nieuw nr bepaald ; <> ; KEUID : GridId van de ^mtemp99 met geselecteerde UI1's (Nog niet van toepassing) ; ; <> ; TYPE : Type document (A,V,F,...) ; M1 : Van maand (JJJJMM of JJJJ.MM) ; M2 : Tot maand (JJJJMM of JJJJ.MM) ; JRN : GridId van de journaal-selectie ; QTD : Taal gebruiker ; ; PAR : Gescheiden door "\" ; 1. Gebruikte BTW-codes in de BTW-aangifte (gescheiden door ";") ; ; ; Output: 0\Foutboodschap ; of ; GRIDID ; S $ZT="ERR^cAFVBF01" N @$$INITVAR^cAFVBA01("GRIDID,KEUID,TYPE,M1,M2,JRN,QTD,PAR") ; ; Ophalen GridId BTEMP1 I '$L($G(GRIDID)) S GRIDID=$$GRIDID^cAFVBF01() K ^mtemp99(GRIDID,"COMMON") S OK=GRIDID K oQ M oQ=Q I QTD="N" S QTD="" ; ; Controle parameters BTEMP2 F i="KEUID","TYPE","M1","M2","JRN","PAR" S @i=$G(@i) ; ; Btw soort gegevens ophalen BTEMP21 S SBTWUREF=$P($$REF^cAFA10(.Q,"CODE.9031"),D) I '$L(SBTWUREF) G BTEMPZ S SBTWUREF=$$REPL^cAFA10(SBTWUREF,"UI1","SBTWUI1") ; ; Btw type gegevens ophalen BTEMP22 S TBTWUREF=$P($$REF^cAFA10(.Q,"CODE.9032"),D) I '$L(TBTWUREF) G BTEMPZ S TBTWUREF=$$REPL^cAFA10(TBTWUREF,"UI1","TBTWUI1") ; ; Btw code gegevens ophalen BTEMP23 S BTWUREF=$P($$REF^cAFA10(.Q,"CODE.9011"),D) I '$L(BTWUREF) G BTEMPZ S BTWUREF=$$REPL^cAFA10(BTWUREF,"UI1","BTWUI1") ; ; Dagboek gegevens ophalen BTEMP25 S DBUREF=$P($$REF^cAFA10(.Q,"DB"),D) I '$L(DBUREF) G BTEMPZ S DBUREF=$$REPL^cAFA10(DBUREF,"UI1","DBUI1") ; ; Journaal gegevens ophalen BTEMP27 S JRNUREF=$P($$REF^cAFA10(.Q,"JRN"),D) I '$L(JRNUREF) G BTEMPZ S JRNUREF=$$REPL^cAFA10(JRNUREF,"UI1","JRNUI1") ; ; Dagboek verkoop, maatstaven BTW\Dagboeken gegevens ophalen BTEMP29 S DBBTWUREF=$P($$REF^cAFA10(.Q,"DB.BTW"),D) I '$L(DBBTWUREF) G BTEMPZ S DBBTWUREF=$$REPL^cAFA10(DBBTWUREF,"UI1","DBBTWUI1") ; ; Variabelen opzetten BTEMP3 D Q49^cAFA10(Q,"REG") S VNR="",REF=$$REF^cAFA10(.Q,"REG") I '$L(REF) G BTEMPZ S UREF=$P(REF,D),IREF=$P(REF,D,3) I '$L(UREF)!'$L(IREF) G BTEMPZ S I3="M1",I4=$$Q^cAFA10() I '$L(I4) G BTEMPZ ; Q(49) bepalen via registraties S MULTI=0 I $L(JRN) S MULTI=$$SELC^cAFVBA01(JRN,1) I MULTI<0 S JRN="" ; Indien * geselecteerd, JRN uitblanken, dus niet filteren op journaal S MULTI=MULTI'=1 ; indien meerdere journalen geselecteerd : MULTI=1 S KILL=0 ; ; ; Tabel BTW-codes opzetten BTEMP33 S BTWI4=$$SIG^cAFA1("Q",Q,206) ; Land S BTWIREF=$P($$REF^cAFA10(Q,"CODE.9011","M1"),D,3) K BTW S BTWI5="" BTEMP35 S BTWI5=$O(@BTWIREF@(BTWI4,BTWI5)),BTWI6="" I '$L(BTWI5) G BTEMP39 BTEMP37 S BTWI6=$O(@BTWIREF@(BTWI4,BTWI5,BTWI6)) I '$L(BTWI6) G BTEMP35 S BTWUI1=$P(^(BTWI6),D) S B=@BTWUREF@(0) S BTW($S($E(B)?1N:+$P(B,D),1:$P(B,D)),$P(B,D)_" "_BTWUI1)=BTWUI1_D_B G BTEMP37 BTEMP39 K BTWC S VNR=10 S I="" F S I=$O(BTW(I)) Q:I="" S J="" F S J=$O(BTW(I,J)) Q:J="" D . S BTWUI1=$P(BTW(I,J),D),B=$P(BTW(I,J),D,2,99) . S BTWC(BTWUI1)=VNR_D_$P(B,D)_D_$P(B,D,30) ; Tabel met btw-codes opbouwen . S VNR=VNR+1 ; ; ; ; ############################################ ; Layout multiple: ; ; Global ^INDBH ; ; DI1 = "EA" ; DI2 = "DB" ; DI3 = "M11" ; DI4 = Q49 ; DI5 = Type document (A,V,F,D,...) ; DI6 = Journaal ; DI7 = Maand ; DI8 = UI1 van dagboek ; ; ############################################ ; ; ^mtemp99(KEUID,"COMMON",DB) opzetten via maand of journaal BTEMP4 S KEUID=$$GRIDID^cAFVBF01() S M1=$TR(M1,"."),M2=$TR(M2,".") ; Punten verwijderen uit van/tot maand S DBIREF=$P($$REF^cAFA10(Q,"DB","M11"),D,3) S DBI5=TYPE,DBI6="",SWTOT=0 BTEMP43 S DBI6=$O(@DBIREF@(I4,DBI5,DBI6)) I '$L(DBI6) G BTEMP6 ; Alle journaals overlopen K BTWVNR S BTWVNR(0)=0 I $L(JRN) I '$D(^mtemp99(JRN,"COMMON",DBI6)) G BTEMP43 ; Check op journaal, als S SWTOT=SWTOT+1,DBI7=M1-1 ; Aantal # verschillende journalen bijhouden BTEMP45 S DBI7=$O(@DBIREF@(I4,DBI5,DBI6,DBI7)),DBI8="" I '$L(DBI7)!(DBI7>M2) G BTEMP43 ; Alle maanden overlopen die in range zitten BTEMP47 S DBI8=$O(@DBIREF@(I4,DBI5,DBI6,DBI7,DBI8)) I '$L(DBI8) G BTEMP45 ; De dagboeken van een maand overlopen en toevoegen aan de mtemp S DBUI1=$P(^(DBI8),D) W DBUI1,! S B(1)=@DBUREF@(0) S JRNUI1=$P(B(1),D,2) ; ID van het journaal S BM=$P(B(1),D,5) ; Boekingsmaand ; I TYPE="V" S SWIC=$$ICVE^cT00A(I4,$P(B(1),D,5),$P(B(1),D,3)) ; Switch IC document opzetten I TYPE="V" S SWIC=$$IC(DBUI1) ; Switch IC document opzetten S $P(TN,D)=$P(@JRNUREF@(0),D) ; Journaal S $P(TN,D,2)=$P(@JRNUREF@(0),D,$S(QTD="":2,QTD="F":12,QTD="D":22,QTD="E":32,1:2)) ; Omschrijving journaal in de taal vd gebruiker S TMPUI1=$$DI^cAN000($P(TN,D),JRNUI1)_" " w GRIDID,! I TYPE="A" G BTEMPA ; Verkoop BTEMPV S B(2)=@DBUREF@(1) D KLA ; Klant D BTWA ; BTW verkoop D KC ; Korting voor contant D VERS ; Verschillen D MAAT ; Maatstaven ; G BTEMP49 ; ; Aankoop BTEMPA S B(2)=@DBUREF@(3) D LEV ; Leveranciers D UITSP ; Uitsplitsing D MBTW ; Maatstaf BTW (Verkoop) D SBTW ; BTW BTW-soorten D MSBTW ; Maatstaven BTW-soorten I $$SIG^cAFA1("Q",Q,275) D BTWSRT ; Maatstaven per BTW-type (blok 4) ; BTEMP49 G BTEMP47 ; ; BTEMP6 D BL D VNR ; Volgnummer + Blanco lijnen opzetten ; ; Opkuis BTEMPY I $G(KILL),$L(JRN) K ^mtemp99(JRN,"COMMON") ; *-selectie journalen verwijderen (financieel) ; BTEMPZ Q OK ; ; ; ********************************************************************* ; Submodules ; ********************************************************************* ; KLA ; ** Klanten ** S VNR=101 S NR=TMPUI1_VNR S ITEM=$P($T(@("T1"_QTD)),U,2) S BEDR=$P(B(1),D,16) D SET(NR,VNR,ITEM,"","D",$P(B(1),D,23),BEDR) KLAZ Q ; BTWA ; ** BTW Verkoop ** S VNR=102 S NR=TMPUI1_VNR S ITEM=$P($T(@("T2"_QTD)),U,2) S BEDR=$P(B(2),D,10) D SET(NR,VNR,ITEM,"","C",$P(B(1),D,23),BEDR) BTWAZ Q ; KC ; ** Korting voor contant Verkoop** I '$L($P(B(1),D,17)) G KCZ ; S VNR=103 S NR=TMPUI1_VNR S ITEM=$P($T(@("T3"_QTD)),U,2) S BEDR=-$P(B(1),D,17) D SET(NR,VNR,ITEM,"","C",$P(B(1),D,23),BEDR) KCZ Q ; VERS ; ** Verschillen Verkoop** S VNR=120 S NR=TMPUI1_VNR S ITEM=$P($T(@("T4"_QTD)),U,2) S BEDR=$P(B(2),D)-$P(B(2),D,5)+$P(B(1),D,17) I 'BEDR G VERSZ D SET(NR,VNR,ITEM,"","C",$P(B(1),D,23),BEDR) VERSZ Q ; MAAT ; ** Maatstaf Verkoop** S DBBTWUI1=DBUI1 MAAT1 S DBBTWUI1=$O(@DBBTWUREF) I $P(DBBTWUI1," ",1,2)'=DBUI1 G MAATZ S K(1)=@DBBTWUREF@(0) S BTW=$G(BTWC($P(DBBTWUI1," ",3))) ; Uit hulptabel BTWC de juiste waarden halen ; Indien BTW-codes doorgegeven vanuit BTW-aangifte: testen of BTW code moet opgenomen worden, ; indien BTW-code niet opgenomen: bedrag BTW verminderen I $L($P(PAR,D)),((U_$P(PAR,D)_U)'[(U_$P(BTW,D,2)_U)) D SET(TMPUI1_102,102,$P($T(@("T2"_QTD)),U,2),"","C",$P(B(1),D,23),-$P(K(1),D,5)) G MAAT1 S VNR=100+$P(BTW,D) S NR=TMPUI1_VNR I SWIC,(U_$P(SWIC,D,2)_U)[(U_$P(DBBTWUI1," ",3)_U) S VNR=VNR_"0",NR=NR_"0" S ITEM=$P($T(@("T5"_QTD)),U,2)_" "_$P(BTW,D,2)_$S(SWIC&((U_$P(SWIC,D,2)_U)[(U_$P(DBBTWUI1," ",3)_U)):$P($T(@("T6"_QTD)),U,2),1:"") S BEDR=$P(K(1),D,3) D SET(NR,VNR,ITEM,"","C",$P(B(1),D,23),BEDR,,,$P(BTW,D,2),(U_$P(SWIC,D,2)_U)[(U_$P(DBBTWUI1," ",3)_U)) G MAAT1 MAATZ Q ; LEV ; ** Leveranciers Aankoop** S VNR=107 S NR=TMPUI1_VNR S ITEM=$P($T(@("T7"_QTD)),U,2) S BEDR=$P(B(1),D,16) D SET(NR,VNR,ITEM,"","C",$P(B(1),D,23),BEDR,1) LEVZ Q ; UITSP ; ** Uitsplitsing Aankoop** S i=0 UITSP1 S i=i+1 I i>6 G UITSPZ S VNR=100+i S NR=TMPUI1_VNR S ITEM=$P($T(@("T9"_QTD)),U,i+1) S BINBED=i ; B-index van het bedrag opzetten I i=5 S BINBED=10 ; Aftrekbare BTW I i=6 S BINBED=11 ; Niet aftrekbare BTW S BEDR=$P(B(2),D,BINBED) D SET(NR,VNR,ITEM,"","D",$P(B(1),D,23),BEDR,1) G UITSP1 UITSPZ Q ; SBTW ; ** BTW BTW-soorten Aankoop ** S TBTWUI1=$P(B(2),D,12) I '$L(TBTWUI1) G SBTWZ S SBTWUI1=$P(@TBTWUREF@(0),D,4) S VNR=$P(@SBTWUREF@(0),D) I VNR=5 G SBTWZ ; UI1 vd mtemp99 opbouwen S VNR=VNR+110 S NR=TMPUI1_VNR S ITEM=$P($T(@("T11"_QTD)),U,2)_$P(@SBTWUREF@(0),D,$S(QTD="":2,QTD="F":12,QTD="D":22,QTD="E":32,1:2)) S BEDR=-$P(B(2),D,13) D SET(NR,VNR,ITEM,"","C",$P(B(1),D,23),BEDR,1) SBTWZ Q ; MBTW ; ** Maatstaf BTW Aankoop blok 2** S i=0 MBTW1 I i>3 G MBTWZ S VNR=200+i S NR=TMPUI1_VNR S ITEM=$P($T(@("T10"_QTD)),U,i+2) S BINBED=i+6 S BEDR=$P(B(2),D,BINBED) S NAFBTW="" I BEDR S NAFBTW=$P(B(2),D,11),$P(B(2),D,11)="" ; Niet aftrekbare BTW bij Goederen D SET(NR,VNR,$P($T(@("T10"_QTD)),U,i+2),NAFBTW,"D",$P(B(1),D,23),BEDR,2) I i'=3 G MBTWY ; Mtst Andere in blok 3 S VNR=306 S NR=TMPUI1_VNR D SET(NR,VNR,$P($T(@("T10"_QTD)),U,i+2),"","D",$P(B(1),D,23),BEDR,3) MBTWY S i=i+1 G MBTW1 MBTWZ Q ; MSBTW ; ** Maatstaf BTW-soorten Aankoop blok 3** S TBTWUI1=$P(B(2),D,12),SBTWUI1="" I '$L(TBTWUI1) S VNR=5 G MSBTW2 S SBTWUI1=$P(@TBTWUREF@(0),D,4) S VNR=$P(@SBTWUREF@(0),D) I VNR=5 G MSBTWZ MSBTW2 S VNR=VNR+300 S NR=TMPUI1_VNR I VNR=305 S ITEM=$P($T(@("T12"_QTD)),U,3) I $L($G(SBTWUI1)) S ITEM=$P($T(@("T12"_QTD)),U,2)_$P(@SBTWUREF@(0),D,$S(QTD="":2,QTD="F":12,QTD="D":22,QTD="E":32,1:2)) ; Item in de taal vd gebruiker I BM>2010,($G(SBTWUI1)=1001) D G MSBTWZ ; Intracommunautair ; KU : 16.11.09 . ; goederen . S BEDR=$P(B(2),D,6) . S IG=$P(B(2),D,36) . S:'$L(IG) IG=0 ; default goederen . S:IG>1 IG=0 ; behouden (2,3,4) . D SET(NR_IG,VNR_$C(97+IG),ITEM_" "_$P($T(@("T9"_QTD)),U,2+IG),"","D",$P(B(1),D,23),BEDR,3) . ; diensten . S BEDR=$P(B(2),D,7) . S IG=$P(B(2),D,36) . S:'$L(IG) IG=1 ; default diensten . S:IG>1 IG=1 ; behouden (2,3,4) . D SET(NR_IG,VNR_$C(97+IG),ITEM_" "_$P($T(@("T9"_QTD)),U,2+IG),"","D",$P(B(1),D,23),BEDR,3) . ; investeringen . S BEDR=$P(B(2),D,8) . I '$L(IG) Q . S IG=$P(B(2),D,36) . S IG=IG#3 ; 0 en 3 = goederen, 1 en 4 = diensten . D SET(NR_IG,VNR_$C(97+IG),ITEM_" "_$P($T(@("T9"_QTD)),U,2+IG),"","D",$P(B(1),D,23),BEDR,3) S BEDR=$P(B(2),D,5) D SET(NR,VNR,ITEM,"","D",$P(B(1),D,23),BEDR,3) MSBTWZ Q ; ; maatstaven BTW types BTWSRT ; ** Maatstaf BTW-types Aankoop blok 4** S TBTWUI1=$P(B(2),D,12),SBTWUI1="" I '$L(TBTWUI1) S VNR=5 G BTWSRTZ S BTWCO=$P(@TBTWUREF@(0),D) I '$D(BTWVNR(BTWCO)) S BTWVNR(BTWCO)=BTWVNR(0),BTWVNR(0)=BTWVNR(0)+1 S VNR=BTWVNR(BTWCO) BTWSRT2 S VNR=VNR+400 S NR=TMPUI1_VNR S ITEM=$P($T(@("T12"_QTD)),U,2)_$P(@TBTWUREF@(0),D,$S(QTD="":2,QTD="F":12,QTD="D":22,QTD="E":32,1:2)) ; Item in de taal vd gebruiker S BEDR=$P(B(2),D,5) D SET(NR,VNR,ITEM,"","D",$P(B(1),D,23),BEDR,4) BTWSRTZ Q ; Totalen berekenen ; ; VNR ; Bepalen volgnrs S MUI1="",i=0 VNR1 S MUI1=$O(^mtemp99(GRIDID,"COMMON",MUI1)) I '$L(MUI1) G VNRZ S NODE0=^(MUI1,0) S i=i+1 S $P(NODE0,D,6)=i S ^mtemp99(GRIDID,"COMMON",MUI1,0)=NODE0 G VNR1 VNRZ Q ; ; BL ; Blanco lijnen S MUI1="" BL1 S MUI1=$O(^mtemp99(GRIDID,"COMMON",MUI1)) I '$L(MUI1) G BLZ S N0=^(MUI1,0) S VUI1=$O(^mtemp99(GRIDID,"COMMON",MUI1),-1) ; vorige UI1 I '$L(VUI1) G BL1 ; 1ste record S VN0=^mtemp99(GRIDID,"COMMON",VUI1,0) S BN0=VN0 F i=3,4 S $P(BN0,D,i)="" ; Totaal of Eindtotaal ; I $E($P(MUI1," ",3),1,3)=999 D G BL1 ; . I '$L($P(^mtemp99(GRIDID,"COMMON",VUI1,0),D,3)) Q ; . S ^mtemp99(GRIDID,"COMMON",$P(MUI1," ",1,2)_" "_($P(MUI1," ",3)-9),0)=BN0 ; per journaal I $P(VUI1," ",1,2)'=$P(MUI1," ",1,2) D G BL1 . S ^mtemp99(GRIDID,"COMMON",$P(MUI1," ",1,2)_" "_0,0)=BN0 BL2 I TYPE'="A" G BL1 ; per blok I $P(N0,D,7)=$P(VN0,D,7) G BL1 ; blok gelijk ; S $P(^mtemp99(GRIDID,"COMMON",$P(MUI1," ",1,2)_" "_($P(VUI1," ",3)-1),0),D,7,8)=$P(VN0,D,7,8) S ^mtemp99(GRIDID,"COMMON",$P(MUI1," ",1,2)_" "_($P(VUI1," ",3)+9),0)=BN0 G BL1 BLZ Q ; ; ********************************************************************* ; Einde submodules ; ********************************************************************* ; ; SET(NR,VNR,ITEM,NAFBTW,DC,FC,BEDR,BLOK,TOT,BTWC,IC) S $ZT="TRAP^cAN000" N oTN,BED,BIN,R,VNRT,NRT,ITEMT I 'BEDR&'NAFBTW G SETZ SETA S TN1=$G(^mtemp99(GRIDID,"COMMON",NR,1)) I $L(TN1) G SETB S $P(TN0,D)=$P(TN,D) ; Journaal S $P(TN0,D,2)=$P(TN,D,2) ; Omschrijving journaal in de taal vd gebruiker S $P(TN0,D,3)=VNR ; Volgnummer S $P(TN0,D,4)=ITEM ; Item in de taal vd gebruiker S $P(TN0,D,5)=$G(TOT) ; Totaal 1=per journaal, 2=per blok,9 = Eindtotaal per item, 99 = eindtotaal S $P(TN0,D,7)=$G(BLOK) ; Indien aankoop : BLOK=1,2,3 en 4 S $P(TN0,D,8)=$S(MULTI:$G(TOT)>8,'MULTI:$G(TOT)<9,1:0) ; tonen : 1 = ja S $P(TN0,D,9)=$G(BTWC) ; BTW-code (0%, ...) S $P(TN0,D,10)=$G(IC) ; IC = 0 of 1 S ^mtemp99(GRIDID,"COMMON",NR,0)=TN0 ; SETB S BED=$$BEDR(DC,FC,BEDR) S BIN=$P(BED,D),R=$P(BED,D,2) I R S $P(TN1,D,BIN)=$P(TN1,D,BIN)+R ; Bedrag I NAFBTW S $P(TN1,D,3)=$P(TN1,D,3)+NAFBTW ; Niet aftrekbare BTW I $L($TR($P(TN1,D,5,6),D)) S $P(TN1,D)=$P(TN1,D,5)-$P(TN1,D,6) ; Bedrag facturen I $L($TR($P(TN1,D,7,8),D)) S $P(TN1,D,2)=$P(TN1,D,7)-$P(TN1,D,8) ; Bedrag creditnota's I $L($P(TN1,D,5))!$L($P(TN1,D,7)) S $P(TN1,D,9)=$P(TN1,D,5)+$P(TN1,D,7) ; Bedrag debet I $L($P(TN1,D,6))!$L($P(TN1,D,8)) S $P(TN1,D,10)=$P(TN1,D,6)+$P(TN1,D,8) ; Bedrag credit I $L($P(TN1,D,9))!$L($P(TN1,D,10))!$L($P(TN1,D,3)) S $P(TN1,D,4)=$P(TN1,D,9)-$P(TN1,D,10)+$P(TN1,D,3) ; Totaal ; SETC S ^mtemp99(GRIDID,"COMMON",NR,1)=TN1 I $G(TOT) G SETZ ; SETE ; Subtotaal per blok (Aankoop) I '$G(BLOK) G SETF S oTN=TN S $P(TN,D,2)=$P($T(@("T8"_QTD)),U,4) S VNRT=BLOK*100+90 S NRT=$P(NR," ",1,2)_" "_VNRT S ITEMT=$P(TN,D,2) D SET(NRT,VNRT,ITEMT,NAFBTW,DC,FC,BEDR,$G(BLOK),2) S TN=oTN ; SETF ; Subtotaal per journaal I $P(B(1),D)="A" G SETG ; geen totaal Aankoop S VNRT=999 S NRT=$P(NR," ",1,2)_" "_VNRT S ITEMT=$P($T(@("T8"_QTD)),U,4) D SET(NRT,VNRT,ITEMT,NAFBTW,DC,FC,BEDR,$G(BLOK),1,$G(BTWC),$G(IC)) ; SETG ; Eindtotaal per item I 'MULTI G SETZ ; maar 1 journaal geselecteerd N TN S TN=$TR($P($T(@("T8"_QTD)),U,2,3),U,D) S VNRT=9_VNR S NRT="~~"_$P($T(@("T8"_QTD)),U,2)_" 999 "_VNR D SET(NRT,VNRT,ITEM,NAFBTW,DC,FC,BEDR,$G(BLOK),9,$G(BTWC),$G(IC)) ; SETH ; Eindtotaal per blok (Aankoop) I '$G(BLOK) G SETY S oTN=TN S $P(TN,D,2)=$P($T(@("T8"_QTD)),U,4) S VNRT=BLOK*100+90 S NRT="~~"_$P($T(@("T8"_QTD)),U,2)_" 999 "_VNRT S ITEMT=$P(TN,D,2) D SET(NRT,9_VNRT,ITEMT,NAFBTW,DC,FC,BEDR,$G(BLOK),9) S TN=oTN ; SETY ; Eindtotaal I $P(B(1),D)="A" G SETZ ; geen totaal Aankoop N TN S TN=$TR($P($T(@("T8"_QTD)),U,2,3),U,D) S VNRT=9999 S NRT="~~"_$P($T(@("T8"_QTD)),U,2)_" 999 "_VNRT S ITEMT=$P(TN,D,2) D SET(NRT,VNRT,ITEMT,NAFBTW,DC,FC,BEDR,$G(BLOK),99,$G(BTWC),$G(IC)) ; SETZ Q ; BEDR(DC,FC,R) ; Input: DC : Debet of credit ; FC : Factuur of creditnota ; R : Bedrag ; ; ; Output: BIN_Bedrag ; N BIN S $ZT="TRAP^cAN000" I DC="D" D . S BIN=5+((FC="C")*2) ; Bedrag debiteren . I R<0 S R=-R,BIN=BIN+1 ; Bedrag crediteren I DC="C" D . S BIN=6+((FC="C")*2) ; Bedrag debiteren . I R<0 S R=-R,BIN=BIN-1 ; Bedrag crediteren BEDRZ Q BIN_D_R ; IC(UI1DB) ; bepalen of document in aanmerking komt voor IC of niet ; UI1DB : UI1 dagboek DB ; S $ZT="TRAP^cAN000" N R,B,BTWKL,LANDKL,BTWC,A ICA S R=0 I '$L($G(UI1DB)) G ICZ S B(1)=$$SIGN^cAFA1("DB",UI1DB,0) S B(2)=$G(^(2)) I '$L(B(2)) G ICZ S BTWVEN=$$SIG^cAFA1("Q",$P(B(1),D,49),207) ; BTW-nr vennootschap S LANDVEN=$P(^(1),D,22) ; land BTW-administratie I $L($P(B(1),D,25)),$$SIG^cAFA1("Q",$P(B(1),D,49),207)'=$P(B(1),D,25) G ICZ ; BTW-nr vennootschap <> BTW-nr vennootschap in dagboek ; check BTW-nr ICB S BTWKL=$P(B(2),D,15) ; BTW-nr klant in dagboek I '$L(BTWKL) S BTWKL=$$SIG^cAFA1("KL.A",$P(B(1),D,9),116) ; BTW-nr klant S LANDKL=$P(^(0),D,8) ; Land klant I '$L(BTWKL) G ICZ I '$$IC^cTI0(BTWKL,$P(B(1),D,5)) G ICZ ; Geen EU-BTW-nr ; check toegelaten BTW-codes (voor België) ICC S BTWC=$$UI1OP^cAFA1("CODE.9011","M1","",LANDVEN,0) I $L(BTWC) S BTWC(BTWC)="" I $P(B(1),D,5)>2010 D . S BTWC=$$UI1OP^cAFA1("CODE.9011","M1","",LANDVEN,"0%(44)") ; KU : 16.11.09 : diensten . I $L(BTWC) S BTWC(BTWC)=1 ICD S BTWC="",R=0,A="" F S BTWC=$O(BTWC(BTWC)) Q:BTWC="" I $L($$SIG^cAFA1("DB.BTW",UI1DB_" "_BTWC,103)) S A=A_$S($L(A):U,1:"")_BTWC I '$L(A) G ICZ S R=1_D_A ICZ Q R ; ZZ ; 18.04.08 - 16 u 39 * V9.01