Ga naar hoofdinhoud

Tariefgroepen en tarieven toevoegen

Elke kostencategorie voor de haven (havengeld, loodsgeld, bootlieden, afval…) is een tariefgroep. Binnen elke groep voeg je één of meer tarieven toe — de afzonderlijke kostenposten. Op deze pagina wordt uitgelegd hoe je beide aanmaakt.

Het scherm Tariefgroepen openen

Ga naar Zijbalk → Beheer → Cost Calculations → Tariefgroepen (route /invoicing-and-tariffs/tariff-groups/cost-calculation).

Je hebt de machtiging Tarief admin nodig (invoices.tariff_admin) om groepen aan te maken of te bewerken.

Stap 1 — Een tariefgroep aanmaken

Klik op New en vul de groepgegevens in:

VeldWat in te voeren
NaamBeschrijvende naam, bijv. Den Helder — Harbour dues
Systeemcodepcc_<haven>_<categorie>, bijv. pcc_denhelder_havengeld
ValutacodeEUR
Begint opEerste datum waarop de kosten van toepassing zijn, bijv. 2026-01-01
Eindigt opLeeg laten voor onbepaalde tijd
UI-sjabloonLabel dat wordt weergegeven als de koptekst van de resultaatsectie, bijv. Harbour dues
Tariefgroep typeInvoice calculation
Application areaAlleen-lezen — al ingesteld op cost calculation

Klik op Save. Je bevindt je nu op de detailspagina van de tariefgroep.

Stap 2 — De groep koppelen aan je haven

Elke tariefgroep moet een havenpoortvoorwaarde hebben. Zonder deze voorwaarde gelden de tarieven van de groep voor alle havens, niet alleen voor de jouwe.

Open op de kaart Bedrijfslogica het tabblad Voorwaarden en klik op Add:

VeldWaarde
Logisch typeCustom
Veld soortConditionString
Bronveld$.__DefinitionSystemCode
TekenreeksoperatorEquals
WaardepccDenHelder (de Systeemcode van je haven — precies zoals ingesteld op het object)

Klik op Save bij de voorwaarde. Herhaal dit voor elke tariefgroep die je aanmaakt voor deze haven.

Stap 3 — De tarieven (kosten) toevoegen

Ga vanaf de detailspagina van de tariefgroep naar de tarieflijst van de groep en klik op Tarief toevoegen. Het tariefformulier heeft een kaart Details en een kaart Bedrijfslogica.

Veelgebruikte velden voor elk tarief:

VeldWat in te voeren
NaamNaam van de kostenpost, bijv. Harbour dues — zeeschip Nieuwe Diep
BedragtypeNumber
TarieftypeRegular
ValutacodeEUR
SysteemcodeKorte, stabiele code
UI-sjabloonLabel dat wordt weergegeven op de resultaatregel — verplicht, mag niet leeg zijn
Begint op / Eindigt opLaat aansluiten bij de geldigheidsperiode van de tarieflijst

Het veld Bedrag bron bepaalt welke vorm het tarief aanneemt. Kies Direct of Matrix en vul de velden in die bij elke vorm worden beschreven.


Vorm A — een tarief per eenheid

Gebruik dit wanneer de kostenpost een vast tarief is vermenigvuldigd met een scheepsattribuut (bijv. €0,93 per GT).

Kaart Details:

VeldWaarde
Bedrag bronDirect
BedragHet tarief, bijv. 0.93
UI-sjabloonbijv. Port dues ({{$.ship.gt}} × 0.93) — zet de sjabloon letterlijk in het veld of gebruik de Handlebars-syntaxis

Bedrijfslogica — tabblad Berekeningen → Add:

VeldWaarde
Logisch typeCustom
Veld soortCalculationPricePerUnit
Bronveld$.ship.gt (of $.ship.loa, $.tugsInbound.numberOfTugs, etc.)
Berekeningsvolgorde0

Dit geeft de engine de opdracht het Bedrag te vermenigvuldigen met de waarde op dat veldpad.

Bedrijfslogica — tabblad Voorwaarden (optioneel): als dit tarief alleen van toepassing is op bepaalde scheepstypen, voeg dan een ConditionArray toe (zie onderstaande Voorwaardenreferentie).

Den Helder voorbeeld: havengeld voor zeeschepen bij Nieuwe Diep — Bedrag 0.93, CalculationPricePerUnit bronveld $.ship.gt.


Vorm B — een staffelzoekopdracht

Gebruik dit wanneer de kostenpost afhankelijk is van de band waarin een waarde valt (bijv. loodsgeld op basis van diepgangband).

Kaart Details:

VeldWaarde
Bedrag bronMatrix
Bedrag0
Bedrag bron sjabloonDe Handlebars-sleutel die de zoekopdracht aanstuurt, bijv. {{pilotsOutbound.draft}}

Bedrijfslogica — tabblad Voorwaarden → Voeg een ConditionNumeric toe om nul/lege invoer te blokkeren:

