15. Templates en placeholders (factuur & tandembon)

Facturen en tandem-cadeaubonnen worden als PDF gegenereerd uit een template: een lay-out met vaste tekst en placeholders — woorden tussen accolades {…} die het systeem automatisch invult met echte gegevens.

Waar bewerken?

Document Menu Tab
Factuur-PDF Team → Facturen Templates & factuursoorten
Tandembon-PDF Team → Tandem Bonnen Templates & bonsoorten

Geen programmeerkennis nodig — wel oog voor layout en geduld met PDF-voorbeeld testen.


Template bouwen — algemene stappen

  1. Open de module → tab Templates.
  2. Kies links een bestaand template of klik Nieuw template.
  3. Bewerk de inhoud in de editor (visueel, of schakel naar code/HTML voor precisie).
  4. Rechts staat een lijst placeholders — kopieer exact {naam} in je tekst.
  5. Gebruik tab Voorbeeld / Scherm / Afdruk / PDF om te zien hoe het eruitziet met voorbeelddata.
  6. Opslaan — template is direct bruikbaar.
  7. Koppel het template aan een factuursoort of bonsoort (dropdown bij nieuwe factuur/bon).

Template verwijderen (tandembonnen)

Op Tandem Bonnen → Templates & bonsoorten zie je Verwijderen naast de templatenaam (en een prullenbak in de lijst bij eigen templates) — zelfde rechten als Opslaan (beheerder). Het standaardtemplate blijft staan (knop grijs). Er moet altijd minstens één template overblijven.

Voordat het systeem verwijdert, controleert het of het template nog in gebruik is:

  • Gekoppeld aan een bonsoort → eerst een ander template kiezen bij die bonsoort (en opslaan).
  • Nog gebruikt door bestaande bonnen → verwijderen wordt geweigerd (bestaande PDF’s/layouts blijven veilig).

Bevestig de vraag in het dialoogvenster; daarna is het template weg (niet terug te zetten zonder backup).

(Screenshot volgt: facturen template editor met placeholder-lijst)

Tips voor een goede PDF

  • Houd layout simpel: tabellen werken beter dan ingewikkelde kolommen.
  • Gebruik inline opmaak (lettertype, kleur in de editor) — geen externe stylesheets.
  • Afbeeldingen: knop Bibliotheek in de editor om te zoeken/kiezen uit de mediabibliotheek, of upload via het afbeeldingen-icoon (zelfde sessie als de rest van Team).
  • Clublogo: placeholder {club_logo} — wordt automatisch ingevuld (werkt in PDF).
  • Altijd PDF-voorbeeld bekijken vóór je live facturen of bonnen verstuurt.
  • Wijziging kapot? Herstel oude versie uit backup of vraag sitebeheerder.

Clubgegevens op factuur

Vul via Team → Instellingen → tab Facturatie:

  • Adres, KvK, btw-nummer, IBAN, e-mail club
    Die vullen o.a. {club_address_full}, {club_iban}, {club_kvk}.

Factuur-placeholders — volledige lijst

Placeholder Wat verschijnt op de PDF?
{club_name} Clubnaam
{club_logo} Clublogo als afbeelding
{club_logo_url} Alleen adres van logo (zeldzaam nodig)
{club_address_full} Volledig clubadres (meerdere regels)
{club_kvk} KvK-nummer
{club_btw} Btw-nummer club (leeg als btw-plicht uit staat)
{club_kvk_btw} KvK/Btw op één regel; zonder Btw als btw-plicht uit staat
{club_iban} IBAN club
{club_email} E-mail club
{invoice_no} Factuurnummer, bijv. F-2026-0001
{invoice_date} Factuurdatum
{due_date} Vervaldatum
{invoice_type_label} Factuursoort (Contributie, …). Standaard wordt niet op de PDF gezet
{reference} Referentie / betalingskenmerk
{notes_customer} Opmerking voor debiteur
{debtor_name} Naam debiteur
{debtor_member_no} Lidnummer
{debtor_kind} Lid / Donateur / Relatie
{debtor_email} E-mail debiteur
{debtor_phone} Telefoon debiteur
{debtor_address_full} Adres debiteur
{line_items_table} Hele tabel factuurregels (automatisch; zonder btw-kolom als btw-plicht uit staat)
{subtotal_excl} Subtotaal (op de PDF zonder “excl. btw” als btw-plicht uit staat)
{vat_breakdown} Btw per tarief (leeg als btw-plicht uit staat; de Btw-regel verdwijnt)
{total_incl_vat} Totaal (op de PDF zonder “incl. btw” als btw-plicht uit staat)
{payment_status} Betaalstatus
{open_amount} Nog openstaand bedrag
{payment_iban} IBAN om naar over te maken
{payment_reference} Betalingskenmerk (meestal factuurnr.)
{mollie_pay_url} Link online betalen (als Mollie aan staat)

