Skip to main content
Demo environment — simulated EDSN/CCP market & sandbox payments; no real market or bank connections.

Veelgestelde vragen

Technische FAQ

Antwoorden op de vragen die potentiële klanten en hun technische teams stellen tijdens de evaluatie. Alle antwoorden zijn afgeleid van de werkelijke codebase — niet van marketingteksten.

Contracten & facturering

Ondersteunt het platform alle drie de contracttypes die de Energiewet 2026 vereist?

Vaste en variabele contracten zijn volledig geïmplementeerd. Het door de ACM verplichte derde type — uur-/dynamische contracten (EPEX-geïndexeerd) — staat op de roadmap. De spotprijsdatapipeline is al live en slaat 24-uurs EUR/MWh-tarieven op van EnergyZero (met ENTSO-E als fallback), maar de factureringsmotor verwerkt deze nog niet voor facturering op uurprijs. Dynamische contractondersteuning is gepland voor Q4 2026.

Wat dit voor u betekent: u kunt direct starten met vaste en variabele contracten. Als uw bedrijfsmodel dynamische (uurlijkse) contracten vereist vanaf dag één, bespreek dan de leveringstermijn vóór ondertekening.

Hoe werkt SEPA-automatisch incasso?

SEPA-incassobatches worden gegenereerd als ISO 20022 pain.008.003.02 XML-bestanden. De batch-exportservice draait op een instelbare maandelijkse cron, valideert mandaatvolgordetypes FRST/RCUR automatisch en schrijft het Pain.008-bestand naar de geconfigureerde opslagbackend (lokale schijf, S3-compatibel of Azure Blob). Aanlevering aan de bank is een handmatige uploadstap — er is geen directe bankaansluiting via API. Batch-herexport en vervanging zijn beschikbaar via consoleopdrachten voor herstel bij fouten.

EDSN-marktkoppeling

Welke EDSN-marktberichten verwerkt het platform?

Het platform dekt de volledige leveringsketen voor mkb en particulieren:

Bericht Doel
C06Afsluiting-notificatie
C37CCP-overstapproces
C_ARMJaarlijkse meteropnameverzoek
E0AMeetdata — aanlevering meteropname
E_MROn-demand meteropnameverzoek
Nieuwe aansluitingrequestNewConnection-stroom

CVB-weekupload en BAR (Balance Accounting Report) worden vermeld in de operationele runbooks, maar de generatie van uitgaande bestanden hiervoor is nog niet bevestigd in productiecode. TenneT e-MIPS-lastprofielen (E1A/E1B/E4A) worden verwerkt door de simulatielaag in demo/dev.

Kan het platform worden gedemonstreerd zonder een live EDSN-verbinding?

Ja — dit is de standaardinstelling. Het platform wordt geleverd met EDSN_SIMULATE=true. Een volledige simulatielaag (EdsnSimulatorService) vervangt alle live EDSN-aanroepen en retourneert realistische synthetische responses. Personeelstraining, klantendemonstaties en de volledige leveringsketen kunnen worden uitgevoerd zonder EDSN-registratie. Overschakelen naar live vereist één omgevingsvariabelewijziging na voltooiing van de EDSN-kwalificatie.

Verwerkt het platform Balansverantwoordelijkheid (BRP)?

BRP / balansverantwoordelijkheid is architectureel gepland — het interfacecontract (IBrpConnector) en een simulatielaag bestaan — maar de live TenneT e-MIPS-koppeling is nog niet gerealiseerd.

Dit is consistent met de werkwijze van nieuwe markttoetreders: gedurende de eerste één à twee jaar is het gebruikelijk om BRP uit te besteden aan een bestaand gelicenseerd evenwichtsgroeplid. Het platform is zodanig ontworpen dat een echte BRP-adapter kan worden aangesloten zonder structuurwijzigingen wanneer dat nodig is.

Wie houdt de EDSN-berichtspecificaties actueel bij protocolwijzigingen?

EDSN-berichtlogica is geïsoleerd in common/services/EdsnClientService.php en HttpEdsnClient.php. Protocolversiewijzigingen — zoals schema-namespace-updates of nieuwe verplichte velden — worden in deze bestanden doorgevoerd zonder raking van facturering, UI of ERP-code. De onderhoudsverantwoordelijkheid voor EDSN-protocoleinhoud ligt bij Pinuno als onderdeel van het platformabonnement.

