Additional Angle Field Mappings
Residency Status
Field location: Drivers / Finance tab.
Angle Finance field name: visaStatus
Residency Status field mapped to visaStatus. Below are accepted values by Angle Finance.
Accepted Values
Mappings
Catch-e Residency Status options mapped to Angle Finance:
Mapping Updates
If Angle modify list by adding field name options or removing existing values, refer Mapping Updates process pages.
Useful Queries
Angle Mapping
select tif.table_name, tif.field_name, tift.field_value, tif.interface_field_name, tift.interface_value from qt_interface_fields as tif left join qt_interface_field_translations as tift on tift.interface_field_id = tif.interface_field_id where tif.interface_type = 'angle' and tift.status_flag = 'active' and tif.field_name = 'residency_status' order by tif.table_name, tif.field_name, tift.field_value; Title
Field location: Drivers / Contact page.
Angle Finance field name: title
Catch-e Salutation field equivalent to Angle Finance Title field. Below are accepted values by Angle Finance.
Accepted Values
Mappings
Catch-e Salutation options mapped to Angle Finance:
Mapping Updates
If Angle modify list by adding field name options or removing existing values, refer Mapping Updates process pages.
Useful Queries
Angle Mapping (7 Records)
select tif.table_name, tif.field_name, tift.field_value, tif.interface_field_name, tift.interface_value from qt_interface_fields as tif left join qt_interface_field_translations as tift on tift.interface_field_id = tif.interface_field_id where tif.interface_type = 'angle' and tift.status_flag = 'active' and tif.field_name = 'salutation' order by tif.table_name, tif.field_name, tift.field_value; Salutation Count by Mapping
select count(d.driver_id) as drivers, d.salutation, st1.interface_value from fm_drivers as d left join (select tif.table_name, tif.field_name, tift.field_value, tif.interface_field_name, tift.interface_value from qt_interface_fields as tif left join qt_interface_field_translations as tift on tift.interface_field_id = tif.interface_field_id where tif.interface_type = 'angle' and tift.status_flag = 'active' and tif.field_name = 'salutation') as st1 on st1.field_value = d.salutation group by d.salutation order by d.salutation, st1.interface_value; Mapping Framework
Application sent to Angle Finance must contain data in format their system accepts.
Example: Insurer Name in Catch-e stored as 'ABC Insurance', but Angle requires sent as 'ABC'. Done by mapping system fields to required JSON fields, or using tables to translate system field values into required JSON field values.
Tables populated with default entries based on information provided by Angle Finance at API development.
Translation Mappings
Two tables used to create translation mappings:
[qt_interface_fields] - lists each system table and field requiring translation with matching Angle field
[qt_interface_field_translations] - lists each eligible translation
qt_interface_fields Table
Table stores Angle field_name definition and maps to Catch-e [table]field_name data extracted from. Updates require development. Content shown below accurate at API deployment time.
qt_interface_field_translations Table
Needs populated for each field included in [qt_interface_fields]. Some translations client specific and set up based on existing client data.
Select each interface_field_name in list above to see mapping set up between Catch-e and Angle Finance current at API development time.
Mapping Updates assist if changes required to existing setup.
Useful Queries
Interface Fields and Translation Count
select tif.interface_type, tif.interface_field_name, tif.table_name, tif.field_name, count(tift.interface_field_translation_id) as translations from qt_interface_fields as tif left join qt_interface_field_translations as tift on tift.interface_field_id = tif.interface_field_id and tift.status_flag = 'active' where tif.interface_type = 'angle' group by tif.table_name, tif.field_name, tif.interface_field_name order by tif.table_name, tif.field_name, tif.interface_field_name; Angle Interface Asset Condition Mappings
select tif.interface_type, tif.interface_field_name, tift.interface_value, tif.table_name, tif.field_name, tift.field_value from qt_interface_field_translations as tift inner join qt_interface_fields as tif on tif.interface_field_id = tift.interface_field_id and tif.interface_type = 'angle' and tif.interface_field_name = 'assetCondition'; Occupation Type
Field location: Drivers / Finances page.
Angle Finance field name: occupationType
Occupation Type field mapped to occupationType. Below are accepted values by Angle Finance.
Accepted Values
Mappings
Suggested Occupation Type mapping. 50+ Catch-e occupations mapped to 7 Angle Finance categories:
** If no other mapping matches, null mapping record applied.
Mapping Updates
If Angle modify list by adding field name options or removing existing values, refer Mapping Updates process pages.
Useful Queries
Occupation Type Values
select tif.interface_type, tif.interface_field_name, interface_value, tif.table_name, tif.field_name from qt_interface_field_translations as tift inner join qt_interface_fields as tif on tif.interface_field_id = tift.interface_field_id and tif.interface_type = 'angle' and tif.interface_field_name = 'occupationType' GROUP BY tift.interface_value; Occupation Type List with Mappings
select proper(doc.description) as occupation_type, st1.interface_value, st1.interface_field_name, st1.interface_type, st1.table_name, st1.field_name, st1.field_value from fm_driver_occupation_codes as doc left join (select tif.interface_type, tif.interface_field_name, interface_value, tif.table_name, tif.field_name, tift.field_value from qt_interface_field_translations as tift inner join qt_interface_fields as tif on tif.interface_field_id = tift.interface_field_id and tif.interface_type = 'angle' and tif.interface_field_name = 'occupationType') as st1 on st1.field_value = doc.driver_occupation_code order by doc.description; Residential Status
Field location: Drivers / Finances tab.
Angle Finance field name: residentialStatus
Residential Status field mapped to residentialStatus. Below are accepted values by Angle Finance.
Accepted Values
Mappings
Catch-e Residential Status options mapped to Angle Finance:
Mapping Updates
If Angle modify list by adding field name options or removing existing values, refer Mapping Updates process pages.
Useful Queries
Angle Mapping
select tif.table_name, tif.field_name, tift.field_value, tif.interface_field_name, tift.interface_value from qt_interface_fields as tif left join qt_interface_field_translations as tift on tift.interface_field_id = tif.interface_field_id where tif.interface_type = 'angle' and tift.status_flag = 'active' and tif.field_name = 'residential_status' order by tif.table_name, tif.field_name, tift.field_value; Financial Circumstances
Driver Income and Expense and Driver Assets and Liabilities field mappings for financialCircumstances section of application JSON.
Income and Expense Fields
Assets and Liabilities Fields
Assets
Liabilities
Insurer Name
Field location: Quotes / Lease tab in Comprehensive Insurance Profile window.
Angle Finance field name: insurerName
Catch-e Supplier Code mapped to Angle Finance Insurer Name. Contact Catch-e with list of Supplier Codes to map as not all may apply.
Accepted Values
Mapping Updates
If Angle modify list by adding field name options or removing existing values, refer Mapping Updates process pages.
Useful Queries
Insurer Name Values
select tif.interface_type, tif.interface_field_name, interface_value, tif.table_name, tif.field_name, tift.field_value from qt_interface_field_translations as tift inner join qt_interface_fields as tif on tif.interface_field_id = tift.interface_field_id and tif.interface_type = 'angle' and tif.interface_field_name = 'insurerName' ORDER BY tift.interface_value; Insurers List with Mappings
select s.supplier_code, s.supplier_type, st1.interface_value, st1.interface_field_name, st1.interface_type, st1.table_name, st1.field_name, st1.field_value from fm_suppliers as s left join (select tif.interface_type, tif.interface_field_name, interface_value, tif.table_name, tif.field_name, tift.field_value from qt_interface_field_translations as tift inner join qt_interface_fields as tif on tif.interface_field_id = tift.interface_field_id and tif.interface_type = 'angle' and tif.interface_field_name = 'insurerName') as st1 on st1.field_value = s.supplier_code where s.supplier_type = 'insurer' order by st1.interface_value desc; Set-up Queries for Catch-e Staff
Update Mapping Records
START TRANSACTION; update qt_interface_field_translations set field_value = 'Code 1' where interface_field_translation_id = UUID1; update qt_interface_field_translations set field_value = 'Code 2' where interface_field_translation_id = UUID2; COMMIT; Insert Mapping Records
select * from qt_interface_fields where interface_type = 'angle' and interface_field_name = 'insurerName'; start transaction; select @interface_field_id := interface_field_id from qt_interface_fields where interface_type = 'angle' and interface_field_name = 'insurerName'; INSERT into qt_interface_field_translations (interface_field_translation_id, interface_field_id, field_value, interface_value) VALUES (uuid_short, @interface_field_id, 'supplier_code1', 'insurerName1'); INSERT into qt_interface_field_translations (interface_field_translation_id, interface_field_id, field_value, interface_value) VALUES (uuid_short, @interface_field_id, 'supplier_code2', 'insurerName2'); commit; Notes
[qt_interface_fields] defines mapping structure and links Catch-e fields to Angle interface field names
[qt_interface_field_translations] contains actual translation values for each mapping
Some translations have zero translation records (like ESTFEENL, ORIGFEE) as they map directly without translation
Translations count indicates number of field value mappings configured for each interface field
Failed application results when mapped value not accepted by Angle Finance (e.g., Mx, null, Capt for title field)
Client specific mappings may differ from default mappings based on business requirements
Financial Circumstances covers Driver Income/Expense and Driver Assets/Liabilities mappings
Insurer Name requires contact with Catch-e for custom mapping setup