Direct naar hoofdinhoud

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

Alle drie de contracttypes zijn live. Dynamische (spot-geïndexeerde) contracten worden afgerekend op je werkelijke kwartierwaarden waar P4-data beschikbaar is; anders een profiel-gewogen benadering. De EPEX-spotprijs-datastroom cachet 24-uurs EUR/MWh-tarieven van EnergyZero (met ENTSO-E als fallback). Verschuif je verbruik naar goedkope uren en betaal minder.

Wat dit voor je betekent: je kunt direct van start onder alle drie de contracttypes - vast, variabel en dynamisch - vanaf dag één.

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 opslaglocatie (lokale schijf, S3-compatibel of Azure Blob). Aanlevering aan de bank is een handmatige uploadstap. Er is geen directe bankaansluiting via API. Bij fouten kan het beheerdersteam een batch opnieuw exporteren of vervangen.

EDSN-marktkoppeling

Het platform dekt de volledige leveringsketen voor mkb en particulieren:

Bericht Doel
C06Melding leveringsonderbreking
SWITCHLVCCP-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.

Ja, dit is de standaardinstelling. Elk uitgaand EDSN-marktbericht loopt via de integratielaag van het platform, die zelf antwoordt vanuit een ingebouwde simulator wanneer er geen live marktverbinding is geconfigureerd, en realistische synthetische responses retourneert. Personeelstraining, klantendemonstaties en de volledige leveringsketen kunnen worden uitgevoerd zonder EDSN-registratie. Live gaan is een kwestie van die ene integratielaag op de echte markt aan te sluiten na voltooiing van de EDSN-kwalificatie, geen wijziging aan de applicatiecode.

Balansverantwoordelijkheid (BRP) is gebouwd als vervangbaar onderdeel met een werkende simulatie erachter, zodat het platform het proces vandaag volledig doorloopt. De live koppeling met TenneT 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.

Het platform verwerkt zelf nooit het EDSN-berichtformaat. Berichtenveloppen, ondertekening en schemaversies zitten allemaal in de koppellaag, die het platform eenvoudige gegevens zonder versie aanlevert. Een protocolwijziging, bijvoorbeeld een nieuwe schemanaamruimte of een extra verplicht veld, wordt daar opgevangen en raakt noch de facturatie, noch het scherm, noch uw boekhoudpakket. Het bijhouden van EDSN-protocolwijzigingen hoort bij het abonnement.

Beveiliging & AVG

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
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 een afgedwongen Content-Security-Policy, toegepast op elk verzoek in alle drie de applicaties: het klantportaal, de beheeromgeving en de API.
Versleuteling in rust
Gevoelige gegevens (kwetsbare-klant-status) versleuteld met AES-256-CBC. OAuth2-tokens versleuteld via de ingebouwde encryptiefunctie van het platform.
Rolgebaseerde toegang
RBAC afgedwongen via toegangscontrole 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.

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.

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

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.

Elk infrastructuurcomponent is instelbaar via een omgevingsvariabele, geen codewijziging vereist:

OnderdeelOpen-source optieMicrosoft-optie
SSO / identiteitKeycloakAzure Active Directory
ObjectopslagMinIO (S3-compatibel)Azure Blob Storage
E-mailSMTP (elke provider)Microsoft Graph (Microsoft 365)
TeammeldingenMattermostMicrosoft 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.

De volledige codebase komt schoon door PHPStan op niveau 6, zonder onderdrukkingsbestand waarachter oudere code schuilgaat. Er resteert een handvol bekende bevindingen en de build faalt op elke nieuwe, dus dat aantal kan alleen dalen.

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 koppelingstests zijn inbegrepen in de repository.

ERP- & boekhoudkoppelingen

Vier systemen worden standaard ondersteund en alle vier werken via dezelfde koppeling. U kiest het pakket per verbinding in de beheeromgeving, dus overstappen naar een ander pakket, of tijdens een migratie twee pakketten naast elkaar draaien, vraagt geen integratiewerk:

Systeem Authenticatie Accountsynchronisatie 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.

Tokenvernieuwing verloopt automatisch op de achtergrond. Als een vernieuwingstoken wordt ingetrokken (bijvoorbeeld na een wachtwoordwijziging in het ERP-systeem), wijzigt de koppelingsstatus naar "verbroken" in het koppelingsoverzicht van de backend. Een medewerker met de juiste rol herkoppelt door op de OAuth "Verbinden"-knop te klikken, zonder tussenkomst van een ontwikkelaar.

Commercieel

Enterprise-nutsbedrijfplatforms zoals 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.

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 je 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.