21 Supplier Penalties

The Supplier Penalties module is an application available in Supply Chain Hub. This chapter describes the implementation considerations and the operation details for this application.

Implementation Overview

Supplier Penalties gives the possibility to automate the creation of penalties that will translate into a Debit Memo/Credit Note Request, generated to the supplier.

Status Workflow

Figure 21-1 Supplier Penalties Status Workflow


Supplier Penalties Status Workflow

Supplier Penalties follows a workflow path, and the status can change depending on:

  • The user permissions
  • The current status of the Penalty

Penalty Status

  • New Status is a temporary status while the Penalty is being created, once submitted this Status will not be saved.
  • Awaiting Retailer Approval – Awaiting Retailer Approval status is the new Penalty status after the Penalty has been created by a Retailer user or the Batch. While a Penalty is in Awaiting Approval status it can be edited by Retailer users and the status stays the same or can be approved by a Retailer user, with approval permission, and the new status is Awaiting Supplier Approval or Approved if there is no need for Supplier Approval, or rejected and the new status is Rejected.
  • Awaiting Supplier Approval – Awaiting Supplier Approval status is the Penalty status after the Penalty has been approved by a Retailer user. While a Penalty is in Awaiting Supplier Approval status it can be approved by a Supplier user, with approval permission, and the new status is Approved or rejected, and the new status is Rejected by Supplier.
  • Approved – The Approved status is for Penalties that were approved by a Retailer user (Awaiting Retailer Approval status) previously or approved by a Supplier user (Awaiting Supplier Approval status).
  • Rejected – The Rejected status is for Penalties that were either created (Awaiting Retailer Approval status) previously and a retailer user rejected them. After the Penalty is in Rejected status no more actions can be applied to the Penalty.
  • Canceled – Canceled status is the new Penalty status after the Penalty has been Rejected by Supplier when the Penalty is in Awaiting Supplier Approval status and the Retailer accepts the rejection. After the Penalty is in Canceled status no more actions can be applied to the Penalty.
  • Closed – The penalty will move to this status once it been integrated in MFCS.
  • Error – This status is used to indicate if issues were found while interfacing the penalty to MFCS and should contact support to check.

Integration High Level

Figure 21-2 Supplier Penalties Integration High Level


Supplier Penalties Integration High

Configuration

This describes Supplier Penalties configurations.

POM Configuration

Batch scheduler details with all batches, dependencies and frequencies can be downloaded following the steps in the Supply Chain Hub Frameworks section.

Schedule Overview

Figure 21-3 Supplier Penalties Batch Schedule Overview


Supplier Penalties Batch Schedule Overview

Other Cloud Services Configuration

This section describes cloud services configurations.

System Options

The following MFCS System Option are being used in Supplier Penalties.

TABLE PARAMETER DESCRIPTION
IM_SUPPLIER_OPTIONS SEND_DEBIT_MEMO This parameter will be used to determine which type of document should be generated in a penalty.
IM_SUPPLIER_OPTIONS

EXCL_PRFX_ON_EXTL_

SRCD_DOCS

Indicates whether the system will include a prefix on the document identifier for externally generated documents. Before making any changes all pending integrations must be completed.

Batches

The IMCS integration EDI Injector job, REIM_EDI_INJECTOR_JOB, should be configured to execute with high frequency to assure that Finance Documents create in Supplier Penalties are integrated into IMCS as soon as possible.

Other Implementation Considerations

This section describes Supplier Penalties implementation considerations.

Notifications and Alerts

Supplier Penalties uses the Events Framework to inform users about events occurred in scope of Supplier Penalties with notifications and alerts. Below is the list of notifications available. The notifications are implemented via the Rule Engine Framework documented in the Supply Chain Hub Frameworks section.

Notifications

SPPY_EVENT_NEW_PENALTY

New Penalty created.

