Image

Automatiseer uw rapportages

Stap voor stap: Financiële consolidatie met Python

Melvin
02-06-2022

Introductie

Deze serie van artikelen gaat over het toepassen van data-analyse op de specifieke business case van financiële consolidatie rapportages. De probleemstelling is dat financiële rapportages onbetrouwbaar, niet up-to-date en daardoor onbruikbaar zijn. Daarnaast is het opstellen van de rapportage tijdsintensief en foutgevoelig. Vaak zijn er wel rapportage tools beschikbaar en is er een vorm van data-warehousing, maar ontbreekt het aan kennis van data-engineering, toepassing van data-integratie, data-analyse en automatisering. In deze reeks delen we onze overwegingen en de aanpak voor het rapporteren van financiële informatie. Dat doen we aan de hand van een fictieve business case.

Case: Private Equity partij met buy and build strategie

Rotterdam Investments B.V.

Rotterdam Investments B.V. is een onderneming die zich richt op het beheren van een investeringsportfolio, met de focus op de uitzendbranche. In 2022 bestaat de portfolio uit 20 ondernemingen: 16 uitzendbureaus, 2 groepsmaatschappijen (Zuid-Holland Uitzenden en Noord-Holland Uitzenden) en 1 shared service center.

Groei! 🚀

Rotterdam Investments is onlangs uitgebreid door de aankoop van 4 nieuwe uitzendbureaus. De strategie is om met behulp van het shared service center de backoffice processen van de uitzendbureaus te bundelen om schaalvoordeel te behalen. De verwachting is dat het aantal uitzendbureaus in het portfolio met 10 tot 15% op jaarbasis zal groeien.

Uitbreiding van de Rotterdam Investment rapportage

Door de aankoop heeft de investment manager behoefte aan inzicht van de prestaties van de nieuwe bedrijven. De bestaande rapportage wordt op dit moment handmatig opgesteld, voorbereid in Excel en gedeeld binnen de organisatie. Helaas gebruiken de nieuwe uitzendbureaus een ander softwarepakket voor de boekhouding. Dat roept de volgende vragen op:

  • Hoe kunnen we een datamodel opstellen, waarbij efficiënt nieuwe bronnen van data toegevoegd kunnen worden met beperkte inspanning?
  • Hoe moeten we de data-opslag inregelen, zodat we kunnen voldoen aan de informatiebehoefte van het groeiend aantal interne- en externe stakeholders?
  • Wat is de beste manier om de data consumptie te automatiseren, zodat we zo dicht mogelijk op de actuele prestaties rapporteren?

Door de groei van het portfolio besluit de investment manager om Zypp opdracht te geven voor het opzetten van een framework ter ondersteuning van de financiële rapportage. In dit artikel staan we stil bij het datamodel, het belangrijkste fundament van de oplossing.

pipeline-img
Datamodel
De structuur van data in een informatiesysteem

Deel 1: Datamodel van de financiële rapportage

carbon_code

Stap 1: alle relevante databronnen importeren

De 20 ondernemingen in de huidige portfolio zijn allemaal opgenomen of gemigreerd naar hetzelfde boekhoudpakket Twinfield. De nieuwe uitzendbureaus maken gebruik van ExactOnline en Unit4. Omdat het veranderen van een boekhoudpakket, of in sommige gevallen ERP-systemen, ingrijpend is zal er in een overgangsperiode gerapporteerd moeten worden vanuit de bestaande boekhoudpakketten.

De exports uit de twee nieuwe boekhoudpakketten hebben niet dezelfde kolomnamen of data types als de bestaande export uit Twinfield. Hoe zorg ik dat ik data uit meerdere systemen kan combineren tot 1 dataset voor mijn financiële rapportage? Stap 1 in het proces is om voor elk boekhoudpakket een data-pipeline op te zetten.

“Proces met als doel om op ingestelde frequentie data te ontsluiten en op te slaan in een centrale opslagplek.”
Data-pipelines twitter social icon Meer informatie

Zypp heeft open source connectoren voor Twinfield, Unit4 en ExactOnline geschreven in Python. Met behulp van API-keys worden de data pipelines ingesteld om iedere nacht de data te verversen en exporteren naar een Storage account*. Vanaf dit moment hebben we de data tot onze beschikking.

pipeline-img
Storage accounts
Cloud opslag van (on)gestructureerde data, zoals Pdf's, Excel bestanden of afbeeldingen.

Stap 2: data uniformiseren

De data consumptie uit stap 1 zorgt ervoor dat we kunnen starten met stap 2 , het proces van financiële consolidatie, waarin de drie bronnen worden samengevoegd tot 1 uniforme bron. De kolomnamen van de bronnen wordt omgezet naar standaard kolomnamen die gebruikt worden in de rapportage. Ook de datatypes (datums, getallen) worden per databron ingesteld. Naast aanpassing in kolomnamen en datatypes moet ook de inhoud van sommige kolommen wordt geüniformiseerd.

De 3 pakketten hebben een veld dat het grootboektype aangeeft (Balance of P&L), maar de inhoud van het veld is niet hetzelfde. In Twinfield wordt de aanduiding gegeven met BAS en P&L, terwijl dat in ExactOnline uitgeschreven staat als "Balance" en "Profit & Loss". In een van de stappen zal de volgende code opgenomen worden:

carbon_code

Het resultaat is een gestandaardiseerde dataset. Stap 3 is het uniformiseren van de rapportage mapping structuur.

Stap 3: Rapportage mappingstructuur opstellen

De nieuwe dataset "transactions" bevat alle boekhoudmutaties van de drie financiële pakketten. Nu we een uniforme dataset hebben kunnen we ons richten op de grootboekrekeningschema's van de bedrijven. De grootboekrekeningschema's wijken namelijk van elkaar af. De centrale vraag: hoe zorg ik dat ik een overkoepelend grootboek rekeningschema kan beheren als mijn data uit meerdere financiële systemen komt?

pipeline-img
Grootboekrekeningschema
tabel met een unieke id voor ieder grootboekrekening, met "Category" en "Subcategory" kolommen.

Het grootboekschema wordt in de rapportage gebruikt om de grootboeken te classificeren in hoofd- en subcategorie(en), bijvoorbeeld "Omzet" en "Omzet diensten". Het voordeel van de grootboekrekeningen classificeren, is dat in de financiële rapportages filters kunnen worden gezet op deze categorie velden. Voor omzet analyses wordt gefilterd op Categorie = "Omzet", in plaats van een filter te zetten op individuele grootboekrekeningen die tot omzet behoren.

Het categoriseren van de grootboekrekeningen is het tweede belangrijke fundament in het framework. Hoe je dit onderdeel automatiseert? Kom binnenkort terug voor ons tweede deel van deze blog.

Conclusie

In deze blog hebben we laten zien hoe je python kan inzetten om financiële rapportages te ondersteunen. Beginnen de voordelen bij jou ook al langzaam inzichtelijk te worden? Houd ons dan in de gaten voor het volgende deel waarin we je meer vertellen over het automatiseren van rapportages. Bedankt voor het lezen en als je nog tips of vragen hebt laat het ons gerust weten!

Contact ons

Vond je dit artikel interessant?