Terug naar Blog
Technology6 min leestijd

Hoe een Factuur Wordt Opgeslagen: Eén Rij per Factuurregel, Plus een Volledige Kopie

IN
Invoice Generator TeamAuteur
28 oktober 2026Gepubliceerd
Ook beschikbaar in:EnglishDeutsch

Een factuur ziet eruit als één document, dus je zou verwachten dat het één rij in een database is. Dat is niet zo. Elke opgeslagen factuur bestaat uit meerdere rijen die een ID delen, en elke rij bevat ook een volledige kopie van de hele factuur. Dat ontwerp verklaart hoe facturen doorzoekbaar zijn, hoe wijzigingen worden opgeslagen en waarom het ID van een factuur nooit verandert, ook al worden de rijen bij elke keer opslaan opnieuw geschreven.

Eén Rij per Factuurregel

Als je een factuur opslaat, schrijft de server één rij per factuurregel. Elke rij bevat de omschrijving, het aantal en het tarief van die regel, samen met de velden die elke factuur heeft: factuurnummer, aan wie en van wie, totaal, valuta, factuur- en vervaldatum, betalingsvoorwaarden, notities, voorwaarden en status. Een factuur met vijf regels wordt dus vijf rijen. Een factuur zonder regels krijgt toch één rij, met lege kolommen voor de factuurregel.

Door regels in rijen op te splitsen, zijn ze makkelijk op te vragen. Rapporten en zoekopdrachten kunnen met afzonderlijke regels en aantallen werken zonder het hele document te openen.

Het Groeps-ID Houdt de Rijen Bij Elkaar

Alle rijen van een factuur delen een factuurgroeps-ID, dat één keer wordt aangemaakt als de factuur voor het eerst wordt opgeslagen. Dat groeps-ID is de eigenlijke identiteit van de factuur. Deellinks, betalingen, opmerkingen, het bijhouden van weergaven, de auditgeschiedenis en terugkerende planningen verwijzen allemaal naar het groeps-ID, nooit naar een afzonderlijke rij. Een factuur laden betekent: alle rijen met dat groeps-ID in je werkruimte ophalen en samenvoegen.

Elke Rij Bevat Ook een Volledige Kopie

Losse kolommen kunnen niet alles op een factuur bevatten: kortingen, btw-instellingen, eigen velden, betalingsschema's, ontwerpkeuzes zoals lettertype en accentkleur, en geregistreerde betalingen. Daarom bevat elke rij ook een volledige JSON-kopie van de complete factuur. Als de app een factuur toont, leest hij die kopie. De losse kolommen zijn vooral bedoeld om te zoeken, en de kopie zet het document weer precies in elkaar zoals je het hebt opgeslagen.

Facturen die zijn opgeslagen voordat die volledige kopie bestond, worden nog steeds ondersteund. Heeft een rij geen kopie, dan bouwt de app de factuur opnieuw op uit de losse kolommen en berekent het bedrag van elke regel als aantal maal tarief.

Wijzigingen Vervangen Alle Rijen in Eén Transactie

Bij het opslaan van een wijziging worden rijen niet ter plekke aangepast. Binnen één databasetransactie verwijdert de server alle rijen met dat groeps-ID en voegt een nieuwe set in op basis van de bewerkte factuur. Zo wordt elke soort wijziging op dezelfde manier verwerkt: een toegevoegde regel, een verwijderde regel of een andere volgorde levert gewoon een nieuwe set rijen op.

Omdat dit in een transactie gebeurt, ziet niemand ooit een half opgeslagen factuur. Andere verzoeken zien óf de oude rijen óf de nieuwe. De auditvermelding voor de wijziging en een eventuele aanpassing van de terugkerende planning worden in dezelfde transactie geschreven, dus de geschiedenis meldt nooit een wijziging die niet heeft plaatsgevonden.

