Genpact Cora Knowledge Center

Support

Eyeball Configuration

Overview

The predefined configuration in the eyeball-condition yaml file defines the criteria for deciding whether the system performs the eyeball step. The criteria could be extraction confidence level of a field or specific value in a field or more.

The configuration in the eyeball-client-configuration yaml file decides which and how the fields will appear in the eyeball screen in the portal.

Template

eyeball-condition.yaml
kind: ruleSet 
metadata: 
  name: extraction/v1/documents/eyeballing-decision 
spec: 
  nodes: 
  - if: 'it["InvoiceTotal"].Confidence > 0.99' 
    then: 
      decision: false 
  - if: 'it["VendorName"].Value != "ABC"' 
    then: 
      decision: true 
  - if: '1=1'
    then:
      decision: true
			
Parameter Description
If then The condition based on which eyeballing is decided.

For example, in the above template, if the confidence level of Invoice Total field is more than 0.99 then eyeballing step is not performed.

eyeball-client-configuration.yaml
kind: document
metadata:
  name: extraction/v1/documents/eyeball-client-configuration
spec:
  fields:
    - name: "Case_Id"
      description: "Invoice Name"
      visible: false
      enable: false
      defaultControlType: "TextBox"

    - name: "DocumentType"
      description: "Document type"
      visible: true
      mandatory: true
      displayOrder: 20
      enable: true
      defaultControlType: "ComboBox"
      validation: >
        {
          "clearPattern": "[^a-zA-Z0-9 ]+"
        }
      controlOptions: >
        {
          "filter": "contains",
          "dataTextField": "value",
          "dataValueField": "value",
          "dataSource":[
            { "value": "Merchandize" },
            { "value": "Freight Only" },
            { "value": "Drop Shipments" }
          ]
        }

    - name: "VendorNumber"
      description: "Vendor Number"
      visible: true
      mandatory: true
      enable: true
      displayOrder: 90
      defaultControlType: "MultiColumnComboBox"
      controlOptions: >
        {
          "dataTextField": "VendorNumber",
          "dataValueField": "VendorNumber",
          "columns": [
            { "field": "VendorName", "title": "Vendor Name", "width": 200 },
            { "field": "VendorNumber", "title": "Vendor Number", "width": 200 },
            { "field": "VendorType", "title": "Vendor Type", "width": 200 }
          ],
          "filter": "contains",
          "virtual": {
              "itemHeight": 33
          },
          "height": 330,
          "dataSource": {
              "transport": {
                  "read": { 
                    "url": "/api/components/data-model/v1/query/VendorsByNumber",
                    "contentType": "application/json"
                  }
              },
              "pageSize": 40,
              "serverPaging": true,
              "serverFiltering": true
          }
        }
      
    - name: "RejectReason"
      description: "Reject Reason"
      visible: true
      displayOrder: 300
      defaultControlType: "ComboBox"
      controlOptions: >
        {
          "filter": "contains",
          "dataTextField": "value",
          "dataValueField": "value",
          "dataSource":[
            { "value": "Currency mismatch between invoice and PO/NPO" },
            { "value": "Duplicate Remit To Address" },
            { "value": "Full split failure" },
            { "value": "Incorrect Bill To Address" },
            { "value": "INVOICE RESCAN REQUIRED" },
            { "value": "Multiple invoices in single pdf" },
            { "value": "OpCo Code Not Found" },
            { "value": "Partial split failure" },
            { "value": "PO - Cancelled/ Invalid/ Not Found" },
            { "value": "Required information missing" },
            { "value": "Vendor Creation Required" },
            { "value": "Vendor does Not Match Invoice" },
            { "value": "Vendor Modification Required" }
          ]
        }

    - name: "InvoiceLineItem"
      description: "Line Items"
      typeName: "InvoiceLineItem"
      defaultControlType: "Array"
      fields:
        - name: "LineItemNumber"
          description: "LineItemNumber"
          visible: false
          defaultControlType: "TextBox"

        - name: "Description"
          description: "Description"
          defaultControlType: "TextBox"
          width: "45%"

        - name: "CatchWeight"
          description: "CatchWeight"
          defaultControlType: "TextBox"
Parameter Description
Name Determines the name of the field in JSON.
Description Adds a brief description of the field.
Visible Determines if the field is displayed in the UI.
Mandatory Determines whether the field value is mandatory.
Enable Determines whether the field is enabled.
displayOrder Determines the order in the UI where the field is displayed.
controlType Determines the type of the field like Textbox or Combo box.
controlOptions Determines filters on the field.

For example, for an Invoice extraction, one of the fields could be Document type and its parameters could be the following:

name: "DocumentType" The name of the field in the JSON is DocumentType.
description: "DocumentType"
A small description of the field.
mandatory: true It is mandatory to have a value of the field.
enable: true
The field is enabled.
visible: true This field is visible in the UI.
displayOrder: 20 In the UI the place of this field is 20 in order.
controlType: "ComboBox" This field is a combo box.
"filter": "contains", This field contains filters.
{"value": "Merchandize"},
{"value": "Freight Only"},
{"value": "Drop Shipments"}
Values for the combo box.

Add business columns to Eyeball task grids

  1. Duplicate the Update Unsigned Solution Variables workflow.
  2. Add a new application variable:
    • Name: UpdateVariableWorkflowName
    • Value: The name of the workflow space created in Step 1.
  3. For the OOTB Global variables, there are two default columns, Vendor Name and Invoice Amount.
  4. To add additional columns to the grid:
    1. Select the IDE Eyeball solution.
    2. Click on ManageUnsignedSolutionVariables.
    3. Add the required variable(s).
    4. Go to the workflow duplicated in Step 1.
    5. Edit the Update Variables activity to add the required variable(s) to the list.