VLKC#39450 factuurmatching voor C en O ook indien incl BTW
svn path=/Database/trunk/; revision=34860
This commit is contained in:
287
FIN/FIN_PAC.SRC
287
FIN/FIN_PAC.SRC
@@ -289,30 +289,31 @@ AS
|
||||
-- -1 factuur niet (automatisch) goed
|
||||
-- 0 niks van te zeggen of reeds goed-/afgekeurd/verwerkt
|
||||
-- 1 factuur okay
|
||||
ftype VARCHAR2 (1);
|
||||
c_key fin_factuur.cnt_contract_key%TYPE;
|
||||
b_key fin_factuur.bes_bestelopdr_key%TYPE;
|
||||
o_key fin_factuur.mld_opdr_key%TYPE;
|
||||
factuurstatus fin_factuur.fin_factuur_statuses_key%TYPE;
|
||||
factuurdatum fin_factuur.fin_factuur_datum%TYPE;
|
||||
factuurboekmaand fin_factuur.fin_factuur_boekmaand%TYPE;
|
||||
discipline ins_tab_discipline.ins_discipline_key%TYPE;
|
||||
factmatchmode mld_disc_params.mld_disc_params_factmatchmode%TYPE;
|
||||
korting bes_bestelopdr.bes_bestelopdr_korting%TYPE;
|
||||
levkosten bes_bestelopdr.bes_bestelopdr_levkosten%TYPE;
|
||||
contracttermijnkosten cnt_contract.cnt_contract_termijnkosten%TYPE;
|
||||
factuurschemabedrag cnt_factuurschema.cnt_factuurschema_bedrag%TYPE;
|
||||
contractkosten cnt_contract.cnt_contract_kosten%TYPE;
|
||||
opdrachtkosten mld_opdr.mld_opdr_kosten%TYPE;
|
||||
matchtype mld_typeopdr.mld_typeopdr_matchtype%TYPE;
|
||||
factuurbedrag NUMBER (12, 2);
|
||||
bestelbedrag NUMBER (12, 2); -- van de opdracht waar deze factuur over gaat
|
||||
totaalgefactureerd NUMBER (12, 2); -- met deze factuur erbij eerder gefactureerd van dezelfde B(R)OC
|
||||
totaaltermijngefactureerd NUMBER (12, 2); -- met deze factuur erbij eerder gefactureerd van dezelfde C igv factuurschema-gebruik
|
||||
totaalgefactureerdbtw NUMBER (12, 2);
|
||||
opdrstatus mld_opdr.mld_statusopdr_key%TYPE;
|
||||
retval NUMBER := 0;
|
||||
inclbtw NUMBER := 0;
|
||||
ftype VARCHAR2 (1);
|
||||
c_key fin_factuur.cnt_contract_key%TYPE;
|
||||
b_key fin_factuur.bes_bestelopdr_key%TYPE;
|
||||
o_key fin_factuur.mld_opdr_key%TYPE;
|
||||
factuurstatus fin_factuur.fin_factuur_statuses_key%TYPE;
|
||||
factuurdatum fin_factuur.fin_factuur_datum%TYPE;
|
||||
factuurboekmaand fin_factuur.fin_factuur_boekmaand%TYPE;
|
||||
discipline ins_tab_discipline.ins_discipline_key%TYPE;
|
||||
factmatchmode mld_disc_params.mld_disc_params_factmatchmode%TYPE;
|
||||
korting bes_bestelopdr.bes_bestelopdr_korting%TYPE;
|
||||
levkosten bes_bestelopdr.bes_bestelopdr_levkosten%TYPE;
|
||||
contracttermijnkosten cnt_contract.cnt_contract_termijnkosten%TYPE;
|
||||
factuurschemabedrag cnt_factuurschema.cnt_factuurschema_bedrag%TYPE;
|
||||
contractkosten cnt_contract.cnt_contract_kosten%TYPE;
|
||||
opdrachtkosten mld_opdr.mld_opdr_kosten%TYPE;
|
||||
matchtype mld_typeopdr.mld_typeopdr_matchtype%TYPE;
|
||||
factuurbedrag NUMBER (12, 2);
|
||||
bestelbedrag NUMBER (12, 2); -- van de opdracht waar deze factuur over gaat
|
||||
totaalgefactureerd NUMBER (12, 2); -- met deze factuur erbij eerder gefactureerd van dezelfde B(R)OC
|
||||
totaaltermijngefactureerd NUMBER (12, 2); -- met deze factuur erbij eerder gefactureerd van dezelfde C igv factuurschema-gebruik
|
||||
totaaltermijngefactureerdbtw NUMBER (12, 2); -- met deze factuur erbij eerder gefactureerd van dezelfde C igv factuurschema-gebruik
|
||||
totaalgefactureerdbtw NUMBER (12, 2);
|
||||
opdrstatus mld_opdr.mld_statusopdr_key%TYPE;
|
||||
retval NUMBER := 0;
|
||||
inclbtw NUMBER := 0;
|
||||
-- Bepaal te tolerantie van de vakgroep
|
||||
-- waarschijnlijk in procenten of zo?
|
||||
-- of geven we de factuurwaarde mee en leveren we true/false op?
|
||||
@@ -331,24 +332,24 @@ AS
|
||||
|
||||
DBMS_OUTPUT.put_line ('\nfactuurkey: ' || pfactuur_key);
|
||||
|
||||
SELECT mld_opdr_key,
|
||||
cnt_contract_key,
|
||||
bes_bestelopdr_key,
|
||||
fin_factuur_totaal,
|
||||
fin_factuur_statuses_key,
|
||||
fin_factuur_datum,
|
||||
fin_factuur_boekmaand
|
||||
INTO o_key,
|
||||
c_key,
|
||||
b_key,
|
||||
factuurbedrag,
|
||||
factuurstatus,
|
||||
factuurdatum,
|
||||
factuurboekmaand
|
||||
FROM fin_factuur
|
||||
WHERE fin_factuur_key = pfactuur_key;
|
||||
SELECT mld_opdr_key,
|
||||
cnt_contract_key,
|
||||
bes_bestelopdr_key,
|
||||
fin_factuur_totaal,
|
||||
fin_factuur_statuses_key,
|
||||
fin_factuur_datum,
|
||||
fin_factuur_boekmaand
|
||||
INTO o_key,
|
||||
c_key,
|
||||
b_key,
|
||||
factuurbedrag,
|
||||
factuurstatus,
|
||||
factuurdatum,
|
||||
factuurboekmaand
|
||||
FROM fin_factuur
|
||||
WHERE fin_factuur_key = pfactuur_key;
|
||||
|
||||
IF factuurstatus <> 2 -- is al verwerkt, matching zinloos
|
||||
IF factuurstatus <> 2 -- is al verwerkt, matching zinloos
|
||||
THEN
|
||||
DBMS_OUTPUT.put_line ('STOP, factuurstatus: ' || factuurstatus);
|
||||
RETURN 0;
|
||||
@@ -370,25 +371,28 @@ AS
|
||||
-- en het totaal met de eerder bestellingfacturen ook,
|
||||
-- waarbij afhankelijk van 2-weg/3-weg wordt geteld.
|
||||
-- Dat moeten we dus eerst bepalen
|
||||
SELECT MAX (isg.ins_discipline_key)
|
||||
INTO discipline
|
||||
FROM bes_bestelopdr_item boi, bes_bestelling_item bbi, bes_srtdeel isd, bes_srtgroep isg
|
||||
WHERE isd.bes_srtgroep_key = isg.bes_srtgroep_key
|
||||
AND bbi.bes_srtdeel_key = isd.bes_srtdeel_key
|
||||
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||||
AND boi.bes_bestelopdr_key = b_key;
|
||||
SELECT MAX (isg.ins_discipline_key)
|
||||
INTO discipline
|
||||
FROM bes_bestelopdr_item boi,
|
||||
bes_bestelling_item bbi,
|
||||
bes_srtdeel isd,
|
||||
bes_srtgroep isg
|
||||
WHERE isd.bes_srtgroep_key = isg.bes_srtgroep_key
|
||||
AND bbi.bes_srtdeel_key = isd.bes_srtdeel_key
|
||||
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||||
AND boi.bes_bestelopdr_key = b_key;
|
||||
|
||||
factmatchmode := fin.getfactmatchmode (discipline, 'B');
|
||||
|
||||
-- Zijn de bestelbedragen incl. of excl. BTW.
|
||||
SELECT MAX((SELECT ks.prs_kostensoort_btw
|
||||
FROM prs_kostensoort ks
|
||||
WHERE ks.prs_kostensoort_key = COALESCE(bsg.prs_kostensoort_key, bd.prs_kostensoort_key)))
|
||||
SELECT MAX( (SELECT ks.prs_kostensoort_btw
|
||||
FROM prs_kostensoort ks
|
||||
WHERE ks.prs_kostensoort_key =
|
||||
COALESCE (bsg.prs_kostensoort_key, bd.prs_kostensoort_key)))
|
||||
INTO inclbtw
|
||||
FROM bes_discipline bd,
|
||||
bes_srtgroep bsg
|
||||
FROM bes_discipline bd, bes_srtgroep bsg
|
||||
WHERE bd.ins_discipline_key = bsg.ins_discipline_key
|
||||
AND bd.ins_discipline_key = discipline;
|
||||
AND bd.ins_discipline_key = discipline;
|
||||
|
||||
-- Bereken dan nu de voor de matching relevante bedragen
|
||||
-- Voor bestellingen nemen we de INKOOPPRIJS (het is immers een factuur die wij ontvangen)
|
||||
@@ -397,44 +401,52 @@ AS
|
||||
CASE
|
||||
WHEN factmatchmode = 2
|
||||
THEN
|
||||
SELECT SUM(boi.bes_bestelopdr_item_aantal * COALESCE (boi.bes_bestelopdr_item_inkprijs, boi.bes_bestelopdr_item_prijs)),
|
||||
MAX(COALESCE (bo.bes_bestelopdr_korting, 0)),
|
||||
MAX(COALESCE (bo.bes_bestelopdr_levkosten, 0))
|
||||
SELECT SUM(boi.bes_bestelopdr_item_aantal
|
||||
* COALESCE (boi.bes_bestelopdr_item_inkprijs,
|
||||
boi.bes_bestelopdr_item_prijs)),
|
||||
MAX (COALESCE (bo.bes_bestelopdr_korting, 0)),
|
||||
MAX (COALESCE (bo.bes_bestelopdr_levkosten, 0))
|
||||
INTO bestelbedrag, korting, levkosten
|
||||
FROM bes_bestelopdr_item boi, bes_bestelling_item bbi, bes_bestelopdr bo
|
||||
WHERE boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||||
WHERE boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||||
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||||
AND bo.bes_bestelopdr_status NOT IN (1, 3, 8) -- als die maar niet afgewezen/geannuleerd is
|
||||
AND boi.bes_bestelopdr_key = b_key;
|
||||
WHEN factmatchmode = 3
|
||||
THEN
|
||||
SELECT SUM(boi.bes_bestelopdr_item_aantal * COALESCE (boi.bes_bestelopdr_item_inkprijs, boi.bes_bestelopdr_item_prijs)),
|
||||
MAX(COALESCE (bo.bes_bestelopdr_korting, 0)),
|
||||
MAX(COALESCE (bo.bes_bestelopdr_levkosten, 0))
|
||||
SELECT SUM(boi.bes_bestelopdr_item_aantal
|
||||
* COALESCE (boi.bes_bestelopdr_item_inkprijs,
|
||||
boi.bes_bestelopdr_item_prijs)),
|
||||
MAX (COALESCE (bo.bes_bestelopdr_korting, 0)),
|
||||
MAX (COALESCE (bo.bes_bestelopdr_levkosten, 0))
|
||||
INTO bestelbedrag, korting, levkosten
|
||||
FROM bes_bestelopdr_item boi, bes_bestelling_item bbi, bes_bestelopdr bo
|
||||
WHERE boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||||
WHERE boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||||
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||||
AND boi.bes_bestelopdr_item_status IN (6, 7) -- alleen de geleverde regels meetellen
|
||||
AND boi.bes_bestelopdr_key = b_key;
|
||||
END CASE;
|
||||
|
||||
bestelbedrag := bestelbedrag - korting + levkosten; -- Bedragen zijn excl. BTW?
|
||||
bestelbedrag := bestelbedrag - korting + levkosten; -- Bedragen zijn excl. BTW?
|
||||
|
||||
SELECT SUM (fin_factuur_totaal), SUM(fin_factuur_totaal_btw)
|
||||
INTO totaalgefactureerd, totaalgefactureerdbtw
|
||||
FROM fin_factuur
|
||||
WHERE bes_bestelopdr_key = b_key
|
||||
AND fin_factuur_statuses_key <> 1
|
||||
AND fin_factuur_verwijder IS NULL
|
||||
AND fin_factuur_datum <= factuurdatum;
|
||||
SELECT SUM (fin_factuur_totaal), SUM (fin_factuur_totaal_btw)
|
||||
INTO totaalgefactureerd, totaalgefactureerdbtw
|
||||
FROM fin_factuur
|
||||
WHERE bes_bestelopdr_key = b_key
|
||||
AND fin_factuur_statuses_key <> 1
|
||||
AND fin_factuur_verwijder IS NULL
|
||||
AND fin_factuur_datum <= factuurdatum;
|
||||
|
||||
IF inclbtw = 1 -- Artikelen zijn al inclusief, dan ook maar factuur inclusief matchen
|
||||
IF inclbtw = 1 -- Artikelen zijn al inclusief, dan ook maar factuur inclusief matchen
|
||||
THEN
|
||||
totaalgefactureerd := totaalgefactureerd + totaalgefactureerdbtw;
|
||||
DBMS_OUTPUT.put_line ('Inclusief BTW');
|
||||
totaalgefactureerd := totaalgefactureerd + totaalgefactureerdbtw;
|
||||
END IF;
|
||||
|
||||
IF fin.tolerantiematch (discipline, ftype, totaalgefactureerd, bestelbedrag) = 1
|
||||
IF fin.tolerantiematch (discipline,
|
||||
ftype,
|
||||
totaalgefactureerd,
|
||||
bestelbedrag) = 1
|
||||
THEN
|
||||
retval := 1;
|
||||
ELSE
|
||||
@@ -448,6 +460,15 @@ AS
|
||||
-- om te beginnen zit deze factuur per definitie in deze termijn (welke dan ook)
|
||||
totaaltermijngefactureerd := factuurbedrag;
|
||||
|
||||
-- Zijn deze contractbedragen incl. of excl. BTW.
|
||||
SELECT MAX( (SELECT ks.prs_kostensoort_btw
|
||||
FROM prs_kostensoort ks
|
||||
WHERE ks.prs_kostensoort_key =
|
||||
COALESCE (c.prs_kostensoort_key, cd.prs_kostensoort_key)))
|
||||
INTO inclbtw
|
||||
FROM cnt_discipline cd, cnt_contract c
|
||||
WHERE cd.ins_discipline_key = c.ins_discipline_key AND c.cnt_contract_key = c_key;
|
||||
|
||||
-- Controle op termijn bedrag en totaal, je kunt discussieren of _verwijder moet worden gecontroleerd.
|
||||
BEGIN
|
||||
SELECT c.cnt_contract_termijnkosten, c.cnt_contract_kosten, c.ins_discipline_key
|
||||
@@ -469,19 +490,7 @@ AS
|
||||
FROM cnt_factuurschema s
|
||||
WHERE s.cnt_factuurschema_boekmaand = factuurboekmaand
|
||||
AND s.cnt_contract_key = c_key;
|
||||
|
||||
-- Ok, er is dus een factuurschema-bedrag voor deze periode: dan controleren:
|
||||
-- waren er niet al facturen voor dezelfde periode en komt het totaal er met deze dan niet overheen?
|
||||
SELECT SUM (fin_factuur_totaal) -- Excl. BTW
|
||||
INTO totaaltermijngefactureerd
|
||||
FROM fin_factuur
|
||||
WHERE cnt_contract_key = c_key
|
||||
AND fin_factuur_statuses_key <> 1
|
||||
AND fin_factuur_verwijder IS NULL
|
||||
AND fin_factuur_datum <= factuurdatum
|
||||
AND fin_factuur_boekmaand = factuurboekmaand;
|
||||
-- totaaltermijngefactureerd is dus voor deze periode inclusief deze nieuwe, dus
|
||||
-- dus mogelijk hoger dan deze ene factuur
|
||||
-- Ok, er is dus een factuurschema-bedrag voor deze periode: dan controleren:
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
@@ -492,16 +501,42 @@ AS
|
||||
-- factuurschemabedrag is nu null
|
||||
END;
|
||||
|
||||
-- LET OP: contractbedragen worden altijd excl. BTW. verondersteld
|
||||
-- Zou hier horen, maar we doen er toch niks mee: factmatchmode := fin.getfactmatchmode (discipline, 'C');
|
||||
SELECT SUM (fin_factuur_totaal) -- Excl. BTW
|
||||
INTO totaalgefactureerd
|
||||
-- waren er niet al facturen voor dezelfde periode en komt het totaal er met deze dan niet overheen?
|
||||
SELECT SUM (fin_factuur_totaal), SUM (fin_factuur_totaal_btw)
|
||||
INTO totaaltermijngefactureerd, totaaltermijngefactureerdbtw
|
||||
FROM fin_factuur
|
||||
WHERE cnt_contract_key = c_key
|
||||
AND fin_factuur_statuses_key <> 1
|
||||
AND fin_factuur_verwijder IS NULL
|
||||
AND fin_factuur_datum <= factuurdatum
|
||||
AND fin_factuur_boekmaand = factuurboekmaand;
|
||||
|
||||
-- totaaltermijngefactureerd(btw) is dus voor deze periode inclusief deze nieuwe, dus
|
||||
-- dus mogelijk hoger dan deze ene factuur
|
||||
|
||||
-- We doen er toch niks mee: factmatchmode := fin.getfactmatchmode (discipline, 'C');
|
||||
|
||||
-- hoeveel is er met deze factuur erbij totaal voor dit contract gefactureerd
|
||||
SELECT SUM (fin_factuur_totaal), SUM (fin_factuur_totaal_btw)
|
||||
INTO totaalgefactureerd, totaalgefactureerdbtw
|
||||
FROM fin_factuur
|
||||
WHERE cnt_contract_key = c_key
|
||||
AND fin_factuur_statuses_key <> 1
|
||||
AND fin_factuur_verwijder IS NULL
|
||||
AND fin_factuur_datum <= factuurdatum;
|
||||
|
||||
DBMS_OUTPUT.put_line ('Totaal gefactureerd: ' || totaalgefactureerd);
|
||||
DBMS_OUTPUT.put_line ('Totaal gefactureerd periode: ' || totaaltermijngefactureerd);
|
||||
|
||||
IF inclbtw = 1 -- Contractbedragen zijn al inclusief, dan ook factuur inclusief matchen
|
||||
THEN
|
||||
DBMS_OUTPUT.put_line ('Inclusief BTW');
|
||||
totaalgefactureerd := totaalgefactureerd + totaalgefactureerdbtw; -- inclusief BTW
|
||||
totaaltermijngefactureerd := totaaltermijngefactureerd + totaaltermijngefactureerdbtw; -- deze periode(maand) incl. BTW
|
||||
DBMS_OUTPUT.put_line ('Totaal gefactureerd: ' || totaalgefactureerd);
|
||||
DBMS_OUTPUT.put_line ('Totaal gefactureerd periode: ' || totaaltermijngefactureerd);
|
||||
END IF;
|
||||
|
||||
IF totaalgefactureerd <=
|
||||
contractkosten + fac.safe_to_number (fac.getsetting ('cnt_factuur_totaalmarge'))
|
||||
AND fin.tolerantiematch (discipline,
|
||||
@@ -520,25 +555,52 @@ AS
|
||||
THEN
|
||||
-- controleer op basis van typeopdr.matchtype
|
||||
BEGIN
|
||||
SELECT o.mld_opdr_kosten, sm.mld_ins_discipline_key, top.mld_typeopdr_matchtype, o.mld_statusopdr_key
|
||||
INTO opdrachtkosten, discipline, matchtype, opdrstatus
|
||||
FROM mld_opdr o, mld_melding m, mld_typeopdr top, mld_stdmelding sm
|
||||
WHERE o.mld_melding_key = m.mld_melding_key
|
||||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND o.mld_typeopdr_key = top.mld_typeopdr_key
|
||||
AND top.mld_typeopdr_kosten = 1 -- daar mag een factuur bij
|
||||
AND mld_statusopdr_key NOT IN (1, 2, 3, 10) -- dat zijn (nog) ongeldige opdrachten
|
||||
AND mld_opdr_key = o_key;
|
||||
SELECT o.mld_opdr_kosten,
|
||||
sm.mld_ins_discipline_key,
|
||||
top.mld_typeopdr_matchtype,
|
||||
o.mld_statusopdr_key
|
||||
INTO opdrachtkosten,
|
||||
discipline,
|
||||
matchtype,
|
||||
opdrstatus
|
||||
FROM mld_opdr o,
|
||||
mld_melding m,
|
||||
mld_typeopdr top,
|
||||
mld_stdmelding sm
|
||||
WHERE o.mld_melding_key = m.mld_melding_key
|
||||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND o.mld_typeopdr_key = top.mld_typeopdr_key
|
||||
AND top.mld_typeopdr_kosten = 1 -- daar mag een factuur bij
|
||||
AND mld_statusopdr_key NOT IN (1, 2, 3, 10) -- dat zijn (nog) ongeldige opdrachten
|
||||
AND mld_opdr_key = o_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
DBMS_OUTPUT.put_line ('Bijbehorende opdracht(status/kosten?) is ongeldig: ' || o_key);
|
||||
DBMS_OUTPUT.put_line (
|
||||
'Bijbehorende opdracht(status/kosten?) is ongeldig: ' || o_key);
|
||||
RETURN -1;
|
||||
END;
|
||||
|
||||
DBMS_OUTPUT.put_line ('opdrachtkosten: ' || opdrachtkosten);
|
||||
DBMS_OUTPUT.put_line ('matchtype: ' || matchtype);
|
||||
DBMS_OUTPUT.put_line ('opdrstatus: ' || opdrstatus);
|
||||
|
||||
SELECT MAX( (SELECT ks.prs_kostensoort_btw
|
||||
FROM prs_kostensoort ks
|
||||
WHERE ks.prs_kostensoort_key =
|
||||
COALESCE (o.prs_kostensoort_key,
|
||||
stdm.prs_kostensoort_key,
|
||||
md.prs_kostensoort_key)))
|
||||
INTO inclbtw
|
||||
FROM mld_discipline md,
|
||||
mld_opdr o,
|
||||
mld_stdmelding stdm,
|
||||
mld_melding m
|
||||
WHERE md.ins_discipline_key = stdm.mld_ins_discipline_key
|
||||
AND o.mld_melding_key = m.mld_melding_key
|
||||
AND m.mld_stdmelding_key = stdm.mld_stdmelding_key
|
||||
AND mld_opdr_key = o_key;
|
||||
|
||||
factmatchmode := fin.getfactmatchmode (discipline, 'O');
|
||||
|
||||
-- Een opdracht is maar 1 ding, dus die status bepaalt al veel bij 3-weg
|
||||
@@ -554,17 +616,24 @@ AS
|
||||
RETURN 0;
|
||||
END IF;
|
||||
|
||||
-- LET OP: opdrachtbedragen worden altijd excl. BTW. verondersteld
|
||||
SELECT SUM (fin_factuur_totaal), SUM (fin_factuur_totaal_btw)
|
||||
INTO totaalgefactureerd, totaalgefactureerdbtw
|
||||
FROM fin_factuur
|
||||
WHERE mld_opdr_key = o_key
|
||||
AND fin_factuur_statuses_key <> 1
|
||||
AND fin_factuur_verwijder IS NULL
|
||||
AND fin_factuur_datum <= factuurdatum;
|
||||
|
||||
SELECT SUM (fin_factuur_totaal) -- Excl. BTW
|
||||
INTO totaalgefactureerd
|
||||
FROM fin_factuur
|
||||
WHERE mld_opdr_key = o_key
|
||||
AND fin_factuur_statuses_key <> 1
|
||||
AND fin_factuur_verwijder IS NULL
|
||||
AND fin_factuur_datum <= factuurdatum;
|
||||
IF inclbtw = 1 -- Opdrachtbedragen zijn dus inclusief, dan ook factuur inclusief matchen
|
||||
THEN
|
||||
DBMS_OUTPUT.put_line ('Inclusief BTW');
|
||||
totaalgefactureerd := totaalgefactureerd + totaalgefactureerdbtw;
|
||||
END IF;
|
||||
|
||||
IF fin.tolerantiematch (discipline, ftype, totaalgefactureerd, opdrachtkosten) = 1
|
||||
IF fin.tolerantiematch (discipline,
|
||||
ftype,
|
||||
totaalgefactureerd,
|
||||
opdrachtkosten) = 1
|
||||
THEN
|
||||
retval := 1;
|
||||
ELSE
|
||||
|
||||
Reference in New Issue
Block a user