Skip to content

Billing & System Integrations

MTM-TRAJECTCONTROLE is engineered with a modular integration engine that bridges with external economy frameworks, banking systems, invoice scripts, and police dispatch networks.


1. Automated Fine Billing & Banking Systems

Section titled “1. Automated Fine Billing & Banking Systems”

When a vehicle commits a speeding violation (either through average section speed or an instant gate radar), the system calculates the penalty according to configured fine brackets and dispatches the citation.

System Mode Key Feature
Direct Bank Deduction Direct Automatically withdraws fine from player bank account via ESX, QBCore, Qbox, or Renewed-Banking.
okokBilling Invoice Dispatches a formal invoice with reference code into the okokBilling player menu.
esx_billing Invoice Sends an official unpaid invoice to the player’s ESX billing menu.
Renewed-Banking Direct Deducts fine balance and logs an itemized transaction statement.
pefcl Direct / Invoice Dispatches fine notification directly into the PEFCL banking application.
qb-phone Invoice Sends invoice notification directly to the QB-Core phone invoices app.
qs-smartphone Invoice Integrates with Quasar Smartphone banking and invoice applications.
lb-phone Invoice Sends push notifications and invoices directly to LB-Phone.
codem-billing Invoice Dispatches structured invoice tickets into the Codem billing interface.

In config.lua, configure your preferred billing behavior:

Config.Billing = {
Enabled = true,
-- Modes: "direct_bank" (charges bank directly) or "invoice" (creates unpaid bill)
Mode = "direct_bank",
-- System: "auto", "okokBilling", "esx_billing", "qb-phone", "qs-smartphone", "lb-phone", "Renewed-Banking", "pefcl"
System = "auto",
-- Society account to receive fine revenues (e.g. police or government fund)
SocietyAccount = "society_police",
AuthorName = "Centraal Justitieel Incassobureau (CJIB)"
}

To reflect realistic European traffic enforcement standards, MTM-TRAJECTCONTROLE applies a statutory legal correction margin (Config.LegalCorrection = 3.0 km/h) before calculating fines.

Fines scale progressively based on the net overspeed (measured speed minus legal correction minus speed limit):

Net Overspeed Base Fine (EUR / USD)
1 - 10 km/h 65
11 - 15 km/h 140
16 - 20 km/h 210
21 - 25 km/h 290
26 - 30 km/h 380
31 - 35 km/h 490
36+ km/h Scales automatically per km/h over limit

MTM-TRAJECTCONTROLE connects directly with the MTM-ANPR law enforcement ecosystem:

  • Speeding Violation Forwarding (Config.SendToANPR = true): When a vehicle commits a speeding infraction, the telemetry is forwarded to MTM-ANPR, logging the record into the vehicle’s dossier for police investigation.
  • Off-Road Evasion Detection (Config.AlertPoliceOnEvasion = true): If a speeding vehicle passes the entry portal but leaves the highway via an unmonitored off-ramp, the evasion watchdog marks the vehicle and alerts on-duty officers.

MTM-TRAJECTCONTROLE automatically registers itself into the MTM-PADUI tablet system:

  • When an officer opens their in-game iPad / tablet, the Section Control icon appears on the home screen.
  • Officers can inspect live corridors, monitor active highway speeds, and adjust enforcement toggles directly from their tactical device.

-- Open, close or toggle tablet map
exports['MTM-TRAJECTCONTROLE']:OpenMap()
exports['MTM-TRAJECTCONTROLE']:CloseMap()
exports['MTM-TRAJECTCONTROLE']:ToggleMap()
local isOpen = exports['MTM-TRAJECTCONTROLE']:IsOpen()
-- Get configured speed unit ("kmh" or "mph")
local unit = exports['MTM-TRAJECTCONTROLE']:GetSpeedUnit()
-- Get list of all registered corridors
local corridors = exports['MTM-TRAJECTCONTROLE']:GetAllTrajecten()
-- Open the 3D in-game creator programmatically
exports['MTM-TRAJECTCONTROLE']:StartCreator()
-- Query the effective speed limit for a section (matrix or default)
local limit, isMatrix = exports['MTM-TRAJECTCONTROLE']:GetEffectiveSpeedLimit("LSF_NOORD")
-- Get table of all active vehicle passages currently inside sections
local activeVehicles = exports['MTM-TRAJECTCONTROLE']:GetActivePassages()
-- Manually issue a fine or invoice through the billing pipeline
local success, amount, refCode = exports['MTM-TRAJECTCONTROLE']:IssueFine(
src, plate, speed, limit, overspeed, violationType, traject
)
-- Calculate fine amount based on configured CJIB brackets
local amount = exports['MTM-TRAJECTCONTROLE']:CalculateFineAmount(overspeed)
-- Detect currently active billing framework
local systemName = exports['MTM-TRAJECTCONTROLE']:DetectActiveBillingSystem()