Product and clearing date selection workflow
When Financial Transaction Manager for ACH receives a transmission from the sending point, you need to assign a product code to each batch in the file and assign a clearing date for processing this batch. Although Financial Transaction Manager for ACH provides a default configuration for this purpose, this chapter describes how to configure these workflows and explains the significance of each step.
This chapter includes the following sections:
4.1 Processing overview
When Financial Transaction Manager for ACH ingests work from sending point, it can contain one or more batches that need to be processed. To process these batches, some of the clearing attributes need to be assigned to these batches before any further processing can happen. These attributes include those in the following list:
Identify processing bank
Product code
Clearing date
4.1.1 Identify processing bank
The first action in the clearing attributes assignment is to identify the processing bank for each batch. A financial institution can process work on the behalf of other financial institutions. The Financial Transaction Manager for ACH solution allows you to identify the financial institution for whom you are processing the work at the batch level. The reference sample included with the product assigns the bank based on the immediate destination that is specified in the ACH file header record.
 
Note: See Chapter 6, “Onboarding a partner” on page 111 for details about configuring banks.
The workflow uses this information to segregate work if processing work for multiple financial institutions.
4.1.2 Product code
Chapter 2, “Streamline customer onboarding using products and services” on page 27 describes concept of products and services and their importance in payments processing. The reference workflow goes through a series of rules that are described in this section to determine the product code for the originator. These steps are provided as part of the reference application and should be changed according to requirements. The change might include addition or deletion of rules, changing parameters of the rules, or defining a different rule set.
Check specific processing
The first step looks for check specific attributes that are not applicable for ACH processing.
Message type and customer type
The first check is done by using a combination of customer type and message type. This step assigns product for type of partners and the type of message they send. For example, for partner type Corporate Client and message type PPD, the product configured might be ACH.
See Chapter 6, “Onboarding a partner” on page 111 for details about configuring customer types.
Message types can be configured using the Control Center by clicking Configuration → System → Message Types. However, NACHA message types come preconfigured using the Message Standards worksheet in ProductConfiguration.xls workbook as part of the data setup utility (DSU).
Message Type
If combination or customer type and message type does not result in any product code, the workflow tries to look for a product code using only message type as the key.
Message Standard and Customer Type
If message type based lookup doesn’t provide a product code, the workflow uses a combination of customer type and message standard. Examples of message standards are NACHA, ISO20022, and SWIFT. Message standards can be configured by using the Control Center by clicking Configuration → System → Message Standards, but the NACHA message standards come pre-configured with the DSU worksheet Message Standards in the ProductConfiguration.xls workbook.
4.1.3 Clearing date for this batch
The purpose of these steps is to determine the business date on which the inbound batch is processed. It uses the date and time of the incoming file and adjusts it to the actual processing business date based on a either a day of the week or a time of day lookup in the deadline table. This adjustment accounts for holidays.
The Gateway server provides the business day workflow with the date and time when the file was received. This information comes to the Business Rules Server in separate data fields called ibmFileDateReceived and ibmFileTimeReceived. They are converted into a single data field that is the day of week joined with the time. The week is converted to a single digit number: Monday is 1, Tuesday is 2, and so on to Sunday, which is 7. The time is converted to 24-hour representation such that10:00pm is converted to 2200. So 10:00 Friday morning is represented as 5 1000 for performing the lookup and 6:00 Saturday evening is represented as 6 1800.
This date field is used with the product code identified in the earlier step to look up the business day of week in the DepositProductDeadline table. For example, consider the data in DepositProductDeadline table as shown in Table 4-1.
Table 4-1 Sample data in DepositProductDeadline table
Row
Product code
Starting day
Starting time
Ending day
Ending time
Normal business day
1
ACH
1
0000
2
0130
1
2
ACH
2
0131
3
0130
2
3
ACH
3
0131
4
0130
3
4
ACH
4
0131
5
0130
4
5
ACH
5
0131
6
0130
5
6
ACH
6
0131
7
2359
1
Considering the file is received at 10:00 Friday morning, the equivalent lookup code for this time of the day is 5 1000. When the lookup is performed, Financial Transaction Manager for ACH combines the day and time column in the table (starting day + starting time and ending day + ending time) to check which window that this file received time belongs to. In this case, the lookup returns row number 5, which indicates that the file is processed on day 5, which is equivalent to Friday. Therefore, the file is processed on the same day as it is received.
Now, consider another example. If a file is received at 2:00 Saturday morning, Financial Transaction Manager for ACH translates this time to the code 6 0200. When a lookup is performed using this code, it returns row number 6, which indicates the business day is 1, which is equivalent to Monday. Thus, the received file’s clearing date is moved to Monday.
After the business day is determined, it is used to adjust the file date to an actual working business date. It does this by moving the date forward (or backward) if necessary.
 
