🛒 Verkoop

Verkooporders, facturen, offertes en leveringsinformatie

Verkoopproces: De verkoopstroom is: Offerte (tabOfferteKop/Regel) → Order (tabOrderKop/Regel) → Factuur (tabFactuurKop/Regel). Orders worden via de factuurbatch (tabFactuurBatch) omgezet naar facturen. Factuurregels verwijzen via frOrrGid terug naar de orderregel.
tabOrderKop
Koptabel verkooporders – één record per verkooporder
KingSystem
#KolomTypeNullableBeschrijving
1OrkGidintegerNOT NULL PKUnieke identifier van de order
2OrkNummernumeric(10)NOT NULLOrdernummer (zichtbaar voor gebruiker)
3OrkSoortsmallintNOT NULLOrdersoort: 0=Verkooporder, 1=Projectorder
4OrkDatumdateNOT NULLOrderdatum
5OrkLeverdatumdateNULLGewenste leverdatum
6OrkNawGidintegerNOT NULL FK→tabNawDebiteur van de order
7OrkNawGidOmzetintegerNULL FK→tabNawDebiteur waaraan omzet wordt toegerekend (kan afwijken)
8OrkNawGidPrijzenintegerNULL FK→tabNawDebiteur waarvan de prijzen worden overgenomen
9OrkFactuurNawGidintegerNULL FK→tabNawFactuurdebiteur (indien afwijkend van orderdebiteur)
10OrkRelGidintegerNULL FK→tabRelatieContactpersoon die de order heeft geplaatst
11OrkAdrGidintegerNULL FK→tabAdresLeveradres
12OrkAdrGidEindAdresintegerNULL FK→tabAdresEindbestemming-adres (bij ketenleveringen)
13OrkValNummerintegerNOT NULL FK→tabValutaValuta van de order
14OrkLvcNummerintegerNULL FK→tabLeveringsConditieLeveringscondities (bijv. "franco huis", "af-fabriek")
15OrkBtcNummerintegerNULL FK→tabBetalingsConditieBetalingscondities (bijv. "30 dagen netto")
16OrkVrvGidintegerNULL FK→tabVervoerderVervoerder/transporteur
17OrkVtgCodeintegerNULLVestigingscode
18OrkDefaultMagGidintegerNULL FK→tabMagazijnStandaard levermagazijn voor deze order
19OrkGoedgekeurdsmallintNOT NULLOrder goedgekeurd (0=nee, 1=ja)
20OrkGoedgekeurdDatumdateNULLDatum van goedkeuring
21OrkGoedgekeurdDoornchar(40)NULLGebruiker die heeft goedgekeurd
22OrkVrijVoorLeveringsmallintNOT NULLOrder vrijgegeven voor levering (0=nee, 1=ja)
23OrkVrijVoorFakturerensmallintNOT NULLOrder vrijgegeven voor facturatie (0=nee, 1=ja)
24OrkInclBtwsmallintNOT NULLOrder inclusief BTW (0=excl, 1=incl)
25OrkApartFakturerensmallintNOT NULLAparte factuur voor deze order: 0=Ja, 1=Nee, 2=Per contactpersoon, 3=Per verzendadres, 4=Per contactpersoon en verzendadres
26OrkIsDeelLeveringToegestaansmallintNOT NULLDeellevering toegestaan:
0 = Niet toegestaan
1 = Toegestaan
27OrkIsInkoopCombinatiesmallintNOT NULLOrder betreft inkoopcombinatieorder
28OrkTotaalExclBtwnumeric(15)NULLOrdertotaal exclusief BTW
29OrkTotaalInclBtwnumeric(15)NULLOrdertotaal inclusief BTW
30OrkTeFactTotaalExclBtwnumeric(15)NULLNog te factureren totaal excl. BTW
31OrkExternIdnchar(20)NULLExtern ordernummer (bijv. klant-PO-nummer via EDI)
32OrkReferentielong nvarcharNULLKlantorderreferentie / inkoopordernummer klant
33OrkIsEDIordersmallintNULLOrder via EDI ontvangen
34OrkAangemaaktDoornchar(40)NULLGebruiker die de order heeft aangemaakt
35OrkAangemaaktOptimestampNULLDatum/tijd van aanmaken
36OrkLastModifiedtimestampNULLTijdstip van laatste wijziging
tabOrderRegel
Orderregels – één record per artikelregel op een verkooporder
KingSystem
#KolomTypeNullableBeschrijving
1OrrGidintegerNOT NULL PKPrimaire sleutel
2OrrOrkGidintegerNOT NULL FK→tabOrderKopBijbehorende orderkop
3OrrRegelnrintegerNOT NULLRegelnummer binnen de order
4OrrRegelsoortsmallintNOT NULLSoort regel: 0=Tekst, 1=Tarief, 2=Artikel
5OrrArtGidintegerNULL FK→tabArtikelArtikel op de orderregel
6OrrArtPartijGidintegerNULL FK→tabArtikelPartijPartij van het artikel (indien partijregistratie)
7OrrMagGidintegerNULL FK→tabMagazijnLevermagazijn voor deze orderregel
8OrrBtwCodeintegerNULL FK→tabBtwBTW-code voor deze regel
9OrrOpbrGrpGIdintegerNULL FK→tabOpbrengstGroepOpbrengstgroep voor boeking
10OrrKstpGidintegerNULL FK→tabKostenPlaatsKostenplaats
11OrrKstdGidintegerNULL FK→tabKostenDragerKostendrager
12OrrAantalBesteldnumeric(15)NULLBesteld aantal
13OrrAantalGereserveerdnumeric(15)NULLGereserveerd uit voorraad
14OrrAantalGeleverdnumeric(15)NULLReeds geleverd aantal
15OrrAantalGefactureerdnumeric(15)NULLReeds gefactureerd aantal
16OrrAantalBackordernumeric(15)NULLAantal in backorder (niet leverbaar)
17OrrAantalNogTeFacturerennumeric(15)NULLNog te factureren aantal
18OrrBrutoVerkoopPrijsnumeric(15)NULLBruto verkoopprijs per eenheid (voor korting)
19OrrRegelKorting1numeric(15)NULLEerste regelkorting (bedrag of percentage)
20OrrRegelkorting2numeric(15)NULLTweede regelkorting
21OrrIsKortingsPercentagesmallintNULLKorting is percentage:
0 = (leeg/bedrag)
1 = %
22OrrPrijsPernumeric(15)NULLPrijs per hoeveel eenheden
23OrrRegelTotaalnumeric(15)NULLRegeltotaal (besteld aantal × nettoprijs)
24OrrTeFactRegelTotaalnumeric(15)NULLNog te factureren regeltotaal
25OrrKostprijsnumeric(15)NULLKostprijs op moment van orderinvoer
26OrrLeverDatumdateNULLGewenste leverdatum voor deze regel
27OrrDirecteInkoopsmallintNOT NULLDirecte inkoop voor deze orderregel (0=nee, 1=ja)
28OrrDirecteLeveringsmallintNOT NULLDirecte levering aan klant:
0 = Nee
1 = Ja
2 = Volgens lev./eenheid
29OrrVkeGidintegerNULL FK→tabVerkoopEenheidVerkoopseenheid van deze orderregel
30OrrTekstOpFactuurlong nvarcharNULLTekst die op de factuur wordt afgedrukt bij deze regel
31OrrLastModifiedtimestampNULLTijdstip van laatste wijziging
tabFactuurKop
Koptabel verkoopfacturen – één record per factuur
KingSystem
#KolomTypeNullableBeschrijving
1fkGidintegerNOT NULL PKUnieke identifier van de factuur
2fkFbGidintegerNOT NULL FK→tabFactuurBatchFactuurbatch waartoe deze factuur behoort
3fkFactuurNummernchar(40)NULLFactuurnummer (alfanumeriek)
4fkFactuurNummer_LengteintegerNOT NULLLengte van het factuurnummer (voor sortering)
5fkFactuurDatumdateNOT NULLFactuurdatum
6fkVervalDatumdateNOT NULLVervaldatum / betaaltermijn
7fkOrderDatumdateNOT NULLDatum van de oorspronkelijke order
8fkLeverDatumdateNULLLeverdatum
9fkDebNummernchar(10)NOT NULLDebiteurnummer (denormalized voor snelheid)
10fkFactDebNummernchar(10)NOT NULLFactuurdebiteur-nummer
11fkValNummerintegerNOT NULL FK→tabValutaValuta van de factuur
12fkValCodenchar(3)NOT NULLISO-valutacode (bijv. "EUR", "USD")
13fkFactTotaalExBtwnumeric(15)NULLFactuurtotaal exclusief BTW
14fkFactTotInBtwnumeric(15)NULLFactuurtotaal inclusief BTW
15fkBedragTeBetalennumeric(15)NULLNog te betalen bedrag
16fkBedragBetaaldnumeric(15)NULLReeds betaald bedrag
17fkFactStatussmallintNULLFactuurstatus: 0=open, 1=deels betaald, 2=volledig betaald
18fkIsInclBtwsmallintNOT NULLFactuur inclusief BTW (0=excl, 1=incl)
19fkJpGIDintegerNULL FK→tabJournaalPostBijbehorende journaalpost in grootboek
20fkLvcNummerintegerNULL FK→tabLeveringsConditieLeveringscondities
21fkBtcNummerintegerNULL FK→tabBetalingsConditieBetalingscondities
22fkBetalingskenmerknchar(24)NULLBetaalreferentie (bijv. voor acceptgiro/SEPA)
23fkNawBtwNummernchar(15)NULLBTW-nummer van de klant op moment van facturatie
24fkVertNaamnchar(40)NULLNaam vertegenwoordiger op factuur
25fkEmailnchar(80)NULLE-mailadres voor digitale factuurtransmissie
26fkBetaalverzoekURLnchar(255)NULLURL voor digitaal betaalverzoek (Tikkie/iDEAL)
27FkLastModifiedtimestampNULLTijdstip van laatste wijziging
tabFactuurRegel
Factuurregels – één record per artikelregel op een factuur
KingSystem
#KolomTypeNullableBeschrijving
1frGidintegerNOT NULL PKPrimaire sleutel
2frFrefGidintegerNOT NULL FK→tabFactuurKopBijbehorende factuurkop
3frOrrGidintegerNULL FK→tabOrderRegelOorspronkelijke orderregel
4frRegelNummerintegerNOT NULLRegelnummer op de factuur
5frSoortRegelsmallintNOT NULLSoort: 0=Tekst, 1=Tarief, 2=Artikel
6frArtCodenchar(20)NULLArtikelcode (gekopieerd bij facturatie)
7frArtOmsnchar(40)NULLArtikelomschrijving (gekopieerd bij facturatie)
8frAantalDezeFactureringnumeric(15)NULLGefactureerd aantal op deze factuur
9frAantalDezeLeveringnumeric(15)NULLGeleverd aantal via deze factuurregel
10frBrutoPrijsPEenheidnumeric(15)NULLBrutoprijs per eenheid (voor korting)
11frNettoPrijsPeenheidnumeric(15)NULLNettoprijs per eenheid (na korting)
12frKorting1Percnumeric(6)NULLKortingspercentage 1
13frKorting1Bedragnumeric(15)NULLKortingsbedrag 1
14frKorting2Percnumeric(6)NULLKortingspercentage 2
15frPrijsPernumeric(15)NULLPrijs per hoeveel eenheden
16frRegelTotaalnumeric(15)NULLRegeltotaal (gefactureerd aantal × nettoprijs)
17frBtwCodeintegerNULL FK→tabBtwBTW-code
18frBtwPercentagenumeric(6)NULLBTW-percentage (gekopieerd bij facturatie)
19frOmsEenheidnchar(20)NULLMaateenheid
20frKostprijsnumeric(15)NULLKostprijs op moment van facturatie
21frTekstOpFactuurlong nvarcharNULLDrukbare tekst op de factuur bij deze regel
22FrLastModifiedtimestampNULLTijdstip van laatste wijziging
tabOfferteKop / tabOfferteRegel
Offertes – dezelfde structuur als orders, maar vóór orderbevestiging
KingSystem

