P2P analysis for Oracle eBS toolkit

The P2P Analysis for Oracle eBS toolkit is an analytics-as-a-service solution for monitoring purchase to payment (P2P) risk for organizations using Oracle ERP systems. It analyzes and reports P2P data from Oracle that may indicate fraud, waste or abuse.

The toolkit comes as a pre-configured solution that is applicable to most customers. Once deployed, you can update the analysis robot toolkit with new scripts as we release them. You can further customize it by adding custom scripts to refine the toolkit. The imported data can be output to Results or Excel files.

Note

The P2P Analysis for Oracle eBS Robot does not support the following:

  • Analytics Exchange (AX)
  • Robots Cloud Agent for production purposes
  • Custom analytics and data sources
  • Any reporting other than Excel/Results outputs

System and subscription requirements

Ensure that you meet the following subscription and system requirements to use the P2P Analysis for Oracle eBS Robot toolkit.

Requirement Notes
ACL Robotics Enterprise Edition Robot toolkits are available as add-ons

On-premise Robots Agent version 15

Verify the version to be installed - Unicode or Non-Unicode

ACL for Windows version 15
  • Ensure that the installation uses the same encoding as the Robots Agent(Unicode or Non-Unicode).
  • Having a local installation of ACL for Windows can be helpful for troubleshooting purposes or for developing custom scripts.
Oracle eBS Data Integration Robot Ensure that the Oracle eBS Data Integration Robot has been successfully deployed into your organization and is currently running.

About the toolkit

The toolkit installs several components in Diligent One.

Component Count Name
Collection 2

P2P Analysis For Oracle eBS - Development

P2P Analysis For Oracle eBS - Production

Analysis

2

Vendor Management Analysis (one per Collection)
Robot 1 P2P Analysis For Oracle EBS
Analytic Tables 26 For more information, see Analytics for Oracle eBS.

P2P Analysis For Oracle EBS

The P2P Analysis for Oracle eBS robot is automatically created when the toolkit is installed. This robot contains the following:

  • Analytic scripts - Contains the core scripts to import and process data.

    Note

    You should not modify the analytic scripts. Modifying the scripts may result in failures while running tasks. Any modifications required should be configured in the User Analytic Configuration file or uploaded as custom analytic scripts.

  • (Optional) Custom analytic scripts - Scripts that are manually uploaded to add new customer-specific analytic capabilities to the robot or make a data logic changes. These scripts take precedence over the default analytic scripts and should be thoroughly reviewed.

  • Configuration files - All the configuration files listed in the following table are available in the Input/Output tab of the robot.

    File Name Description Mode
    P2P_Oracle_Default_
    Analytic_Configuration.xlsx

    Contains default configurations

    Note

    You should not modify this file. Modifying the file may result in failures while running tasks. Any modifications required should be configured in the User Analytic Configuration file or uploaded as custom analytic scripts.

    Generated automatically by the robot
    Result_Table_IDs.csv Contains the destinations for the tables exported to Results, within the respective Development and Production collections.

    Generated automatically by the robot

    User Analytic Configuration File

    Contains custom configurations that must override configurations provided in the default analytic configuration file.

    Configurations in this file takes precedence over inputs in the default analytic configuration file.

    NOTE: If customizations exceed the capabilities of the User Analytic Configuration file, a custom script may be added.

    Manually uploaded when implementing the toolkit
  • Robot task - Executes the default and custom scripts within the robot and contains the following information.

    Parameter Description
    Export to HighBond Results?

    Specifies whether to export imported data to Results. Options available are as follows:

    • Export to Results - Overwrite - Overwrite the data in results tables each time data is exported.
    • Export to Results - Append - Appends data to the results tables.
    • Do not export - Does not export data to Results.
    Export to Excel?

    Specifies whether to export the current results to an Excel file or not. Options available are as follows:

    • Export to Excel
    • Do not export
    HighBond Access Token

    Token required to connect to Results. If exporting to Results is disabled, any random value can be provided for this parameter.

Linked tables

The required shared tables from the Oracle eBS Data Integration robot is linked to the P2P Analysis for Oracle eBS robot in the Input/Output tab. When the analysis robot task runs, it pulls data from the linked tables and uses it to process the core analytic logic defined.

Note