Property Value
Event Name SPPY_EVENT_NEW_PENALTY
Event Type ORCV_SPPY_EVENT_NEW_PENALTY
Description Triggered for new Penalties being created.
Trigger UI/Rule Engine Batch
Target Users The retailer and supplier users will receive a notification.

SPPY_EVENT_REJ_PENALTY

Penalty rejected.

Property Value
Event Name SPPY_EVENT_REJ_PENALTY
Event Type ORCV_SPPY_EVENT_REJ_PENALTY
Description Triggered for Penalties being rejected.
Trigger UI/Rule Engine Batch
Target Users The retailer and supplier users will receive a notification.
Alerts

SPPY_EVENT_PENALTIES_CHANGING

New penalties have been created or changed status.

Property Value
Event Name SPPY_EVENT_PENALTIES_CHANGING
Event Type ORCV_ SPPY_EVENT_PENALTIES_CHANGING
Alert Type EMAIL
Description A Penalty was created or changed status.
Trigger UI/S9T
Target Users The retailer users will receive an e-mail.

Custom Validations

The module performs validations by implementing Custom Validation Groups of the Custom Validations Framework described in the Supply Chain Hub Frameworks section. The groups listed below can be used to add Custom Validations for Penalties.

Group Id Executed When
SPPY_PENALTY_APPROVE Supplier Penalties approve action.
SPPY_PENALTY_CANCEL Supplier Penalties cancel action.
SPPY_PENALTY_CREATE Supplier Penalties create action.
SPPY_PENALTY_EDIT Supplier Penalties edit action.
SPPY_PENALTY_REJECT Supplier Penalties reject action.
SPPY_PENALTY_CREATE

This custom validation group includes by default the following validations in ORCV_SPPY_CVAL_PENALTY package.

FUNCTION VALIDATION SEQ NO
VALIDATE_DOC_TYPE Document type are configured for the supplier. 1
SPPY_PENALTY_APPROVE

This custom validation group includes by default the following validations in ORCV_SPPY_CVAL_PENALTY package.

FUNCTION VALIDATION SEQ NO
VALIDATE_DOC_TYPE Document type are configured for the supplier. 1

Specific Batch Configuration

This section describes specific batch configurations.

Early Late Shipment Batch

The Early Late Shipment batch generates Penalties for received shipments. For all shipments that are in received status and were not yet previously processed, this batch calls the manage function of SPPY, providing the required information for the penalty creation. This batch uses the Rule Engine framework.

  • Job: ORCV_RLEG_SPPY_EARLY_LATE_SHIP_JOB
  • Frequency: Ad-hoc
  • Dependency: None
  • Inter Scheduler Dependency: None

This batch uses the Rule Engine Framework described in the Supply Chain Hub Frameworks section with the following configurations.

Rule default configuration (ORCV_RLEG_RULE):

RULE KEY RULE NAME PROGRAM_NAME APP ALIAS RULE MODE
SPPY_EARLY_LATE_SHIP Early Late Shipment ORCV_SPPY_RLEG_EARLY_LATE_SHIP SPPY BATCH

Rule default parameters (ORCV_RLEG_PARAMETERS):

PARAMETER DESCRIPTION VALUE 1 VALUE 2 VALUE 3 VALUE 4
PROCESS_AFTER_DAYS Indicates the number of days after receive data to process. 10 NA NA NA
REQUIRES_RETAILER_APPROVAL Indicates if Retailer Approval is Needed. Y NA NA NA

Batch default configuration (ORCV_BATCH_CONFIG):

COLUMN NAME DEFAULT VALUES
PROGRAM_NAME ORCV_RLEG_SPPY_EARLY_LATE_SHIP
MAX_CHUNK_SIZE 1
MAX_CONCURRENT_THREADS 4
RETRY_LOCK_ATTEMPTS 3
RETRY_WAIT_TIME 3
RETRY_MAX_ATTEMPTS_COUNT 3
RETRY_ORDERED N
RETRY_IND N
QA Defect Batch
The QA Defect batch generates Penalties for jobs created in the Quality Control module. For all jobs that are in complete with issues status and were not yet previously processed, this batch calls the manage function of SPPY, providing the required information for the penalty creation. This batch uses the Rule Engine framework.
  • Job: ORCV_RLEG_SPPY_QA_DEFECT_JOB
  • Frequency: Ad-hoc
  • Dependency: None
  • Inter Scheduler Dependency: None

