# Facturix — Functioneel Overzicht > Compleet overzicht van de functionaliteit, opties en onderdelen van het > Facturix-facturatiepakket. Bedoeld als naslag en als basis voor presentaties. > > **Versie:** 0.2.0 · **Laatste update:** 2026-09-11 --- ## 1. Wat is Facturix Facturix is een **modulair Nederlands facturatiepakket**, geschreven in Rust, dat naast Ledgerix staat maar volledig zelfstandig werkt. Het maakt, verstuurt en volgt verkoopfacturen; het **boekt niet** — de boekhouding hoort bij de boekhoud-koppeling (Ledgerix). | Kenmerk | Invulling | |---------|-----------| | **Doelgroep** | ZZP'ers, MKB, accountants(kantoren) | | **Distributie** | On-premises, single-binary (Windows `.exe` met installer) | | **Database** | SQLite, embedded — geen aparte database-installatie | | **Interface** | Webinterface (vanilla JS, geen framework) + volledige REST API | | **Talen** | NL (primair), EN, DE, FR | | **Geschikt voor** | Producten, diensten én combinaties op één factuur | | **Koppeling** | Standalone, of gekoppeld aan Ledgerix/webshops via `trix-connect` | | **Licentie** | Proprietair, commerciële licentie vereist | ### Positionering Facturix is bewust **gescheiden van de boekhouding**. Een ondernemer die alleen wil factureren gebruikt Facturix los; wie ook boekhoudt koppelt het aan Ledgerix, waarna verkoopfacturen automatisch als boeking + open post in de administratie landen. Dezelfde installatie draait meerdere administraties (multi-company), en de interface past zich aan op bedrijfsmodus en UI-complexiteit (zzp eenvoudig, accountant volledig) — net als Ledgerix. ### Drie gebruiksvormen | Vorm | Betekenis | |------|-----------| | **Standalone** | Facturix bezit klanten, catalogus en facturen zelf; betaalstatus via handmatig afvinken + bankimport. Geen ander pakket nodig. | | **Gekoppeld aan Ledgerix** | Facturix blijft de factuur-eigenaar, maar boekt elke factuur door naar Ledgerix en kan de betaalstatus uit Ledgerix teruglezen. Tarieven worden uit Ledgerix gesynct. | | **Gekoppeld aan webshop/kassa** | Een externe bron (webshop, kassa) levert orders/verkopen die Facturix tot facturen verwerkt, via kant-en-klare connectoren of de inbound API. Zie §8. | ### Licentiemodel Commercieel product, gespiegeld aan Ledgerix: **offline-first**, 100% lokaal geverifieerd met een in de binary ingebakken sleutel, geen internetverbinding vereist. | Tier | Gebruikers / administraties | Inhoud | |------|------------------------------|--------| | **ZZP** | 1 / 1 | Facturen, offertes, creditnota's, PDF + UBL | | **MKB** | 5 / 3 | + herhaalfacturen, aanmaningen, betaallinks, bankimport, koppelingen | | **Accountant** | onbeperkt* | + multi-administratie-beheer, bulkverzending | \* Binnen de licentievoorwaarden. --- ## 2. Hoofdfuncties ### 2.1 Klanten / relaties - Klantgegevens: naam, contactpersoon, adres (vestiging + post), e-mail, telefoon, KvK, btw-nummer, IBAN, **taal** (bepaalt de taal van factuur-PDF en e-mail). - Zoeken, filteren op openstaande facturen. - Bij koppeling: een gedeelde relatie-identiteit met Ledgerix/Referix (relation_id), zodat klanten niet dubbel worden ingevoerd. ### 2.2 Catalogus (producten, diensten, combinaties) - **Catalogus-items** met omschrijving, eenheid (stuk/uur/…), prijs (excl. of incl. btw) en een btw-**aanduiding** (hoog/laag/0%/vrijgesteld/verlegd). - Een item kan een **product** zijn (evt. later voorraad-gekoppeld) of een **dienst** (uren/vast tarief). Op één factuur mogen product- en dienstregels vrij gecombineerd worden; ook vrije ad-hoc regels zonder catalogus-item. - **Staffelprijzen** per item (staffel-/bulkkorting): een lagere stukprijs vanaf een aantal, die de editor automatisch toepast. - **Bundels/combinaties**: een item met onderdelen en een pakketprijs; in de editor een pakketregel met de onderdelen eronder. - **Verplichte kosten/bijdragen** (verwijderingsbijdrage, statiegeld, verzendkosten, ...): een beheerbare lijst (vast bedrag of %, eigen btw, per land). Koppel ze aan een product (komen automatisch als aparte regel) of voeg ze als toeslag op factuurniveau toe. Volledig aanpasbaar. - **Importeren/exporteren**: de catalogus is als CSV te importeren (NL/EN-kolommen, `,`/`;`-scheiding, NL/EN-bedragen; upsert op omschrijving) en te exporteren. Een webshop/PIM kan artikelen ook via de API pushen (§8). ### 2.3 Facturen - Factuur met kop (klant, datum, vervaldatum, valuta, referentie) en regels. - **Doorlopende, gapless nummering** per administratie (wettelijk vereist). - Statussen: concept → verstuurd → (deels) betaald → voldaan; en vervallen. - Een verstuurde factuur is **onveranderlijk**; corrigeren via creditnota. - Factuur-PDF (huisstijl, logo, klanttaal) en per-regel **UBL/NLCIUS**-export. - Verzenden per e-mail; UBL als bijlage. Optioneel de **algemene voorwaarden** als PDF-bijlage meesturen. - **Korting per regel**, **korting op factuurniveau** (percentage, proportioneel over elk btw-tarief) en een **standaard klantkorting** per relatie die wordt voorgevuld. - **Termijn-/deelfacturen**: een percentage van een offerte/order/factuur apart factureren (een regel per btw-tarief). - **Verzamelfactuur**: meerdere documenten van dezelfde klant tot een factuur samenvoegen. - Vijf PDF-layouts (Modern, Klassiek, Compact, Ruim, Strak) + accentkleur/logo; voor volledig maatwerk de externe SCML-engine. ### 2.4 Offertes / prijsopgaven - Offerte maken met dezelfde regelstructuur als een factuur. - Statussen: concept → verstuurd → geaccepteerd/afgewezen. - **Eén-klik omzetten** van een geaccepteerde offerte naar een factuur. - **Orders (opdrachtbevestiging)** als optionele vierde documentsoort tussen offerte en factuur, met een eigen gapless nummerreeks (ORD-). De keten is offerte → order → factuur (order → factuur bij verzending). Orders tellen niet als omzet. Offertes en orders zijn per administratie aan/uit te zetten, zodat een zzp'er het pakket tot alleen facturen kan terugbrengen. ### 2.5 Creditnota's - Creditnota op een bestaande factuur (geheel of per regel), met eigen doorlopende nummering en negatieve bedragen. - Vormt samen met de originele factuur de correctie; de originele blijft intact. ### 2.6 Herhaalfacturen / abonnementen - Sjabloon + schema (wekelijks/maandelijks/per kwartaal/jaarlijks) genereert automatisch facturen. - Per abonnement: startdatum, einddatum/opzegging, eerstvolgende run. - Genereert concepten of verstuurt direct (instelbaar). ### 2.7 Automatische aanmaningen (betalingsherinneringen) - Herinneringsschema per administratie (bv. +7/+14/+30 dagen na vervaldatum), met oplopende toon. - Verstuurt per e-mail in de klanttaal; logt wat wanneer verstuurd is. ### 2.8 Online betaallinks & gehoste documentpagina - Betaalknop/-link via **Mollie** (incl. iDEAL) of **Stripe** die een echte betaling voor het openstaande bedrag aanmaakt. - De provider koppelt terug wanneer de link voldaan is; de factuur springt dan op betaald (resterende bank-betalingen worden handmatig afgevinkt). - **Gehoste factuur-/offertepagina**: een onraadbare deel-link waarmee de klant zonder login het document + PDF bekijkt, online een offerte accepteert en een factuur betaalt. - **SEPA-incasso**: pain.008-incassobestand voor openstaande facturen van klanten met een machtiging. ### 2.9 Betaalregistratie - **Handmatig afvinken** van (deel)betalingen. - **Bankimport** (CAMT.053, MT940, CSV) met een matcher die betalingen koppelt aan facturen op factuurnummer/bedrag/relatie — standalone, vergelijkbaar met Ledgerix' afletter-aanpak. - Gekoppeld aan Ledgerix: betaalstatus is ook uit Ledgerix' open posten te lezen. ### 2.10 E-factuur & btw-compliance - Per-regel **UBL 2.1 / NLCIUS**; verzenden via een **Peppol**-Access Point. - **VIES-controle** van het btw-nummer van een relatie. - Wettelijke vermeldingen: **btw verlegd** en de **KOR**-vermelding (op PDF en in de UBL, in de klanttaal). - **ICP-opgaaf** (verlegde EU-leveringen per btw-nummer) en **OSS** (bestemmingsland-btw voor B2C, met OSS-aangifte-rapport). ### 2.11 Export & rapportage - Factuur- en offerte-PDF; per-regel UBL 2.1 / NLCIUS. - Overzicht openstaande posten, omzet per periode/klant, btw-overzicht, ICP en OSS (presentatie, geen aangifte — dat is boekhouding). - CSV-export van facturen/klanten. ### 2.12 Privacy (AVG) & audit - **Inzage**: alle gegevens over een relatie als JSON exporteren. - **Verwijdering**: de persoonsgegevens van een relatie anonimiseren; facturen blijven bewaard (fiscale bewaarplicht). - **Audit-log** in de beheerinstellingen (finaliseren, betalingen, AVG-acties). ### 2.13 Algemeen - **Multi-company**, meertalig (nl/en/de/fr), dark mode, PWA, responsive. - **Single-user kiosk-modus** voor de zzp'er zonder gebruikersbeheer. --- ## 3. Snelle invoer & UX-principes Facturix moet een **vriendelijk** pakket zijn: een factuur maken kost seconden, niet minuten. De invoer draait om drie dingen — één slim scherm, minder typen door lookups en defaults, en nooit werk kwijtraken. Items met *(gepland)* zijn ontwerpdoelen die nog niet zijn gebouwd. ### Eén slim factuurscherm - **Toetsenbord-first.** Enter voegt een regel toe, Tab springt tussen velden, Ctrl+S slaat een concept op, Ctrl+Enter verstuurt. Een geoefende gebruiker maakt een factuur zonder de muis aan te raken. - **Tekstregels** om te groeperen/toe te lichten, naast gewone prijsregels. - **Live PDF-preview** naast het formulier *(gepland)*; nu is er een live totalen-berekening en een PDF-knop. - **Regels herordenen (slepen)/dupliceren** *(gepland)*. ### Minder typen - **Type-ahead klant** terwijl je typt; een onbekende klant inline aanmaken. *(KvK-lookup-autofill gepland.)* - **Type-ahead catalogus** op de regels: kies een item en omschrijving, prijs, eenheid en btw-aanduiding staan er al. - **Slimme defaults**: incl./excl.-btw per item, klanttaal, datum vandaag en het volgende nummer worden ingevuld. Verdere per-klant-defaults *(gepland)*. - **Kopiëren/dupliceren** van een factuur of er een abonnement van maken *(gepland)*. - **Plakken uit Excel/CSV** voor factuurregels *(gepland)*; de catalogus ondersteunt wél CSV-import (§2.2). ### Vriendelijke details - **Onboarding in ~2 minuten**: bedrijfsgegevens + logo + huisstijlkleur, en meteen een eerste factuur. - **Duidelijke gekleurde statusbadges** (concept / verstuurd / deels betaald / voldaan / vervallen). - **Foutpreventie boven foutmelding**: waarschuwen bij verlegd zonder btw-nummer, dubbele nummers onmogelijk, vervaldatum automatisch. - **Één-klik** betaallink en "markeer betaald"; automatische, vriendelijk geformuleerde en aanpasbare herinneringen. - Zelfde look & feel als Ledgerix: dark mode, PWA, mobiel bruikbaar, meertalig. --- ## 4. Factuurtypen (één regelmodel) Geen aparte schermen per factuursoort, maar **één regelstructuur** die breed genoeg is. De gebruiker leert één scherm en dekt er elk type mee: | Type | Hoe | |------|-----| | Product / dienst / combinatie | Regeltype product (aantal × prijs) of dienst (uren × tarief / vast bedrag), vrij te mengen op één factuur | | Kortingen | Per regel (% of bedrag) én een factuurkorting | | Btw-varianten | Hoog / laag / 0% / vrijgesteld / **verlegd** (reverse charge, binnen/buiten EU) / **KOR** (geen btw) | | Consument vs zakelijk | Invoer incl. óf excl. btw, per klant instelbaar | | Termijn-/deelfacturen | Aanbetaling/voorschot, met verrekening op de eindfactuur | | Verzamelfactuur | Meerdere leveringen/periodes op één factuur bundelen | | Abonnement / herhaal | Sjabloon + schema (zie §2.6) | | Creditnota | Correctie op een factuur, per regel of geheel (zie §2.5) | | Order / opdrachtbevestiging | Vierde documentsoort tussen offerte en factuur; offerte → order → factuur (zie §2.4), per administratie aan/uit | | Vreemde valuta | Factuurvaluta per factuur | | Tekstregels | Tekst-/kopregels (zonder bedrag) om regels te groeperen en toe te lichten; tellen niet mee in de totalen of de UBL. Subtotaalregels *(gepland)* | | Referenties | PO-/order-/projectnummer per factuur | De btw blijft altijd een **aanduiding** per regel; de mapping naar codes en rekeningen doet de boekhoud-connector, niet Facturix. --- ## 5. Koppelingen | Koppeling | Richting | Wat | |-----------|----------|-----| | **Ledgerix** (boekhouding) | uit | Verstuurde factuur → `POST /sales-invoices/book`: Ledgerix maakt er de VERKOOP-boeking + open post van. Facturix levert een boekhoud-neutrale factuur (btw-aanduiding, geen rekeningen). | | **Ledgerix** | in | Betaalstatus teruglezen; btw-tarieven synchroniseren (`VatRateSource`). | | **Discovery** | — | Bij installatie schrijven beide een manifest in `ProgramData\Trix`; Facturix ziet een lokale Ledgerix en biedt aan te koppelen. Ook bewust koppelen op afstand (URL + sleutel). | | **Betaalproviders** | in/uit | Mollie/Stripe: betaallink uit; betaalde payments matchen aan facturen (connector, in). Zie §8. | | **Webshop** | in | WooCommerce/Shopify: orders → facturen, via kant-en-klare connectoren of de inbound API. Zie §8. | | **Kassa/POS** | in | Lightspeed (beta): verkopen → betaalde bonfacturen; of dagstaat via de inbound API. Zie §8. | | **Eigen systeem (API)** | in | API-sleutel + `/integration/*`: klant/verkoop/artikel pushen, idempotent. Zie §8. | | **Webhooks** | uit | HMAC-ondertekende events bij finaliseren/betaald naar een eigen URL. Zie §8. | | **Peppol** | uit | *(gepland)* netwerkverzending via een access-point-connector. | Alle koppelingen lopen via het gedeelde **`trix-connect`**-patroon en zijn optioneel en runtime-schakelbaar. --- ## 6. Wat Facturix NIET doet - **Geen boekhouding.** Geen grootboek, dagboeken, btw-aangifte (OB/ICP), jaarrekening of balans. Dat is Ledgerix. Facturix kent geen grootboekrekeningen of btw-codes; het stuurt een btw-aanduiding en laat de boekhoud-connector de mapping doen. - **Geen Peppol-netwerkverzending in v0.1.** v0.1 genereert per-regel UBL/NLCIUS-bestanden (download/e-mail); netwerkverzending komt later. - **Geen inkoop/crediteuren.** Facturix gaat over uitgaande facturen (debiteuren), niet over inkoopfacturen. - **Geen hosted SaaS.** Klanten draaien zelf (Windows-installer of Docker). --- ## 7. Verhouding tot Ledgerix | | Ledgerix | Facturix | |---|----------|----------| | Kerntaak | Boekhouden | Factureren | | Uitgaande facturen | Aggregaat-UBL uit een boeking | Volwaardig: opstellen, per-regel UBL, versturen, opvolgen | | Btw | Codes + rekeningen + aangifte | Alleen aanduiding + presentatie | | Betaalstatus | Open posten + bankafletteren | Afvinken + bankimport (of uit Ledgerix) | | Samen | Facturix boekt door naar Ledgerix; Ledgerix doet de administratie | Samen dekken ze de keten offerte → factuur → verzending → betaling → boeking, terwijl elk pakket los bruikbaar blijft. --- ## 8. Integraties & dashboard ### Kant-en-klare connectoren (Integraties-scherm) - Een catalogus per categorie (webshop, kassa, betalen, boekhouden). Kies een integratie, vul de inloggegevens in (versleuteld opgeslagen), en Facturix synchroniseert op verzoek of periodiek (scheduler). Per koppeling: testen, synchroniseren, bewerken, verwijderen en een **afleverlog** per sync-run. - Beschikbaar: **WooCommerce** en **Shopify** (webshop-orders → facturen, met btw per regel), **Lightspeed** (kassa → betaalde bonfacturen, beta), **Mollie** en **Stripe** (betalingen matchen aan facturen op factuurnummer). Nieuwe connectoren haken in op hetzelfde raamwerk (catalogus-entry + één sync-functie). ### Eigen koppeling via de API (inbound) - **API-sleutels** per koppeling (Bearer, versleuteld, intrekbaar), beheerd in Instellingen. - `/api/v1/integration/*`: klant opzoeken-of-aanmaken, verkoopdocument (factuur/order) aanmaken met finalize/paid/email, artikelen upserten en status opvragen. Alles **idempotent** op het externe kenmerk, zodat herhaalde webhooks of resends niets dubbel aanmaken. Webshop-flow (order → factuur bij verzending) en kassa-dagstaat (Z-afsluiting) zitten hierin. - Details en voorbeelden: [docs/integraties.md](integraties.md). ### Uitgaande webhooks - Facturix POST't een met **HMAC-SHA256** ondertekend event (header `X-Facturix-Signature`) bij `invoice.finalized` en `invoice.paid` naar een ingestelde URL, met een test-ping in Instellingen. ### Samenstelbaar dashboard - Het dashboard is een raster van widgets dat de gebruiker zelf samenstelt: widgets toevoegen/verwijderen en met **slepen** ordenen (bewaard per browser). - Widgets: KPI's (openstaand, achterstallig, omzet jaar/maand, concepten), omzet met **instelbare periode** (week/maand/kwartaal/jaar), **liquiditeitsprognose**, **top klanten per periode**, openstaande posten, btw-overzicht, recente facturen, koppelingen-status en snelkoppelingen.