Augustus-update

Gepubliceerd op 31 augustus 2026

Korte samenvatting

In deze release is een belangrijke technische en functionele basis gelegd voor meerdere organisaties binnen een portaal. Gebruikers kunnen, afhankelijk van hun rechten en pakket, organisaties aanmaken, beheren en wisselen. Accounts en lidmaatschappen zorgen daarbij voor een duidelijke scheiding tussen de inlogidentiteit en het klant- of medewerkersprofiel binnen een organisatie. De database-, opslag-, cron- en pluginlagen zijn aangepast om bedrijfsgegevens per organisatie af te schermen.

De beveiliging is uitgebreid met tweestapsverificatie voor medewerkers, herstelcodes, IP-beperkingen voor het volledige portaal en beheerde API-sleutels. API-sleutels kunnen eigen rechten, snelheidslimieten, IP-filters en een vervaldatum krijgen. Portaalbeheer kan daarnaast centrale meldingen publiceren en via een tijdelijke, gecontroleerde beheerlogin naar een klantportaal gaan.

Voor dagelijkse werkzaamheden zijn Offertes en Diensten vernieuwd. Er is een centrale offertebibliotheek toegevoegd voor standaardactiviteiten en uurtarieven. De offertepagina toont de workflow en statussen duidelijker en Diensten opent voortaan vanuit categorieën. Ook zijn TwoMail-bestellingen, DirectAdmin DNS-beheer, projectboardmeldingen en boekhoudkundige herkenning verder uitgebreid.

Migraties zijn een belangrijk onderdeel van deze release. Naast een uitgebreidere GRIPP-import is een begeleide CSV-import toegevoegd voor bedrijven en contactpersonen, inclusief kolomkoppeling, voorvertoning, controle op bestaande gegevens en een herhaalbare verwerking.

Binnen Eventmanager zijn het inschrijfformulier, de formulierbouwer, deelnemersdetails en wachtlijstverwerking verbeterd. De laatste correcties richten zich onder andere op bestaande klantcontacten, Safari, e-mailvelden, geslachtslimieten en het voorkomen dat geldige inschrijvingen onterecht op de wachtlijst terechtkomen.

Systeemwijzigingen

Organisaties en gegevensisolatie

  • Een portaal kan meerdere organisaties ondersteunen binnen dezelfde installatie en database.
  • Accounts zijn losgekoppeld van het lokale klant- of medewerkersprofiel en kunnen lid zijn van meerdere organisaties.
  • Gebruikers kunnen vanuit de navigatie tussen beschikbare organisaties wisselen.
  • Organisatiebeheerders kunnen organisaties aanmaken, hernoemen, archiveren en herstellen.
  • Nieuwe leden kunnen per e-mail worden uitgenodigd en via een beveiligde uitnodigingslink toetreden.
  • Het pakket kan een maximum stellen aan het aantal actieve organisaties.
  • Bestaande klanten en medewerkers worden tijdens de migratie aan accounts en organisatielidmaatschappen gekoppeld.
  • De databaseverbinding past automatisch de actieve organisatiecontext toe op organisatiegebonden tabellen.
  • Bedrijfsgegevens, instellingen, templates, rollen, logs en plugindata worden per organisatie afgeschermd.
  • Primaire sleutels, unieke indexen en relaties tussen tabellen zijn aangescherpt om koppelingen tussen verschillende organisaties te voorkomen.
  • Er zijn audits en herstelacties toegevoegd voor ontbrekende organisatiekolommen, indexen, relaties en verweesde gegevens.
  • Nieuwe organisaties krijgen gecontroleerd hun eigen basisinstellingen, rollen, templates en opslagmappen.
  • Release-snapshots normaliseren organisatiegebonden tabellen en nemen alleen veilige seeddata mee.
  • Geheimen, tokens en wachtwoorden worden uit seed-snapshots verwijderd.
  • Cronjobs, downloads, openbare tokens en achtergrondprocessen laden voortaan expliciet de juiste organisatiecontext.
  • Taalinstellingen, branding, dashboardindeling en nummerreeksen kunnen per organisatie worden beheerd.