Beveiliging & AVG

Welke beveiligingsmaatregelen zijn er getroffen?

Een defence-in-depth-stack wordt toegepast op het frameworkniveau en kan niet worden omzeild door applicatiecode:

bcrypt-wachtwoorden
Alle wachtwoorden gehasht met PASSWORD_BCRYPT — geen MD5, geen SHA1.
Login-snelheidsbegrenzing
Exponentiële vergrendeling per gebruikersnaam + per IP via LoginThrottleService. Brute-force-aanvallen worden automatisch geblokkeerd.
CSRF-bescherming
Yii2 CSRF-tokens op alle POST-acties. De metatag wordt globaal ingespoten in de layout — geen opt-in per formulier vereist.
Sessiecookies
httpOnly, Secure (non-dev), SameSite=Lax. Lax gekozen om sessies te behouden bij OAuth-callbacks (Exact Online, Twinfield).
Beveiligingsheaders
X-Frame-Options: DENY, X-Content-Type-Options: nosniff en CSP globaal toegepast via SecurityHeadersBehavior op elk verzoek aan beide apps.
Versleuteling in rust
Gevoelige gegevens (kwetsbare-klant-status) versleuteld met AES-256-CBC. OAuth2-tokens versleuteld via Yii2 encryptByKey().
Rolgebaseerde toegang
Yii2 RBAC afgedwongen via AccessControl-gedrag op elke controller. Geen route is toegankelijk zonder de vereiste rolkoppeling.

Aanbevolen aanvullingen vóór productiestart (nog niet geïmplementeerd): composer audit in CI voor scannen op kwetsbaarheden in afhankelijkheden, en een CSP report-only-endpoint voor schendingsmonitoring.

Hoe behandelt het platform de AVG — artikel 17 (verwijdering) en artikel 20 (portabiliteit)?

Beide zijn geïmplementeerd als volwaardige stromen. Klanten kunnen een verwijderverzoek indienen of een volledige gegevensexport aanvragen via het klantportaal. Het platform anonimiseert alle PII-velden na goedkeuring (artikel 17) en genereert een gestructureerde JSON-export van het volledige accountrecord (artikel 20). Een dedicated medewerkersoverzicht in de backend verwerkt en auditeert deze verzoeken.

Huidige lacunes: geautomatiseerde verwijdering na bewaartermijn (accounts worden verwijderd bij goedkeuring door medewerker, niet door een op tijd gebaseerde cron) en tijdgestempelde audittrails voor marketingtoestemming (opt-in-status wordt opgeslagen als modelmarkering, niet als log). Beide staan op de backlog.

Beschikt het platform over ISO 27001- of SOC 2-certificering?

Momenteel niet. Pinuno is een productiebedrijf in opbouw en heeft nog geen formele externe beveiligingsaudit laten uitvoeren. De hierboven beschreven beveiligingsmaatregelen zijn geïmplementeerd op codeniveau en kunnen onafhankelijk worden geverifieerd. Kopers met een harde certificeringsvereiste moeten dit meenemen in hun inkoopplanning — een gereedheidsassessment duurt doorgaans 3–6 maanden vóór de audit.

Platform & implementatie

Is er sprake van vendor lock-in? Wat gebeurt er als Pinuno het product niet meer ondersteunt?

Geen cloudprovider-lock-in. Het platform draait identiek op Docker Compose (enkele server), zelfbeheerde Kubernetes of elke beheerde K8s-dienst (AKS, GKE, EKS). De Helm-chart en Dockerfile zijn inbegrepen in de repository. Een koper die de broncode en de Helm-chart bezit, kan het platform volledig zelfstandig beheren — er zijn geen Pinuno-beheerde diensten in het uitvoeringspad.

De enige afhankelijkheid die aan de huidige operator is gebonden, is reCAPTCHA Enterprise (een GCP-project). Vervanging door een alternatief (hCaptcha, Cloudflare Turnstile) vereist het wijzigen van één validatorklasse en één frontend-widgetcomponent.

Wat is de integratiestack? Kunnen we onze eigen SSO, opslag of mailserver gebruiken?

Elk infrastructuurcomponent is instelbaar via omgevingsvariabele — geen codecodewijziging vereist:

