BVD Passive Process:
Requirement:
CMD1-1347 -Automate customer type - MVP 1.0 Done
CMD1-4094 -BvD passive integration Done
BVD Passive Process Implementation Approach and Steps:
CMD1-3840 -BVD Passive Process - Analysis Done
API changes:
- Ingest Customer API:
- Insert customer code, bvd id info into BVD tracker table for all newly created customer
- Update BVD API:
- Update 2 wrapper end-points
- Retrieve BVD information from BVD by BVD Id
- Retrieve the matched BVD information list along with match-score for the given match criteria for a customer code.
- Add missing or additional response properties to existing BVD API
- Get MIM approval for all BVD API end-points
- Update 2 wrapper end-points
Scheduler Implementation:
- Frequency: 30min
- For BVD info enrichment, fetch all un-processed and newly created/updated(bvd_id) customer info from BVD tracker table
- Through BVD Wrapper API: OAS is available @SMDS - CMD - BVD API - OAS
- Retrieve BVD information for each customer code by BVD Id
- Retrieve BVD information list for each customer code by MATCH criteria, if BVD Id is not available in customer data
- Match Criteria:
- Name
- City
- Country
- StreetName
- House Number
- Building
- URL
- Phone
- PostalCode
- Region
- Tax Number
- Match Criteria:
- Filter the most relevant matched bvd record(if score is more than 90%)
- Filter records having >= 90% match score
- Filter by match hint having SELECTED / POTENTIAL records
- Filter one record that is having maximum score
- Enrich below fields from the BVD record received/filtered in customer_information, customer_bvd_information, customer_sic_information tables
- Legal Name
- Telephone number if not present in database
- Customer URL
- Customer BVD relationship information
- Finance Information
- SIC Info
- Automate customer type based on major sector information
- Below fields will be added/updated only if there is no prior BVD record available i.e. Customer is created without BVD Id initially.
- BVD Id
- BVD Status
- Add BVD details to Customer Identifiers
DB Changes:
- Create new tables:
- bvd_sync_track
- For CMD - BVD enrichment status tracking of newly created customers. This is the key table for BVD passive enrichment process.
- Table details: *
- cust_type_keywords - for Forwarder Keywords
- For maintaining Customer Type Forward/Shipping Lines Keywords. This is used for customer type automation process.
- Table details: *
- bvd_sync_track
Process Execution Flow:
Response Field / BVD API / DB Mapping:
| Field | BVD API Field | DB TABLE | Comments |
|---|---|---|---|
| BVD Id | BVDID | CUSTOMER_BVD_INFORMATION / bvd_idCUSTOMER_TAX_REF_INFO/ ref_type, ref_type_code, reference_value | Will be added/updated only if there is no prior BVD record available i.e. Customer is created without BVD Id initially. |
| BVD Status | STATUS | CUSTOMER_BVD_INFORMATION / bvd_customer_status | |
| Legal Name | NAME | CUSTOMER_BVD_INFORMATION / customer_legal_nameCUSTOMER_INFORMATION / legal_name | |
| Url | WEBSITE | CUSTOMER_INFORMATION / customer_website | |
| Phone Number | PHONE_NUMBER | CUSTOMER_INFORMATION / phone_type, isd_country_code, isd_dialing_code, phone_num | |
| Major Sector | MAJOR_SECTOR | CUSTOMER_BVD_INFORMATION / bvd_major_sector | |
| GUO BVD Id | GUO_BVD_ID_NUMBER | CUSTOMER_BVD_INFORMATION / guo_bvd_id | |
| HQ BVD Id | HQ_BVD_ID_NUMBER | CUSTOMER_BVD_INFORMATION / hq_bvd_id | |
| GUO BVD Name | GUO_NAME | CUSTOMER_BVD_INFORMATION / guo_bvd_name | |
| GUO BVD Status | GUO_STATUS | CUSTOMER_BVD_INFORMATION / guo_bvd_status | |
| HQ BVD Name | HQ_NAME | CUSTOMER_BVD_INFORMATION / hq_bvd_name | |
| HQ BVD Status | Note: As there is no field that represents HQ BVD STATUS from BVD API, We do update HQ STATUS by retrieving status by respective HQ BVD ID | CUSTOMER_BVD_INFORMATION / hq_bvd_status | |
| Market Cap | MARKETCAP | CUSTOMER_BVD_INFORMATION / market_cap | |
| Operating Revenue Turn over | OPRE | CUSTOMER_BVD_INFORMATION / operating_revenue_turn_over | |
| Date of Account | CLOSING_DATE | CUSTOMER_BVD_INFORMATION / date_of_account | |
| Profit Margin Percentage | PRMA | CUSTOMER_BVD_INFORMATION / profit_margin_percent | |
| Credit Rating | MORRAT | CUSTOMER_BVD_INFORMATION / credit_rating | |
| Recommended credit limit | MORCREDLIMIT | CUSTOMER_BVD_INFORMATION / recommended_credit_limit | |
| BVD Sector | BVD_SECTOR_CORE_LABEL | CUSTOMER_SIC_INFORMATION / bvd_sector | |
| Core SIC Code | USSIC_CORE_CODE | CUSTOMER_SIC_INFORMATION / core_sic_code | |
| Core SIC Description | USSIC_CORE_LABEL | CUSTOMER_SIC_INFORMATION / core_sic_desc | |
| Primary SIC Codes | USSIC_PRIMARY_CODE | CUSTOMER_SIC_INFORMATION / prim_sic_code | |
| Primary SIC Description | USSIC_PRIMARY_LABEL | CUSTOMER_SIC_INFORMATION / prim_sic_desc | |
| Secondary SIC Codes | USSIC_SECONDARY_CODE | CUSTOMER_SIC_INFORMATION / sec_sic_code | |
| Secondary SIC Description | USSIC_SECONDARY_LABEL | CUSTOMER_SIC_INFORMATION / sec_sic_desc |
BVD API - Match criteria mandatory fields:
| Field | Is mandatory? | |
|---|---|---|
| Active Process | Passive Process | |
| Trading Name | Either trading name or tax number is mandatory | Yes |
| Url | Not required | No |
| Tax Number | Either trading name or tax number is mandatory | No |
| Street Number | Not required | Street number or Street name or ApartmentOrFloor is mandatory |
| Street Name | Not required | |
| Apartment or Floor | Not required | |
| Postal Code | Not required | No |
| Region Name | Not required | No |
| City | No | Yes |
| Country ISO2 Code | Yes | Yes |
| Communication Number | Not required | No |
BVD Enrichment & Customer Type Automation Status Scenarios:
| S. No | Description | BVD Data Passive Enrichment | Customer TypeAutomation | Final comments(comments) | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Search | Retrieve | Data Available ? | Status(processed) | Comment | Automation | Status(is_cust_auto_complete) | Comment | |||
| 1 | BVD Enrichment (Search + Retrieve) - SUCCESSCust Type Automaton - SUCCESS | SUCCESS | SUCCESS | Y | Y | SUCCESS | Y | |||
| 2 | BVD Enrichment (Search + Retrieve) - SUCCESSCust Type Automaton - SUCCESS (An Active Segment already exists) | SUCCESS | SUCCESS | Y | Y | SUCCESS | Y | An Active Segment already exists | An Active Segment already exists | |
| 3 | BVD Enrichment (Search + Retrieve) - SUCCESS (No Data Available)Cust Type Automaton - SUCCESS | SUCCESS | SUCCESS | N | Y | No Data | SUCCESS | Y | No Data | |
| 4 | BVD Enrichment (Search + Retrieve) - SUCCESS (No Data Available)Cust Type Automaton - SUCCESS (An Active Segment already exists) | SUCCESS | SUCCESS | N | Y | No Data | SUCCESS | Y | An Active Segment already exists | No Data. An Active Segment already exists |
| 5 | BVD Enrichment (Search + Retrieve) - FAILURECust Type Automaton - SUCCESS | FAILURE | NA | NA | N | Search failure | SUCCESS | Y | Search failure | |
| 6 | BVD Enrichment (Search + Retrieve) - FAILURECust Type Automaton - SUCCESS (An Active Segment already exists) | FAILURE | NA | NA | N | Search failure | SUCCESS | Y | An Active Segment already exists | Search failure. An Active Segment already exists |
| 7 | BVD Enrichment (Search + Retrieve) - FAILURECust Type Automaton - FAILURE | FAILURE | NA | NA | N | Search failure | FAILURE | N | Automation failed message | Search failure. An Active Segment already exists |
| 8 | BVD Enrichment (Retrieve) - SUCCESSCust Type Automaton - SUCCESS | NA | SUCCESS | Y | Y | SUCCESS | Y | |||
| 9 | BVD Enrichment (Retrieve) - SUCCESSCust Type Automaton - SUCCESS (An Active Segment already exists) | NA | SUCCESS | Y | Y | SUCCESS | Y | An Active Segment already exists | An Active Segment already exists | |
| 10 | BVD Enrichment (Retrieve) - SUCCESS (No Data Available)Cust Type Automaton - SUCCESS | NA | SUCCESS | N | Y | No Data | SUCCESS | Y | No Data | |
| 11 | BVD Enrichment (Retrieve) - SUCCESS (No Data Available)Cust Type Automaton - SUCCESS (An Active Segment already exists) | NA | SUCCESS | N | Y | No Data | SUCCESS | Y | An Active Segment already exists | No Data. An Active Segment already exists |
| 12 | BVD Enrichment - ALREADY PROCESSEDCust Type Automaton - SUCCESS | NA | NA | NA | Y | SUCCESS | Y | |||
| 13 | BVD Enrichment - ALREADY PROCESSEDCust Type Automaton - SUCCESS (An Active Segment already exists) | NA | NA | NA | Y | SUCCESS | Y | An Active Segment already exists | An Active Segment already exists | |
| 14 | BVD Enrichment - ALREADY PROCESSEDCust Type Automaton - FAILURE | NA | NA | NA | Y | FAILURE | N | Automation failed message | Automation failed message | |
| 15 | BVD Enrichment (Retrieve) - FAILURECust Type Automaton - SUCCESS | NA | FAILURE | NA | N | Retrieve Failure | SUCCESS | Y | Retrieve Failure | |
| 16 | BVD Enrichment (Retrieve) - FAILURECust Type Automaton - SUCCESS (An Active Segment already exists) | NA | FAILURE | NA | N | Retrieve Failure | SUCCESS | Y | An Active Segment already exists | Retrieve Failure. An Active Segment already exists |
| 17 | BVD Enrichment (Retrieve) - FAILURECust Type Automaton - FAILURE | NA | FAILURE | NA | N | Retrieve Failure | FAILURE | N | Automation failed message | Retrieve Failure. Automation failed message |
Was this page helpful?