This batch uses the Rule Engine Framework described in the Supply Chain Hub Frameworks section with the following configurations.

Rule default configuration (ORCV_RLEG_RULE):

RULE KEY RULE NAME PROGRAM_NAME APP ALIAS RULE MODE
SPPY_QA_DEFECT QA Defect ORCV_SPPY_RLEG_QA_DEFECT SPPY BATCH

Rule default parameters (ORCV_RLEG_PARAMETERS):

PARAMETER DESCRIPTION VALUE 1 VALUE 2 VALUE 3 VALUE 4
REQUIRES_RETAILER_APPROVAL Indicates if Retailer Approval is Needed. Y NA NA NA

Batch default configuration (ORCV_BATCH_CONFIG):

COLUMN NAME DEFAULT VALUES
PROGRAM_NAME ORCV_RLEG_SPPY_QA_DEFECT
MAX_CHUNK_SIZE 1
MAX_CONCURRENT_THREADS 4
RETRY_LOCK_ATTEMPTS 3
RETRY_WAIT_TIME 3
RETRY_MAX_ATTEMPTS_COUNT 3
RETRY_ORDERED N
RETRY_IND N
Cancel PO Batch

The Cancel PO batch generates Penalties for POs that have quantity canceled. For all POs that have quantity canceled and were not yet previously processed, this batch calls the manage function of SPPY, providing the required information for the penalty creation. This batch uses the Rule Engine framework.

  • Job: ORCV_RLEG_SPPY_CANCEL_PO_JOB
  • Frequency: Ad-hoc
  • Dependency: None
  • Inter Scheduler Dependency: None

This batch uses the Rule Engine Framework described in the Supply Chain Hub Frameworks section with the following configurations.

Rule default configuration (ORCV_RLEG_RULE):

RULE KEY RULE NAME PROGRAM_NAME APP ALIAS RULE MODE
SPPY_CANCEL_PO PO Cancelled ORCV_SPPY_RLEG_CANCEL_PO SPPY BATCH

Rule default parameters (ORCV_RLEG_PARAMETERS):

PARAMETER DESCRIPTION VALUE 1 VALUE 2 VALUE 3 VALUE 4
REQUIRES_RETAILER_APPROVAL Indicates if Retailer Approval is Needed. Y NA NA NA
CANCELLED_CODE Cancel Code configured to generate Cancelled POs Penalties. V NA NA NA

Batch default configuration (ORCV_BATCH_CONFIG):

COLUMN NAME DEFAULT VALUES
PROGRAM_NAME ORCV_RLEG_SPPY_CANCEL_PO
MAX_CHUNK_SIZE 1
MAX_CONCURRENT_THREADS 4
RETRY_LOCK_ATTEMPTS 3
RETRY_WAIT_TIME 3
RETRY_MAX_ATTEMPTS_COUNT 3
RETRY_ORDERED N
RETRY_IND N
Penalties Update IMCS IDs

The Penalties Update IMCS IDs updates the IMCS ids in Supplier Penalties table ORCV_SPPY_PENALTY_HEAD.

  • Job: ORCV_SPPY_UPD_IMCS_ID_JOB
  • Frequency: Ad-hoc
  • Dependency: None
  • Inter Scheduler Dependency: None
Penalties Events Changes Batch

Batch job to check if there are Penalties pending user actions and creates Alerts.

  • Job: ORCV_RLEG_SPPY_EVT_CHG_PENALTY
  • Frequency: Ad-hoc
  • Dependency: None
  • Inter Scheduler Dependency: None