De offertetabellen hebben een vergelijkbare structuur als de ordertabellen. Belangrijkste kolomnamen:

Kolom (Kop)OmschrijvingKolom (Regel)Omschrijving
OfkGidPrimaire sleutel offertekopOfrGidPrimaire sleutel offerteregel
OfkNummerOfferte-/versienummerOfrOfkGidFK naar offertekop
OfkNawGidFK naar tabNaw (klant)OfrArtGidFK naar tabArtikel
OfkDatumOffertedatumOfrAantalAangebodenAangeboden hoeveelheid
OfkGeldigTotVervaldatum offerteOfrBrutoVerkoopPrijsBruto aangeboden prijs
OfkStatusStatus: 0=Concept, 1=Goedgekeurd, 2=Uitgebracht, 3=Geaccepteerd, 5=VervallenOfrRegelTotaalRegelwaarde
OfkLastModifiedTijdstip laatste wijzigingOfrLastModifiedTijdstip laatste wijziging
Statusvelden & vlaggen
Overzicht van de belangrijkste statusvelden in de verkoopmodule
TabelKolomWaarden & betekenis
tabOrderKopOrkGoedgekeurd0 = niet goedgekeurd, 1 = goedgekeurd door manager
tabOrderKopOrkVrijVoorLevering0 = niet vrijgegeven, 1 = vrijgegeven voor magazijn
tabOrderKopOrkVrijVoorFaktureren0 = niet vrijgegeven, 1 = klaar voor factuurbatch
tabOrderKopOrkIsGeblokkeerdVoorMuteren0 = bewerkbaar, 1 = geblokkeerd (bijv. al gefactureerd)
tabFactuurKopfkFactStatus0 = open, 1 = deels betaald, 2 = volledig voldaan
tabOrderRegelOrrAantalBackorder>0 = er zijn niet-leverbare aantallen in backorder
tabOrderRegelOrrAantalNogTeFactureren>0 = er moeten nog aantallen worden gefactureerd
tabOfferteKopOfkStatus0=Concept, 1=Goedgekeurd, 2=Uitgebracht, 3=Geaccepteerd, 5=Vervallen
SQL-voorbeelden
Praktische query's voor de verkoopmodule

