17 releases (5 stable)
1.5.0 | Jul 1, 2022 |
---|---|
1.3.0 | Jun 29, 2022 |
0.11.0 | Jun 29, 2022 |
#215 in #yaml
43 downloads per month
3MB
1K
SLoC
nacha
A terminal tool for exploring and parsing NACHA files
Usage
cargo install nacha
To parse a nacha file, just provide the filename!
nacha my_nacha_file.ach
Examples
Given a nacha file my_nacha.ach
like below:
101 23138010401210428821906240000A094101Federal Reserve Bank My Bank Name
5225Name on Account 121042882 PPDREG.SALARY 190625 1121042880000001
62723138010412345678 0100000000 Receiver Account Name 0121042880000001
82250000010023138010000100000000000000000000121042882 121042880000001
9000001000001000000010023138010000100000000000000000000
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
Explore file in terminal
nacha my_nacha.ach
Export as json
nacha my_nacha.ach my_nacha.json
{
"file_header": {
"record_type_code": "1",
"priority_code": "01",
"immediate_destination": "231380104",
"immediate_origin": "0121042882",
"file_creation_date": "2019-06-24",
"file_creation_time": "00:00",
"file_id_modifier": "A",
"record_size": "094",
"blocking_factor": "10",
"format_code": "1",
"immediate_destination_name": "Federal Reserve Bank",
"immediate_origin_name": "My Bank Name",
"reference_code": ""
},
"batches": [
{
"batch_header": {
"record_type_code": "5",
"service_class_code": "225",
"company_name": "Name on Account",
"company_discretionary_data": "",
"company_id": "121042882",
"standard_entry_class_code": "PPD",
"company_entry_description": "REG.SALARY",
"company_descriptive_date": "",
"effective_entry_date": "2019-06-25",
"settlement_date": null,
"originator_status_code": "1",
"originating_dfi_id": "12104288",
"batch_number": "0000001"
},
"detail_entries": [
{
"record_type_code": "6",
"transaction_code": "27",
"receiving_dfi_id": "23138010",
"check_digit": "4",
"dfi_account_number": "12345678",
"amount": 100000000,
"individual_id_number": "",
"individual_name": "Receiver Account Name",
"discretionary_data": "",
"addenda_record_indicator": "0",
"trace_number": "121042880000001",
"addenda": []
}
],
"batch_control": {
"record_type_code": "8",
"service_class_code": "225",
"entry_addenda_count": "000001",
"entry_hash": "0023138010",
"total_debit": 100000000,
"total_credit": 0,
"company_id": "0121042882",
"message_authentication_code": "",
"reserved": "",
"originating_dfi_id": "12104288",
"batch_number": "0000001"
}
}
],
"file_control": {
"record_type_code": "9",
"batch_count": 1,
"block_count": 1,
"entry_and_addenda_count": 1,
"entry_hash": "0023138010",
"total_debit": 100000000,
"total_credit": 0,
"reserved": ""
}
}
Export as yaml
nacha my_nacha.ach my_nacha.yaml
file_header:
record_type_code: "1"
priority_code: "01"
immediate_destination: "231380104"
immediate_origin: "0121042882"
file_creation_date: 2019-06-24
file_creation_time: "00:00"
file_id_modifier: A
record_size: "094"
blocking_factor: "10"
format_code: "1"
immediate_destination_name: Federal Reserve Bank
immediate_origin_name: My Bank Name
reference_code: ""
batches:
- batch_header:
record_type_code: "5"
service_class_code: "225"
company_name: Name on Account
company_discretionary_data: ""
company_id: "121042882"
standard_entry_class_code: PPD
company_entry_description: REG.SALARY
company_descriptive_date: ""
effective_entry_date: 2019-06-25
settlement_date: ~
originator_status_code: "1"
originating_dfi_id: "12104288"
batch_number: "0000001"
detail_entries:
- record_type_code: "6"
transaction_code: "27"
receiving_dfi_id: "23138010"
check_digit: "4"
dfi_account_number: "12345678"
amount: 100000000
individual_id_number: ""
individual_name: Receiver Account Name
discretionary_data: ""
addenda_record_indicator: "0"
trace_number: "121042880000001"
addenda: []
batch_control:
record_type_code: "8"
service_class_code: "225"
entry_addenda_count: "000001"
entry_hash: "0023138010"
total_debit: 100000000
total_credit: 0
company_id: "0121042882"
message_authentication_code: ""
reserved: ""
originating_dfi_id: "12104288"
batch_number: "0000001"
file_control:
record_type_code: "9"
batch_count: 1
block_count: 1
entry_and_addenda_count: 1
entry_hash: "0023138010"
total_debit: 100000000
total_credit: 0
reserved: ""
Dependencies
~10–20MB
~268K SLoC