Batch default configuration (ORCV_BATCH_CONFIG):

Column Name Default Values
PROGRAM_NAME ORCV_RLEG_SPPY_EVT_CHG_PENALTY
MAX_CHUNK_SIZE 1000
MAX_CONCURRENT_THREADS 4
RETRY_LOCK_ATTEMPTS 3
RETRY_WAIT_TIME 3
RETRY_MAX_ATTEMPTS_COUNT 3
RETRY_ORDERED N
RETRY_IND Y

Rule Attributes

Rule Attributes are necessary to define the attributes that need to generate penalties via batch. Listed below are the dynamic grid column mapping for each rule.

Early Late Shipment Rule

(ORCV_RLEG_MAP_ATTR_HEAD):

RULE KEY VIEW NAME VALIDATION FUNC
SPPY_EARLY_LATE_SHIP ORCV_V_SPPY_RLEG_EARL_LAT_SHIP ORCV_SPPY_RLEG_RULE_ATTR_VAL.VALIDATE_RULE_ATTRIBUTES

(ORCV_RLEG_MAP_ATTR_DETAIL):

SEQ COLUMN ATTR label apex type list vals required default value max size
1 NUMBER_1 Supplier SELECTLIST ORCV_V_SPPY_RLEG_SUPP_TL 0 NULL NULL
2 VARCHAR_1 Order Context SELECTLIST ORCV_V_SPPY_RLEG_PO_TYPE_TL 0 NULL NULL
3 NUMBER_2 Penalty % NUMBER NULL 1 NULL NULL
4 VARCHAR_2 Early / Late SELECTLIST ORCV_V_SPPY_RLEG_EL_TYPE_TL 1 NULL NULL
5 NUMBER_3 Number Days NUMBER NULL 1 NULL NULL
QA Defect Rule

(ORCV_RLEG_MAP_ATTR_HEAD):

RULE KEY VIEW NAME VALIDATION FUNC
SPPY_QA_DEFECT ORCV_V_SPPY_RLEG_QA_DEFECT ORCV_SPPY_RLEG_RULE_ATTR_VAL.VALIDATE_RULE_ATTRIBUTES

(ORCV_RLEG_MAP_ATTR_DETAIL):

SEQ COLUMN ATTR label apex type list vals required default value max size
1 NUMBER_1 Supplier SELECTLIST ORCV_V_SPPY_RLEG_SUPP_TL 0 NULL NULL
2 VARCHAR_1 Order Context SELECTLIST ORCV_V_SPPY_RLEG_PO_TYPE_TL 0 NULL NULL
3 NUMBER_2 Penalty % NUMBER NULL 1 NULL NULL
4 NUMBER_3 Defect Threshold % NUMBER NULL 1 NULL NULL
Cancel PO Rule

(ORCV_RLEG_MAP_ATTR_HEAD):

RULE KEY VIEW NAME VALIDATION FUNC
SPPY_CANCEL_PO ORCV_V_SPPY_RLEG_PO_CANCEL ORCV_SPPY_RLEG_RULE_ATTR_VAL.VALIDATE_RULE_ATTRIBUTES

(ORCV_RLEG_MAP_ATTR_DETAIL):

SEQ COLUMN ATTR label apex type list vals required default value max size
1 NUMBER_1 Supplier SELECTLIST ORCV_V_SPPY_RLEG_SUPP_TL 0 NULL NULL
2 VARCHAR_1 Order Context SELECTLIST ORCV_V_SPPY_RLEG_PO_TYPE_TL 0 NULL NULL
3 NUMBER_2 Penalty % NUMBER NULL 1 NULL NULL
4 NUMBER_3 Defect Threshold % NUMBER NULL 1 NULL NULL

Codes

Certain operations require codes to define the options available. Below you can find the list of code types available. The codes are defined in tables ORCV_CODE_HEAD and ORCV_CODE_DETAIL.

