Skip to content

Subsidies ​

Subsidies beheert subsidieregelingen, aanvragen, beschikkingen en betaaltermijnen. De module legt het recht, de beoordeling en de vrijgave voor betaling vast, maar gebruikt Crediteuren en Betalingen voor de daadwerkelijke betaalverwerking.

Wat kun je met Subsidies? ​

Met Subsidies kun je:

  • subsidieregelingen beheren, publiceren en sluiten voor nieuwe aanvragen;
  • aanvragen registreren, indienen, beoordelen, goedkeuren of afwijzen;
  • beschikkingen vastleggen voor goedgekeurde aanvragen;
  • betaaltermijnen plannen, vrijgeven en omzetten naar Payables Payment Requests;
  • betaalstatussen volgen vanuit Crediteuren en Betalingen;
  • subsidie-events en generieke audittrails raadplegen;
  • subsidiedossiers, taken en timers gebruiken voor de eerste workflowfundering.

Belangrijkste schermen ​

SchermRouteDoel
Dashboard/subsidies/dashboardProgramma-, aanvraag-, beschikking- en betaalstatussen volgen
Regelingen/subsidies/programsSubsidieregelingen beheren en publiceren
Aanvragen/subsidies/applicationsSubsidieaanvragen registreren en beoordelen
Beschikkingen/subsidies/awardsToekenningen vastleggen en beheren
Betaaltermijnen/subsidies/payment-termsTermijnen plannen, vrijgeven en naar Payables doorzetten

Procesoverzicht ​

mermaid
flowchart LR
  Program[Regeling] --> Publish[Publiceren]
  Publish --> Application[Aanvraag]
  Application --> Submit[Indienen]
  Submit --> Review[Beoordelen]
  Review --> Decision{Besluit}
  Decision -->|Goedkeuren| Award[Beschikking]
  Decision -->|Afwijzen| Rejected[Afgewezen]
  Award --> Term[Betaaltermijn]
  Term --> Release[Vrijgeven]
  Release --> Payables[Payables Payment Request]
  Payables --> Payments[Betalingen]

Regelingen ​

Een subsidieregeling bepaalt binnen welke periode aanvragen kunnen worden geregistreerd en welk budget beschikbaar is. De regeling bevat ook betaalinrichting voor de handoff naar Payables, zoals de standaard rekeningcombinatie en optioneel een eigen bankrekening.

StatusBetekenis
DRAFTConceptregeling, nog niet open voor aanvragen
ACTIVEGepubliceerd en open voor aanvragen
SUSPENDEDTijdelijk niet beschikbaar
CLOSEDGesloten voor nieuwe aanvragen

Budgetverlagingen mogen niet onder actieve toekenningen uitkomen. De budgetvaluta blijft gelijk zolang actieve toekenningen bestaan.

Aanvragen ​

Aanvragen leggen de aanvrager, leverancier, leverancierssite, bankrekening, bedrag, valuta en beoordelingsgegevens vast. De huidige runtime gebruikt leveranciers- en bankrekeninggegevens uit Crediteuren, zodat betaalverzoeken later op bestaande stamdata aansluiten.

StatusBetekenis
DRAFTConcept, inhoudelijk wijzigbaar
SUBMITTEDIngediend voor beoordeling
UNDER_REVIEWIn beoordeling
APPROVEDGoedgekeurd voor beschikking
REJECTEDAfgewezen
WITHDRAWNIngetrokken

Alleen conceptaanvragen kunnen inhoudelijk worden gewijzigd. Goedkeuring vereist een bedrag dat niet boven het aangevraagde bedrag ligt en een besluitdatum die niet voor de aanvraagdatum ligt.

Beschikkingen ​

Een beschikking legt het toegekende bedrag, de valuta, datum en voorwaarden vast voor een goedgekeurde aanvraag. Per aanvraag mag er maar één actuele beschikking actief zijn.

StatusBetekenis
DRAFTConceptbeschikking
ACTIVEActuele beschikking waarop betaaltermijnen kunnen worden gepland
REVISEDVervangen door een latere beschikking
CANCELLEDGeannuleerd

Het toegekende bedrag mag niet boven het goedgekeurde aanvraagbedrag liggen. Betaaltermijnen mogen samen niet boven de beschikking uitkomen.

Betaaltermijnen ​

Betaaltermijnen plannen wanneer een deel van de beschikking betaald mag worden. Na vrijgave kan de module een idempotent Payables Payment Request aanmaken met source_system = SBS.

StatusBetekenis
PLANNEDGepland maar nog niet vrijgegeven
READY_FOR_PAYMENTVrijgegeven voor Payables
PAYMENT_REQUEST_CREATEDPayables Payment Request is aangemaakt
PAIDDownstream betaling is betaald
BLOCKEDGeblokkeerd door ontbrekende of foutieve betaalinrichting
CANCELLEDGeannuleerd

De betaalstatus wordt afgeleid uit downstream Payables- en Payments-informatie. De module lost Payables-holds niet zelf op, maar toont de downstream blokkade zodat de gebruiker de juiste bron kan herstellen.

Payables-handoff ​

