openwave:1.35:applicatiebeheer:probleemoplossing:programmablokken:legesberekening

Dit is een oude revisie van het document!


Legesberekening

In dit lemma wordt uiteengezet hoe de berekening aan de voorkant (legesregels bij een zaak) plaatsvindt op grond van de in de beheer ingestelde legessoort-attributen en bijbehorende rekenregels-definitie (zie: Legesdefinitie).

De inlogger moet lid zijn van een rechtengroep die bij de betreffende module (omgeving, APV/overig, info en horeca) het wijzigrecht heeft op Legesregels. De exportdatum van de legeskaart moet leeg zijn. Zijn aan deze voorwaarden niet voldaan, dan wordt de berekening niet uitgevoerd (code 703).

De bovenliggende zaak mag niet geblokkeerd zijn. Anders wordt de berekening niet uitgevoerd (code 715). De start- c.q. ontvangstdatum van de bovenliggende zaak geldt als uitgangsdatum.

De berekenwijze is een getal, ingesteld bij de legessoort (tblegessoort) die aan de legeskaart is gekoppeld. Indien deze berekenwijze <> 1 of 2 of 3 of 4 dan wordt de berekening niet uitgevoerd (code 716: ontbrekende instellingen).

Indien omgevingszaak en de legessoort betreft een korting/teruggave regel dan zal de berekening hiermee rekening houden. Dit is het geval indien:

  • de legessoort is van module Omgeving (dvvantoepop = 'W')
  • de legessoort heeft vinkje Bonus/malus (dlbonusmalus = 'T') aangevinkt
  • er zijn gekoppelde legessoorten bij de legessoort: deze tellen mee voor het bepalen van uitgangsbedrag van de bonus/malus legessoort
    • de tabel tbkoplegessoorten is gevuld waarbij er tenminste 1 regel bestaat met dnkeybonuslegessoort = de dnkey van de bonus/malus legessoort waarvoor het bedrag wordt berekend

<hier komt uitleg>

Een extra restrictie hier bovenop kan ingesteld worden bij de legessoort door de kolom Uitgangsbedrag berek. is die van specifieke activiteit i.p.v. optelling gekoppelde normale legessoorten (tblegessoort.dluitgangsbedreentoest) aan te vinken. Het programma neemt dan alleen die 'normale' legesregels mee voor de berekening van het uitgangsbedrag die - naast bovenstaande restrictie - ook nog eens gekoppeld zijn aan dezelfde activiteit/onderdeel als die van legesregel van de speciale korting/opslag legessoort.