Beveiliging en toegang

  • Medewerkers kunnen tweestapsverificatie met een authenticator-app inschakelen.
  • Bij het activeren van 2FA worden eenmalige herstelcodes aangemaakt.
  • Herstelcodes kunnen opnieuw worden gegenereerd en 2FA kan na extra controle worden uitgeschakeld.
  • Mislukte 2FA-pogingen worden begrensd en kunnen tijdelijk worden geblokkeerd.
  • Na een organisatiewissel kan opnieuw om tweestapsverificatie worden gevraagd.
  • Het volledige portaal kan worden beperkt tot toegestane IPv4- en IPv6-adressen of CIDR-reeksen.
  • Reverse-proxyheaders worden alleen vertrouwd wanneer de directe proxy expliciet is toegestaan.
  • API-toegang kan centraal worden in- of uitgeschakeld.
  • De oude API-configuratiesleutel kan tijdens de overgang afzonderlijk worden toegestaan of uitgeschakeld.
  • Beheerde API-sleutels ondersteunen afzonderlijke rechten, IP-filters, vervaldatums en limieten per minuut en per dag.
  • API-sleutels worden alleen bij het aanmaken volledig getoond en kunnen daarna worden ingetrokken.
  • Gebruik, laatste IP-adres, vervaldatum en status van API-sleutels zijn zichtbaar in de beveiligingsinstellingen.
  • Wachtwoordherstel en magic-login houden rekening met accounts en de actieve organisatie.
  • Publieke en API-routes vallen onder dezelfde configureerbare toegangscontrole als het portaal.

Portaalbeheer en centrale meldingen

  • Portaalbeheer heeft een apart onderdeel voor centrale meldingen gekregen.
  • Meldingen kunnen naar alle portalen of naar een selectie van portalen worden gestuurd.
  • Centrale meldingen kunnen worden geactiveerd, gedeactiveerd en verwijderd.
  • Gebruikers zien actieve meldingen op hun dashboard.
  • Vanuit Portaalbeheer kan een tijdelijke beheerlogin voor een klantportaal worden aangemaakt.
  • De beheerlogin gebruikt een kortlevend token en bewaart de oorspronkelijke beheersessie voor veilig terugkeren.
  • Beheeracties hebben aanvullende CSRF- en toegangscontroles gekregen.
  • Het portaaloverzicht laat duidelijker zien welke pluginversies achterlopen op de bronversie.
  • Pluginversies kunnen vanuit het gedetecteerde versieoverzicht worden klaargezet.

Navigatie, dashboard en algemene werking

  • De organisatiekiezer is toegevoegd aan de bovenbalk en houdt rekening met lidmaatschappen en rechten.
  • Dashboardwidgets worden per organisatie en gebruiker opgeslagen.
  • Zichtbaarheid van dashboardonderdelen en menu-items volgt consequenter de ingestelde rechten.
  • Brandinginstellingen zijn naar organisatiegebonden opslag verplaatst.
  • Veel veelgebruikte modellen laden instellingen, pakketten, rechten en plugins efficiënter via gedeelde instanties.
  • De bootstrap en legacy-laag voorkomen dubbel initialiseren van sessies en organisatiecontext.
  • De cronrunner verwerkt organisatiegebonden taken in de juiste context.
  • De rechten- en rollenpagina is vernieuwd en reageert directer op wijzigingen zonder storende paginaflitsen.
  • Rechten kunnen overzichtelijker per rol, medewerker en onderdeel worden beheerd.

Offertes en offertebibliotheek

  • Er is een centrale offertebibliotheek toegevoegd voor standaardactiviteiten en uurtarieven.
  • Uurtarieven hebben een naam, omschrijving, bedrag en actieve of gearchiveerde status.
  • Standaardactiviteiten kunnen aan een categorie, standaardduur en uurtarief worden gekoppeld.
  • Activiteiten uit de bibliotheek kunnen bij het maken van een offerte worden geselecteerd.
  • De bronactiviteit en het gebruikte uurtarief blijven bij de offerteregel bewaard.
  • Medewerkers met de juiste rechten kunnen de bibliotheek via Instellingen beheren.
  • De bibliotheek staat als snelkoppeling onder Offertes in het zijmenu.
  • Een nieuw uurtarief kan direct vanuit de modal voor een nieuwe activiteit worden aangemaakt en geselecteerd.
  • De offerteworkflow ondersteunt een duidelijk onderscheid tussen concept, open, ondertekend en archief.
  • De offertepagina heeft een vernieuwde kop, statuskaarten, tabs, zoekveld en responsieve tabel.
  • De knop voor een nieuwe offerte sluit aan op de standaard knoppen van het portaal.
  • Offerteactiviteiten bewaren uren, tarief en totaalprijs consistenter.

