Configure Value Discovery App (if required)
In order for the Value Discovery (VD) App to work, modifications have to be made to the Data Model, as well as changes to some of the runtime variables.
Modifications to the Data Model
The Value Discovery App needs a new table added in the Data Model using the following steps:
Go to the Data Integration section of Celonis and select the Data Pool that you are using for the Starter Kit.
Click Data Jobs and then click on New Data Job with the option to add it as a Global (no data connection). We recommend naming it "Create Inefficiency Table."
Click on New Transformation. We recommend naming it "Create Inefficiency Table" and without any task template.
Paste the code provided below.
Select all code and click the Execute button.
Go to the Data Model that you are using for the Starter Kit. Add the INEFFICIENCIES table via the Add Tables button and then click Finish.
Reload the Data Model.
DROP TABLE IF EXISTS INEFFICIENCIES; CREATE TABLE INEFFICIENCIES ( INEFFICIENCY_NAME VARCHAR(100), TIME_TO_VALUE VARCHAR(100), BUSINESS_OBJECTIVE VARCHAR(100) ); INSERT INTO INEFFICIENCIES (INEFFICIENCY_NAME,TIME_TO_VALUE,BUSINESS_OBJECTIVE) SELECT 'Late Payments','B - Medium','Working Capital' UNION SELECT 'Unearned Cash Discount','B - Medium','Revenue Increase' UNION SELECT 'Bad Debt','B - Medium','Revenue Increase' UNION SELECT 'Unfavorable Payment Term Mismatch (Master Data)','C - High','Working Capital' UNION SELECT 'Manual Payment Term Changes','A - Low','Labor Productivity' UNION SELECT 'Payment Term Increases','A - Low','Working Capital' UNION SELECT 'Long Payment Terms (> DSO Target)','C - High','Working Capital' UNION SELECT 'Manual Clearing','A - Low','Labor Productivity' UNION SELECT 'Manual Posting','A - Low','Labor Productivity' UNION SELECT 'Invoice Errors or Disputes','B - Medium','Working Capital' UNION SELECT 'Manual Dunning Blocks','A - Low','Labor Productivity' UNION SELECT 'Manual Invoice Errors or Disputes Handling', 'A - Low', 'Labor Productivity' UNION SELECT 'Baseline Date Increases','B - Medium','Working Capital' UNION SELECT 'Payment Term Variation (Multiple PTs per Customer)','C - High','Working Capital'
Updating the Runtime Variables
Next, configure the runtime variables in the table below to your specifications.
Variable ID | Variable Description | Default Value |
---|---|---|
days-dso | Days DSO used for DSO Calculation | 360 |
postingKeysCreditSales | Posting keys considered for calculating DSO | 01' |
userTypesAutomatedTouchlessCollection | Defines user types considered as manual | 'B','S' |
userTypesManualTouchlessCollection | Defines user types considered as automatic. | 'A' |
activitiesConsideredTouchless | Activities considered in Automation Rate/ Touchless Collection Rate | 'Clear Invoice','Enter in SAP','Set Dunning Block','Remove Dunning Block','Change Payment','Create Credit Memo' |
currency | The runtime variable “currency” defines the target currency used in the Process Cockpit in all formulas describing monetary values. Please use the SAP naming conventions (e.g USD, EUR, and not symbols like $ or €). The currency conversion tables are coming from SAP directly (TCURR, TCURF, TCURX) and just have to be added as raw tables into the data model used without any connection. It’s important to ensure that the SAP currency conversion tables contain conversion rates from all document currencies (e.g. USD) to the selected target currency (e.g. EUR), as values with missing conversion rates are excluded from the conversion. | EUR |
dsoGraphPeriod | Defines period for DSO calculation in graph | INVOICE_DATE_QUARTER |
fteCostAnnual | Total annual cost of a Full time employee | 55000 |
fteHoursAnnual | Total number of hours of a Full time employee | 1800 |
clearingActivity | Activity defining the clearing of the invoice | 'Clear Invoice' |
postingActivity | Activity defining the posting of the Invoice | ‘Enter in SAP’ |
setDunningBlockActivity | Activity defining the Setting of a Dunning Block | ‘Set Dunning Block’ |
removeDunningBlockActivity | Activity defining the Removal of a Dunning Block | ‘Remove Dunning Block’ |
activityInvoiceErrorDispute | Activity showcasing the presence of a dispute | 'Create Credit Memo' |
badDebtThreshold | Threshold after which a Payment cannot be collected anymore | 180 |
Invoice Error Dispute Field | Field changing as a dunning block is set, showing the presence of a Dispute | ‘D’ |
baselineDateField | Field indicating the Baseline Date | 'ZFBDT' |
changePaymentTermActivity | Activities that show a change in the Payment Term Days | 'Change Payment Days 1', 'Change Payment Days 2', 'Change Payment Days 3' |
Important
For the app to work properly, click the Publish button in the upper-right corner to publish the app.
Invoice Errors or Disputes Inefficiency
The definition of Invoice Errors or Disputes requires two conditions:
The presence of a Dunning Block, meaning the presence of both activities: Set Dunning Block and Remove Dunning Block.
The presence of a dispute is indicated by the Invoice Error Dispute Field. This field is changed as the Dunning Block is set.
The PQL summarizing this conditions is as follows:
CASE WHEN PU_SUM(${VAR_TRANSACTION_TABLE},CASE WHEN ${VAR_ACTIVITY_TABLE}."ACTIVITY_EN" IN (${VAR_ACTIVITY_REMOVE_DUNNING_BLOCK},${VAR_ACTIVITY_SET_DUNNING_BLOCK}) AND ${VAR_ACTIVITY_TABLE}."CHANGED_FROM" IN (${VAR_FIELD_INVOICE_ERROR_DISPUTE}) THEN 1 ELSE 0 END)> 0 THEN 1.0 ELSE 0.0 END
However, it may be the case that a good indicator of the presence of a dispute is the Activity Create Invoice Memo.
The PQL summarizing this condition is as follows:
CASE WHEN PU_SUM(${VAR_TRANSACTION_TABLE},CASE WHEN ${VAR_ACTIVITY_TABLE}."ACTIVITY_EN" IN (${VAR_ACTIVITY_INVOICE_ERROR_DISPUTE})THEN 1 ELSE 0 END) > 0 THEN 1.0 ELSE 0.0 END
Based on the specific customer implementation, it may be necessary to change the definition of this inefficiency.