Indien van de legessoort waarvoor het bedrag wordt berekend er geen gekoppelde legessoorten zijn EN de kolom:

  • dlbonusmalus is WEL aangevinkt en dnkeyafhankelijkvan (uitgangsbedrag afhankelijk van…) is leeg dan is het Uitgangsbedrag de optelling van de kolom legesbedrag van de andere legesregels bij dezelfde omgevingszaak waarvoor geldt dat bij hun legessoort de kolom dlbonusmalus NIET is aangevinkt
  • dlbonusmalus is WEL aangevinkt en dnkeyafhankelijkvan is gevuld met een dnkey van een andere legessoort dan is het Uitgangsbedrag de optelling van de kolom legesbedrag van de andere legesregels bij dezelfde omgevingszaak waarvoor geldt dnkeylegessoort = dnkeyafhankelijkvan en dat bij hun legessoort de kolom dlbonusmalus NIET is aangevinkt
  • anders, dlbonusmalus is NIET aangevinkt EN er is GEEN activiteit/onderdeel gekoppeld aan de legeskaart, dan heeft Uitgangsbedrag de waarde 0
  • anders, dlbonusmalus is NIET aangevinkt EN er is WEL een activiteit/onderdeel gekoppeld aan de legeskaart dan staat het uitgangsbedrag in die gekoppelde activiteiten/onderdelenkaart (vwfrmtoestemmingen). Het Uitgangsbedrag = indien:
    • Getal1 van de instelling Sectie: Programma en Item: Roeb de waarde 1 heeft dan is de volgorde:
      • dflegesherzbasis is not null dan de waarde van de kolom dflegesherzbasis (herziene kosten),
      • anders indien dflegesvastgroeb is not null dan deze berekende vastgestelde waarde op grond van de gekoppelde regels in de tabel tbroebtoest zie Roeb berekening vastg. kosten
      • anders indien dflegesvastgbasis is not null dan de waarde van de kolom dflegesvastgbasis (vastgestelde kosten)
      • en anders de waarde van de kolom dflegesopgbasis (opgegeven kosten).
    • anders (deze instelling bestaat niet of Getal1 is ongelijk aan 1) dan:
      • dflegesherzbasis is not null dan de waarde van de kolom dflegesherzbasis (herziene kosten),
      • anders indien dflegesvastgbasis is not null dan de waarde van de kolom dflegesvastgbasis (vastgestelde kosten)
      • en anders de waarde van de kolom dflegesopgbasis (opgegeven kosten).
  • Indien horecazaak en van de bijbehorende legessoort de kolom:
    • dlbonusmalus is WEL aangevinkt dan is het Uitgangsbedrag de optelling van de kolom legesbedrag van de andere legesregels bij dezelfde horecazaak waarvoor geldt dat bij hun legessoort de kolom dlbonusmalus NIET is aangevinkt
    • anders, dlbonusmalus is NIET aangevinkt dan heeft Uitgangsbedrag de waarde 0.
  • Indien infozaak en van de bijbehorende legessoort de kolom:
    • dlbonusmalus is WEL aangevinkt dan is het Uitgangsbedrag de optelling van de kolom legesbedrag van de andere legesregels bij dezelfde info-aanvraag-zaak waarvoor geldt dat bij hun legessoort de kolom dlbonusmalus NIET is aangevinkt
    • anders, dlbonusmalus is NIET aangevinkt dan heeft Uitgangsbedrag de waarde 0.
  • Indien APV/overigezaak en van de bijbehorende legessoort de kolom:
    • dlbonusmalus is WEL aangevinkt dan is het Uitgangsbedrag de optelling van de kolom legesbedrag van de andere legesregels bij dezelfde APV/overige zaak waarvoor geldt dat bij hun legessoort de kolom dlbonusmalus NIET is aangevinkt
    • anders, dlbonusmalus is NIET aangevinkt dan staat het uitgangsbedrag in die bovenliggende APV/overige zaak. Het Uitgangsbedrag = indien
      • dflegesherzbasis is not null dan de waarde van de kolom dflegesherzbasis (herziene kosten),
      • anders de waarde van de kolom dflegesvastgbasis (vastgestelde kosten).

Dit is een regel uit de tabel tblegesberekeningen die gevonden wordt met behulp van de legessoort, het Uitgangsbedrag en de Uitgangsdatum. In deze tabel staan onder andere het promillage waarmee het uitgangsbedrag moet worden vermenigvuldigd en een vast bedrag dat daarbij kan worden opgeteld. De juiste regel wordt als volgt gevonden door een selectie uit deze tabel op te vragen waarbij:

  • de legessoort gelijk is aan de legessoort van de betreffende legesregel die berekend wordt
  • datumvanaf < = Uitgangsdatum
  • datumtotmet > = Uitgangsdatum OF datumtotmet is leeg
  • categoriebodem < = Uitgangsbedrag
  • plafondcategorie > = Uitgangsbedrag
  • Vervaldatum is not null.

Indien niet gevonden of de resultaat set bestaat uit twee of meer regels dan wordt de berekening niet uitgevoerd (code 716: ontbrekende instellingen).

Categoriebodem en categorieplafond en datumvanaf moeten dus wel ingevuld zijn anders code 716: ontbrekende instellingen.

Zie voor kopiëren rekenregels: Kopiëren Legesrekenregels.

Indien op de gevonden regel van de tabel tblegesberekeningen de kolom dfafrondingsgetal > 0 EN de kolom dnafrondingmethode = 1 of 2 of 3 dan wordt het Uitgangsbedrag afgerond naar, indien dnafrondingmethode:

  • = 1 dan de kleinste veelheid van het dfAfrondinggetal boven Uitgangsbedrag
  • = 2 dan de grootste veelheid van het dfAfrondinggetal onder Uitgangsbedrag
  • = 3 dan de dichtstbijzijnde van de bovenstaande twee manieren.

Alleen indien in stap 9 en 10 het Uitgangsbedrag is gewijzigd wordt de procedure van stap 8 opnieuw uitgevoerd. Dat kan leiden tot een nieuw gevonden rekenregel. Indien er naar een nieuwe rekenregel wordt gezocht, maar deze wordt niet gevonden, dan blijft het programma bij de eerder gevonden rekenregel van stap 8.

