Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling
Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling
- Publicatiedatum:
- 15-07-2026
- Inwerkingtreding:
- 16-07-2026
19.8 Liquiditeit - wat is de cashflow?
Concepten
Relaties
Eigenschappen
SPARQL query
Code gekopieerd
...Kopieer naar klembord
1# Indicator: Zorgkantoren 19.8 - Liquiditeit (Cashflow) 2# Parameters: ?startperiode, ?eindperiode 3# Ontologie: versie 3.0.0 of nieuwer 4 5PREFIX onz-fin: <http://purl.org/ozo/onz-fin#> 6PREFIX onz-g: <http://purl.org/ozo/onz-g#> 7PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 8 9 10SELECT 11 ("Cashflow" AS ?Kental) 12 ( 13 IF(?noemer = 0, 14 "Ongedefinieerd"^^xsd:string, 15 ROUND((?teller / ?noemer) * 100) / 100) AS ?Waarde 16 ) 17WHERE { 18 19 # ======================================================================== 20 # DEEL 1: Resultatenrekening in EEN scan 21 # levert S Resultaat na belastingen, Q.VI Afschrijvingen en R.IV Rentelasten 22 # ======================================================================== 23 { 24 SELECT 25 ( 26 ?p_totaal + ?q_totaal + ?r_i_totaal + ?r_ii_totaal + ?r_iii_totaal + 27 (?r_iv_plus_totaal - ?r_iv_min_totaal) + 28 ?s_i_totaal + ?s_ii_totaal 29 AS ?S_resultaat 30 ) 31 (?q_vi_totaal AS ?Q_VI) 32 ((?r_iv_plus_totaal - ?r_iv_min_totaal) AS ?R_IV) 33 WHERE { 34 SELECT 35 (SUM(?p_bedrag) AS ?p_totaal) 36 (SUM(?q_bedrag) AS ?q_totaal) 37 (SUM(?q_vi_bedrag) AS ?q_vi_totaal) 38 (SUM(?r_i_bedrag) AS ?r_i_totaal) 39 (SUM(?r_ii_bedrag) AS ?r_ii_totaal) 40 (SUM(?r_iii_bedrag) AS ?r_iii_totaal) 41 (SUM(?r_iv_plus_bedrag) AS ?r_iv_plus_totaal) 42 (SUM(?r_iv_min_bedrag) AS ?r_iv_min_totaal) 43 (SUM(?s_i_bedrag) AS ?s_i_totaal) 44 (SUM(?s_ii_bedrag) AS ?s_ii_totaal) 45 WHERE { 46 # BIND("2024-01-01"^^xsd:date AS ?startperiode) 47 # BIND("2024-12-31"^^xsd:date AS ?eindperiode) 48 49 ?grootboek_post 50 a onz-fin:Grootboekpost ; 51 onz-g:partOf ?rubriek ; 52 onz-g:hasDate ?datum ; 53 onz-fin:heeftGeldBedrag ?geld_bedrag . 54 55 # Directe ouder: Grootboekrekening (RGS) of Grootboekrubriek (Prismant) 56 { { ?rubriek a onz-fin:Grootboekrekening } UNION { ?rubriek a onz-fin:Grootboekrubriek } } 57 # Anti-dubbeltelling: alleen bladniveau 58 FILTER NOT EXISTS { 59 ?grootboek_post onz-g:partOf ?child . 60 ?child onz-g:partOf ?rubriek . 61 FILTER(?child != ?rubriek) 62 { { ?child a onz-fin:Grootboekrekening } UNION { ?child a onz-fin:Grootboekrubriek } } 63 } 64 FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:))) 65 BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode) 66 FILTER(?datum >= ?startperiode && ?datum <= ?eindperiode) 67 68 # --- P Som der bedrijfsopbrengsten --- 69 BIND( 70 IF( 71 STRSTARTS(?rubriekCode, "81") || STRSTARTS(?rubriekCode, "82") || 72 STRSTARTS(?rubriekCode, "83") || STRSTARTS(?rubriekCode, "89") || 73 STRSTARTS(?rubriekCode, "919") || STRSTARTS(?rubriekCode, "920") || 74 STRSTARTS(?rubriekCode, "930") || 75 76 STRSTARTS(?rubriekCode, "WOmz") || STRSTARTS(?rubriekCode, "WRev") || 77 STRSTARTS(?rubriekCode, "WRvi") || STRSTARTS(?rubriekCode, "WRgr") || 78 STRSTARTS(?rubriekCode, "WWvv") || STRSTARTS(?rubriekCode, "WNoa") || 79 STRSTARTS(?rubriekCode, "WLbe") || STRSTARTS(?rubriekCode, "WBat") || 80 STRSTARTS(?rubriekCode, "WWiv") || STRSTARTS(?rubriekCode, "WOvb"), 81 ?geld_bedrag, 0) AS ?p_bedrag) 82 83 # --- Q Som der bedrijfslasten (incl. Q.VI Afschrijvingen) --- 84 BIND( 85 IF( 86 STRSTARTS(?rubriekCode, "417") || STRSTARTS(?rubriekCode, "418") || 87 STRSTARTS(?rubriekCode, "411") || STRSTARTS(?rubriekCode, "412") || 88 STRSTARTS(?rubriekCode, "413") || STRSTARTS(?rubriekCode, "414") || 89 STRSTARTS(?rubriekCode, "415") || STRSTARTS(?rubriekCode, "416") || 90 STRSTARTS(?rubriekCode, "419") || STRSTARTS(?rubriekCode, "420") || 91 STRSTARTS(?rubriekCode, "4221") || STRSTARTS(?rubriekCode, "4223") || 92 STRSTARTS(?rubriekCode, "4224") || STRSTARTS(?rubriekCode, "4225") || 93 STRSTARTS(?rubriekCode, "4229") || STRSTARTS(?rubriekCode, "4226") || 94 STRSTARTS(?rubriekCode, "480") || STRSTARTS(?rubriekCode, "481") || 95 STRSTARTS(?rubriekCode, "482") || STRSTARTS(?rubriekCode, "483") || 96 STRSTARTS(?rubriekCode, "484") || STRSTARTS(?rubriekCode, "423") || 97 STRSTARTS(?rubriekCode, "43") || STRSTARTS(?rubriekCode, "44") || 98 STRSTARTS(?rubriekCode, "45") || STRSTARTS(?rubriekCode, "46") || 99 STRSTARTS(?rubriekCode, "47") || STRSTARTS(?rubriekCode, "486") || 100 STRSTARTS(?rubriekCode, "489") || STRSTARTS(?rubriekCode, "905") || 101 STRSTARTS(?rubriekCode, "911") || STRSTARTS(?rubriekCode, "912") || 102 STRSTARTS(?rubriekCode, "913") || STRSTARTS(?rubriekCode, "914") || 103 STRSTARTS(?rubriekCode, "915") || STRSTARTS(?rubriekCode, "921") || 104 STRSTARTS(?rubriekCode, "931") || 105 106 STRSTARTS(?rubriekCode, "WKpr") || STRSTARTS(?rubriekCode, "WPer") || 107 STRSTARTS(?rubriekCode, "WAfs") || STRSTARTS(?rubriekCode, "WWvi") || 108 STRSTARTS(?rubriekCode, "WBwv") || STRSTARTS(?rubriekCode, "WBed") || 109 STRSTARTS(?rubriekCode, "WOok") || STRSTARTS(?rubriekCode, "WKol") || 110 STRSTARTS(?rubriekCode, "WVkf") || STRSTARTS(?rubriekCode, "WAkf"), 111 ?geld_bedrag, 0) AS ?q_bedrag) 112 113 # --- Q.VI Afschrijvingen op (im)materiele vaste activa (deelverzameling van Q) --- 114 # Prismant: 480-484, RGS: WAfs 115 BIND( 116 IF( 117 STRSTARTS(?rubriekCode, "480") || STRSTARTS(?rubriekCode, "481") || 118 STRSTARTS(?rubriekCode, "482") || STRSTARTS(?rubriekCode, "483") || 119 STRSTARTS(?rubriekCode, "484") || 120 121 STRSTARTS(?rubriekCode, "WAfs"), 122 ?geld_bedrag, 0) AS ?q_vi_bedrag) 123 124 # --- R.I (Prismant 904 / RGS WOvt) --- 125 BIND(IF(STRSTARTS(?rubriekCode, "904") || STRSTARTS(?rubriekCode, "WOvt"), ?geld_bedrag, 0) AS ?r_i_bedrag) 126 # --- R.II (Prismant 900 / RGS WFbeRlm) --- 127 BIND(IF(STRSTARTS(?rubriekCode, "900") || STRSTARTS(?rubriekCode, "WFbeRlm"), ?geld_bedrag, 0) AS ?r_ii_bedrag) 128 # --- R.III (Prismant 903 / RGS WWfa, WVhe) --- 129 BIND(IF(STRSTARTS(?rubriekCode, "903") || STRSTARTS(?rubriekCode, "WWfa") || STRSTARTS(?rubriekCode, "WVhe"), ?geld_bedrag, 0) AS ?r_iii_bedrag) 130 # --- R.IV Rentelasten (Prismant 485/901 / RGS WFbe - WFbeRlm) --- 131 BIND(IF(STRSTARTS(?rubriekCode, "485") || STRSTARTS(?rubriekCode, "901") || STRSTARTS(?rubriekCode, "WFbe"), ?geld_bedrag, 0) AS ?r_iv_plus_bedrag) 132 BIND(IF(STRSTARTS(?rubriekCode, "WFbeRlm"), ?geld_bedrag, 0) AS ?r_iv_min_bedrag) 133 # --- S.I (RGS WBel) --- 134 BIND(IF(STRSTARTS(?rubriekCode, "WBel"), ?geld_bedrag, 0) AS ?s_i_bedrag) 135 # --- S.II (Prismant 902 / RGS WRed, WAad) --- 136 BIND(IF(STRSTARTS(?rubriekCode, "902") || STRSTARTS(?rubriekCode, "WRed") || STRSTARTS(?rubriekCode, "WAad"), ?geld_bedrag, 0) AS ?s_ii_bedrag) 137 } 138 } 139 } 140 141 # ======================================================================== 142 # DEEL 2a: F Langlopende schulden op peildatum VOOR begin meetperiode 143 # ======================================================================== 144 { 145 SELECT (SUM(?rubriek_balans) AS ?saldoVoor) 146 WHERE { 147 SELECT ?rubriek 148 (COALESCE(SAMPLE(?saldo_bedrag), 0) + SUM(COALESCE(?post_bedrag, 0)) AS ?rubriek_balans) 149 WHERE { 150 # BIND("2024-01-01"^^xsd:date AS ?startperiode) 151 152 # peildatum is altijd één dag voor de startdatum 153 # (dit is dus géén testparameter en moet uitgecomment blijven!) 154 BIND(?startperiode + "-P1D"^^xsd:duration AS ?peildatum_voor) 155 156 { ?rubriek a onz-fin:Grootboekrubriek } UNION { ?rubriek a onz-fin:Grootboekrekening } 157 BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode) 158 FILTER(STRSTARTS(?rubriekCode, "07") || ?rubriekCode = "BLas") 159 160 # Laatste EindSaldo op of voor de peildatum (optioneel) 161 OPTIONAL { 162 ?rubriek onz-g:isAbout ?saldo . 163 ?saldo a onz-fin:EindSaldo ; 164 onz-fin:heeftGeldBedrag ?saldo_bedrag ; 165 onz-g:hasDate ?saldo_datum . 166 FILTER(?saldo_datum <= ?peildatum_voor) 167 FILTER NOT EXISTS { 168 ?rubriek onz-g:isAbout ?saldo2 . 169 ?saldo2 a onz-fin:EindSaldo ; onz-g:hasDate ?saldo_datum2 . 170 FILTER(?saldo2 != ?saldo && ?saldo_datum2 <= ?peildatum_voor) 171 FILTER(?saldo_datum2 > ?saldo_datum 172 || (?saldo_datum2 = ?saldo_datum && STR(?saldo2) > STR(?saldo))) 173 } 174 } 175 # Posten NA het saldo (of alle posten als er geen saldo is) t/m peildatum 176 OPTIONAL { 177 ?post a onz-fin:Grootboekpost ; 178 onz-g:partOf ?rubriek ; 179 onz-g:hasDate ?post_datum ; 180 onz-fin:heeftGeldBedrag ?post_bedrag . 181 FILTER NOT EXISTS { 182 ?post onz-g:partOf ?fijner . ?fijner onz-g:partOf+ ?rubriek . 183 } 184 FILTER(?post_datum <= ?peildatum_voor && (!BOUND(?saldo_datum) || ?post_datum > ?saldo_datum)) 185 } 186 } 187 GROUP BY ?rubriek ?peildatum_voor 188 } 189 } 190 191 # ======================================================================== 192 # DEEL 2b: F Langlopende schulden op peildatum LAATSTE dag meetperiode 193 # ======================================================================== 194 { 195 SELECT (SUM(?rubriek_balans) AS ?saldoNa) 196 WHERE { 197 SELECT ?rubriek 198 (COALESCE(SAMPLE(?saldo_bedrag), 0) + SUM(COALESCE(?post_bedrag, 0)) AS ?rubriek_balans) 199 WHERE { 200 # BIND("2024-12-31"^^xsd:date AS ?eind_periode) 201 202 { ?rubriek a onz-fin:Grootboekrubriek } UNION { ?rubriek a onz-fin:Grootboekrekening } 203 BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode) 204 FILTER(STRSTARTS(?rubriekCode, "07") || ?rubriekCode = "BLas") 205 206 OPTIONAL { 207 ?rubriek onz-g:isAbout ?saldo . 208 ?saldo a onz-fin:EindSaldo ; 209 onz-fin:heeftGeldBedrag ?saldo_bedrag ; 210 onz-g:hasDate ?saldo_datum . 211 FILTER(?saldo_datum <= ?eind_periode) 212 FILTER NOT EXISTS { 213 ?rubriek onz-g:isAbout ?saldo2 . 214 ?saldo2 a onz-fin:EindSaldo ; onz-g:hasDate ?saldo_datum2 . 215 FILTER(?saldo2 != ?saldo && ?saldo_datum2 <= ?eind_periode) 216 FILTER(?saldo_datum2 > ?saldo_datum 217 || (?saldo_datum2 = ?saldo_datum && STR(?saldo2) > STR(?saldo))) 218 } 219 } 220 OPTIONAL { 221 ?post a onz-fin:Grootboekpost ; 222 onz-g:partOf ?rubriek ; 223 onz-g:hasDate ?post_datum ; 224 onz-fin:heeftGeldBedrag ?post_bedrag . 225 FILTER NOT EXISTS { 226 ?post onz-g:partOf ?fijner . ?fijner onz-g:partOf+ ?rubriek . 227 } 228 FILTER(?post_datum <= ?eind_periode && (!BOUND(?saldo_datum) || ?post_datum > ?saldo_datum)) 229 } 230 } 231 GROUP BY ?rubriek 232 } 233 } 234 235 # Uitgaven ter aflossing van leningen = F(begin) - F(eind) 236 BIND(?saldoVoor - ?saldoNa AS ?aflossing) 237 238 # Teller Cashflow: S + Q.VI afschrijvingen 239 BIND(?S_resultaat - ?Q_VI AS ?teller) 240 241 # Noemer Cashflow: R.IV rentelasten + aflossing van Stap 1 in Berekening 242 BIND(?R_IV + ?aflossing AS ?noemer) 243} 244ORDER BY ?Kental 245