Diensten, TwoMail en DNS

  • Diensten openen voortaan standaard met het categorieoverzicht.
  • Per categorie zijn het aantal diensten en actieve klantdiensten zichtbaar.
  • Een categorie opent direct de bijbehorende gefilterde dienstenlijst.
  • Dienstcategorieën kunnen worden gezocht op naam en omschrijving.
  • Bestaande TwoMail-pakketten kunnen vanuit de connectiecache als diensten worden geïmporteerd.
  • De TwoMail-catalogus kan openbare pakketten met prijs, frequentie, quota en websitefuncties aanbieden.
  • De nieuwe TwoMail-bestelroute maakt idempotent een klant, klantdienst en factuur aan.
  • Een TwoMail-tenant wordt pas geactiveerd nadat de gekoppelde factuur volledig is betaald.
  • Voor TwoMail kan een beperkte commercesleutel worden gebruikt zonder algemene beheerrechten te geven.
  • App-connecties synchroniseren pakket-, dienst- en provisioninggegevens betrouwbaarder.
  • DirectAdmin DNS is als app-connectieprovider toegevoegd.
  • DNS-zones en records kunnen vanuit het portaal worden opgehaald, toegevoegd, gewijzigd en verwijderd.
  • Een klantdienst kan aan een domein worden gekoppeld en daarna met de externe DNS-provider worden gesynchroniseerd.
  • Klanten kunnen via Mijn DNS hun gekoppelde domeinen en records bekijken en beheren wanneer dit is toegestaan.

Projecten en projectboarden

  • Medewerkers kunnen per e-mail worden geïnformeerd wanneer zij aan een projectboardkaart worden gekoppeld.
  • De e-mail bevat project, kaart, omschrijving en een directe link naar het projectboard.
  • Alle toegankelijke systeemgebruikers kunnen aan een kaart worden gekoppeld, niet alleen bestaande projectleden.
  • Gebruikers in de kaartkiezer kunnen op naam en e-mailadres worden gezocht.
  • Het board laat zien of iemand projectlid of algemene systeemgebruiker is.
  • Een medewerker die aan een kaart is gekoppeld, krijgt toegang tot het betreffende projectboard binnen de bestaande rechtenregels.
  • Fouten bij het versturen van een toewijzingsmail worden zichtbaar teruggekoppeld zonder de kaartwijziging te verliezen.
  • Boardroutes controleren relaties tussen project, kolom, kaart en gebruiker strikter.

Boekhouding en slimme herkenning

  • De boekhouding leert van eerder ingedeelde verkoop- en inkoopboekingen.
  • Op basis van de herkende leverancier of omschrijving kan een categorie en btw-percentage worden voorgesteld.
  • Lokale organisatiekennis krijgt voorrang; algemene herkenningsregels kunnen als aanvullende bron worden gebruikt.
  • Het systeem leert ook wanneer inkopen regelmatig in meerdere boekingsregels worden gesplitst.
  • Bij herhaald splitgedrag kan een melding naar de betreffende inkoop leiden en de splitweergave direct openen.
  • Bestaande boekingen kunnen gecontroleerd worden gebruikt om herkenningsregels op te bouwen.
  • Verwerkte leervoorbeelden worden bijgehouden zodat dezelfde boeking niet onnodig opnieuw wordt getraind.
  • Notificaties voor boekhoudkundige splitsuggesties kunnen per gebruiker als gelezen worden gemarkeerd.
  • Aankoopregels en splitsingen bewaren extra context voor latere herkenning.

Migraties en gegevensimport

  • De bestaande migratieomgeving is uitgebreid met een GRIPP-provider.
  • GRIPP kan contacten, producten, offertes, verkoopfacturen, inkopen en betalingen ophalen.
  • Datumbereiken, paginering en API-limieten worden tijdens de GRIPP-import verwerkt.
  • Externe IDs voorkomen dat een herhaalde migratie dezelfde gegevens dubbel aanmaakt.
  • Betalingsstatus, vervaldatum en bronlabels worden bij GRIPP-imports consistenter overgenomen.
  • De voortgang, aantallen, waarschuwingen en fouten worden per migratieonderdeel bijgehouden.
  • Er is een begeleide CSV-import voor bedrijven en contactpersonen toegevoegd.
  • CSV-bestanden met komma, puntkomma, tab of pipe als scheidingsteken kunnen worden herkend.
  • Kolommen kunnen handmatig aan klant- en contactvelden worden gekoppeld.
  • Voor de definitieve import toont een voorvertoning welke regels worden aangemaakt, bijgewerkt, gekoppeld of overgeslagen.
  • Bestaande bedrijven worden onder andere op extern nummer, e-mail, bedrijfsnaam en KvK-nummer herkend.
  • Contactpersonen worden binnen het juiste bedrijf op extern nummer, e-mail of naam herkend.
  • De import kan afzonderlijk bedrijven, contactpersonen of beide verwerken.
  • Bestaande records worden alleen bijgewerkt wanneer dit expliciet is gekozen.
  • Voorbeeldbestanden, templates, documentatie en tests voor de CSV-import zijn toegevoegd.
  • Organisatie-seeds en release-snapshots worden opgeschoond en gevalideerd voordat een nieuwe versie wordt gemaakt.

