Exhibit 13 DSDS-BATCH_FIN_NSF.pdf
PDF 459 KB Posted
- Solicitation number
- 23DPP00838
- Issued by
- Mercer County, New Jersey
About this file
This document is an exhibit describing the BATCH_FIN_NSF batch process for the State Disbursement Unit (SDU) Child Support Payment/Receipt Processing contract opportunity in New Jersey. The BATCH_FIN_NSF process receives and loads NSF (non-sufficient funds) returned items from the SDU into a temporary table, and then processes those NSF receipts by reversing the original payments, creating recoupments, and setting NSF indicators on the payor's account. This is done on a daily basis, with no exceptions allowed. The process validates the receipt details, checks for prior reversals, and ensures the check amount matches the distributed amount before reversing the receipt.
For the related State Disbursement Unit Child Support Payment/Receipt Processing contract opportunity, the jurisdictions involved are Mercer County and Trenton City in New Jersey. No other details about the solicitation, such as response dates, award information, or pricing terms, are provided in the given materials.
View the file
Other files
Show all 38
On GovTribe
Work with this file
- Download the original file
- Contacts named in this file
- Similar government files
- Ask GovTribe AI about this file
Text version
23DPP00838
Exhibit 13
BATCH_FIN_NSF
INTRODUCTION
The process BATCH_FIN_NSF receives file from SDU and loads into a temporary table. This table is the input for processing the NSF Returned items.
If the payment is made through SDU and is returned by the bank as NSF, the receipt is reversed and NSF History indicator is created for payor DCN for specific receipt sources. When the receipt is reversed, the arrears are incremented by the amount applied from the original receipt, grant balances are incremented by the amount applied from the reversed receipt, recoupment is created for the original collection amount against the NCP for NCP receipts, except in case of CP recoupment receipt in which case recoupment is created against CP.
If the payment is made by the remitter (Example – Employer making wage payments by means of a check), the NSF History Indicator will not be placed at the employer level, because SDU does not send Employer details.
1.1.1. BATCH_FIN_NSF.SP_LOAD_NSF
1.1.1.1. Purpose
This process reads the NSF Returned Items file from the SDU and inserts the records into the temporary table.
1.1.1.2. Database Tables Affected:
1.1.1.2.1. Driver Tables
1.1.1.2.2. Output Tables
LOAD_NSF_RECEIPTS
1.1.1.3. Process Description
This process reads the NSF receipts file from the SDU using the UTL_FILE package given by oracle and inserts records into LOAD_NSF_RECEIPTS table. The steps in this batch process are:
Get the run date and last run date from VPARM (Parameters table) and validate that the batch program was not executed for the run date, by ensuring that the run date is different from the last run date in the VPARM table. Otherwise, an error message to that effect will be written into VBSTL table and terminate the process.
Delete all records from LOAD_NSF_RECEIPTS table.
Read the NSF (Non-Sufficient Funds) Returned Items file from SDU using UTL_FILE package given by oracle and insert into LOAD_NSF_RECEIPTS table.
Log the Error encountered or successful completion in the VBSTL table for future references. Abort the job if any error occurs. The correctness of the header and trailer records is checked, along with basic file layout.
Update last run date in the VPARM table with the run date, upon successful completion.
1.1.1.4. Flow Chart
1.1.1.5. Frequency
Daily
1.1.1.6. Dependencies
1.1.1.6.1. Predecessors:
1.1.1.6.2. Successors:
BATCH_FIN_NSF.SP_PROCESS_NSF
1.1.1.7. Restart Procedures
Start from beginning
1.1.1.8. Instructions if Job is skipped
If skipped, all the backlog files need to be processed first.
1.1.1.9. Commit Frequency
One time at end of the job
1.1.1.10. Exception Threshold
Zero
1.1.1.11. Input File(s)
S.No Name of the File File Format Transfer Mechanism File location Estimated size (in MB’s)
1 LOAD_NSF_RECEIPTS.TXT - FTP - -
1.1.1.11.1. File Layout
Field name
Position
Length
Type
C-Char
D-Date
N-Number
Format/
Default value
Description
HEADER
TYPE 1-1 1 C ‘H’ Header
CREATION-DATE 2-9 8 D CCYYMMDD
FILLER 10-90 81 C Spaces
DETAIL
Detail
TYPE 1-1 1 C ‘D’
DT_BATCH 2-9 8 D CCYYMMDD The Date on which the original receipt batch was created
BATCH_NO 10-13 4 N 9999 Batch Number of the receipt that was applied in this transaction. This is 3rd part of the Receipt number range from 0001-6999
BATCH_SEQNO 14-16 3 N 999 The first three digits of the Receipt Sequence is the Transaction
Sequence and the next three digits of the Receipt Sequence is the
Posting Sequence.
Date Batch, No_batch and Transaction Sequence enables the user to search and reverse all the receipts in one transaction, in a specific batch, as a single unit.
BATCH_ITEMNO 17-19 3 N 999 This is the posting sequence
CHECK_AMT 20-30 11 N
Returned Item amount
BANK_DATE 31-38 8 D CCYYMMDD The date when the check was returned from the bank.
NO_REFERENCE 39-53 15 N
This field will record the check number or any other financial instrument (like Money order number or Demand Draft number) identifying number.
REASON 54-55 2 C Reason for return unpaid
The following are the possible values.
AC – ACCOUNT CLOSED
MB – MISCELLANEOUS BANK ADJUSTMENT
NF – INSUFFICIENT FUNDS
RM – REFER TO MAKER
SP – STOP PAYMENT
FILLER 56-56 1 C Filler
EMPLOYERPAYMENT_IND 57-57 1 C Y -Employer receipt
N – Non- employer receipt
Identifies the payment remitter as an employer.
CD_REASON_EMP_NSF 58-58 1 C D - Dishonored check history
R - Payment returned for various reasons
S - Remitter stopped payment
Space – for
NCP NSF
When the indicator in field 57-57 is 'Y', the value of field 58 identifies the Employer NSF reason
EMPLOYER_NAME 59-88 30 C
Employer Name
FILLER 89-90 2 C
Spaces
TRAILER
TYPE 1-1 1 C ‘T’ Trailer
TOTAL-NSF-AMT 2-12 11 N
Total NSF amount
RECORD-COUNT 13-18 6 N
Total number of records
FILLER 19-90 72 C Spaces
Mapping table below shows the tables and columns into which the input file data is stored.
Source Target
DT_BATCH VRCTH.DT_BATCH
BATCH_NO VRCTH.NO_BATCH
BATCH_SEQNO SUBSTR (VRCTH.SEQ_RECEIPT, 1,3)
BATCH_ITEMNO SUBSTR (VRCTH.SEQ_RECEIPT, 4,3)
CHECK_AMT VRCTH.AMT_RECEIPT
NO_REFERENCE VRCTH.NO_CHECK
REASON VRCTH.CD_REASON_BACKOUT
EMPLOYERPAYMENT_IND LOAD_NSF_RECEIPTS.IND_EMPLOYER_PAYMENT
CD_REASON_EMP_NSF LOAD_NSF_RECEIPTS. CD_REASON_EMP_NSF
EMPLOYER_NAME LOAD_NSF_RECEIPTS.NAME_EMPLOYER
1.1.1.12. Output File(s)
1.1.1.12.1. File Layout
1.1.1.13. Contact information
Name of the Agency Technical Contact Functional Contact
1.1.1.14. Stored Procedure / Functions matrix
No Stored Procedure Name/ Arguments Nature of the procedure
/ Function
Description Output Tables / Screens Applicability
I A U D
1 BATCH_FIN_NSF.SP_LOAD_NSF Loading Loading the NSF payments to
LOAD_NSF_RECEIPTS
- LOAD_NSF_RECEIP
TS
- Y - Y
2 BATCH_COMMON.SP_GET_BATCH_DETAILS Common Routine Returns batch Run date, Last Run date, Out file location.
3 BATCH_COMMON.SP_UPDATE_PARM_DATE Common Routine Updating Last run date - - - - - -
4 BATCH_COMMON.SP_BSTL_LOG Common Routine Inserting the batch status - - - - - -
1.1.2 BATCH_FIN_NSF. SP_PROCESS_NSF
1.1.2.1. Purpose
This process reads the NSF receipts from the temporary table LOAD_NSF_RECEIPTS and reverses the payments automatically and sets up
NSF indicator for the payor DCN.
1.1.2.2. Database Tables Affected:
1.1.2.2.1. Driver Tables
1.1.2.2.2. Output Tables
VBCHK
VBATE
1.1.2.3. Process Description
This process reads the NSF receipts from the LOAD_NSF_RECEIPTS table, reverses the receipts and creates recoupment for the payors. Bad check indicator is set up for specific receipt sources.The reason is that for receipts from remitter (for example Employer payments), there are no remitter details in the SDU file.The steps in this batch process are:
Get the run date and last run date from VPARM (Parameters table) and validate that the batch program was not executed for the run date, by ensuring that the run date is different from the last run date in the VPARM table.Otherwise, an error message to that effect will be written into VBSTL table and terminate the process.
Read the NSF receipts from LOAD_NSF_RECEIPTS table.
Based on the Receipt Key (DT_BATCH, NO_BATCH, BATCH_SEQNO and BATCH_ITEMNO), verify if the receipt is from SDU and if the record exists in VRCTH.
FROM VRCTH A
WHERE A.DT_BATCH = DT_BATCH from the temporary table_
AND A.NO_BATCH = NO_BATCH from the temporary table_
AND SUBSTRING (A.SEQ_RECEIPT, 1, 3) = BATCH_SEQNO from the temporary table
AND SUBSTRING (A.SEQ_RECEIPT, 4, 3) = BATCH_ITEMNO from the temporary table
AND A.CD_SOURCE_BATCH = ‘SDU’
If record does not exist, insert a record into VBATE with error code I0040 -“NO RECEIPT TO IDENTIFY”.
Based on the receipt key (DT_BATCH, NO_BATCH, BATCH_SEQNO and BATCH_ITEMNO) and if the employer payment indicator is not 'Y', verify if the receipt is already reversed in VELRP and if record exists, insert a record into VBATE with error code as
'E1425 - "ORIGINAL RECEIPT IS ALREADY REVERSED IN NJKIDS".
FROM VELRP A
WHERE A.DT_BATCH = DT_BATCH from LOAD_table
AND A.NO_BATCH = NO_BATCH from LOAD table
AND SUBSTRING(A.SEQ_RECEIPT,1,3) = BATCH_SEQNO from LOAD table
AND SUBSTRING(A.SEQ_RECEIPT,4,3) = BATCH_ITEMNO from LOAD table
AND A.CD_SOURCE_BATCH='SDU'
if the employer payment indicator received is not 'Y,
- Validate the check amount (CHECK AMT) in the temporary table by adding up the AMT_TO_DISTRIBUTE in VRCTH for all the receipts of the check.
SELECT SUM (AMT_TO_DISTRIBUTE)
FROM VRCTH A
WHERE A.DT_BATCH = DT_BATCH from load table AND A.NO_BATCH = NO_BATCH from load table
AND SUBSTRING (A.SEQ_RECEIPT, 1, 3) = BATCH_SEQNO from load table
AND SUBSTRING (A.SEQ_RECEIPT, 4, 3) = BATCH_ITEMNO from load table
AND A.CD_SOURCE_BATCH = ‘SDU’
If record does not exist, insert a record into VBATE with error code I0040 -“NO RECEIPT TO IDENTIFY”. If more than one record exists, insert a record into VBATE with error code E0959 -“MORE THAN ONE ACTIVE
NCP FOUND IN THE SYSTEM”.
Insert a record into VBATE with error code E0496 - INVALID CHECK AMOUNT if the sum of AMT_TO_DISTRIBUTE from VRCTH doesn’t match with CHECK AMT in the temporary table.
- Validate the received reason code against the REFM - CREC/REVR code value and cross reference the code value with values in VRESF . If no record exists, insert a record into VBATE with error code
E0094 - 'INVALID REASON CODE'.
- Set the Bad Check Indicator to Y-Yes for the payor DCN in VBCHK table. The Receipt Source must be one of the following for the bad check indicator to be placed against the payor:
Receipt Code Description
BN BOND
CR CP RECOUPMENT
JM JUDGMENT
NR NSF RECOUPMENT
PM RELEASE AMOUNTS (JAIL PAYMENTS)
RE REGULAR PAYMENT FROM NCP
VL VOLUNTARY
- Reverse the receipts received with process ID as 'NSFR';
If the employer payment indicator received is 'Y', select all open cases where the receipt payor is a NCP or a Putative father;
SELECT DISTINCT m.id_member, m.id_case
FROM vcmem m, vcase c
WHERE m.id_member = Receipt Payor
AND c.id_case = m.id_case
AND cd_relation_case = NCP or Putative Father
AND cd_type_case NOT IN ('H','F','J') AND cd_status_case = Open
Select Employer NSF reason code description from REFM id_table/id_table_sub - CREC/ENSF and create case notes with the description
- Payment from <<Employer Name>> for <<Receipt ID>> returned unpaid due to <<Employer NSF Reason>>
Create DEROG minor activity for all the open cases associated with the payor in the NSF_RECEIPTS file where EMPLOYERPAYMENT_IND is received as 'Y'.
Log the Error encountered or successful completion in the VBSTL table.
Update last run date in the VPARM table with the run date, upon successful completion.
1.1.2.4. FlowChart
1.1.2.5. Frequency
Daily
1.1.2.6. Dependencies
1.1.2.6.1. Predecessors:
BATCH_FIN_NSF.SP_LOAD_NSF
1.1.2.6.2. Successors:
1.1.2.7. Restart Procedures
Start from beginning
1.1.2.8. Instructions if Job is skipped
If skipped, all the backlog files need to be processed first.
1.1.2.9. Commit Frequency
One time at end of the job
1.1.2.10. Exception Threshold
Zero
1.1.2.11. Input File(s)
1.1.2.11.1. File Layout
1.1.2.12. Output File(s)
1.1.2.12.1. File Layout
1.1.2.13. Contact information
Name of the Agency Technical Contact Functional Contact
1.1.2.14. Stored Procedure / Functions matrix
No Stored Procedure Name/ Arguments Nature of the procedure
/ Function
Description Output Tables / Screens Applicability
I A U D
1 BATCH_FIN_NSF.SP_PROCESS_NSF Processing Read the receipts from - LOAD_NSF_RECEIP Y - Y - LOAD_NSF_RECEIPTS table and reverse TS the receipts
VRCTH
Y - - -
VBCHK
Y Y - -
VRSTL
VBATE
Y - - Y
VELRP
VREFM
VCMEM
VCASE
2 BATCH_COMMON.SP_GET_BATCH_DETAILS Common Routine Returns batch Run date, Last Run date, Out file location.
3 BATCH_COMMON.SP_UPDATE_PARM_DATE Common Routine Updating Last run date - - - - - -
4 BATCH_COMMON.SP_BSTL_LOG Common Routine Inserting the batch status - - - - - -
5 BATCH_COMMON.SP_BATE_LOG Common Routine Inserting the batch Errors - - - - - -
6 SP_GENERATE_SEQ Common Routine Generating sequence number - - - - - -
7 SPKG_RREP.SP_INSERT_TMP_RREP Common Routine This procedure is used to populate the temporary table PPREP for the receipt.
8 SPKG_RREP.SP_BACKOUT_PROCESS Common Routine This procedure is used to reverse the receipts
9 BATCH_COMMON.SP_INSERT_ACTIVITY Common Routine This procedure is used to insert the activity in VDMJR and VDMNR tables for the case and member combination
10 SP_GENERATE_SEQ_TXN_EVENT Common Routine This procedure is used to generate seq_txn_event which is the unique sequence number that will be generated for any given Transaction on the Table.
11 BATCH_COMMON.
SP_BATCH_RESTART_UPDATE
Common Routine This procedure is used to update the batch restart key value in VRSTL table using Job Id and Run Date.
12 BATCH_COMMON.SP_RAISE_APPLICATI
ON_ERROR
Common Routine Raises Application error to abort the job if fails.
File details come from the government source that posted it. Updated .