Note: The date can be moved backward by as much as two business days.
It then uses this date along with the partner information for the processing bank identified in 4.1.1, “Identify processing bank” on page 76 to determine whether it is a holiday. If so, it moves forward to the next business date.
This final date is used as the clearing date for the batch. This step sets the business day category using the file type.
4.2 Creating the workflow
The business rules workflow can either be created using Control Center or using DSU. As described in 1.2.3, “Business rules process server” on page 5, business rule configuration is split into a number of XML fragments in the database. Now look at the example configuration of this workflow for the steps mentioned in 4.1, “Processing overview” on page 76. More information of this configuration can be found in Financial Transaction Manager for ACH information center at Financial Transaction Manager for Multiplatforms 3.0.0 → Payment Feature Services → Business Rules User's Guide → Business Day Workflow.
4.2.1 Workflow XML descriptor
The workflow XML fragment identifies various steps in the workflow and their connections. Example 4-1 shows the default business day workflow configuration that is supplied with Financial Transaction Manager for ACH.
Example 4-1 Sample workflow XML configuration
<?xml version="1.0" ?>
<workflowDescriptor name="FtmBusinessDayWorkflow" >
<nodes>
<node name="BankAssignmentFtmNode"/>
<node name="DepositProductLookupFtmNode"/>
<node name="BusinessDayBatchNode"/>
<node name="BusinessDayCategoryFtmNode"/>
<node name="AcknowledgmentEndpointsNode"/> <!-- Not used in Financial Transaction manager for ACH -->
</nodes>
<connections>
<connection srcName="BankAssignmentFtmNode" dstName="DepositProductLookupFtmNode"/>
<connection srcName="DepositProductLookupFtmNode" dstName="BusinessDayBatchNode"/>
<connection srcName="BusinessDayBatchNode" dstName="BusinessDayCategoryFtmNode"/>
<connection srcName="BusinessDayCategoryFtmNode" dstName="AcknowledgmentEndpointsNode"/>
</connections>
<responses>
<response>
<responseFields>
<responseField name="ibmValDepositPriority" message="decision"/>
</responseFields>
</response>
</responses>
</workflowDescriptor>
The attribute name of the root element named workflowDescriptor indicates the name of the workflow that is configured in the Gateway server to start this rule set.
Various node elements indicate steps that are involved in this workflow. These names are used in subsequent XML fragments, described later in the following sections.
Various connection elements indicate connection between nodes to provide a sequence in which the nodes identified by node elements are run.
 
