EnableYourData.com

KPI · Financieel

Kasconversiecyclus (CCC): formule en voorbeeld.

De kasconversiecyclus, of cash conversion cycle (CCC), is het aantal dagen dat geld vastzit in voorraad en debiteuren voordat het als betaling van klanten terugkomt, verminderd met de dagen dat je leveranciers later betaalt. Hij combineert voorraaddagen, debiteurendagen en crediteurendagen in één getal. Hoe korter de cyclus, hoe minder werkkapitaal je nodig hebt om te groeien.

Formule voor kasconversiecyclus (CCC)

Voorraaddagen (DIO) + debiteurendagen (DSO) − crediteurendagen (DPO)

Rekenvoorbeeld

Acme Groothandel had eind 2025 € 1.400.000 voorraad bij een kostprijs van de omzet van € 8.400.000: 1.400.000 ÷ 8.400.000 × 365 = 60,8 voorraaddagen. De DSO was 45,6 dagen en de DPO 36,5 dagen. De kasconversiecyclus is 60,8 + 45,6 − 36,5 = 69,9 dagen.

Fictieve cijfers van Acme Groothandel.

Zo lees je deze KPI

Een kortere kasconversiecyclus betekent dat geld sneller terugkomt en dat groei minder financiering vraagt. Een langere cyclus wijst op tragere voorraad, later betalende klanten of sneller betalen aan leveranciers; kijk welk van de drie onderdelen verandert. Vergelijk de cyclus met eerdere perioden en, binnen dezelfde sector, met vergelijkbare bedrijven.

Valkuilen bij kasconversiecyclus (CCC)

  • Debiteurendagen op de kostprijs baseren, terwijl die op de omzet horen; alleen voorraad- en crediteurendagen gebruiken de kostprijs.
  • Voorraad, debiteuren en crediteuren op verschillende peildata meten.
  • Alleen op het totaal sturen, waardoor een verbetering bij de crediteuren een verslechtering in de voorraad verbergt.

SQL & DAX

Kasconversiecyclus (CCC) berekenen in SQL en DAX

Twee voorbeelden op een fictief datawarehouse van Acme Groothandel: een query in PostgreSQL en een measure voor een Power BI-model. Pas tabel- en kolomnamen aan je eigen model aan.

SQL · PostgreSQL
WITH pl AS (
  SELECT SUM(amount) FILTER (WHERE account_group = 'revenue') AS revenue,
         SUM(amount) FILTER (WHERE account_group = 'cogs') AS cogs
  FROM gl_entries
  WHERE entry_date > current_date - interval '365 days'
), bal AS (
  SELECT (SELECT SUM(value) FROM stock_levels
          WHERE snapshot_date = (SELECT MAX(snapshot_date) FROM stock_levels)) AS inventory,
         (SELECT SUM(open_amount) FROM invoices WHERE open_amount > 0) AS receivables,
         (SELECT SUM(amount) FROM purchase_invoices WHERE paid_date IS NULL) AS payables
)
SELECT ROUND(bal.inventory / NULLIF(pl.cogs, 0) * 365, 1) AS dio,
       ROUND(bal.receivables / NULLIF(pl.revenue, 0) * 365, 1) AS dso,
       ROUND(bal.payables / NULLIF(pl.cogs, 0) * 365, 1) AS dpo,
       ROUND((bal.inventory / NULLIF(pl.cogs, 0) + bal.receivables / NULLIF(pl.revenue, 0)
              - bal.payables / NULLIF(pl.cogs, 0)) * 365, 1) AS ccc_days
FROM pl, bal;
DAX · Power BI
CCC (days) =
VAR Cogs365 = CALCULATE(SUM(GL[Amount]), GL[AccountGroup] = "cogs", DATESINPERIOD('Date'[Date], MAX('Date'[Date]), -365, DAY))
VAR Revenue365 = CALCULATE(SUM(GL[Amount]), GL[AccountGroup] = "revenue", DATESINPERIOD('Date'[Date], MAX('Date'[Date]), -365, DAY))
VAR Inventory = CALCULATE(SUM(Stock[Value]), LASTDATE(Stock[SnapshotDate]))
VAR Receivables = CALCULATE(SUM(Invoices[OpenAmount]), Invoices[OpenAmount] > 0)
VAR Payables = CALCULATE(SUM(PurchaseInvoices[Amount]), ISBLANK(PurchaseInvoices[PaidDate]))
RETURN (DIVIDE(Inventory, Cogs365) + DIVIDE(Receivables, Revenue365) - DIVIDE(Payables, Cogs365)) * 365

In ENABLE

Deze KPI volgen in ENABLE

Vragen in gewone taal

Vraag naar kasconversiecyclus (CCC) per maand, klant of product in de SQL Explorer met AI. De AI schrijft de SQL, jij ziet de query en voert hem zelf uit; de AI krijgt alleen metadata.

Lees meer →

In je Power BI-dashboard

Leg de KPI vast als measure in je Power BI-model en toon hem in het portaal, met "Laatst ververst" erbij. Toegangsprofielen en optioneel row-level security bepalen wie welke cijfers ziet.

Lees meer →

Eigen dashboards (pilot)

Zet de KPI als tegel in een eigen dashboard, met vergelijking met vorig jaar. De Dashboard Builder is een pilot en per klant aan te zetten.

Lees meer →

Doelen per maand

Met de ingebouwde app Targets leg je per maand een doel voor de KPI vast, zodat je realisatie en doel naast elkaar ziet.

Lees meer →

FAQ

Veelgestelde vragen

Hoe bereken je de kasconversiecyclus?

Je telt de voorraaddagen en de debiteurendagen bij elkaar op en trekt de crediteurendagen ervan af. Met 60,8 voorraaddagen, 45,6 debiteurendagen en 36,5 crediteurendagen is de kasconversiecyclus 69,9 dagen. Bereken de drie onderdelen over dezelfde periode.

Kan de kasconversiecyclus negatief zijn?

Ja, als klanten betalen voordat jij je leveranciers betaalt, is de cyclus negatief. Dat komt vooral voor bij bedrijven die vooraf betaald worden en weinig voorraad houden. Het bedrijf wordt dan in feite door leveranciers gefinancierd.

Wat is het verschil tussen kasconversiecyclus en werkkapitaal?

Werkkapitaal is een bedrag in euro's op één moment, de kasconversiecyclus is een aantal dagen. De cyclus laat zien hoe snel geld door het bedrijf draait, het werkkapitaal hoeveel geld er op dit moment in vastzit.

AI gebruiken op je eigen data. Veilig, en zonder hoofdpijn.

In een online demo laten we zien hoe ENABLE je data veilig beschikbaar maakt en hoe je erop bouwt: een app beschrijven in de AI Builder, vragen in gewone taal, dashboards en API's. En hoe wij het voor je inrichten en beheren.