Versie e0a3c95
Funderscan: periodefilter, KPI’s, signalen en facturatieverbeteringen
Datum volgtEén deelbare periodekiezer (maand/kwartaal/jaar) met correcte assen per cijferKPI-strip en CSV/ZIP-exports voor financiële controleFacturatieoverzicht volgt verzonden factuur, met zichtbare driftAutomatische detectie van omzetlekken en aansluitverschillenBetaalstatus en platformblokkade bij wanbetaling zichtbaar en beheersbaar
- Eén periodekiezer (maand/kwartaal/jaar) boven Inzicht; URL-gebonden en serverside gefilterd - Nieuwe KPI-strip + exportknoppen voor financiële controle - Facturatieoverzicht volgt nu de verzonden factuur (met drift-indicator) - Signaalmotor: omzetlek en aansluitverschil automatisch gedetecteerd - Betaalstatus zichtbaar, herinneringen uitgebreid en platformblokkade bij wanbetaling - Betalen-voor-download: rapportmail telt nu als betaalverzoek - Uitvoerder automatisch vastgelegd bij metingen en pandzakking - UI-teksten opgeschoond, toegankelijkheid en laadtijd Inzicht verbeterd
Inzicht (admin)
- Periodefilter op maand, kwartaal en jaar voor Overzicht/Signalen, Organisaties (incl. kaart) en Geld; selectie staat in de URL en overleeft refresh.
- Bewuste scheiding van assen: volumestatistiek/kaart/status/activiteit filteren op project.createdAt; bedragen op verrekenmaand. KPI-tegels benoemen de gebruikte as; trend alleen bij maand.
- KPI-strip (fase 3): nieuwe projecten deze maand, actieve organisaties deze maand, te factureren en bedrag in risico; eerste twee met maand-trend. Instroom/actief komen uit eigen maand-aggregaat op createdAt.
- Exports: projecten-export (audittrail, met classificatie en verrekenmaand, expliciete ‘afgekapt’-regel bij >250) en facturen-export (subtotaal excl. btw én totaal incl. btw; creditnota’s gemarkeerd; ‘telt mee’-kolom). CSV ingesteld op ;-scheiding, decimale komma en UTF-8 BOM.
- Signaalmotor (fase 2): omzetlek (‘opgeleverd zonder afdruk’ na 1 juli 2026, met regime-check) en aansluitverschil (verschil tussen live billingSummary en effectief gefactureerd per org/maand). Lekdetectie draait op volledige projectlijst (niet afgekapt) en gebruikt conceptregels uit billingSummary.
Financieel overzicht en facturatie
- Verzonden factuur leidend: bij een effectieve factuur tonen organisatie- en maandtotalen het gefactureerde bedrag; live herberekening verhuist naar drift-badge/onderregel. Gecrediteerde maanden vallen terug op live berekening.
- Facturatie-slot: uitsluiten van projecten/rapporten geblokkeerd (409 month_billed) zodra org/maand definitief is; maandknop ‘Genereer concept-facturen’ sluit als alles al verzonden is.
- Betaalstatus: per organisatie betaald/dagen over tijd/herinnerd naast factuurnummer; maandkop toont gefactureerd/betaald/openstaand/over tijd/concept. Verzonden facturen tonen verzenddatum en ontvangers (vastgelegd in metadata).
- Herinnering en blokkade: betalingsherinnering maakt ook in-app notificatie voor klant-superusers; waarschuwingsbalk alleen voor superusers/admins. Nieuwe platformblokkade wegens wanbetaling (opheft automatisch bij betaald).
- ZIP-export: alle verzonden factuur-PDF’s van een maand als ZIP voor externe administratie.
Betalen-voor-download
- Rapportmail telt nu als betaalverzoek: statuspaneel toont ‘Betaalverzoek meegestuurd met de rapportmail’ met datum; shared helper gebruikt voor herinneringen/status.
- ‘Plan de opname in’ verborgen zodra opname gepland of gestart is; nudge-tekst aangepast.
Voortgang en metingen
- Uitvoerder vastleggen bij elke meting: createdById gezet bij nieuwe en, waar mogelijk, bestaande metingen; koppeling van logger aan object/project (geen ‘niet-gekoppeld’-chip meer).
- Pandzakking: settlementResolvedById/At leggen uitvoerder vast bij handmatige invulling of ‘niet beschikbaar’. Een via FunderMaps gesyncte waarde krijgt geen uitvoerder.
- FunderMaps-ophaalactie telt als uitvoerder wanneer er een waarde is; peek schrijft niets.
UI, toegankelijkheid en prestaties
- Onleesbare cp1252/UTF-8-mojibake in UI-teksten hersteld op meerdere plekken.
- DataTable toegankelijker: toetsenbordnavigatie voor sorteren en aria-sort; foute role-attributen op rijen verwijderd.
- FRO-kaartlaag lazy geladen via aparte route met limiet; pas ophalen na inschakelen.
- Betrouwbare foutmeldingen in Inzicht: geen stille EUR 0,00 meer bij loader-fouten; kolommen tonen streepje en een duidelijke melding.
- Dubbele dure scan verwijderd in loader (payment insights worden hergebruikt).
- CSV-export: bedragen met decimale komma; exportmoment en periodekolom toegevoegd.
Navigatie en structurering (kleine wijzigingen)
- Adminomgeving gesplitst: /admin/funderscan = Inzicht; /admin/funderscan/beheer = Beheer. Oude ?tab=-links krijgen redirect.
- Per-organisatie-tabellen samengebracht op Organisaties; dubbeltellingen verwijderd en namen verduidelijkt. Statusflow visueel verbeterd; projecten zonder status worden apart geteld en gemeld.