Openstaande orders met klantgegevens

SELECT o.OrkNummer, o.OrkDatum, o.OrkLeverdatum, a.AdrNaam1 -- klantnaam, o.OrkTotaalExclBtw, o.OrkTeFactTotaalExclBtw FROM KingSystem.tabOrderKop o JOIN KingSystem.tabAdres a ON a.AdrNawGid = o.OrkNawGid WHERE o.OrkTeFactTotaalExclBtw > 0 -- nog te factureren AND o.OrkVrijVoorFaktureren = 1 ORDER BY o.OrkDatum DESC

Omzetoverzicht per klant (huidig jaar)

SELECT a.AdrNaam1 -- klantnaam, COUNT(DISTINCT fk.fkGid) AS AantalFacturen, SUM(fk.fkFactTotaalExBtw) AS OmzetExclBtw FROM KingSystem.tabFactuurKop fk JOIN KingSystem.tabAdres a ON a.AdrNawGid = fk.fkFbGid -- vereenvoudigd WHERE YEAR(fk.fkFactuurDatum) = YEAR(CURRENT_DATE) GROUP BY a.AdrNaam1 ORDER BY OmzetExclBtw DESC

Factuurregels met artikeldetails

SELECT fk.fkFactuurNummer, fk.fkFactuurDatum, fr.frArtCode, fr.frArtOms, fr.frAantalDezeFacturering, fr.frNettoPrijsPeenheid, fr.frRegelTotaal, fr.frBtwPercentage FROM KingSystem.tabFactuurKop fk JOIN KingSystem.tabFactuurRegel fr ON fr.frFrefGid = fk.fkGid WHERE fk.fkFactuurNummer = '20240001' ORDER BY fr.frRegelNummer