📊 Financieel

Grootboek, dagboeken, boekjaren, openstaande posten, betalingen en BTW

Dubbel boekhouden: King Software gebruikt standaard dubbel boekhouden. Elke boeking bestaat uit een tabJournaalPost (kop) met bijbehorende tabJournaalRegel-records (debet/credit-regels). Elke journaalregel verwijst naar een dagboek (tabDagboek) en boekjaar (tabBoekjaar).
tabBoekjaar
Boekjaren – één record per fiscaal/boekhoudjaar
KingSystem
#KolomTypeNullableBeschrijving
1BjGIDintegerNOT NULL PKUnieke identifier van het boekjaar
2Codenchar(10)NOT NULLCode van het boekjaar (bijv. "2024")
3OmsBoekjaarnchar(40)NULLOmschrijving van het boekjaar
4BjBeginDatumdateNOT NULLBegindatum van het boekjaar
5BjEindDatumdateNOT NULLEinddatum van het boekjaar
6IndelingsmallintNOT NULLPeriodeindeling: 1=maanden, 2=kwartalen, 3=weken, 4=vrij
7BjIsGeblokkeerdsmallintNOT NULLBoekjaar geblokkeerd voor nieuwe boekingen (0=open, 1=gesloten)
8BjAfsluitingsmallintNOT NULLAfsluitingstatus:
0 = Niet
1 = Voorlopig
2 = Definitief
9BjAfsluitDgbGidintegerNULL FK→tabDagboekDagboek voor afsluitingsboekingen
10BjAfsluitNaarBjGidintegerNULL FK→tabBoekjaarVolgend boekjaar (bij afsluiting)
11BjAangemaaktDoornchar(40)NULLGebruiker die het boekjaar heeft aangemaakt
12BjLastModifiedtimestampNULLTijdstip van laatste wijziging
tabDagboek
Dagboeken – type/soort van financiële journaalposten
KingSystem
#KolomTypeNullableBeschrijving
1DgbGIDintegerNOT NULL PKUnieke identifier van het dagboek
2DgbCodenchar(10)NOT NULLDagboekcode (bijv. "VRK", "INK", "MEM", "KAS")
3OmsDagboeknchar(40)NULLOmschrijving van het dagboek
4DagboekSoortsmallintNULLSoort dagboek:
0 = Algemeen
1 = Verkoop/debiteuren
2 = Inkoop/crediteuren
3 = Kasboek
4 = Bankboek
5 = Beginbalans
5DgbTegenRksGIDintegerNOT NULL FK→tabRekeningSchemaStandaard tegenrekening voor dit dagboek
6DgbBetRksGIDintegerNULL FK→tabRekeningSchemaBankrekening gekoppeld aan dit dagboek
7AutoTegenBoekensmallintNULLAutomatisch tegenboeken: 0=Boeking niet maken, 1=Boeking maken inclusief bevestiging, 2=Boeking maken zonder bevestiging
8BtwBoekensmallintNULLBTW automatisch boeken in dit dagboek:
0 = Debiteuren/crediteuren
1 = Opbrengst/kosten
9DgbLastModifiedtimestampNULLTijdstip van laatste wijziging
tabJournaalPost
Journaalposten – koptabel voor financiële boekingen
KingSystem
#KolomTypeNullableBeschrijving
1JpGIDintegerNOT NULL PKUnieke identifier van de journaalpost
2JpNummerintegerNOT NULLVolgnummer van de journaalpost binnen het dagboek/boekjaar
3JpDgbGIDintegerNOT NULL FK→tabDagboekDagboek van de journaalpost
4JpBjGIDintegerNOT NULL FK→tabBoekjaarBoekjaar van de journaalpost
5JpBoekGangGIDintegerNOT NULL FK→tabBoekingsGangBoekingsgang (batch-identificatie)
6JpPerNrintegerNOT NULLPeriodenummer binnen het boekjaar
7BoekDatumdateNOT NULLBoekdatum van de journaalpost
8BoekstukNummernumeric(10)NOT NULLBoekstuknummer (factuur-, ontvangst- of betalingsnummer)
9JpDgbCodenchar(10)NOT NULLDagboekcode (gekopieerd voor snelheid)
10OmsJournaalPostnchar(40)NULLOmschrijving van de boeking
11JpAlInBeginbalanssmallintNULLPost is onderdeel van beginbalans (0=nee, 1=ja)
12JpIsInGebruiksmallintNULLPost momenteel in gebruik/vergrendeld (0=nee, 1=ja)
13OrigineelJpIDintegerNULL FK→tabJournaalPostVerwijst naar originele journaalpost (bij correctieboekingen)
14JpLastModifiedtimestampNULLTijdstip van laatste wijziging
tabJournaalRegel
Journaalregels – debet/credit regels per journaalpost
KingSystem
#KolomTypeNullableBeschrijving
1JrGIDintegerNOT NULL PKPrimaire sleutel
2JrJpGIDintegerNOT NULL FK→tabJournaalPostBijbehorende journaalpost
3JrRksGIDintegerNOT NULL FK→tabRekeningSchemaGrootboekrekening
4JrBjGidintegerNOT NULL FK→tabBoekjaarBoekjaar
5JrPerGidintegerNOT NULL FK→tabPeriodeBoekhoudperiode
6JrValNummerintegerNOT NULL FK→tabValutaValuta van het bedrag
7JrValCodenchar(3)NOT NULLISO-valutacode (bijv. "EUR")
8JrBoekdatumdateNOT NULLBoekdatum van deze journaalregel
9JrBoekStukNummernumeric(10)NOT NULLBoekstuknummer
10JrDgbCodenchar(10)NOT NULLDagboekcode
11JrValutaBedragnumeric(15)NOT NULLBedrag in valuta
12JrBasisBedragnumeric(15)NOT NULLBedrag in basisvaluta (EUR)
13IsCreditBoekingsmallintNOT NULLDebet of credit:
0 = Debet
1 = Credit
14OmsJournaalRegelnchar(40)NULLOmschrijving van de journaalregel
15JrRksInvoernchar(28)NOT NULLRekeningnummer bij invoer (denormalized)
16JrFactuurDatumdateNULLFactuurdatum (bij debiteuren/crediteuren-regels)
17JrVervalDatumdateNULLVervaldatum (voor openstaande posten)
18JrBetalingsKenmerknchar(24)NULLBetaalreferentie
19JrReferentienchar(40)NULLExterne referentie (bijv. klant-PO-nummer)
20JrOspGidintegerNULL FK→tabOpenstaandePostKoppeling naar openstaande post
21JrBetRglGidintegerNULL FK→tabBetalingRegelKoppeling naar betalingsregel
22JrOspGefiatteerdsmallintNOT NULLOpenstaande post gefiatteerd/goedgekeurd
23JrLastModifiedtimestampNULLTijdstip van laatste wijziging
tabOpenstaandePost
Openstaande debiteuren- en crediteurenposten
KingSystem