VeldWaarde
Veld soortConditionNumeric
BronveldpilotsOutbound.draft
Numerieke operatorGreaterThan
Waarde0

Vul daarna de kaart Tariefmatrix in (zie Stap 4).

Den Helder voorbeeld: inkomend loodsgeld — Bedrag bron Matrix, Bedrag bron sjabloon {{pilotsInbound.draft}}, 169 diepgangbanden in dm.


Vorm C — een vast bedrag

Gebruik dit wanneer de kostenpost een vast bedrag is, optioneel alleen voor bepaalde scheepstypen of condities.

Kaart Details:

VeldWaarde
Bedrag bronDirect
BedragHet vaste bedrag, bijv. 120

Bedrijfslogica — tabblad Voorwaarden: voeg voorwaarden toe om te beperken wanneer het tarief van toepassing is (bijv. ConditionArray op $.podh.callPeriod met Keys day). Laat voorwaarden leeg als de kostenpost altijd van toepassing is.

Voeg geen CalculationPricePerUnit-node toe — die is niet nodig voor een vast bedrag.

Den Helder voorbeeld: bootlieden overdag — Bedrag 120, ConditionArray op $.podh.callPeriod = ["day"].


Stap 4 — De tariefmatrix invullen (banden)

De kaart Tariefmatrix verschijnt alleen wanneer Bedrag bron = Matrix. Deze wordt niet getoond bij Direct-tarieven.

Elke rij is een band:

KolomOpmerkingen
NaamBandlabel, bijv. 0–270 dm
SysteemcodeAutomatisch ingevuld; bewerkbaar
BedragTarief voor deze band
VanafOndergrens (inclusief). De eerste band moet beginnen bij 0.
NaarBovengrens (exclusief). De laatste band moet een groot getal gebruiken, bijv. 9999, om alle waarden te dekken.
UI-sjabloonLabel voor de resultaatregel van deze band

Banden moeten aaneengesloten zijn — de Naar-waarde van één rij is gelijk aan de Vanaf-waarde van de volgende. Gaten zorgen ervoor dat de zoekopdracht niets teruggeeft.

Klik op Add onderaan de kaart om een lege rij toe te voegen. Vul elke rij in en klik op Save.

Banden importeren vanuit Excel

Voor grote bandentabellen (Den Helder loodsgeld heeft 169 rijen), gebruik de import:

  1. Zorg ervoor dat Bedrag bron = Matrix is opgeslagen op het tarief — de knop Import Tariff Matrix verschijnt alleen in de weergavemodus (niet in de bewerkingsmodus).
  2. Klik op Import Tariff Matrix in de paginakoptekst.
  3. Klik in het dialoogvenster eerst op Voorbeeldbestand downloaden om de juiste kolomindeling te krijgen.
  4. Vul het voorbeeldbestand in met je banden.
  5. Vink Bestaande tarieventabel vervangen aan als je bestaande rijen wilt overschrijven.
  6. Klik op Import.

Begin altijd met Voorbeeldbestand downloaden — de kolomvolgorde in de sjabloon is de volgorde die de importer verwacht.


Voorwaardenreferentie

Voeg voorwaarden toe op het tabblad Voorwaarden van de kaart Bedrijfslogica (op het tarief, niet op de groep — tenzij het de havenpoortvoorwaarde betreft, die gaat op de groep).

VoorwaardetypeWanneer te gebruikenSleutelvelden
ConditionStringHavenpoort — overeenkomst met de Systeemcode van de havenBronveld $.__DefinitionSystemCode, Tekenreeksoperator Equals, Waarde = pccDenHelder
ConditionArrayOvereenkomst met een lijstveld (scheepstype, gebied, aanloopperiode…)Bronveld bijv. $.general.shipType, Array-operator Any, Waarden = array van List-Keys bijv. tanker_lng, bulkcarrier
ConditionNumericNumerieke vergelijkingen (diepgang > 0, GT tussen twee waarden…)Numerieke operator: Between / Equals / GreaterThan / SmallerThan
ConditionBooleanJa/nee-vlagveldenBooleaanse operator True of False
ConditionBoolean

Het type ConditionBoolean (voor velden zoals ispsApplicable) was niet aanwezig in de referentiedata die voor deze documentatie is gebruikt. Het UI-formulier toont de operators True / False, maar verifieer het resultaat aan de hand van een live booleaanse voorwaarde voordat je het in productie gebruikt.

"Eenmalig toepassen per aanloop" — regelgroepering

Sommige kosten mogen slechts éénmaal per havenbezoek worden berekend, ongeacht het aantal overeenkomende tariefregels (bijvoorbeeld een afvalvergoeding die niet dubbel mag worden meegeteld). Dit regelgroeperingsgedrag heeft geen UI-scherm — het vereist een configuratiewijziging door het SHIPM8-team. Neem contact op met support als een kostenpost dit nodig heeft.