Skip to main content
Elke boeking in het Kaspert-kasboek is een transactie: een enkel financieel gebeuren dat geld aan de balans van je organisatie toevoegt of ervan aftrekt. Om rapportage, filtering en afstemming betrouwbaar te maken, draagt elke transactie twee classificatievelden: een type dat de economische richting van het geld beschrijft, en een source dat registreert hoe de transactie het systeem is binnengekomen. Als je deze twee velden begrijpt, kun je elk getal in het kasboek en in het jaarrapport goed interpreteren.

Transactietypes

Het veld type beantwoordt de vraag: wat voor soort financieel gebeuren is dit?

Hoe pending_expense werkt

Wanneer een lid (of een admin in iemands naam) een terugbetalingsverzoek indient in de Onkosten-module op /onkosten, maakt Kaspert een pending_expense-transactie aan. Dit houdt het verzoek zichtbaar in het kasboek naast andere boekingen zonder het huidige saldo te verstoren. Het bedrag blijft in een aparte wachtrij tot een admin erop acteert.
1

Lid dient een onkostenverzoek in

Het lid vult het bedrag, de beschrijving, de datum in en voegt optioneel een foto van het bonnetje toe. Kaspert maakt een pending_expense-transactie aan gekoppeld aan diens account.
2

Admin beoordeelt het verzoek

Admins zien alle openstaande onkostenverzoeken in Onkosten (/onkosten). Ze kunnen elk verzoek openen, het bonnetje bekijken en kiezen om het goed te keuren of af te wijzen.
3

Goedkeuring converteert het type

Na goedkeuring verandert het type van de transactie van pending_expense naar expense. Het bedrag wordt nu meegerekend in de saldoberekening en de transactie verschijnt in het kasboek als een gewone onkosten.
4

Afwijzing verwijdert het

Als het verzoek wordt afgewezen, wordt de pending_expense-transactie volledig uit het kasboek verwijderd en wordt het lid op de hoogte gebracht.
Alleen income- en expense-transacties beinvloeden het kasboeksaldo. Een pending_expense is zichtbaar in de transactielijst maar wordt uitgesloten van het lopende totaal tot het is goedgekeurd.

Transactiebronnen

Het veld source beantwoordt de vraag: hoe is deze transactie Kaspert binnengekomen?
Het veld source is optioneel in het datamodel (het kan undefined zijn voor legacy-records), maar alle nieuwe transacties die via de Kaspert-interface worden aangemaakt dragen altijd een expliciete bronwaarde.

Bedragsconventies

Kaspert slaat alle bedragen op als positieve getallen, ongeacht het type. Het veld type, niet een minteken, bepaalt of het bedrag het saldo verhoogt of verlaagt:
  • income van €50.00 -> saldo stijgt met €50,00
  • expense van €50.00 -> saldo daalt met €50,00
  • pending_expense van €50.00 -> saldo onveranderd tot goedkeuring
Deze conventie maakt filtering en optellen over een enkele amount-kolom eenvoudig en voorkomt verwarring over tekens bij het lezen van records.

TypeScript-referentie

De volledige typedefinities die doorheen de Kaspert-frontend worden gebruikt:
src/types/transaction.ts
Het veld linkedTransactionId wordt door de betalingsopvolgingsmodule gebruikt om een tweerichtingsreferentie te maken tussen een binnenkomende betaling (income, bron reconciled) en de verplichting die ermee wordt vereffend. Zo kun je makkelijk traceren welke bankoverschrijving welke openstaande vergoeding heeft betaald.

Alles samen

Een typisch werkjaar voor een Chiro-groep kan de volgende mix van types en bronnen bevatten:In dit voorbeeld werd het benzineverzoek op de 3e ingediend als pending_expense en op de 4e goedgekeurd. Op dat punt werd het oorspronkelijke pending-record vervangen door een bevestigde expense.