Abonnementen
Elke retainer als eigen record
Een abonnement legt vast wat een klant per periode betaalt en waarvoor: een terugkerende afspraak aan de klant, met een status, een type, inbegrepen uren en een prijs die zichzelf nooit herschrijft. De factuurcyclus loopt door zonder dat iemand een agenda bijhoudt, en levert een conceptfactuur waar jij nog naar kijkt.
Aan de klant, niet los
Een abonnement hangt aan de klant, net als contactpersonen, projecten en domeinen: op de klantpagina zie je in één paneel welke terugkerende afspraken lopen, met bedrag, interval en de volgende factuurdatum. Het is een omzetbegrip (wat de klant per periode betaalt), los van het uurbudget van een project; de twee verwijzen naar elkaar, ze zijn niet dezelfde regel. Op het record staan naam, type, status, bedrag, interval (maandelijks, per kwartaal of jaarlijks, en desgewenst elke N intervallen), start- en einddatum, opzegtermijn en notities. Een nieuw abonnement start actief en leidt de eerstvolgende factuurdatum meteen af; een geïmporteerd abonnement blijft concept, zodat een bulkimport niet stilletjes live gaat.
Types en standaardabonnementen die je zelf inricht
Hosting, onderhoud, SEO: de categorieën zijn geen code. Je maakt ze zelf aan onder Abonnementen → Abonnementstypes, met labels per taal, een volgorde en een actief-vlag. Een standaardabonnement als "Hosting Basis, €25 per maand, 1 uur inbegrepen" vult het aanmaakformulier voor, zodat een nieuwe afspraak in seconden staat; hernoem je zo'n standaardabonnement, dan gaan de abonnementen die die naam nog dragen mee en krijg je te zien hoeveel dat er waren. Een bestaand abonnement bewaar je andersom als standaardabonnement vanaf het ⋯-menu van de rij, en het wordt er meteen aan gekoppeld. En zet je een abonnement voor het eerst op actief, dan maakt zijn type de bijbehorende onboardingtaken op de klant aan: één keer, dus pauzeren en hervatten levert geen tweede onboarding op.
- De catalogus staat als tabblad boven de sectie zelf, niet weggestopt in Instellingen
- Standaardabonnementen vullen het formulier voor; ze zijn geen kopie die achteraf uit de pas loopt
- Notities dragen variabelen als {{company_name}} en {{included_hours}}, bewaard als token en ingevuld bij het tonen
Een prijs die zich nooit herschrijft
De prijs leeft in een append-only historie met een ingangsdatum. Een tariefwijziging voegt een regel toe en overschrijft niets, dus het bedrag op een factuur van vorig jaar blijft antwoordbaar: verhoog je per 1 januari, dan houdt december gewoon zijn oude getal. Een ronde prijsverhogingen doe je met de knop Prijsverhoging: percentage erbij, vast bedrag erbij of een nieuw bedrag instellen, met een ingangsdatum en een bereik van alles, één type, één abonnement of één standaardabonnement. Je ziet eerst het voorbeeld met huidig en nieuw bedrag per abonnement, en pas daarna wordt er iets geschreven; de standaardabonnementen gaan optioneel mee. Bij bulk bewerken zit de prijs er bewust niet bij, want die hoort langs dit pad te lopen en niet langs een veld dat de historie overslaat.
Inbegrepen uren, gemeten op het echte werk
Een abonnement kan uren bevatten. Het verbruik wordt gemeten tegen de uren die op de gekoppelde projecten geboekt staan: precies dezelfde optelling die elke budgetbalk en burn-kleur leest, niet een aparte teller die uit de pas loopt. Ongebruikte uren vervallen of schuiven door volgens een rollover-regel die je zelf instelt, eventueel met een aantal perioden waarna ze alsnog vervallen. Aan de projectkant werkt het andersom: koppel je een lopende retainer met inbegrepen uren, dan haalt het project zijn urenbudget uit de afspraak (meerdere afspraken tellen op), staat het veld op slot met de bron erbij en wordt de periode maandelijks. Werk dat een retainer al betaalt begint bovendien niet-facturabel, dus een urenregistratie erop wordt niet per ongeluk een tweede keer in rekening gebracht.
Van cyclus naar conceptfactuur
Een dagelijkse cron kijkt welke abonnementen toe zijn, schuift de volgende factuurdatum een periode op en geeft de factuurregels door met het bedrag dat op de factuurdatum gold, niet met de prijs van vandaag. De facturatiemodule maakt daar een factuur van, met de abonnementsregels in hun eigen band op het document. Hoe ver dat automatisch gaat is een niveau en geen schakelaar: uit, concept klaarzetten, klaarzetten en definitief maken, of klaarzetten, definitief maken en mailen. Je stelt dat organisatiebreed in en overschrijft het per abonnement, zodat de vaste hostingretainer vanzelf loopt terwijl de klant over wie elke maand onderhandeld wordt met de hand blijft gaan. Wat er nog openstaat lees je terug in Overzicht → Omzet, met MRR, ARR, het aantal actieve abonnementen en de facturen die binnen een maand vervallen.
- De cyclus schuift door, ook als de factuur nog concept blijft
- De prijs op de factuur is de prijs van die factuurdatum
- Automatisch factureren per abonnement, of 'volg de organisatie'
De lijst is een werkblad
Alle abonnementen staan in dezelfde tabel als de rest van het platform: sorteren op elke kolom die de lijst toont (ook op bedrag tegen de prijs van vandaag en op volgende factuurdatum), filteren op klant, type en status, kolommen tonen of verbergen, en een echte pagineerbalk in plaats van de eerste tweehonderd rijen. Vraag je om selectievakjes, dan verschijnen ze; daarna zet je status, type en klant over een hele selectie in één keer om, of verwijder je de selectie. Abonnementen, abonnementstypes en standaardabonnementen reizen alle drie als CSV, TSV of Excel, waarbij een import dezelfde controles doorloopt als het formulier: het is geen achterdeur langs de service. Elk abonnement draagt daarbij je eigen extra velden en een volledig activiteitenspoor van wat er wanneer door wie veranderde. Abonnementen is een uitbreidingsmodule: de kern van schakl. is open source (AGPL) en modules als deze draaien op een licentiesleutel die je invoert onder Instellingen → Licentie; verloopt die, dan wordt de module alleen-lezen en blijven je afspraken, prijshistorie en exports gewoon leesbaar.
- Filter op klant, status en type
- Bulk: status, type en klant omzetten, of de selectie verwijderen
- Vier statussen: Concept, Actief, Gepauzeerd, Opgezegd
Meer weten?
De documentatie beschrijft elke module tot in de details, van installatie tot rechten.