You can create multiple analysis robots and link only the required tables to segregate the robots for specialized tasks or set of tasks.

Analytics for Oracle eBS

The analytics for Oracle eBS are listed in the following table.

Error logging

Any errors detected while running the task are logged to the Error Log table for each analytic. If the record count is 0, an error message is written to the Error Log table.

Tip

Review the error log after the task runs, even if the analytic returned no exceptions to ensure that the table was not flagged as having 0 records. For example, user input parameters from the User Analytic Configuration file can be ignored if the file is not formatted properly.

What each analytic does

Analytic Name Description
P2P01VM_Vendor_
Missing_Phone_Number

This analytic identifies vendors with no primary phone number in the vendor master file.

It checks the field AP_Supplier_Sites_All for any missing phone numbers by first stripping of non-numeric digits and then analyzes the remaining data for any blanks.

The result table for this analytic is R_P2P01VM_Vendor_Missing_Phone_Number.

P2P03VM_Vendor_
Missing_Tax_ID

This analytic identifies vendors with no primary tax ID associated in the vendor master file.

It checks the field UNIQUE_TAX_REFERENCE_NUM for any missing tax IDs by stripping of non-alphanumeric digits and then analyzes the remaining data for blanks.

The result table for this analytic is R_P2P03VM_Vendor_Missing_Tax_ID.

P2P04VM_Vendor_
PO_BOX_Addresses

This analytic identifies vendors where the address field contains a PO Box reference, in particular, those results with only a PO Box reference and no street address.

  • The script analyzes the field c_Full_Vendor_Address_SupplSites, which concatenates fields Address_Line1, Address_Line2, and Address_Line3.

  • The P_Vendor_Master data preparation script initially creates the field as c_Full_Vendor_Address and later adds the suffix SupplSites.

  • To check for street addresses that contain references to PO boxes, the script uses a default parameter filter v_P2P04VM_pobox, which looks for variations of English language words, such as PO Box, Post Office Box, POB, etc.
  • To increase chances of detecting matches where only a PO Box is found (with no street address), the parameter v_p2p04vm_address_length can be used to specify the maximum number of alpha characters to be reported in the field c_Full_Vendor_Address_SupplSites.

Two default parameters are available for this analytic in the Default_Config_Params worksheet of the Default Analytic Configuration File. If the default parameters do not apply, or are incomplete, you can declare the required values in the User Analytic Configuration File. Ensure that you follow the format and naming conventions as is from the Default Analytic Configuration File.

  • v_P2P04VM_pobox - Modify the regular expression as needed. For example, modify it to search for additional strings in other languages.

  • v_p2p04vm_address_length - Enter the maximum number of alpha characters to be reported in the field c_Full_Vendor_Address_SupplSites when a variation of PO Box is found.

The result table for this analytic is R_P2P04VM_Vendor_PO_BOX_Addresses.

P2P05VM_Vendor_
Similar_Names

This analytic identifies vendors with similar names with common company suffixes, such as Inc and Ltd removed. This analytic tests the field c_Vendor_Name_Stripped, created in the data preparation script P_Vendor_Master.

It uses the FUZZYDUP command, with the user defining parameters, such as the minimum percentage match, Levenshtein distance to be applied, to detect similar names and excludes exact matches on vendor name (optional). By default, exact matches are included in the results.

The results of this analytic are presented in groups of similar or duplicated vendors names. The same vendor may be reported in multiple groups. For information on the processes applied by the FUZZYDUP command, see Fuzzy duplicates analysis.

The vendor country is not considered when checking for duplicates.

Three default parameters are available for this analytic in the Default_Config_Params worksheet of the Default Analytic Configuration File. If the default parameters do not apply, or are incomplete, you can declare the required values in the User Analytic Configuration File. Ensure that you follow the format and naming conventions as is from the Default Analytic Configuration File. You can use the following information to populate the values correctly in the User Analytic Configuration File:

  • v_P2P05VM_levdist - The maximum allowable Levenshtein distance between two strings for them to be identified as fuzzy duplicates and included in the results. The LEVDISTANCE value cannot be less than 1 or greater than 10. Increasing the LEVDISTANCE value increases the number of results by including values with a greater degree of fuzziness.
  • v_P2P05VM_diff_perct - A threshold that limits the difference percentage or the proportion of a string that can be different. The percentage that results from an internal analytic calculation performed on potential fuzzy duplicate pairs must be less than or equal to the DIFFPCT value for the pair to be included in the results. The DIFFPCT value cannot be less than 1 or greater than 99. If DIFFPCT is omitted, the threshold is turned off and difference percentage is not considered while processing the FUZZYDUP command.
  • v_P2P05VM_exact - Includes (T) or excludes (F) exact duplicates in the results.