Elke onbetaalde verkoopfactuur en inkoopfactuur staat als openstaande post geregistreerd. Bij (deel)betaling worden de posten gekoppeld aan de betalingsregel en het openstaande saldo bijgewerkt.

KolomTypeNullableBeschrijving
OspGidintegerNOT NULL PKPrimaire sleutel
OspJrGidintegerNULL FK→tabJournaalRegelJournaalregel die de post heeft aangemaakt
OspNawGidintegerNULL FK→tabNawDebiteur of crediteur
OspBedragnumeric(15)NULLOrigineel factuurbedrag
OspSaldoBasisvalutanumeric(15)NULLHuidig openstaand saldo in basisvaluta
OspFactuurDatumdateNULLDatum van de factuur
OspVervalDatumdateNULLVervaldatum (betaaltermijn)
OspIsAfgeslotensmallintNULLPost is afgesloten/voldaan (0=open, 1=afgesloten)
OspLastModifiedtimestampNULLTijdstip van laatste wijziging
tabRekeningSchema
Grootboekrekeningen – het rekeningschema van de organisatie
KingSystem

Elke journaalregel boekt op een grootboekrekening uit tabRekeningSchema. De rekeningen zijn geordend in een rekeningschema met hoofd- en subgroepen.

KolomTypeBeschrijving
RksGidintegerPrimaire sleutel
RksInvoernchar(28)Rekeningnummer (zoals ingevoerd)
RksOmsnchar(40)Omschrijving van de rekening
RksSoortsmallintSoort rekening: 0=balansrekening, 1=resultaatrekening, 2=hulprekening, 3=debiteur, 4=crediteur
RksIsGeblokkeerdsmallintGeblokkeerd voor nieuwe boekingen (0=nee, 1=ja)
RksLastModifiedtimestampTijdstip van laatste wijziging
SQL-voorbeelden
Praktische query's voor de financiële module

Alle boekingen op een grootboekrekening in een periode

SELECT jp.BoekDatum, jp.JpDgbCode, jp.BoekstukNummer, jp.OmsJournaalPost, jr.JrRksInvoer, jr.JrValutaBedrag, jr.IsCreditBoeking, -- 0=debet, 1=credit jr.OmsJournaalRegel FROM KingSystem.tabJournaalPost jp JOIN KingSystem.tabJournaalRegel jr ON jr.JrJpGID = jp.JpGID WHERE jr.JrRksInvoer = '8000' -- rekeningnummer AND jp.BoekDatum BETWEEN '2024-01-01' AND '2024-12-31' ORDER BY jp.BoekDatum, jp.JpNummer

Openstaande debiteuren (onbetaalde verkoopfacturen)

SELECT n.NawOnsDebiteurNummer, a.AdrNaam1, o.OspFactuurDatum, o.OspVervalDatum, o.OspSaldoBasisvaluta, DATEDIFF(DAY, o.OspVervalDatum, CURRENT_DATE) AS DagenOverschrijding FROM KingSystem.tabOpenstaandePost o JOIN KingSystem.tabNaw n ON n.NawGid = o.OspNawGid JOIN KingSystem.tabAdres a ON a.AdrNawGid = n.NawGid WHERE o.OspIsAfgesloten = 0 AND o.OspSaldoBasisvaluta > 0 ORDER BY o.OspVervalDatum

Proefbalans per grootboekrekening (huidig boekjaar)

SELECT jr.JrRksInvoer -- rekeningnr, SUM(CASE WHEN jr.IsCreditBoeking = 0 THEN jr.JrBasisBedrag ELSE 0 END) AS Debet, SUM(CASE WHEN jr.IsCreditBoeking = 1 THEN jr.JrBasisBedrag ELSE 0 END) AS Credit, SUM(CASE WHEN jr.IsCreditBoeking = 0 THEN jr.JrBasisBedrag ELSE -jr.JrBasisBedrag END) AS Saldo FROM KingSystem.tabJournaalRegel jr JOIN KingSystem.tabBoekjaar bj ON bj.BjGID = jr.JrBjGid WHERE bj.Code = '2024' GROUP BY jr.JrRksInvoer ORDER BY jr.JrRksInvoer