Belangrijk: {line_items_table} hoort in elke factuur-template — zonder deze placeholder geen regels op PDF.

Voorbeeld layout (vereenvoudigd)

<table>
  <tr>
    <td>{club_logo}<br>{club_name}<br>{club_address_full}</td>
    <td>Factuur {invoice_no}<br>Datum {invoice_date}</td>
  </tr>
</table>
<p><strong>{debtor_name}</strong><br>{debtor_address_full}</p>
{line_items_table}
<p>Totaal: {total_incl_vat}</p>
<p>Betaal o.v.v. {payment_reference} op {payment_iban}</p>

Je mag afwijken — zolang alle benodigde placeholders staan.


Tandembon-placeholders — volledige lijst

Placeholder Wat verschijnt op de bon?
{club_name} Clubnaam
{club_logo} Logo
{club_logo_url} URL logo
{bon_code} Bonnummer (SF: SF+ordernummer op PDF; uniekheid in DB via order+ACM)
{checkcode} Controlecode (EVP random of SF = ACM; — als geen)
{bon_type} Technisch type (slug)
{bon_type_label} Leesbare naam bonsoort
{recipient_name} Bestelcontact (intern; niet op anonieme standaard-PDF)
{recipient_email} Bestelcontact e-mail (intern)
{name_fill_line} Invulregel voor naam op de papieren bon
{issued_date} Datum uitgifte
{order_date} Besteldatum
{valid_until} Geldig tot
{amount} Bedrag in euro
{payment_status} Betaalstatus
{payment_method} Hoe betaald
{notes} Opmerkingen
{uses_total} Aantal vluchten/credits (getal, bijv. 3)
{uses_remaining} Resterende credits (server)
{uses_label} / {vluchten} / {flights_text} Nederlandse tekst: 1 vlucht of n vluchten
{qr_code} QR-afbeelding om online te reserveren
{qr_payload} Tekst/URL achter QR (controle)

{vluchten} (aliases {uses_label}, {flights_text}): bij 1 credit → 1 vlucht, bij meer → 3 vluchten, enz.

{qr_code} is essentieel voor cadeaubonnen — klant scant en boekt datum.

(Screenshot volgt: tandembon template met QR)


Factuursoorten en bonsoorten

Naast standaard types kun je eigen soorten toevoegen:

  1. Tab Templates → sectie Factuursoorten / Bonsoorten.
  2. Nieuw: kies een korte code (slug), label (zichtbare naam) en template.
  3. Bij Nieuwe factuur of Nieuwe bon kiest de gebruiker het type — PDF volgt het gekoppelde template.

Voorbeeld: factuursoort Contributie met andere tekst dan Standaard; bonsoort Vechtdal cadeau vs een eigen bonsoort.


E-mail en templates

Zelfde club-placeholders ({club_name}, {club_logo}) gebruik je in Team → Instellingen → E-mail. Zie hoofdstuk 16.


Checklist vóór live gaan

  1. PDF-voorbeeld met echte clubgegevens (logo, IBAN).
  2. Testfactuur naar eigen e-mail.
  3. Tandembon: QR scannen met telefoon — opent reserverpagina?
  4. Penningmeester / tandem-verantwoordelijke laten accorderen.