Subsidies maakt geen eigen betaalengine. Bij een vrijgegeven termijn roept de module de bestaande Payables Payment Request-flow aan. De handoff gebruikt:

  • de geselecteerde leveranciersbankrekening op de aanvraag;
  • de standaard rekeningcombinatie van de regeling;
  • de optionele eigen bankrekening van de regeling;
  • een stabiele idempotency key op basis van de subsidiebetalingstermijn;
  • een korte betaalreferentie die geschikt is voor de betaalverwerking.

Als dezelfde idempotency key met dezelfde payload opnieuw wordt aangeboden, wordt het bestaande betaalverzoek gebruikt. Een gewijzigde payload met dezelfde key wordt als conflict behandeld.

Dossiers, taken en timers ​

Slice 4 levert de eerste workflowfundering. De runtime bevat nu subsidiedossiers, workflowtabellen, case tasks en case timers. Deze laag is bedoeld als bounded workflow capability voor SBS, niet als generieke BPMN-engine.

Beschikbare interne API's:

EndpointGebruik
GET /api/subsidies/casesSubsidiedossiers lezen
POST /api/subsidies/applications/{application_id}/caseDossier openen voor een aanvraag
GET /api/subsidies/cases/{case_id}Dossierdetail lezen
GET /api/subsidies/case-tasksDossiertaken lezen
POST /api/subsidies/cases/{case_id}/tasksDossiertaak aanmaken
POST /api/subsidies/case-tasks/{task_id}/completeDossiertaak afronden
GET /api/subsidies/case-timersDossiertimers lezen
POST /api/subsidies/cases/{case_id}/timersTimer aanmaken
POST /api/subsidies/case-timers/{timer_id}/cancelTimer annuleren

Timers zijn idempotent. Een timer heeft een stabiele idempotency_key; dezelfde key met andere payload geeft een 409 Conflict.

Audit en events ​

Subsidies legt acties op twee niveaus vast:

  • domeinevents in sbs_events, gebruikt voor dashboardgebeurtenissen en tijdlijnen;
  • generieke audit_events, gebruikt voor object-audittrails in de bredere platform-audit.

Voor dossiers bevat de tijdlijn ook gekoppelde taak- en timerevents via case_id. De frontend gebruikt de generieke audit-API voor objecten zoals SbsProgram, SbsApplication, SbsAward en SbsPaymentTerm.

Rechten en toegang ​

RechtGebruik
subsidies.reporting.readDashboard en rapportage lezen
subsidies.programs.readRegelingen bekijken
subsidies.programs.manageRegelingen beheren
subsidies.applications.readAanvragen bekijken
subsidies.applications.createAanvragen en betaalrelatie-lookups gebruiken
subsidies.applications.reviewAanvragen beoordelen
subsidies.awards.readBeschikkingen bekijken
subsidies.awards.manageBeschikkingen beheren
subsidies.payment_terms.readBetaaltermijnen bekijken
subsidies.payment_terms.manageBetaaltermijnen beheren en vrijgeven
subsidies.cases.readSubsidiedossiers bekijken
subsidies.cases.manageSubsidiedossiers openen en beheren
subsidies.case_tasks.readDossiertaken bekijken
subsidies.case_tasks.manageDossiertaken beheren
subsidies.case_timers.readDossiertimers bekijken
subsidies.case_timers.manageDossiertimers beheren

API's ​

Alle Subsidies-endpoints zijn interne, user-authenticated business API's onder /api/subsidies. Ze horen niet onder /api/v1, omdat die prefix voor externe Public API-contracten is gereserveerd.

EndpointgroepGebruik
/api/subsidies/programsRegelingen
/api/subsidies/applicationsAanvragen
/api/subsidies/awardsBeschikkingen
/api/subsidies/payment-termsBetaaltermijnen
/api/subsidies/casesDossiers
/api/subsidies/case-tasksDossiertaken
/api/subsidies/case-timersDossiertimers
/api/subsidies/reporting/*Dashboardrapportage
/api/subsidies/eventsDomeinevents en tijdlijnen

Status van de implementatie ​

Compleet in de huidige baseline:

  • feature seed en VitePress featurepagina;
  • MVP-tabellen voor regelingen, aanvragen, beschikkingen, betaaltermijnen en events;
  • runtime API's voor de MVP-lifecycle;
  • frontendpagina's, dashboardrapportage, betaalstatus-tracking en demo seed data;
  • eerste case/workflow foundation met dossiers, taken en timers.

Nog later te implementeren:

  • automatische binding van workflowdefinities aan SBS-proces 01;
  • happy-path proces 02-transities;
  • besluitversies, approval routing en commitmentmodel;
  • accountability, settlement, correcties, terugvorderingen en afsluiting.

Praktische checklist ​

  • Controleer dat de regeling ACTIVE is voordat aanvragen worden ingediend.
  • Leg standaard rekeningcombinatie en betaalrekening vast voordat betaaltermijnen worden vrijgegeven.
  • Gebruik alleen betaalbare leveranciersbankrekeningen uit Crediteuren.
  • Controleer downstream Payables- en Payments-statussen voordat een termijn als afgerond wordt beschouwd.
  • Gebruik audit en events bij vragen over beoordeling, beschikking of betaling.