Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Validation Error on CTP Messages containing tag {6000} and not tag {5010} #217

Closed
vishwasbabu opened this issue Jul 1, 2022 · 1 comment · Fixed by #272
Closed

Validation Error on CTP Messages containing tag {6000} and not tag {5010} #217

vishwasbabu opened this issue Jul 1, 2022 · 1 comment · Fixed by #272
Assignees
Labels
bug Something isn't working hacktoberfest-accepted
Milestone

Comments

@vishwasbabu
Copy link

vishwasbabu commented Jul 1, 2022

Wire Version: v0.9.0-rc1

What were you trying to do?
Parse a valid wire file in the format

{1100}30P N{1110}06071654XXXX{1120}20220607XXXXXXXXXXXXXXXXXXXXXXXXXX{1510}1000{1520}20220607XXXXXXXX000002{2000}000000009000{3100}021004543Test Bank*{3320}158545637*{3400}123456789Test XXXXXXXXXXXXX*{3600}CTP{3620}3*752E9D0D-99B8-4DF4-87F2-XXXXXXXXXXXX*{3700}BUSD0,00*USD10,00*{3710}USD100,00*{4200}DXXXXXXXXXXXXXXXX*Test Bank*line1*line2*line3*{4320}WW22060755582563*{5000}DXXXXXXXXXXX*line1*line2*line3*{5100}BXXXXXXXXXXX*Test Bank*line1*line2*{6000}FFC: XXXXX*XXXXXXXXXXX*

What did you expect to see?
I would expect this file to be successfully parsed

What did you see?
A validation error is thrown indicating that tag {5010} is mandatory.

How can we reproduce the problem?
Using the wire example posted above or any wire which is

  • of Business Function code CTP
  • Has tag {6000}
  • Does not have tag {5010}

The crux of the issue seems to be around the following note on tag {6000} in the Fedwire Funds Service
Format Reference Guide doc, March 18, 2019. The note says

Screen Shot 2022-07-01 at 10 16 23 PM

The wire library seems to interpret this note to indicate that if tag {6000} is present and the wire is a CTP, then tag {5010} is mandatory and validates accordingly.

Based on live wires we have been seeing as well as the rest of the format reference guide which requires either tag {5000} or {5010} to provide originator details for CTP, I believe this note on the reference guide is effectively trying to say

If tag {6000} is present and the business function code is not CTP, {4200} and {5000} are mandatory.
If tag {6000} is present and the business function code Is CTP, {4200} and ( either of {5000} or {5010} ) are mandatory.

@atonks2
Copy link
Contributor

atonks2 commented Jul 1, 2022

Thanks for the thorough description @vishwasbabu. This issue is likely a consequence of having built this library on older, less detailed specifications. Happy to revisit the topic now with more recent documentation.

@adamdecaf adamdecaf added the bug Something isn't working label Jul 1, 2022
@adamdecaf adamdecaf added this to the v0.9.1 milestone Jul 6, 2022
@mfdeveloper508 mfdeveloper508 self-assigned this Nov 14, 2022
@mfdeveloper508 mfdeveloper508 linked a pull request Nov 14, 2022 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working hacktoberfest-accepted
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants