> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kaspert.be/llms.txt
> Use this file to discover all available pages before exploring further.

# Betalingsverplichtingen per persoon toevoegen en beheren in Kaspert

> Voeg verplichtingen handmatig toe of importeer ze uit Excel/CSV, volg betaalde en openstaande status op, exporteer resultaten, en download PDF-bewijzen van betaling.

Een **betalingsverplichting** vertegenwoordigt de verwachte betaling van een enkele persoon binnen een betalingstype. Het is de kernrecord die Kaspert gebruikt om bij te houden of iemand betaald heeft. Elke verplichting slaat de naam van de persoon op, het bedrag dat hij of zij verschuldigd is in euro, en een optionele mededeling of beschrijving die Kaspert kan helpen om de verplichting te matchen met een banktransactie. Zodra een verplichting als betaald is gemarkeerd, hetzij handmatig hetzij via slimme matching, toont het een groene "Betaald" badge en kan het optioneel gekoppeld worden aan de specifieke banktransactie die de betaling vereffende.

## Wat een verplichting bevat

| Veld           | Vereist | Beschrijving                                                                       |
| -------------- | ------- | ---------------------------------------------------------------------------------- |
| **Naam**       | Ja      | De volledige naam van de persoon die moet betalen. Gebruikt bij slimme matching.   |
| **Bedrag**     | Ja      | Het exacte verwachte bedrag, in euro.                                              |
| **Mededeling** | Nee     | Een vrije tekstnota, zoals "Kamp 2025". Gebruikt als extra trefwoord bij matching. |

## Een enkele verplichting toevoegen

<Steps>
  <Step title="Selecteer een betalingstype">
    Op de Betalingen pagina (`/betalingen`), zorg dat het juiste betalingstype is geselecteerd in de dropdown bovenaan de pagina.
  </Step>

  <Step title="Open het toevoegdialoog">
    Klik **Toevoegen** in de rechterbovenhoek van de verplichtingenlijst. Een dialoogvenster verschijnt met drie velden.
  </Step>

  <Step title="Vul de gegevens in">
    Voer de naam van de persoon in, het verwachte bedrag, en optioneel een mededeling. Bijvoorbeeld:

    * **Naam**: Jan Janssen
    * **Bedrag**: 45,00
    * **Mededeling**: Kamp 2025
  </Step>

  <Step title="Sla de verplichting op">
    Klik **Toevoegen** om op te slaan. De verplichting verschijnt meteen in de lijst met de status "Openstaand".
  </Step>
</Steps>

## Importeren uit Excel of CSV

Als je een lijst van deelnemers in een spreadsheet hebt, kun je alle verplichtingen in een keer importeren in plaats van ze een voor een in te voeren. Kaspert accepteert `.xlsx`, `.xls`, en `.csv` bestanden.

<Steps>
  <Step title="Bereid je spreadsheet voor">
    Zorg dat je spreadsheet minstens twee kolommen heeft: een voor de naam van de persoon en een voor het bedrag. Een derde kolom voor de mededeling is optioneel. Kaspert herkent de volgende kolomkoppen (niet hoofdlettergevoelig):

    * **Naam kolom**: `Naam`, `Name`, `Persoon`, `Lid`
    * **Bedrag kolom**: `Bedrag`, `Amount`, `Prijs`, `Price`
    * **Mededeling kolom**: `Mededeling`, `Description`, `Omschrijving`, `Desc`, `Memo`

    De eerste rij moet de koppen bevatten.
  </Step>

  <Step title="Voorbeeld bestandsformaat">
    Hier is een voorbeeld CSV-bestand dat Kaspert kan importeren:

    ```csv title="kamp_2025_deelnemers.csv" theme={null}
    Naam;Bedrag;Mededeling
    Jan Janssen;45,00;Kamp 2025
    Marie Peeters;45,00;Kamp 2025
    Tom De Smet;45,00;Kamp 2025
    Lena Van den Berg;45,00;Kamp 2025
    ```
  </Step>

  <Step title="Klik op 'Importeren'">
    Op de Betalingen pagina, klik de **Importeren** knop boven de verplichtingenlijst. Je bestandsbrowser opent, selecteer je voorbereide `.xlsx` of `.csv` bestand.
  </Step>

  <Step title="Controleer het resultaat">
    Kaspert leest het bestand, detecteert de kolommen automatisch, en slaat rijen over waar de naam- en bedragcombinatie al bestaat in het huidige betalingstype (dubbeldetectie). Een toastmelding bevestigt hoeveel verplichtingen zijn toegevoegd en hoeveel duplicaten zijn overgeslagen.
  </Step>
</Steps>

<Note>
  Dubbeldetectie vergelijkt de naam van de persoon (niet hoofdlettergevoelig) en het bedrag. Als een rij met "Jan Janssen" en "45,00" al bestaat in het geselecteerde betalingstype, wordt die rij overgeslagen, zelfs als de mededeling anders is.
</Note>

## Een verplichting handmatig als betaald markeren

Als een betaling buiten je kasboek om is ontvangen (bijvoorbeeld contant), of als je liever geen slimme matching gebruikt, kun je elke verplichting direct als betaald markeren:

* Open het **drie puntjes menu** (⋯) op de verplichtingsrij en kies **Markeer als betaald**.

Wanneer je een verplichting handmatig als betaald markeert (zonder een banktransactie te koppelen), wordt er geen transactiekoppeling opgeslagen. De statusbadge wordt groen ("Betaald") maar er verschijnt geen matchkwaliteitsindicator.

Om een handmatige betaling terug te draaien, open je het drie puntjes menu opnieuw en kies je **Markeer als openstaand**.

## Een verplichting bewerken

Om een naam, bedrag, of mededeling te corrigeren na aanmaak:

1. Open het drie puntjes menu op de verplichtingsrij.
2. Kies **Bewerken**.
3. Werk de velden bij in het dialoogvenster en klik **Opslaan**.

<Warning>
  Het bewerken van de naam of beschrijving van een betaalde verplichting die een actieve transactiekoppeling heeft, verandert de gekoppelde transactie in het kasboek niet. Als de bewerking de naam van de persoon aanzienlijk verandert, wil je misschien daarna de matchkwaliteitsindicator controleren.
</Warning>

## Een verplichting verwijderen

Open het drie puntjes menu en kies **Verwijderen**. De verplichting wordt meteen verwijderd. Als deze gekoppeld was aan een banktransactie, wordt de transactiekoppeling ook verwijderd. De banktransactie zelf blijft in het kasboek staan.

## Zoeken, filteren, en sorteren

De verplichtingenlijst bevat een zoekbalk en filteropties boven de tabel:

* **Zoeken**: typ een naam of trefwoord uit de mededeling om de lijst in real time te filteren.
* **Statusfilter**: schakel tussen **Alle**, **Openstaand**, en **Betaald** om je te focussen op een specifieke subset.
* **Sorteren**: kies uit Naam (A-Z), Naam (Z-A), Bedrag (laag naar hoog), of Bedrag (hoog naar laag).

De lijst toont altijd eerst de openstaande verplichtingen binnen elke sorteergroep, zodat je meteen kunt zien wie nog moet betalen zonder te hoeven scrollen langs de al vereffende rijen.

## Paginering

Grote lijsten worden gepagineerd met **25 verplichtingen per pagina**. Navigatieopties verschijnen onder de tabel wanneer er meer dan een pagina is. De huidige pagina reset naar pagina 1 wanneer je de zoekopdracht of het filter wijzigt.

## Exporteren naar CSV

Klik het **Download** icoon (exportknop) boven de verplichtingenlijst om een CSV te downloaden van de verplichtingen van het huidige betalingstype. De export bevat:

* Naam, bedrag, mededeling, en status (Betaald / Openstaand) voor elke verplichting in de huidige weergave
* Een samenvattende voet met totaal betaald bedrag en totaal openstaand bedrag

Het bestand wordt automatisch benoemd met het betalingstypenaam en de datum van vandaag, bijvoorbeeld: `betalingen_Kamp_zomer_2025_2025-06-01.csv`.

## Een PDF-bewijs van betaling downloaden

Voor elke verplichting met status "Betaald" kan een **PDF-bewijs** worden gegenereerd:

1. Zoek de betaalde verplichting in de lijst. Een documenticoon verschijnt in de actiekolom.
2. Klik het icoon. Kaspert genereert meteen een PDF met de naam en het logo van je jeugdvereniging (indien geconfigureerd).
3. Het bestand wordt automatisch gedownload, bijvoorbeeld genaamd `bewijs_Jan_Janssen_2025.pdf`.

Het bewijs bevat de naam van de persoon, het betaalde bedrag, de beschrijving, de betalingsdatum (overgenomen uit de gekoppelde banktransactie indien beschikbaar, anders de datum van vandaag), de naam van je jeugdvereniging, en de status "VOLDAAN".

<Tip>
  Betalingsbewijzen zijn handig voor leden die een betalingsbewijs nodig hebben voor terugbetaling of administratieve doeleinden. Je kunt zoveel bewijzen genereren als je wilt voor dezelfde verplichting.
</Tip>