The result table for this analytic is R_P2P05VM_Vendor_Similar_Names.

P2P06VM_Vendor_
Same_Address

This analytic identifies vendors with same addresses, based on street addresses with generic street suffixes, such as Street, Road, Rd, or Avenue, replaced by a standardized abbreviation. Addresses are identified as same when they meet one or both of the following criteria:

  • Standardized street address is identical
  • Combined numeric digits in the street address and postal code are identical

Vendors with a blank street address are not included in the analysis. Vendor addresses that contain only non-alphanumeric characters, such as hyphens (-) are considered as blank.

The results of this analytic are presented in groups of matched addresses with the field c_Match_Type, which identifies whether it is an address match or a numeric match. The field c_Matched_Key identifies the address component matched by the vendors in the group. When vendors match on both criteria, they are reported only once, as an address match.

If the result group of the numeric match has additional vendors that are not matched on street address, both groups are reported in full. A vendor can be a member of more than one result group. For example, Vendor A’s physical address may match that of Vendor B's, and Vendor A’s combined numeric digits may match that of Vendor C.

The result table for this analytic is R_P2P06VM_Vendor_Same_Address.

P2P07VM_Vendor_
Same_Phone_Number

This analytic identifies vendors whose primary or secondary phone numbers match that of another vendor. Telephone numbers are reported as same when their numeric digits are identical after removal of any non-numeric characters, such as hyphens or brackets.

Primary or secondary telephone numbers that are blank are not included in the analysis. Telephone numbers with only non-numeric characters, such as hyphens or brackets are considered blank.

The results of this analytic are presented in groups of matched telephone numbers with the field c_Match_Type that identifies whether a vendor’s primary or secondary phone number is matched. Field c_Matched_Key identifies the telephone number that was matched by the vendors in the group.

For a phone number to be reported, that number must be used by at least two distinct vendor IDs. Multiple sites of the same vendor sharing the same phone number are not reported if no other vendor matches the phone number. For phone numbers that meet this criteria, all of a vendor’s sites using the number are reported.

The result table for this analytic is R_P2P07VM_Vendor_Same_Phone_Number.

P2P09VM_Vendor_
Same_Tax_ID

This analytic identifies vendors whose tax ID matches that of another vendor. It verifies the field UNIQUE_TAX_REFERENCE_NUM. Tax IDs are reported as same when the alphanumeric characters are identical, after removing any non-alphanumeric characters, such as hyphens or brackets.

Blank tax IDs are not included in the analysis. Tax IDs with only non-alphanumeric characters, such as hyphens or brackets, are considered as blank.

The results of this analytic are presented in groups of matched Tax IDs, with the field c_Match_Type identifying type of match the analytic tested (Tax ID). Field c_Matched_Key identifies the tax ID matched by the vendors in the group, after removal of any non-alphanumeric characters.

For a Tax ID to be reported, that number must be used by at least two distinct vendor IDs. Multiple sites of the same vendor sharing the same tax ID are not reported if no other vendor matches the ID. For tax IDs that meet this criteria, all of a vendor’s sites using the ID are reported.

The result table for this analytic is R_P2P09VM_Vendor_Same_Tax_ID.

P2P10VM_Vendor_
Employee_Name_Match

This analytic identifies vendors whose company name matches either an employees first name or last name, or both. For specific scenarios, the analytic matches the names as follows:

  • Uses the last name for employees with only a single letter as the first name or a blank first name.
  • Uses the first name for employees with only a single letter as the last name or a blank last name.
  • Excludes employee records with no first or last name from analysis.

To match a vendor and an employee, the country must be the same (field Country from the AP_Vendor_Sites_All and the PER_Addresses tables). Each unique vendor-employee combination is assigned a group ID, which helps for filtering matched vendors and their sites for a given employee easily.

