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 veldtype 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 veldsource 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 veldtype, niet een minteken, bepaalt of het bedrag het saldo verhoogt of verlaagt:
incomevan€50.00-> saldo stijgt met €50,00expensevan€50.00-> saldo daalt met €50,00pending_expensevan€50.00-> saldo onveranderd tot goedkeuring
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
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
Voorbeeld: een volledig seizoen aan transacties
Voorbeeld: een volledig seizoen aan transacties
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.