{{ user.name }}
{{ p.name }}
€{{ p.box_price.toFixed(2) }} / doos ({{ p.m2_per_box }} m²)
€{{ p.price.toFixed(2) }}
−€{{ productDiscountAmount(p).toFixed(2) }} korting
{{ p.stock_quantity > 0 ? 'Voorraad: ' + p.stock_quantity : 'Niet op voorraad' }}
Winkelmandje
{{ line.product_name }}
{{ line.m2 }} m² besteld → {{ line.quantity }} doos ({{ (line.quantity * line.m2_per_box).toFixed(2) }} m² dekking)
{{ line.quantity }} doos ({{ (line.quantity * line.m2_per_box).toFixed(2) }} m²)
−€{{ lineDiscount(line).perUnit.toFixed(2) }}/stuk korting (−€{{ lineDiscount(line).total.toFixed(2) }} totaal)
€{{ (line.unit_price * line.quantity).toFixed(2) }}
Nog geen producten toegevoegd.
Subtotaal€{{ cartTotals.subtotal.toFixed(2) }}
Korting-€{{ cartTotals.discount.toFixed(2) }}
Totaal€{{ cartTotals.total.toFixed(2) }}

Wisselgeld: €{{ (checkout.amountReceived - cartTotals.total).toFixed(2) }}
{{ checkout.error }}
{{ checkout.error }}
Laat de klant deze QR scannen met de bank-app... wordt automatisch gecontroleerd.
Betaald! Bon #{{ checkout.saleId }}
Betaling mislukt of geannuleerd.
Bon #{{ lastReceipt.id }} afgerond — totaal €{{ lastReceipt.total.toFixed(2) }} (wisselgeld €{{ lastReceipt.change_given.toFixed(2) }}).
{{ cart.items.length }} item(s) €{{ cartTotals.total.toFixed(2) }} Bekijk mandje
NaamCategoriePrijsTypeActief
{{ p.name }} {{ categoryName(p.category_id) }} €{{ p.box_price.toFixed(2) }}/doos, {{ p.m2_per_box }} m²/doos€{{ p.price.toFixed(2) }} {{ p.is_floor ? 'Vloer' : 'Normaal' }} {{ p.active ? 'Ja' : 'Nee' }}
{{ productForm.id ? 'Product bewerken' : 'Nieuw product' }}
€
{{ productError }}
Zet "Voorraad bijhouden" aan om een onbeperkt product voorraad te laten krijgen. Wijzigingen worden automatisch opgeslagen.
ProductCategorieVoorraad bijhoudenOp voorraadVoorraad toevoegenGereserveerd (offertes)Beschikbaar
{{ p.name }} {{ p.category_name || '—' }} Onbeperkt
{{ p.track_stock ? p.reserved : '—' }} {{ p.available }} —
Geen producten gevonden.
NaamVolgordeActief
{{ c.name }} {{ c.sort_order }} {{ c.active ? 'Ja' : 'Nee' }}
{{ categoryForm.id ? 'Categorie bewerken' : 'Nieuwe categorie' }}
{{ categoryError }}
NaamActief
{{ g.name }} {{ g.active ? 'Ja' : 'Nee' }}
{{ discountForm.id ? 'Kortingsgroep bewerken' : 'Nieuwe kortingsgroep' }}
{{ discountError }}
NaamE-mailRolActief
{{ u.name }} {{ u.email }} {{ u.role }} {{ u.active ? 'Ja' : 'Nee' }}
{{ userForm.id ? 'Medewerker bewerken' : 'Nieuwe medewerker' }}
{{ userError }}
{{ salesTotals.count }} bon(nen) in dit overzicht — waarvan {{ salesTotals.paidCount }} gelukt, totaal €{{ salesTotals.paidTotal.toFixed(2) }}
{{ backfillMessage }}
BonDatumKassierBedragBetaalmethodeStatusFactuurnr.Boekhouden
#{{ s.id }} {{ new Date(s.created_at).toLocaleString('nl-NL') }} {{ s.cashier_name }} €{{ s.total.toFixed(2) }} {{ s.payment_method === 'cash' ? 'Contant' : 'iDEAL' }} Gelukt Mislukt In behandeling {{ s.invoice_number || '—' }} Verstuurd Test Mislukt ↻ —
Aantal bonnen
{{ stats.summary.sale_count }}
Verkochte artikelen
{{ stats.summary.items_sold }}
Totale omzet
€{{ stats.summary.revenue.toFixed(2) }}
Bonnen met korting
{{ stats.summary.discounted_sale_count }}
Totaal gegeven korting
€{{ stats.summary.discount_total.toFixed(2) }}
Per categorie
CategorieAantal verkochtOmzet
{{ c.category_name }} {{ c.quantity_sold }} €{{ c.revenue.toFixed(2) }}
Geen data in deze periode.
Per medewerker
MedewerkerAantal bonnenOmzet
{{ e.cashier_name }} {{ e.sale_count }} €{{ e.revenue.toFixed(2) }}
Geen data in deze periode.
Per kortingsgroep
KortingsgroepAantal verkocht met kortingKorting gegeven
{{ d.group_name }} {{ d.quantity_sold }} €{{ d.discount_given.toFixed(2) }}
Geen kortingen toegepast in deze periode.
Offertenr.DatumKassierKlantBedragStatusGeldig tot
{{ q.quote_number }} {{ new Date(q.created_at).toLocaleString('nl-NL') }} {{ q.cashier_name }} {{ q.customer_name || '—' }} €{{ q.total.toFixed(2) }} Betaald Verlopen Geannuleerd Open {{ q.valid_until ? new Date(q.valid_until).toLocaleDateString('nl-NL') : '—' }}
Nog geen offertes aangemaakt.
Bedrijfsgegevens (voor bon/factuur)
Mollie (iDEAL-betalingen)
Aanmaken via my.mollie.com → Ontwikkelaars → API-keys.
Factuurnummering
Voorbeeld: {{ settingsForm.invoice_prefix }}{{ String(settingsForm.next_invoice_number).padStart(6,'0') }}
Offertes
Voorbeeld: {{ settingsForm.quote_prefix }}{{ String(settingsForm.next_quote_number).padStart(6,'0') }}
e-Boekhouden.nl

Elke betaalde bon wordt automatisch als omzetontvangst geboekt. Laat het API-token leeg om de koppeling uit te schakelen.

Sla eerst op voordat je de verbinding test.
{{ eboekhoudenTestResult.message }}
Bij een Mollie-testkey (begint met "test_") wordt sowieso nooit doorgeboekt, ongeacht deze schakelaar.
Moet een bank-/kasrekening zijn (categorie "Liquid Assets" / FIN, bv. "Kas").
Moet een bank-/kasrekening zijn (categorie "Liquid Assets" / FIN, bv. "ING rek nieuw").
Moet een omzet-/W&V-rekening zijn (categorie "Profit and loss" / VW, bv. "Omzet hoog").
{{ eboekhoudenLedgersError }}
Klik op "Gebruik als..." om het ID direct in het juiste veld te zetten.
IDCodeOmschrijvingCategorie
{{ l.id }} {{ l.code }} {{ l.description }} {{ l.category }}
E-mail (SMTP)

Voor het versturen van de factuur per e-mail vanaf de bedankt-pagina. Laat de servernaam leeg om terug te vallen op PHP's ingebouwde mail()-functie (werkt niet op elke hosting).

Sla eerst op voordat je test.
{{ smtpTestResult.message }}
{{ settingsError }}
Instellingen opgeslagen.