BSSC#55692 Facturatieproces
svn path=/Customer/trunk/; revision=43182
This commit is contained in:
224
BSSC/bssc.sql
224
BSSC/bssc.sql
@@ -1400,117 +1400,6 @@ AS
|
||||
-- AND biss_kc2.cnt_kenmerkcontract_verwijder IS NULL
|
||||
-- AND biss_kc2.cnt_kenmerk_key = 647 -- Servicekosten
|
||||
WHERE COALESCE (fac.safe_to_number (x.cnt_kenmerkcontract_waarde), 0) != 0
|
||||
UNION ALL -- Borg CHV (eenmalig factureren, liefst op eerste factuur)!
|
||||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||||
'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- Regulier
|
||||
'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||||
'9999' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities!
|
||||
COALESCE (ks.prs_kostensoort_refcode, ks.prs_kostensoort_opmerking) regel, -- Borg CHV
|
||||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||||
x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv,
|
||||
--x.cnt_contract_korting, -- Korting %
|
||||
x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||||
--(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||||
-- FROM prs_contactpersoon
|
||||
-- WHERE prs_contactpersoon_verwijder IS NULL
|
||||
-- AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||||
-- AND prs_bedrijf_key = x.prs_bedrijf_key)
|
||||
NULL contactpersoon,
|
||||
x.adres, x.postcode, x.plaats, x.land,
|
||||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (x.btw, 0, '0', 'H')) fin_btwtabelwaarde_code,
|
||||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (x.btw, 0, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms,
|
||||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 0, 21)) fin_btwtabelwaarde_perc,
|
||||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||||
x.maand,
|
||||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||||
fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) aantal,
|
||||
fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) tarief,
|
||||
1 vvo_toeslag, -- VVO toeslagperc.
|
||||
--1 korting_pct, -- Kortingsperc.
|
||||
1 verv_toeslag, -- Vervangend toeslagperc.
|
||||
0 korting_pm2, -- Korting per m2
|
||||
NULL alg_onroerendgoed_type,
|
||||
NULL alg_onroerendgoed_keys,
|
||||
NULL alg_plaatsaanduiding,
|
||||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||||
--((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||||
fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) *
|
||||
fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) *
|
||||
1/12, 2)
|
||||
mndnet, -- Netto maandbedrag (incl. kortingspercentage)
|
||||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||||
--((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||||
fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) *
|
||||
fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) *
|
||||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) *
|
||||
1/12, 2)
|
||||
mndbtw, -- BTW maandbedrag
|
||||
TRIM (ks.prs_kostensoort_oms) grtboekrek,
|
||||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||||
NULL mld_melding_omschrijving
|
||||
FROM (SELECT c.ins_discipline_key,
|
||||
c.cnt_contract_key,
|
||||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||||
c.cnt_contract_nummer,
|
||||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||||
c.cnt_contract_korting,
|
||||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr,
|
||||
0.21 btw,
|
||||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||||
lp.maand
|
||||
FROM lopendeperiode lp,
|
||||
cnt_v_aanwezigcontract c,
|
||||
prs_bedrijf b,
|
||||
prs_kostenplaats kp,
|
||||
prs_kostenplaatsgrp kpg
|
||||
WHERE c.ins_discipline_key = 2002 -- Borg CHV
|
||||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||||
AND c.cnt_contract_aanmaak > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Voorgaande maand aangemaakt!
|
||||
AND TRUNC (c.cnt_contract_looptijd_van) >= ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Van-datum in voorgaande maand!
|
||||
AND NOT EXISTS -- Borg-contract niet eerder gefactureerd!
|
||||
(SELECT 1
|
||||
FROM fin_verkoopfactuur
|
||||
WHERE fin_verkoopfactuur_xmlnode = 'contract'
|
||||
AND fin_verkoopfactuur_refkey = c.cnt_contract_key)
|
||||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x
|
||||
LEFT JOIN prs_kenmerklink btwnr
|
||||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||||
AND btwnr.prs_kenmerk_key = -1 -- BTW-nummer (NL)
|
||||
LEFT JOIN prs_kenmerklink btwvl
|
||||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||||
AND btwvl.prs_kenmerklink_verwijder IS NULL
|
||||
AND btwvl.prs_kenmerk_key = -1 -- BTW verlegd
|
||||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||||
AND vsov_kc.cnt_kenmerk_key = -1 -- VSOV
|
||||
LEFT JOIN cnt_discipline cd
|
||||
ON x.ins_discipline_key = cd.ins_discipline_key
|
||||
LEFT JOIN prs_kostensoort ks
|
||||
ON cd.prs_kostensoort_key = ks.prs_kostensoort_key
|
||||
LEFT JOIN cnt_kenmerkcontract aantal
|
||||
ON x.cnt_contract_key = aantal.cnt_contract_key
|
||||
AND aantal.cnt_kenmerkcontract_verwijder IS NULL
|
||||
AND aantal.cnt_kenmerk_key = 413 -- Aantal
|
||||
LEFT JOIN cnt_kenmerkcontract bedrag
|
||||
ON x.cnt_contract_key = bedrag.cnt_contract_key
|
||||
AND bedrag.cnt_kenmerkcontract_verwijder IS NULL
|
||||
AND bedrag.cnt_kenmerk_key = 414 -- Bedrag
|
||||
UNION ALL -- Parkeren CHV/Parkeren CMD!
|
||||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||||
DECODE (x.ins_discipline_key, 2004, 'CMD', 'CHV') || TRIM (x.cnt_contract_nummer) po_nr, -- Regulier
|
||||
@@ -1893,6 +1782,119 @@ AS
|
||||
AND m.mld_melding_key = cb.mld_melding_key
|
||||
ORDER BY prs_bedrijf_key, 1, 2, 3, 4, alg_onroerendgoed_type, alg_plaatsaanduiding
|
||||
;
|
||||
/*
|
||||
UNION ALL -- Borg CHV (eenmalig factureren, liefst op eerste factuur)!
|
||||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||||
'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- Regulier
|
||||
'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||||
'9999' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities!
|
||||
COALESCE (ks.prs_kostensoort_refcode, ks.prs_kostensoort_opmerking) regel, -- Borg CHV
|
||||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||||
x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv,
|
||||
--x.cnt_contract_korting, -- Korting %
|
||||
x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||||
--(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||||
-- FROM prs_contactpersoon
|
||||
-- WHERE prs_contactpersoon_verwijder IS NULL
|
||||
-- AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||||
-- AND prs_bedrijf_key = x.prs_bedrijf_key)
|
||||
NULL contactpersoon,
|
||||
x.adres, x.postcode, x.plaats, x.land,
|
||||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (x.btw, 0, '0', 'H')) fin_btwtabelwaarde_code,
|
||||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (x.btw, 0, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms,
|
||||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 0, 21)) fin_btwtabelwaarde_perc,
|
||||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||||
x.maand,
|
||||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||||
fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) aantal,
|
||||
fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) tarief,
|
||||
1 vvo_toeslag, -- VVO toeslagperc.
|
||||
--1 korting_pct, -- Kortingsperc.
|
||||
1 verv_toeslag, -- Vervangend toeslagperc.
|
||||
0 korting_pm2, -- Korting per m2
|
||||
NULL alg_onroerendgoed_type,
|
||||
NULL alg_onroerendgoed_keys,
|
||||
NULL alg_plaatsaanduiding,
|
||||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||||
--((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||||
fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) *
|
||||
fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) *
|
||||
1/12, 2)
|
||||
mndnet, -- Netto maandbedrag (incl. kortingspercentage)
|
||||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||||
--((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||||
fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) *
|
||||
fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) *
|
||||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) *
|
||||
1/12, 2)
|
||||
mndbtw, -- BTW maandbedrag
|
||||
TRIM (ks.prs_kostensoort_oms) grtboekrek,
|
||||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||||
NULL mld_melding_omschrijving
|
||||
FROM (SELECT c.ins_discipline_key,
|
||||
c.cnt_contract_key,
|
||||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||||
c.cnt_contract_nummer,
|
||||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||||
c.cnt_contract_korting,
|
||||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr,
|
||||
0.21 btw,
|
||||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||||
lp.maand
|
||||
FROM lopendeperiode lp,
|
||||
cnt_v_aanwezigcontract c,
|
||||
prs_bedrijf b,
|
||||
prs_kostenplaats kp,
|
||||
prs_kostenplaatsgrp kpg
|
||||
WHERE c.ins_discipline_key = 2002 -- Borg CHV
|
||||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||||
AND c.cnt_contract_aanmaak > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Voorgaande maand aangemaakt!
|
||||
AND TRUNC (c.cnt_contract_looptijd_van) >= ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Van-datum in voorgaande maand!
|
||||
AND NOT EXISTS -- Borg-contract niet eerder gefactureerd!
|
||||
(SELECT 1
|
||||
FROM fin_verkoopfactuur
|
||||
WHERE fin_verkoopfactuur_xmlnode = 'contract'
|
||||
AND fin_verkoopfactuur_refkey = c.cnt_contract_key)
|
||||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x
|
||||
LEFT JOIN prs_kenmerklink btwnr
|
||||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||||
AND btwnr.prs_kenmerk_key = -1 -- BTW-nummer (NL)
|
||||
LEFT JOIN prs_kenmerklink btwvl
|
||||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||||
AND btwvl.prs_kenmerklink_verwijder IS NULL
|
||||
AND btwvl.prs_kenmerk_key = -1 -- BTW verlegd
|
||||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||||
AND vsov_kc.cnt_kenmerk_key = -1 -- VSOV
|
||||
LEFT JOIN cnt_discipline cd
|
||||
ON x.ins_discipline_key = cd.ins_discipline_key
|
||||
LEFT JOIN prs_kostensoort ks
|
||||
ON cd.prs_kostensoort_key = ks.prs_kostensoort_key
|
||||
LEFT JOIN cnt_kenmerkcontract aantal
|
||||
ON x.cnt_contract_key = aantal.cnt_contract_key
|
||||
AND aantal.cnt_kenmerkcontract_verwijder IS NULL
|
||||
AND aantal.cnt_kenmerk_key = 413 -- Aantal
|
||||
LEFT JOIN cnt_kenmerkcontract bedrag
|
||||
ON x.cnt_contract_key = bedrag.cnt_contract_key
|
||||
AND bedrag.cnt_kenmerkcontract_verwijder IS NULL
|
||||
AND bedrag.cnt_kenmerk_key = 414 -- Bedrag
|
||||
*/
|
||||
|
||||
CREATE OR REPLACE VIEW bssc_v_fact_frozen
|
||||
AS
|
||||
|
||||
Reference in New Issue
Block a user