Het groeps-ID verandert nooit, dus alles wat naar de factuur verwijst blijft werken als de rijen worden vervangen. Betalingen, opmerkingen en deellinks blijven bij elke wijziging gekoppeld.

Hoe de Valuta Wordt Vastgelegd

Elke rij slaat de valuta op als code en symbool samen, zoals EUR(€). Die waarde komt óf van de valutacode en het symbool op de factuur, óf uit de ingebouwde lijst met landen en hun valuta, op basis van de gekozen valuta. De volledige kopie bewaart code en symbool daarnaast als aparte velden. Doordat de valuta op elke factuur wordt vastgelegd, en niet alleen als instelling van de werkruimte, kan één werkruimte facturen in verschillende valuta bevatten en kunnen rapporten per valuta aparte totalen tonen in plaats van alles bij elkaar op te tellen.

Waarom Dit Voor Jou Belangrijk Is

Meestal merk je niets van dit ontwerp, maar het zit achter een paar zekerheden waar je op vertrouwt. Opslaan is alles of niets, dus een factuur kan niet half worden opgeslagen. Alles wat aan een factuur gekoppeld is, blijft gekoppeld als je hem bewerkt. En de factuur die je opnieuw opent, wordt opgebouwd uit de volledige kopie die je hebt opgeslagen, zonder dat er iets verloren gaat.

Gerelateerde Artikelen

Technology5 min leestijd

Waarom Inlogpogingen Worden Beperkt

Inloggen, registreren, tweestapscontroles en het opnieuw versturen van verificatiemails delen een budget van 10 pogingen per uur per IP-adres. Dat is veel strenger dan de limiet voor gewone verzoeken in de app. Zo zit het met die verschillende getallen.

IN
Invoice Generator Team16 oktober 2026
Technology6 min leestijd

Hoe Registratie en E-mailverificatie Precies Werken

Bij het aanmaken van een account wordt in dezelfde databasetransactie een persoonlijke werkruimte opgezet. De verificatielink is 24 uur geldig, en wie op een verlopen link klikt, krijgt automatisch een nieuwe toegestuurd.

IN
Invoice Generator Team14 oktober 2026
Technology6 min leestijd

Hoe Je Logo Wordt Opgeslagen Wanneer Je Het Uploadt

Een logo dat als externe URL wordt geplakt, wordt server-side opgehaald, gecontroleerd tegen een limiet van 2MB en een echt afbeeldings-contenttype, en omgezet in een zelfstandige data-URL voordat het wordt opgeslagen.

IN
Invoice Generator Team4 oktober 2026
Technology6 min leestijd

Waarom Je Na Een Uur Wordt Uitgelogd

Elk sessietoken verloopt na precies één uur, en er is geen vernieuwingsmechanisme op de achtergrond dat het stilletjes verlengt — plus de ene bewuste uitzondering voor tweestapsverificatie-logins.

IN
Invoice Generator Team28 september 2026
Technology6 min leestijd

Hoe Klantenportaal-Links Verlopen

Een portaallink staat standaard op 30 dagen, controleert de vervaldatum bij elk verzoek in plaats van vooraf, en koppelt de documenten van een klant via een exacte vergelijking — niet via een database-sleutel.

IN
Invoice Generator Team26 september 2026
Technology6 min leestijd

Hoe het Bekijken van Facturen Precies Wordt Bijgehouden

Twee aparte mechanismen registreren wanneer een klant je factuur opent — een lopende teller en een gedetailleerd gebeurtenissenlog — en een met wachtwoord beveiligde deellink telt pas als bekeken zodra het wachtwoord is ingevoerd.

IN
Invoice Generator Team24 september 2026

Facturatie Onder de Knie?

Zet je kennis in de praktijk en maak vandaag nog je eerste professionele factuur.

Maak Nu Je Factuur
Hoe een Factuur Wordt Opgeslagen: Eén Rij per Factuurregel, Plus een Volledige Kopie | Invoice Generator