ComponentOpen-source optieMicrosoft-optie
SSO / identiteitKeycloakAzure Active Directory
ObjectopslagMinIO (S3-compatibel)Azure Blob Storage
E-mailSMTP (elke provider)Microsoft Graph (Microsoft 365)
TeamameldingenMattermostMicrosoft Teams
ERP / boekhoudingERPNextExact Online, Twinfield, AFAS

Overschakelen van de ene naar de andere optie vereist het wijzigen van omgevingsvariabelen en herdeployment — de applicatiecode is identiek in beide configuraties.

Wat is de codekwaliteitsbasis? Wat kan een CTO verwachten bij due diligence?

Statische analyse wordt uitgevoerd op PHPStan-niveau 6 in CI bij elke commit op main en develop. Nieuwe code moet schoon slagen — CI mislukt bij elke nieuwe bevinding. De codebase bevat een basislijn van 7.177 onderdrukte legacy-bevindingen, waarvan de meeste niet-geïnitialiseerde variabelen zijn in oudere controlleracties. Een basislijnreductie-sprint (geschat 3–5 dagen) zou het merendeel hiervan oplossen en het project naar een schone niveau-6 of niveau-7 basislijn brengen.

De PHP 8.2 / MySQL 8.0-stack wordt getest op een matrix van PHP 8.1, 8.2 en 8.3 in CI. Testdekkingsdoelstellingen zijn gedocumenteerd in de DoD; unit- en integratietestsuites zijn inbegrepen in de repository.

ERP- & boekhoudkoppelingen

Welke ERP- en boekhoudpakketten worden ondersteund?

Vier systemen worden standaard ondersteund. Alle vier implementeren dezelfde interface — het wisselen van ERP vereist het wijzigen van één omgevingsvariabele (ERP_DRIVER), niet het herschrijven van integratiekode:

Systeem Authenticatie Account sync Factuur sync Betaling ophalen
Exact Online OAuth2 + vernieuwing
Twinfield OAuth2 + vernieuwing
ERPNext API-sleutel
AFAS REST-token

Moneybird en UNIT4 worden momenteel niet ondersteund. Exact Online- en Twinfield-OAuth2-tokens worden versleuteld opgeslagen en automatisch vernieuwd.

Hoe worden ERP-koppelingen hersteld nadat een OAuth-token is verlopen of ingetrokken?

Tokenvernieuwing verloopt automatisch op de achtergrond. Als een vernieuwingstoken wordt ingetrokken (bijvoorbeeld na een wachtwoordwijziging in het ERP-systeem), wijzigt de integratiestatus naar "verbroken" in het backend-integratiedashboard. Een medewerker met de juiste rol herkoppelt door op de OAuth "Verbinden"-knop te klikken — geen ontwikkelaarinvolving vereist.

Commercieel

Hoe verhouden de kosten zich tot alternatieven zoals MECOMS 365 of MaxBill?

Enterprise-nutsbedrijfplatforms — MECOMS 365 (gebaseerd op Microsoft Dynamics 365) en BE-terna — zijn ontworpen voor gevestigde nutsbedrijven met honderdduizenden klanten en zes-cijferige jaarlijkse softwarebudgetten. Ze zijn geen realistische optie voor een bedrijf dat zijn eerste ACM-vergunningaanvraag doorloopt.

Algemene factureringsplatforms zoals MaxBill bedienen de internationale middensegmentmarkt, maar bevatten geen Nederlandse marktspecifieke functionaliteit (EDSN-berichtenverkeer, SEPA pain.008, Energiewet- contracttypes) standaard — dat is een aanvullend integratieproject bovenop de abonnementskosten.

Energie Software is specifiek gebouwd voor nieuwe Nederlandse energielabels. Het omvat EDSN-simulatie vanaf dag één, SEPA-incasso-batchexport, de volledige leveringsketen en vier ERP-koppelingen zonder aanvullend integratieproject. Voor een label in het bereik van 0–10.000 klanten ligt de totale eigendomskost over drie jaar ver onder elk enterprise-alternatief.

Zijn de prijzen gepubliceerd?

Nee. Prijzen worden direct besproken en zijn afgestemd op uw fase in het markttoetredingsproces — een label in ACM-registratie heeft andere behoeften dan een label dat al live is met 2.000 klanten. Neem contact op om een gesprek te starten.

Nog vragen?

Als uw vraag hierboven niet wordt beantwoord, neem dan contact op. We kunnen een technisch diepgaand gesprek inplannen met een uitleg van de codebase door een ontwikkelaar.