Pluginwijzigingen

Eventmanager

  • De formulierbouwer voor eventinschrijvingen is uitgebreid en opnieuw vormgegeven.
  • Beheerders kunnen eigen velden toevoegen, bewerken en verwijderen.
  • Keuzevelden ondersteunen opties voor selecties, radioknoppen en selectievakjes.
  • Tekstblokken en koppen kunnen tussen de invoervelden worden geplaatst.
  • Labels en tekstblokken kunnen in Nederlands, Engels en Duits worden beheerd.
  • Een live voorvertoning laat zien hoe het inschrijfformulier per taal wordt weergegeven.
  • De deelnemerslijst ondersteunt zoeken en duidelijkere filters.
  • Registratiedetails kunnen vanuit de deelnemerslijst worden geopend zonder van pagina te wisselen.
  • Contact-, betaal-, formulier- en extra-kostengegevens zijn overzichtelijker gegroepeerd.
  • Bestaande klantcontacten worden bij inschrijven gecontroleerd aan de ingelogde klant gekoppeld.
  • E-mailvelden worden ook in Safari betrouwbaar naar de server verzonden en hebben een veilige serverfallback.
  • Nederlandse en Engelse geslachtswaarden worden naar dezelfde capaciteitscontrole vertaald.
  • Een limiet van nul voor jongens of meisjes wordt als onbeperkt behandeld wanneer geen echte limiet is ingesteld.
  • Alleen een werkelijke capaciteitsbeperking zet een inschrijving op de wachtlijst; validatiefouten worden niet meer als wachtlijstinschrijving verwerkt.
  • De berekening van algemene capaciteit en wachtlijstplaatsen is aangescherpt.
  • Sessies worden alleen gestart wanneer nog geen sessie actief is, waardoor notices op pluginpagina’s verdwijnen.
  • Variabelen voor formulier- en navigatietalen botsen niet meer met elkaar.
  • Wachtlijst-, analyse-, coach- en kortingsroutes gebruiken dezelfde compatibiliteits- en organisatiecontext.

Portaalbeheer en proefportalen

  • De proefaanvraag- en provisioningflow is aangepast aan accounts en organisaties.
  • Portaalgegevens en beheerdersidentiteit worden betrouwbaarder gekoppeld bij het aanmaken van een portaal.
  • Databaseback-ups kunnen via een beveiligde beheerroute voor provisioning en versiebeheer worden opgevraagd.
  • Pakket- en versieacties tonen duidelijkere voortgang en foutmeldingen.
  • Plugininstallaties en updates houden rekening met organisatiegebonden schema’s en seeddata.

Betalingen en bankkoppelingen

  • Mollie-, PAY.- en MyPonto-routes laden de juiste organisatiecontext bij terugmeldingen en synchronisaties.
  • Webhooks controleren gekoppelde facturen en betalingen binnen de juiste organisatie.
  • Betaalde TwoMail-facturen kunnen de bijbehorende tenant automatisch activeren.
  • MyPonto-accountkoppelingen en synchronisatie zijn voorbereid op meerdere organisaties.
  • De meegeleverde Mollie API-client is bijgewerkt met aanvullende endpoint- en resourcetypen.

Overige plugins

  • Afsprakenplanner, Helpdesk, Livechat, OCR-factuurscanner, Schema Manager, Voorraadbeheer, Werkbonnen, Werkenbij, WooCommerce en twoAI zijn aangepast aan de organisatiecontext.
  • Publieke pluginroutes leiden de juiste organisatie af uit tokens of gekoppelde records.
  • Pluginprocessen starten geen tweede sessie wanneer de hoofdapplicatie al een sessie heeft geopend.
  • Plugininstellingen en zakelijke gegevens worden waar nodig per organisatie gelezen en opgeslagen.
  • Plugins zonder geldige organisatiecontext worden op niet-primaire organisaties afgeschermd.
← Terug naar alle releases