A vendor may match for more than one employee. For example, vendor Alexander Muller Inc matches employees Alexander Smith and Sarah Muller.

An employee may match for more than one vendor. For example, employee Alexander Smith matches vendors Alexander Muller Inc and Smith Brothers Ltd.

The result table for this analytic is R_P2P10VM_Vendor_Employee_Name_Match.

P2P11VM_Vendor_
Employee_Address_Match

This analytic identifies vendors whose physical address or numeric postal code matches that of an employee in the same country. Addresses of both vendors and employees are standardized prior to comparison by replacing generic street suffixes, such as Street, Road, Rd, and Avenue, with standardized abbreviations.

Addresses are matched when they meet one or both of the following criteria:

  • Standardized street address is identical
  • Combined numeric digits in the street address and the postal code are identical

The analytic does not include vendors and employees with blank street addresses. Addresses that contain only non-alphanumeric characters, such as hyphens, are considered as blank. The results of this analytic are presented in groups of matched addresses, with vendor and employee fields displayed side by side.

  • Field c_Match_Type identifies whether the match is an address match or a numeric match.
  • Field c_Matched_Key identifies the address component that matched between the vendor site and employees in the group.

When vendors and employees match on both criteria, they are reported only once, as an address match. If the result group of the numeric match has additional vendors or employees that are not matched on street address, both groups are reported in full.

A vendor can be a member of more than one result group. For example, Vendor A’s physical address may match Employee A, and Vendor A’s combined numeric digits may match Employee B.

To detect a match between an employee and a vendor, the vendor country and employee country must be the same.

The result table for this analytic is R_P2P11VM_Vendor_Employee_Address_Match.

P2P12VM_Vendor_
Employee_Phone_
Number_Match

This analytic identifies vendors whose primary or secondary phone numbers match that of an employee. For an employee, the script tests the three phone numbers: Work_Phone, Telephone_Number_1, and Telephone_Number_2.

Telephone numbers are reported as same when their numeric digits are identical, after removal of any non-numeric characters, such as hyphens or brackets. Blank primary or secondary telephone numbers are not included in the analysis. Telephone numbers with only non-numeric characters, such as hyphens or brackets are considered as blank.

The results of this analytic are presented in groups of unique vendor-employee combinations.

  • Field c_Match_Type identifies the employee's phone numbers that matched.
  • Field c_Matched_Key identifies the telephone number that matched the employee and vendor.

A vendor can be a member of more than one result group. For example, Vendor A’s primary phone number may match Employee B, and Vendor A’s secondary phone number may match Employee C.

To detect a match between an employee and a vendor, the vendor country and employee country must be the same.

The result table for this analytic is R_P2P12VM_Vendor_Employee_Phone_Number_Match.

P2P15VM_Vendor_
Summary_Matrix

This analytic obtains vendor counts through the matrix table generated by the enabled analytics. Each matrix table summarizes the results of the analytic to obtain an exception count per unique vendor ID (not counting multiple company codes associated with a vendor). The vendor entity can be any of the following:

  • Vendor ID for analytics that test data at the AP_Supplier level
  • Vendor ID and site ID for analytics that test data at the AP_Supplier_Sites_All level

This analytic accumulates the matrix data from all analytics and cross-tabulates the results across each vendor, vendor site ID, and analytic. A computed field calculates the total exception counts by vendor across all exceptions, and sorts the results in descending order on total count.

The Vendor Summary Matrix allows for a targeted review of the vendors that have been flagged the most across all analytics.

Only those vendors with exceptions in at least one of the enabled analytics are included. Any other enabled analytics without exceptions for the vendor are counted as 0. Vendors with no exceptions in any analytics are not included. If none of the enabled analytics generated any exceptions, there are no vendors to report and the matrix will be empty. This scenario is logged in the Error Log table and identifies the reason for the matrix being empty.

The result table for this analytic is R_P2P15VM_Vendor_Summary_Matrix.

Reporting fields are handled differently from other analytics. There are three vendor fields - Vendor_ID_Suppl, Vendor_Site_ID_SupplSites, and c_Full_Vendor_Name_Suppl. These fields can be given a different display name or removed from being reported. The individual exceptions count fields by vendor and analytic, and the total exception count cannot be modified and are not listed as reporting fields in the Default Analytic Configuration File.