CODE TYPE CODE TYPE DESCRIPTION
PBOA Penalty Based On - Automatic
PHBO Penalty Based On
PHHR Penalty Historic Reasons
PHIL Add Item List
PHRS Penalty Reason
PHST Penalty Status
PRRA Requires Retailer Approval
PRSA Requires Supplier Approval
PSEL Early Late Shipment Values

References

Supplier Penalties also uses the Queries module to enable communication between retailer and supplier users, details about Queries are available in the Supply Chain Hub Frameworks section.

Operations

This section describes Supplier Penalties operations.

Integration by Module

Figure 21-4 Supplier Penalties Integration by Module


Supplier Penalties Integration by Module
STEP DESCRIPTION
0 RSCH Data Access of MFCS data
1 Finance Edidu Java Services gets Finance Documents to be integrated to IMCS
2 Finance Edidu Java Services sends produced files to Integration File Transfer.
3 Integration File Transfer publishes files to IMCS File Transfer Services (FTS) or MFCS shared folder (depending on configuration).
4 Event Alert Java Service checks if there are alerts to be triggered.

Batch by Module

This section describes Supplier Penalties batches.

Early Late Shipment Batch

The Early Late Shipment batch uses the Rule Engine Framework described in the Supply Chain Hub Frameworks section. To execute this batch call Rule Engine Web Service with Rule Key SPPY_EARLY_LATE_SHIP.

QA Defect Batch

The QA Defect batch uses the Rule Engine Framework described in the Supply Chain Hub Frameworks section. To execute this batch call Rule Engine Web Service with Rule Key SPPY_QA_DEFECT.

Cancel PO Batch

The Cancel PO batch uses the Rule Engine Framework described in the Supply Chain Hub Frameworks section. To execute this batch call Rule Engine Web Service with Rule Key SPPY_CANCEL_PO. Penalties Update IMCS IDs

Authentication Method: OAuth2

BaseURL: https://<BASE_URL/ords/mfcs/orcv/common/batch/<URL_PATH>

URL PATH REQUEST METHOD REQUEST BODY AFFECTED TABLES
start POST

{

"cycleName": "",

"flowName": "",

"processName": "",

"async": "",

"executionId": "",

"jobName": "ORCV_SPPY_UPD_IMCS_ID_JOB",

"agentExecutionId": "",

"parameters": ""

}

ORCV_BATCH_STATUS_CONTROL

ORCV_THREAD_CONTROL

ORCV_BATCH_AUDIT_STATUS

ORCV_SPPY_PENALTY_HEAD

ORCV_FIN_INT_DOC_XREF

restart POST

{

"cycleName": "",

"flowName": "",

"processName": "",

"async": "",

"executionId": <EXEC_ID>,

"jobName": "ORCV_SPPY_UPD_IMCS_ID_JOB",

"agentExecutionId": "",

"parameters": ""

}

ORCV_BATCH_STATUS_CONTROL

ORCV_THREAD_CONTROL

ORCV_BATCH_AUDIT_STATUS

ORCV_SPPY_PENALTY_HEAD

ORCV_FIN_INT_DOC_XREF

log GET

URL query parameters:

/log?jobName=ORCV_SPPY_UPD_IMCS_ID_JOB

&executionId=<EXEC_ID>&logDate=YYYY-DD-MM

N/A
kill POST

{

"cycleName": "",

"flowName": "",

"processName": "",

"async": "",

"executionId": <EXEC_ID>,

"jobName": "ORCV_SPPY_UPD_IMCS_ID_JOB",

"agentExecutionId": "",

"parameters": ""

}

ORCV_BATCH_STATUS_CONTROL

ORCV_THREAD_CONTROL

ORCV_BATCH_AUDIT_STATUS

status GET

URL query parameters:

/status?jobName=

ORCV_SPPY_UPD_IMCS_ID_JOB

&executionId=<EXEC_ID>&logDate=YYYY-DD-MM

N/A