Databronnen voor financiële data
Financiële data exporteer je uit je boekhoudpakket naar Google Sheets of BigQuery. Vrijwel elk pakket biedt een rapportage-export:
| Pakket | Exportmethode |
|---|---|
| Exact Online | Rapportage-export naar Excel of CSV |
| Twinfield | Dagboekexport of balansexport |
| QuickBooks | Rapportage-export naar XLS |
| SAP | Crystal Reports of ABAP-export |
| NetSuite | SuiteAnalytics-export |
Voor grotere organisaties maak je een ETL-pipeline die dagelijks de boekhouding naar BigQuery laadt, zodat je rapport altijd verse cijfers toont.
Begin klein met een Sheet
Heb je maandcijfers en geen miljoenen regels? Start dan met een Google Sheet als databron. Pas wanneer je tegen trage laadtijden of meerdere boekjaren aanloopt, stap je over naar BigQuery. Zo voorkom je dat je vooraf een dure pipeline bouwt die je nog niet nodig hebt.
Essentiële financiële metrics
Bepaal eerst welke cijfers je echt op het dashboard wilt. Een werkbare basis ziet er zo uit.
P&L (winst- en verliesrekening):
- Bruto-omzet
- BTW-component (indien gewenst apart)
- Kostprijs verkochte goederen (COGS)
- Brutowinst en brutomarge
- Operationele kosten (opex)
- EBITDA
- Nettoresultaat
Cashflow:
- Operationele cashflow
- Uitstaande debiteuren (DSO, days sales outstanding)
- Uitstaande crediteuren (DPO, days payable outstanding)
Budget versus realisatie:
- Afwijking absoluut en in procenten
- Verwachte jaarafsluiting (forecast)
Dashboard-structuur
Verdeel het dashboard over een paar overzichtelijke pagina's, elk met een eigen doelgroep.
Pagina 1: Financieel overzicht
- Scorecards: omzet MTD, kosten MTD, EBITDA MTD, cashpositie
- Grafiek: maandelijkse omzet versus vorig jaar (tijdreeks)
- Grafiek: kostenverdeling (cirkeldiagram of treemap)
Pagina 2: Budget versus realisatie
- Tabel: per kostenplaats of afdeling met budget, realisatie, afwijking in euro en afwijking in procent
- Grafiek: afwijking per kostenplaats (horizontaal staafdiagram, rood en groen)
Pagina 3: Debiteurenbeheer
- Scorecard: totale openstaande facturen, gemiddelde betalingstermijn
- Tabel: facturen per klant, ouderdom, status
- Grafiek: aging analysis (0-30, 30-60, 60-90, 90+ dagen)
Berekende velden voor finance
In Looker Studio maak je berekende velden op databron-niveau (beschikbaar in alle rapporten op die databron) of op grafiek-niveau (alleen binnen één grafiek). Voor finance werken deze formules goed. SAFE_DIVIDE voorkomt dat een deling door nul je grafiek breekt.
Brutomarge:
SAFE_DIVIDE(Brutowinst, Omzet) * 100
Budget-afwijking in procent:
SAFE_DIVIDE(Realisatie - Budget, ABS(Budget)) * 100
DSO (days sales outstanding):
SAFE_DIVIDE(Openstaande_debiteuren, Omzet) * 365
Forecast jaarafsluiting (lineaire extrapolatie):
Realisatie_YTD / EXTRACT(MONTH FROM CURRENT_DATE()) * 12
Zware berekeningen horen in BigQuery
Een berekend veld in Looker Studio draait pas op het moment dat een kijker het rapport opent. Bij grote datasets wordt dat traag. Verplaats complexe logica daarom naar een BigQuery-view of pre-aggregeer op maandniveau, en houd in Looker Studio alleen lichte ratio's over.
Cashflow-analyse
Een simpele cashflow-analyse toont in- en uitstroom per maand:
- Inflow: ontvangen omzet (bankrekening)
- Outflow: betalingen aan leveranciers, salarissen, huur
- Netto cashflow: inflow min outflow
- Cumulatieve cashpositie: lopend totaal
Bouw een combinatiegrafiek met inflow en outflow als staven en de cumulatieve cashpositie als lijn. Zo zie je in één oogopslag of je liquiditeit op- of afloopt.
Toon altijd de peildatum
Financiële data in een rapport is een momentopname. Zorg dat kijkers weten wanneer de cijfers voor het laatst zijn bijgewerkt. Voeg een "bijgewerkt op"-veld toe als tekstvak in je rapport, gevuld via een MAX(datum)-berekend veld in je databron.
Stap voor stap een eerste versie bouwen
Zo zet je het basis-dashboard op
- Exporteer je P&L en debiteurenoverzicht uit je boekhoudpakket naar een Google Sheet of laad ze in een BigQuery-tabel.
- Maak in Looker Studio een nieuw rapport en koppel de databron via Gegevens toevoegen.
- Voeg de berekende velden toe, zoals
SAFE_DIVIDE(Brutowinst, Omzet) * 100voor brutomarge. - Plaats op pagina 1 de scorecards voor omzet, kosten en EBITDA en een tijdreeks met omzet versus vorig jaar.
- Maak pagina 2 voor budget versus realisatie en pagina 3 voor debiteurenbeheer.
- Zet de datacredentials op viewer's credentials als je per gebruiker wilt beperken wat zichtbaar is.
Rolgebaseerde toegang
Verschillende stakeholders hebben toegang nodig tot verschillende onderdelen:
- Directie: volledig P&L en alle pagina's
- Afdelingshoofden: alleen hun eigen afdeling of kostenplaats
- Accountant of controller: alle pagina's inclusief detail
Wil je dat iemand écht alleen zijn eigen kostenplaats ziet, koppel dan BigQuery row-level security aan de identiteit van de kijker. Zet in de databron de datacredentials op viewer's credentials, zodat de filtering gebeurt op basis van de ingelogde gebruiker en niet op die van de maker.
Hoe houd ik historische boekhouddata beschikbaar als ik van pakket wissel?
Exporteer jaarlijks een archief-CSV vanuit je boekhoudpakket naar BigQuery of een aparte archief-Sheet. Label de data met het boekjaar en de bron. Zo blijft historische vergelijking mogelijk na een systeemwisseling.
Kan ik onderscheid maken tussen definitieve en voorlopige cijfers?
Ja. Voeg een kolom Status toe aan je databron met waarden als Definitief, Voorlopig of Budget. Gebruik daarna een dropdown-filter in Looker Studio, zodat kijkers kunnen wisselen tussen definitieve en voorlopige cijfers.
Hoe automatiseer ik de data-import vanuit mijn boekhoudpakket?
De meeste boekhoudpakketten hebben een API. Gebruik Google Apps Script of een tool als Make om periodiek data naar BigQuery of Sheets te pushen. Plan de import bij voorkeur 's nachts, zodat het rapport 's ochtends verse cijfers toont.
Mijn finance-dashboard laadt traag, hoe verbeter ik dat?
Financiële data is meestal niet enorm groot, dus controleer eerst of je geen onnodige joins of zware berekende velden hebt. Pre-aggregeer de data op maandniveau in BigQuery als je nooit dagelijkse detail nodig hebt op het dashboard.
Wat is het verschil tussen MTD en YTD op mijn dashboard?
MTD (month to date) telt vanaf de eerste van de huidige maand tot vandaag, YTD (year to date) vanaf 1 januari tot vandaag. Voor scorecards combineer je ze vaak: MTD voor het actuele beeld en YTD voor de trend over het jaar.