Op de gevonden regel van de tabel tblegesberekeningen worden nu de volgende waarden opgehaald:

  • Factor (kolom dffactor)
  • Promillage (kolom dfpromillage)
  • VastBedrag (kolom dfvastbedrag)
  • Bodembedrag (kolom dfcategoriebodem).

Het Uitgangsbedrag wordt eerst vermenigvuldigd met Factor (indien deze laatste ongelijk aan 0 of null). Met de Berekenwijze (opgehaald in stap 3) wordt nu één van onderstaande berekeningen uitgevoerd:

  • Indien Berekenwijze = 1
    • Legesbedrag = (Vastbedrag) + ((Promillage/1000) * (Uitgangsbedrag))
  • Indien Berekenwijze = 2 (met twee hulpvariabelen):
    • Modulusgetal = Uitgangsbedrag – (Bodembedrag modulus 500)
    • Extra bedrag = (Modulusgetal * 500)
    • Legesbedrag = Vastbedrag + (Promillage * (Extra bedrag/1000))
  • Indien Berekenwijze = 3
    • Legesbedrag= Vastbedrag + ((Int((Uitgangsbedrag-1)/1000) * 1000) + 1000 - Bodembedrag) * (Promillage/1000)
  • Indien Berekenwijze = 4
    • Legesbedrag= Vastbedrag + (Uitgangsbedrag - Bodembedrag) * (Promillage/1000)

Op de gevonden regel van de tabel tblegesberekeningen kan de kolom dnafrnabermethode (methode van afronden na berekenen) een waarde hebben. Indien deze waarde = 1,2,3 4 5 of 6 dan wordt de berekening afgerond.

Indien afrondingsmethode = 1,2 of 3 dan moet de kolom dfafrnabergetal (afrondingsgetal) > 0 zijn. Indien dat niet het geval is gaat het afronden niet door.

Het programma neemt de absolute waarde van berekende Legesbedrag (stap 11): LegesbedragABS. Indien afrondingsmethode =

  • 1: naar boven met veelvoud afrondingsgetal: De kleinste veelheid van het afrondingsgetal boven LegesbedragABS
  • 2: naar beneden met veelvoud afrondingsgetal: De grootste veelheid van het afrondingsgetal onder LegesbedragABS
  • 3: naar dichtstbijzijnde van bovenstaande twee manieren
  • 4: Op dichtstbijzijnde gehele getal (round) van LegesbedragABS minus 0,49 (naar beneden)
  • 5: op dichtstbijzijnde gehele getal (round) van LegesbedragABS + 0,49 (naar boven)
  • 6: op dichtstbijzijnde gehele getal (round) van LegesbedragABS

Indien het oorspronkelijke Legesbedrag negatief was, dan wordt het nieuwe afgeronde bedrag ook weer negatief.

Op de gevonden regel van de tabel tblegesberekeningen kan

  • de kolom dfminimum gevuld zijn. Is dat het geval dan wordt het reeds afgeronde legesbedrag overschreven met max(Legesbedrag, dfminimum).
  • de kolom dfmaximum gevuld zijn. Is dat het geval dan wordt het reeds afgeronde legesbedrag overschreven met min(Legesbedrag, dfmaximum).

Op de gevonden regel van de tabel tblegesberekeningen kan de kolom dfvrijspraakbedrag gevuld zijn met een waarde groter dan 0. Is dat het geval dan kan voor die ene regel gelden dat het bedrag toch 0 is. Dit betekent dat het reeds afgeronde, gemaximaliseerde, geminimaliseerde legesbedrag op 0 wordt gezet indien dat legesbedrag groter dan 0 is, maar kleiner of gelijk aan het vrijspraakbedrag.

Deze stap wordt alleen uitgevoerd indien de legesberekening wordt gedaan voor een legesregel waarvan:

  • de legessoort geen bonus/malus met gekoppelde legessoorten is (en er dus ook geen overall minimumbedrag geldig is)
  • het vrijspraakbedrag op de rekenregel gevuld is

Op dit punt aangekomen wordt het legesbedrag opgeslagen bij de legeskaart.

