Home > Bank Interfaces > Account Holder Validation > Nedbank
The interface to Nedbank’s Account Verification Service (AVS) for the verification of bank accounts.
When the JU2AT_AHV Account Holder Validation batch job runs, the system will read the Bank Interface record linked to the Scheme’s bank account. If it is CPS, the following details will be extracted for each of the Bank Account records for which the Status is NOT VALIDATED:
- Account Number
- Branch Code
- Name
A fixed format file must be created with a name according to the following naming convention:
PNGG00.CDPACK.xxyAzz.D0.SQ200
Where:
xx equals the Client Identifier code i.e. the value for the first two characters of the Usercode on the DTI Account Interface record for the Scheme’s bank account.
y equals ‘I’ for input.
zz is a sequential number starting from 01 for each file submitted per day.
The file must not contain a duplicate file name / sequence number. If it does, the file will not be processed.
During testing, the P at the start of the file name must be replaced with a Q i.e. the file name convention must be QNGG00.CDPACK.xxyAzz.D0.SQ200.
Every field in the file must be in a fixed format. Numeric fields must be right justified with leading zeroes and Alpha / Numeric fields must be left justified with trailing spaces.
Every record length must equal 200 characters and unused characters at the end of any record must be filled with spaces.
After each record a new line must be started.
Once the file has been extracted, the system increment the Transmission Number on the Extract Control table for the extract type of AVS by one and update it with the new value.
The data will be extracted for each field in the file as per the details in bold in the Description / Value column in the table below:
Client-to-bank Header |
|||||||
FIELD NAME |
|
Data Type/Size |
START |
END |
M/O |
FIX VAL |
DESCRIPTION / EXTRACT VALUE |
Record indicator |
N(02) |
1 |
2 |
M |
01 |
Identifies the record as Transmission Header Record. Default to “01” |
|
Date of request |
N(080 |
3 |
10 |
M |
|
Date of request in format CCYYMMDD (must be current date). Run Date |
|
File Number |
N(04) |
11 |
14 |
M |
|
Number of the file for the day. Should start with 0001 for the first file for the day increased by 1 for the next file. Read Transmission Number on Extract Control table for Extract Type of AVS. |
|
Communication type |
A/N(01) |
15 |
15 |
M |
I |
Default to “I” for input |
|
Charge account |
N(23) |
16 |
38 |
0 |
Zeroes |
BI User's own use Zeroes |
|
Profile number |
N(10) |
39 |
48 |
M |
|
Usercode on the DTI Account Interface record for the Scheme’s Bank Account. |
|
User ID |
N(05) |
49 |
53 |
O |
Zeroes |
The ID of the user who uploaded the file. Zeroes |
|
Version number |
N(02) |
54 |
55 |
M |
01 |
Version number of the file format. Default to “01” |
Detail Record |
|
|||||||
FIELD NAME |
|
Date Type/Size |
START |
END |
M/O |
FIX VAL |
DESCRIPTION |
|
Record Indicator |
N(02) |
1 |
2 |
M |
10 |
Detail record indicator Default to ‘10” |
||
Sequence Number |
N(07) |
3 |
9 |
M |
|
Starts at 0000001 and increases by 1 for each record For the first Account Number this value will be 0000001 and for each subsequent Account Number it will be the previous Sequence Number plus 1 |
||
Branch number |
N(06) |
10 |
15 |
M |
|
Branch Code on Bank Account record |
||
Account Number |
A/N(23) |
16 |
38 |
M |
|
Account Number Account Number on Bank Account record. |
||
Account Type |
N(02) |
39 |
40 |
O |
|
Account type. Read the Account Type on Bank Account record and set this value as follows: 01 if Account Type is CURRENT 02 if Account Type is SAVINGS 03 if Account Type is TRANSMISSION 00 if Account Type is none of the above |
||
ID number |
A/N(25) |
41 |
65 |
M |
|
ID number (13 digits) or company registration number (12 digits) or passport number. ID Number on Natural Person to which the Bank Account is linked or Registration Number on the Corporate Client to which the Bank Account is linked or Identity Number on Intermediary Client to which the Bank Account is linked |
||
ID type |
A/N(03) |
66 |
68 |
O |
|
If ID Type on Natural Person is SA ID set this to “SID”. If not SA ID set to spaces. |
||
Initials |
A/N(06) |
69 |
73 |
O |
|
First 3 Initials of individual. No punctuation. Space filled if not used. Initials on DTI Account If null set to spaces |
||
Surname |
A/N(30) |
74 |
103 |
O |
|
Surname / Company name Name on DTI Account |
||
Tax reference number |
N(10) |
104 |
113 |
O |
|
Zeroes |
||
Client user reference |
A/N(20) |
114 |
133 |
O |
|
For client’s use to identify record Spaces |
||
Subbilling ID |
|
A/N(12) |
134 |
145 |
O |
|
For client’s use for subbilling purposes. Spaces |
|
Trailer |
|
||||||||
FIELD NAME |
|
Data Type/Size |
START |
END |
M/O |
FIX VAL |
DESCRIPTION |
||
Record indicator |
N(02) |
1 |
2 |
M |
94 |
Trailer record indicator Default to “94” |
|||
Number of records |
N(07) |
3 |
9 |
M |
|
Total Number of detail records Number of detail records |
|||
Not Acknowledged (NACK) file
If the AVS file fails the authentication and integrity test because the files includes invalid information in the file header, detail record or trailer record or because it is a duplicate file, a NACK file in the format below will be returned.
Similarly if the percentage of errors in the file exceeds a percentage agreed between Nedbank and the client, a NACK file will be returned.
Header |
|||||||
FIELD NAME |
|
Data Type/Size |
START |
END |
M/O |
FIX VAL |
DESCRIPTION |
Record indicator |
N(02) |
1 |
2 |
M |
03 |
Identifies the record as Transmission Header Record. |
|
Date of request |
N(080 |
3 |
10 |
M |
|
Date of request in format CCYYMMDD (must be current date) |
|
File Number |
N(04) |
11 |
14 |
M |
|
Number in the file from the client. |
|
Communication type |
A/N(01) |
15 |
15 |
M |
N |
|
|
Charge account |
N(23) |
16 |
38 |
0 |
Zeroes |
|
|
Profile number |
N(10) |
39 |
48 |
M |
|
Client profile number |
|
User ID |
N(05) |
49 |
53 |
O |
Zeroes |
The ID of the user who uploaded the file. |
|
Version number |
N(02) |
54 |
55 |
M |
01 |
Version number of the file format. |
|
Error code |
N(02) |
56 |
57 |
O |
|
Error code for the first error found in the header |
|
Error description |
A/N(52) |
58 |
109 |
O |
|
Description of the error code |
Detail Record |
|
|||||||
FIELD NAME |
|
Date Type/Size |
START |
END |
M/O |
FIX VAL |
DESCRIPTION |
|
Record Indicator |
N(02) |
1 |
2 |
M |
30 |
Detail record indicator |
||
Sequence Number |
N(07) |
3 |
9 |
M |
|
Starts at 0000001 and increases by 1 for each record |
||
Branch number |
N(06) |
10 |
15 |
M |
|
Branch code |
||
Account Number |
A/N(23) |
16 |
38 |
M |
|
Account Number |
||
Account Type |
N(02) |
39 |
40 |
O |
|
Account type |
||
ID number |
A/N(25) |
41 |
65 |
M |
|
ID number (13 digits) or company registration number (12 digits) or passport number |
||
ID type |
A/N(03) |
66 |
68 |
O |
|
|
||
Initials |
A/N(06) |
69 |
73 |
O |
|
First 3 Initials of individual. |
||
Surname |
A/N(30) |
74 |
103 |
O |
|
Surname / Company name |
||
Tax reference number |
N(10) |
104 |
113 |
O |
|
|
||
Client user reference |
A/N(20) |
114 |
133 |
O |
|
For client’s use to identify record |
||
Subbilling ID |
|
A/N(12) |
134 |
145 |
O |
|
For client’s use for subbilling purposes. |
|
Error code |
|
N(02) |
146 |
147 |
O |
|
Error code for the first error encountered in a record |
|
Error description |
|
A/N(52) |
148 |
149 |
O |
|
Description of the error code |
|
Trailer |
|
|||||||
FIELD NAME |
|
Data Type/Size |
START |
END |
M/O |
FIX VAL |
DESCRIPTION |
|
Record indicator |
N(02) |
1 |
2 |
M |
95 |
Trailer record indicator |
||
Number of records |
N(07) |
3 |
9 |
M |
|
Total Number of detail records Number of detail records |
||
Error code |
N(02) |
10 |
11 |
O |
|
Error code of the first error found in the trailer |
||
Error description |
A/N(52) |
12 |
63 |
O |
|
Description of the error code |
||
% defect specified |
N(3) |
64 |
66 |
M |
|
Percentage defects specified |
||
% defect for this file and status |
A/N(17) |
67 |
83 |
M |
|
Percentage defects in the file plus the status. E.g. 10 accepted 66 rejected 66 header error 10 trailer error |
||
Number of incorrect records |
N(7) |
84 |
90 |
M |
|
Count of all records that were faulty. E.g. 0000100 |
||
When the JU2AT_AHV Account Holder Validation batch job runs and a NACK file is found, the status on the bank accounts will not be updated and an error message will be written to the error log.
Acknowledged (ACK) File
If the AVS file passes the initial authentication and validation, an ACK file in the format below will be returned.
Bank-to-client Header |
|||||||
FIELD NAME |
|
Data Type/Size |
START |
END |
M/O |
FIX VAL |
DESCRIPTION |
Record indicator |
N(02) |
1 |
2 |
M |
01 |
Identifies the record as Transmission Header Record. |
|
Date of request |
N(080 |
3 |
10 |
M |
|
Date of request in format CCYYMMDD (must be current date) |
|
File Number |
N(04) |
11 |
14 |
M |
|
Number in the file from the client. |
|
Charge account |
N(23) |
15 |
37 |
0 |
|
|
|
Profile number |
N(10) |
38 |
47 |
M |
|
Client profile number |
|
User ID |
N(05) |
48 |
52 |
O |
|
The ID of the user who uploaded the file. |
|
Version number |
N(02) |
53 |
54 |
M |
01 |
Version number of the file format. |
|
Response date and time |
N(14) |
55 |
68 |
O |
|
Date and time of response by Nedbank in format CCYYMMDDHHMMSS |
Detail Record |
|
|||||||
FIELD NAME |
|
Date Type/Size |
START |
END |
M/O |
FIX VAL |
DESCRIPTION |
|
Record Indicator |
N(02) |
1 |
2 |
M |
30 |
Detail record indicator |
||
Sequence Number |
N(07) |
3 |
9 |
M |
|
Starts at 0000001 and increases by 1 for each record |
||
Branch number |
N(06) |
10 |
15 |
M |
|
Branch code |
||
Account Number |
A/N(23) |
16 |
38 |
M |
|
Account Number |
||
Account Type |
N(02) |
39 |
40 |
O |
|
Account type |
||
ID number |
A/N(25) |
41 |
65 |
M |
|
ID number (13 digits) or company registration number (12 digits) or passport number |
||
ID type |
A/N(03) |
66 |
68 |
O |
|
|
||
Initials |
A/N(06) |
69 |
73 |
O |
|
First 3 Initials of individual. |
||
Surname |
A/N(30) |
74 |
103 |
O |
|
Surname / Company name |
||
Tax reference number |
N(10) |
104 |
113 |
O |
|
|
||
Client user reference |
A/N(20) |
114 |
133 |
O |
|
For client’s use to identify record |
||
Subbilling ID |
|
A/N(12) |
134 |
145 |
O |
|
For client’s use for subbilling purposes. |
|
Error condition number |
|
N(02) |
146 |
147 |
O |
|
Error condition number (refer to error condition code table below) |
|
Account found |
|
A/N(52) |
148 |
148 |
M |
|
Y = Valid account number N = Invalid account number F = Failed prevalidation U = Unprocessed |
|
ID number match |
|
A/N(01) |
149 |
149 |
M |
|
Y = ID number matches N = ID number does not match U = Unprocessed |
|
Initials match |
|
A/N(01) |
150 |
150 |
O |
|
Y = Initials matches N = Initials do not match U = Unprocessed |
|
Surname match |
|
A/N(01) |
152 |
151 |
0 |
|
Y = Surname matches N = Surname does not match U = Unprocessed |
|
Account – open |
|
A//N(01) |
152 |
152 |
O |
|
Y = Account open N = Account not open U = Unprocessed |
|
Account dormant |
|
A/N(01) |
153 |
153 |
O |
|
Y = Account dormant N = Account is not dormant U = Unprocessed |
|
Account open for at least three months |
|
A/N(01) |
154 |
`54 |
O |
|
Y = Account open for at least 3 months N = Account not open for at least 3 months U = Unprocessed |
|
Account accepts debits |
|
A/N(01) |
155 |
155 |
O |
|
Y = Account accepts debits N = Account does not accept debits U = Unprocessed |
|
Account accepts credits |
|
A/N(01) |
156 |
156 |
O |
|
Y = Account accepts credits N = Account does not accept credits U = Unprocessed |
|
Tax reference match |
|
A/N(01) |
157 |
157 |
O |
|
Y = Account accepts credits N = Account does not accept credits U = Unprocessed |
|
Account issuer |
|
A/N(02) |
158 |
159 |
M |
|
|
|
Trailer |
|
|||||||
FIELD NAME |
|
Data Type/Size |
START |
END |
M/O |
FIX VAL |
DESCRIPTION |
|
Record indicator |
N(02) |
1 |
2 |
M |
94 |
Trailer record indicator |
||
Number of records |
N(07) |
3 |
9 |
M |
|
Total Number of detail record |
||
Error code |
N(02) |
10 |
11 |
O |
|
Error code of the first error found in the trailer |
||
Error description |
A/N(52) |
12 |
63 |
O |
|
Description of the error code |
||
% defect specified |
N(3) |
64 |
66 |
M |
|
Percentage defects specified |
||
% defect for this file and status |
A/N(17) |
67 |
83 |
M |
|
Percentage defects in the file plus the status. E.g. 10 accepted 66 rejected 66 header error 10 trailer error |
||
Number of incorrect records |
N(7) |
84 |
90 |
M |
|
Count of all records that were faulty. E.g. 0000100 |
||
Error condition |
Description |
00 |
No error encountered with respect to branch, SLA and registration of bank |
01 |
The combination of branch number and account number is invalid |
02 |
The switch or issuing bank failed to respond within SLA |
03 |
Issuer bank is not registered with switch and hence transactions cannot be verified |
06 |
Technical error |
07 |
Could not start SLA clock |
08 |
AVS failed |
09 |
Verification retrieval/response service failed |
11 |
Inactive profile number |
When the JU2AT_AHV Account Holder Validation batch job runs and an ACK file is found, the Status on the Bank Accounts in the file will be updated to VALIDATED if the value for all of the fields in the table below is as indicated in the value column:
Field |
Value |
Error Condition |
00 |
Account found |
Y |
ID number match |
Y |
Initials match |
Y |
Surname match |
Y |
Account – open |
Y |
Account dormant |
N |
If the value for any of these fields is equal to U (Unprocessed), the Status on the bank account will not be updated.
If the value for Error Condition is 02, 03, 06, 07, 08, 09 or 11, the Status on the bank account will not be updated.
If the value for any of the fields in the table below is as indicated in the value column, the Status on the Bank Account will be set to REJECTED.
Field |
Value |
Error Condition |
01 |
Account found |
N |
ID number match |
N |
Initials match |
N |
Surname match |
N |
Account – open |
N |
Account dormant |
Y |