Note: The node identified by the first node under the nodes element is always run first.
The responses node indicates the response to be sent back to the Gateway server on completion of the execution of the entire workflow.
4.2.2 Node XML descriptor
The node XML describes the processing that happens in a particular task. The processing is in the form of sequence of tasks that are connected to each other returning a result. The scope of this chapter is to describe one node of the business rules workflow. See the Node XML Descriptor worksheet in SampleBusinessRulesBaseConfiguration.xls in your install/shared/v300/pfs/DSU/importexport/xls directory for all the nodes.
Example 4-2 shows the node for identifying destination bank.
Example 4-2 Identify destination bank XML
<?xml version="1.0"?>
<nodeDescriptor name="BankAssignmentFtmNode" type="ESORT">
<assignments>
<assignment field="ibmBank" value="1" type="decimal" executionPoint="onEntry" conditions="notCurrent"/>
</assignments>
<tasks>
<task name="BankAssignmentTask"/>
<task name="BankAssignByOriginTask"/>
</tasks>
<connections>
<connection srcName="BankAssignmentTask" dstName="BankAssignByOriginTask">
<paymentCheck field="ibmNprStandardIn" operator="EQ" value="100"/> <!-- Internal -->
</connection>
</connections>
</nodeDescriptor>
The name attribute of the nodeDescriptor is the same as the one configured in the workflow XML.
The type attribute indicates the type of this task. The type ESORT indicates that this is a table lookup task.
The assignment node indicates a default assignment of a value to variable. In this case, a default bank code 1 is assigned to variable ibmBank at the entry point in case none of the lookups return a value.
The task node indicates a series of tasks that are run in this node. The name of the task is exactly same as the one in task xml described in 4.2.3, “Task XML descriptor”.
 
Various connection elements indicate connections between tasks to provide a sequence in which the tasks identified by task elements are run.
 
Note: The task that is identified by the first task under tasks element is always run first.
4.2.3 Task XML descriptor
The task XML provides the link to data XML task. This chapter describes one task of the business rules workflow. See the Task XML Descriptor worksheet in SampleBusinessRulesBaseConfiguration.xls in your install/shared/v300/pfs/DSU/importexport/xls directory for all the tasks.
Example 4-3 shows a task XML for the BankAssignmentTask task
Example 4-3 BankAssignmentTask for business rules workflow
<?xml version="1.0"?>
<taskDescriptor name="BankAssignmentTask" type="TABLE">
<dataName>BankAssignmentTable</dataName>
</taskDescriptor>
The name attribute of the taskDescriptor is exactly the same as the one configured in the Node XML.
The type attribute indicates the type of task this is. The type TABLE indicates that this is a table lookup task.
The dataName element indicates which data XML is used for querying the table. This name must be exactly same as the one provided in the Data XML in 4.2.4, “Data XML descriptor”.
4.2.4 Data XML descriptor
The data XML descriptor defines the exact table name and columns to be queries and results to be returned from the lookup. This chapter describes one data descriptor of the business rules workflow. See Data XML Descriptor worksheet in SampleBusinessRulesBaseConfiguration.xls in your install/shared/v300/pfs/DSU/importexport/xls directory for all the data descriptors.
Example 4-4 shows the data descriptor for the BankAssignmentTable data name
Example 4-4 BankAssignment data name example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<dataDescriptor name="BankAssignmentTable" type="TABLE">
<viewName>Bank_Assignment_V</viewName>
<fileName>BankAssignmentTable.tbl</fileName>
<record>
<field datatype="char" length="20" name="ibmValClDestinationRT" type="key"/>
<field datatype="byte" length="4" name="ibmBank" type="payload"/>
</record>
</dataDescriptor>
The name attribute of the dataDescriptor is exactly same as the one configured in the Task XML.
The type attribute indicates the type of task that this is. The type TABLE indicates that this is a table lookup task.
The viewName element indicates the view in the database that is queried.
The fileName element describes the file name to which the rules data is compiled for the business rules process server.
The record element indicate various fields in the queries with their data type, length, and name of the column. Additionally, the type attribute indicates whether a field should be included in the where clause (input) or selected column list clause (output) of the selected query.
4.3 Configuring the gateway
After the business rules workflow is created, it needs to be configured in the gateway server for it to be used. This can be done by setting the ClearingAttributesBusinessRulesWorkflow property of the gateway properties file to the name of the rule set as specified in the workflow xml. A sample property is in your install/shared/v300/pfs/Gateway/properties directory. Example 4-5 shows the sample configuration for the sample covered in 4.2, “Creating the workflow” on page 78.
Example 4-5 Sample gateway configuration
#Business Rules is configured by default to provide clearing attributes.
ClearingAttributesBusinessRulesWorkflow = FtmBusinessDayWorkflow
 
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset