Contract Insurance & FBT: Insurance type mapping

Insurance, FBT calculations, and declarations

Insurance Type Mapping

⚠️ Warning: This feature is currently under construction.

This page describes how you can update Insurance Type for variants using Vehicle to Insurance Type classification mapping rules. You will need to get Insurance Type classifications from your insurer. This page shows how to generate mapping rules used to bulk update Insurance Type for variants. The bulk update process updates where insurancetypeid is currently unassigned (0 or NULL).

Contact your Account Manager if you need help generating mapping rules.


Steps

1. Obtain Insurance Type Classifications from your Insurer

Ask your insurer for Insurance Type Classifications. Rules can be general or specific, e.g.:

  • Vehicles with Power-to-Weight ratio over 130 → High Performance

  • All Polestar electric vehicles → Prestige


2. Generate vehicle to insurance type mapping rules

Generate a CSV file containing mapping rules.


3. Upload into schinsurancetypemapping_rules


4. Create scheduler job

Update or extend existing variant profile creation job.


CSV File Structure

Content is uploaded to schinsurancetypemapping_rules.

Required Fields

  • schinsurancetypemappingrule_uuid (BIGINT) — Leave blank

  • ruleorder (TINYINT) — Rule evaluation order

  • selectiongroupid (INT) — Groups conditions with AND/OR logic

  • selectiongroupoperator (VARCHAR(3)) — NULL / AND / OR

  • selectionfield (VARCHAR(100)) — Field to evaluate

  • selection_operator (VARCHAR(10)) — SQL operator (=, IN, LIKE, etc.)

  • selection_value (VARCHAR(500)) — Value to match

  • insurancetypecode (VARCHAR(6)) — Target insurance type


Rule Behaviour Notes

  • Lower ruleorder runs first

  • First match wins

  • Last rule should be catch-all (65535)

  • Must match valid qtinsurancetypes codes

  • Invalid codes result in NULL assignment


Selection Fields Reference

Table

Alias

Example

qtmakes

make

make.name

qtmodels

model

model.modelcode

qtvariants

var

var.enginetype

qtpowerplanttypes

ppt

ppt.powerplanttypecode

qtfueltypetranslations

ftt

ftt.fueltypecode

qtvehicletypes

vt

vt.lctexempt_flag


Example Rules

Example 1: Excluded luxury makes → REFER

  • rule_order: 10

  • selection_field: make.name

  • operator: IN

('Alpina','Alpine','Aston Martin','Bentley','Bugatti','Ferrari','Lamborghini','Rolls-Royce')
  • insurancetypecode: REFER


Example 2: Electric vehicles → EV

  • rule_order: 20

  • selection_field: var.engine_type

  • operator: =

  • value: electric

  • code: EV


Example 3: Chevrolet Camaro → HP

Rule group 30:

Rule

Field

Operator

Value

1

make.name

=

Chevrolet

2

model.description

LIKE

%Camaro%

  • insurancetypecode: HP

  • selectiongroupoperator: AND


Example 4: Catch-all rule

  • rule_order: 65535

  • selection_field: ELSE

  • insurancetypecode: STD


Upload Process

Setup / Import Table Data

  • Module: _sch Scheduler

  • Table: schinsurancetypemapping_rules

  • Upload CSV file


Scheduler Job

Option 1 (Preferred)

Add to existing job after COMMIT:

CALL UpdateVariantInsuranceTypes;

Option 2 (New Job)

Create script:

CALL UpdateVariantInsuranceTypes;

Schedule:

  • Module: gb

  • Class: queries

  • Method: executeScript

  • Run after variant profile creation job


Gap Insurance

Gap Insurance may be included within a Comprehensive Insurance package or provided separately.


System Behaviour

1. Included in insurer policy only

  • Checkbox auto-enabled when insurer includes Gap Insurance

  • Disabled if insurer does not include it

  • No amount shown in Finance


2. Default gap amount exists

  • Checkbox always enabled

  • Amount auto-populated


3. Both exist (not recommended)

  • Checkbox always enabled

  • Amount always shown


Editing Rules

Gap Insurance Amount Field

  • Editable even if checkbox disabled

  • 0.00 → enables checkbox

  • = 0.00 → disables checkbox


Checkbox Sync Behaviour

  • Checked → amount copied into Finance

  • Unchecked → amount set to 0


Configuration Notes

  • Insurer gap availability stored in supplier code field

  • Default gap amount stored in system configuration

  • Field labels can be renamed in UI


Loan Termination Insurance (LTI)

Loan Termination Insurance is selected via:

  • Plan

  • Top Up Benefit


Behaviour

  • Changing contract type may remove LTI

  • Only active plans/benefits are selectable

  • Inactive records cannot be saved


Plan Logic

  • Single plan → auto-selected

  • Multiple plans → user selection required


Top Up Benefit

  • Premium auto-populates

  • Editable by user

  • Filtered by vehicle value limits

  • Single match → auto-selected


Finance Integration

LTI appears in:

  • Lease tab (Profile section)

  • Finance tab (Brokerage section)

  • Total Brokerage calculations


Setup Steps

1. Populate tables

  • qtltiplans

  • qtltitopupbenefits


2. Create posting class

  • Name: LTI - Loan Termination Insurance

  • Quote Profile Table: qtquotelti


3. Assign to contract types

Add to:

  • Contract Types → Accruals


4. Testing

  • Quote documents

  • Internal forms

  • Reports


Placeholders

Placeholder

Source Table

Field

{lti_gross}

qtquotelti

retailpricegross

{lti_cost}

qtquotelti

costpricenet

{lti_margin}

qtquotelti

margin_net

{lti_net}

qtquotelti

retailpricenet

{lti_gst}

qtquotelti

retailpricegst


Operating FBT Section

The FBT area summarises vehicle FBT cost using Operating Cost calculations.


Displayed Fields

  • Operating costs

  • Business percentage

  • Employee contributions

  • FBT amount

  • Tax


Reporting

Refer to:

  • FBT Operating Report page


CSV Output Includes

  • Business Area (contract location field)

  • Additional financial breakdown fields