Indien er sprake is van:

  • een omgevingszaak
  • EN de legessoort heeft een van de speciale korting/opslag kolommen aangevinkt (zie ad 4)
  • EN het gaat om een legesregel waarbij de legessoort één van onderstaande eigenschappen aangevinkt heeft staan:
    • dlilvtiatb: (teruggave intrekking na 4 weken) EN waarbij het overall restbedrag in kolom DFMINRESTTIATB gevuld is
    • dlilvtianv: (teruggave intrekking na verlening) EN waarbij het overall restbedrag in kolom DFMINRESTTIANV gevuld is
    • dlilvtwv: (teruggave bij weigering vergunning) EN waarbij het overall restbedrag in kolom DFMINRESTTWV gevuld is
    • dlilvtbbb: (teruggave bij besluit buiten behandeling) EN waarbij het overall restbedrag in kolom DFMINRESTTBBB gevuld is
    • dlilvtiabtb: (teruggave intrekking binnen 4 weken) EN waarbij het overall restbedrag in kolom DFMINRESTTIABTB gevuld is

DAN, kan het afgeronde, geminimaliseerde, gemaximaliseerde en reeds opgeslagen legesbedrag nog eens worden overschreven. Dat gebeurt als volgt:

Eerst worden alle legesbedragen bij dezelfde omgevingszaak opgeteld. Indien deze optelling kleiner is dan het overall minimum restbedrag dan wordt het verschil tussen de optelling en dit overall minimum restbedrag alsnog afgetrokken van het Legesbedrag.

Het afgeronde, geminimaliseerde, gemaximaliseerde en reeds opgeslagen legesbedrag kan nog eens worden overschreven indien er een overall Vrijspraakbedrag van toepassing is.

Dit is het geval indien:

  • een omgevingszaak
  • EN de legessoort betreft een bonus/malus legessoort
  • EN er is tenminste 1 gekoppelde legessoort aanwezig
  • EN het veld Minimum overall restbedrag (dfminrestbedrag) is NIET gevuld (minimum restbedrag overruled het vrijspraakbedrag: beiden kan niet)
  • EN het veld Vrijspraakbedrag (dfvrijspraakbedrag) is WEL gevuld

Dan wordt het legesbedrag aangepast zodat voor het totale legesbedrag bij de omgevingszaak voldaan wordt aan het opgegeven vrijspraakbedrag.
Dit wordt als volgt berekend:

  • Eerst even de totaalsom van legesbedragen bij de zaak die tot nu toe gevuld zijn ophalen:
    • het opgetelde bedrag van de legesregels bij de zaak = select sum(dflegesbedrag) from tblegesregels where dnkeyomgvergunningen = dnkey van de omgevingszaak waarvandaan de berekening gestart is
  • Dan ophalen wat er betaald zou moeten worden op zaakniveau:
    • Te betalen Op Zaak = het opgetelde bedrag van de legesregels bij de zaak - het tot nu toe berekende legesbedrag voor de legesregel
  • En dan berekenen of het bedrag te betalen op zaak vrijgesproken moet worden
    • indien het veld Vrijspraakbedrag (dfvrijspraakbedrag) een positief getal is (>0) dan:
      • indien Vrijspraakbedrag groter dan het bedrag Te Betalen Op Zaak dan wordt het bedrag Te Betalen Op Zaak opgeteld bij het tot nu toe bepaalde legesbedrag voor de regel(totale legesbedrag op zaakniveau wordt 0 )
      • indien Vrijspraakbedrag kleiner of gelijk aan het bedrag Te Betalen Op Zaak dan wordt het legesbedrag voor de regel niet aangepast
    • indien het veld Vrijspraakbedrag (dfvrijspraakbedrag) een negatief getal is ( < 0) dan:
      • indien Vrijspraakbedrag groter is dan het bedrag Te Betalen Op Zaak dan wordt het legesbedrag voor de regel niet aangepast
      • indien Vrijspraakbedrag kleiner of gelijk is aan het bedrag Te Betalen Op Zaak dan wordt het bedrag Te Betalen Op Zaak opgeteld bij het tot nu toe bepaalde legesbedrag voor de regel (het totale legesbedrag op zaakniveau wordt 0)
  • openwave/1.35/applicatiebeheer/probleemoplossing/programmablokken/legesberekening.1789123719.txt.gz
  • Laatst gewijzigd: 2026/09/11 12:48
  • door Lonneke van Dijk