nacha 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +13 -0
- data/.gitlab-ci.yml +13 -0
- data/.rspec +2 -0
- data/.rubocop.yml +42 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +5 -0
- data/Gemfile +9 -0
- data/Guardfile +20 -0
- data/LICENSE.txt +21 -0
- data/README.md +75 -0
- data/ROADMAP.md +56 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/nacha/aba_number.rb +44 -0
- data/lib/nacha/ach_date.rb +24 -0
- data/lib/nacha/field.rb +139 -0
- data/lib/nacha/numeric.rb +68 -0
- data/lib/nacha/parser.rb +67 -0
- data/lib/nacha/record/addenda_record_type.rb +29 -0
- data/lib/nacha/record/adv_batch_control.rb +21 -0
- data/lib/nacha/record/adv_entry_detail.rb +27 -0
- data/lib/nacha/record/adv_file_control.rb +24 -0
- data/lib/nacha/record/adv_file_header.rb +26 -0
- data/lib/nacha/record/arc_entry_detail.rb +24 -0
- data/lib/nacha/record/base.rb +170 -0
- data/lib/nacha/record/batch_control.rb +24 -0
- data/lib/nacha/record/batch_control_record_type.rb +21 -0
- data/lib/nacha/record/batch_header.rb +26 -0
- data/lib/nacha/record/batch_header_record_type.rb +25 -0
- data/lib/nacha/record/boc_entry_detail.rb +23 -0
- data/lib/nacha/record/ccd_addenda.rb +19 -0
- data/lib/nacha/record/ccd_entry_detail.rb +23 -0
- data/lib/nacha/record/cie_addenda.rb +19 -0
- data/lib/nacha/record/cie_entry_detail.rb +23 -0
- data/lib/nacha/record/ctx_addenda.rb +17 -0
- data/lib/nacha/record/ctx_corporate_entry_detail.rb +26 -0
- data/lib/nacha/record/detail_record_type.rb +29 -0
- data/lib/nacha/record/dne_addenda.rb +19 -0
- data/lib/nacha/record/dne_entry_detail.rb +24 -0
- data/lib/nacha/record/enr_addenda.rb +19 -0
- data/lib/nacha/record/enr_entry_detail.rb +26 -0
- data/lib/nacha/record/fifth_iat_addenda.rb +19 -0
- data/lib/nacha/record/file_control.rb +21 -0
- data/lib/nacha/record/file_control_record_type.rb +21 -0
- data/lib/nacha/record/file_header.rb +26 -0
- data/lib/nacha/record/file_header_record_type.rb +31 -0
- data/lib/nacha/record/filler.rb +13 -0
- data/lib/nacha/record/filler_record_type.rb +21 -0
- data/lib/nacha/record/first_iat_addenda.rb +22 -0
- data/lib/nacha/record/fourth_iat_addenda.rb +22 -0
- data/lib/nacha/record/iat_batch_header.rb +30 -0
- data/lib/nacha/record/iat_entry_detail.rb +26 -0
- data/lib/nacha/record/iat_foreign_coorespondent_bank_information_addenda.rb +23 -0
- data/lib/nacha/record/iat_remittance_information_addenda.rb +19 -0
- data/lib/nacha/record/mte_addenda.rb +26 -0
- data/lib/nacha/record/mte_entry_detail.rb +24 -0
- data/lib/nacha/record/pop_entry_detail.rb +26 -0
- data/lib/nacha/record/pos_addenda.rb +25 -0
- data/lib/nacha/record/pos_entry_detail.rb +24 -0
- data/lib/nacha/record/ppd_addenda.rb +19 -0
- data/lib/nacha/record/ppd_entry_detail.rb +24 -0
- data/lib/nacha/record/rck_entry_detail.rb +24 -0
- data/lib/nacha/record/second_iat_addenda.rb +20 -0
- data/lib/nacha/record/seventh_iat_addenda.rb +20 -0
- data/lib/nacha/record/shr_addenda.rb +26 -0
- data/lib/nacha/record/shr_entry_detail.rb +25 -0
- data/lib/nacha/record/sixth_iat_addenda.rb +20 -0
- data/lib/nacha/record/tel_entry_detail.rb +24 -0
- data/lib/nacha/record/third_iat_addenda.rb +20 -0
- data/lib/nacha/record/trc_entry_detail.rb +25 -0
- data/lib/nacha/record/trx_addenda.rb +19 -0
- data/lib/nacha/record/trx_entry_detail.rb +26 -0
- data/lib/nacha/record/validations/field_validations.rb +33 -0
- data/lib/nacha/record/validations/record_validations.rb +15 -0
- data/lib/nacha/record/web_addenda.rb +19 -0
- data/lib/nacha/record/web_entry_detail.rb +24 -0
- data/lib/nacha/record/xck_entry_detail.rb +25 -0
- data/lib/nacha/version.rb +5 -0
- data/lib/nacha.rb +45 -0
- data/nacha.gemspec +38 -0
- metadata +304 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/detail_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class EnrEntryDetail < Nacha::Record::Base
|
10
|
+
include DetailRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C6', position: 1..1
|
13
|
+
nacha_field :transaction_code, inclusion: 'M', contents: 'Numeric', position: 2..3
|
14
|
+
nacha_field :receiving_dfi_identification, inclusion: 'M', contents: 'TTTTAAAAC', position: 4..12
|
15
|
+
nacha_field :receiving_dfi_identification, inclusion: 'M', contents: 'Alphameric', position: 13..29
|
16
|
+
nacha_field :amount, inclusion: 'M', contents: '$$$$$$$$¢¢', position: 30..39
|
17
|
+
nacha_field :identification_number, inclusion: 'O', contents: 'Alphameric', position: 40..54
|
18
|
+
nacha_field :number_of_addenda_records, inclusion: 'M', contents: 'Alphameric', position: 55..58
|
19
|
+
nacha_field :receiving_company_name, inclusion: 'R', contents: 'Alphameric', position: 59..74
|
20
|
+
nacha_field :reserved, inclusion: 'M', contents: 'Alphameric', position: 75..76
|
21
|
+
nacha_field :discretionary_data, inclusion: 'O', contents: 'Alphameric', position: 77..78
|
22
|
+
nacha_field :addenda_record_indicator, inclusion: 'M', contents: 'Numeric', position: 79..79
|
23
|
+
nacha_field :trace_number, inclusion: 'M', contents: 'Numeric', position: 80..94
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'nacha/record/base.rb'
|
4
|
+
require 'nacha/record/addenda_record_type.rb'
|
5
|
+
module Nacha
|
6
|
+
module Record
|
7
|
+
class FifthIatAddenda < Nacha::Record::Base
|
8
|
+
include AddendaRecordType
|
9
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C7', position: 1..1
|
10
|
+
nacha_field :addenda_type_code, inclusion: 'M', contents: 'C14', position: 2..3
|
11
|
+
nacha_field :receiving_dfi_name, inclusion: 'M', contents: 'Alphameric', position: 4..38
|
12
|
+
nacha_field :receiving_dfi_identification_number_qualifier, inclusion: 'M', contents: 'Alphameric', position: 39..40
|
13
|
+
nacha_field :receiving_dfi_identification, inclusion: 'M', contents: 'Alphameric', position: 41..74
|
14
|
+
nacha_field :receiving_dfi_branch_country_code, inclusion: 'M', contents: 'Alphameric', position: 75..77
|
15
|
+
nacha_field :reserved, inclusion: 'M', contents: 'C ', position: 78..87
|
16
|
+
nacha_field :entry_detail_sequence_number, inclusion: 'M', contents: 'Numeric', position: 88..94
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/file_control_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class FileControl < Nacha::Record::Base
|
10
|
+
include FileControlRecordType
|
11
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C9', position: 1..1
|
12
|
+
nacha_field :batch_count, inclusion: 'M', contents: 'Numeric', position: 2..7
|
13
|
+
nacha_field :block_count, inclusion: 'M', contents: 'Numeric', position: 8..13
|
14
|
+
nacha_field :entry_addenda_count, inclusion: 'M', contents: 'Numeric', position: 14..21
|
15
|
+
nacha_field :entry_hash, inclusion: 'M', contents: 'Numeric', position: 22..31
|
16
|
+
nacha_field :total_debit_entry_dollar_amount_in_file, inclusion: 'M', contents: '$$$$$$$$$$¢¢', position: 32..43
|
17
|
+
nacha_field :total_credit_entry_dollar_amount_in_file, inclusion: 'M', contents: '$$$$$$$$$$¢¢', position: 44..55
|
18
|
+
nacha_field :reserved, inclusion: 'M', contents: 'C ', position: 56..94
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Nacha
|
4
|
+
module Record
|
5
|
+
module FileControlRecordType
|
6
|
+
def self.included(base)
|
7
|
+
base.extend ClassMethods
|
8
|
+
end
|
9
|
+
|
10
|
+
module ClassMethods
|
11
|
+
def child_record_types
|
12
|
+
[]
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def child_record_types
|
17
|
+
self.class.child_record_types
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'nacha/record/base.rb'
|
4
|
+
require 'nacha/record/file_header_record_type.rb'
|
5
|
+
|
6
|
+
module Nacha
|
7
|
+
module Record
|
8
|
+
class FileHeader < Nacha::Record::Base
|
9
|
+
include FileHeaderRecordType
|
10
|
+
|
11
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C1', position: 1..1
|
12
|
+
nacha_field :priority_code, inclusion: 'R', contents: 'Numeric', position: 2..3
|
13
|
+
nacha_field :immediate_destination, inclusion: 'M', contents: 'bTTTTAAAAC', position: 4..13
|
14
|
+
nacha_field :immediate_origin, inclusion: 'M', contents: 'bTTTTAAAAC', position: 14..23
|
15
|
+
nacha_field :file_creation_date, inclusion: 'M', contents: 'YYMMDD', position: 24..29
|
16
|
+
nacha_field :file_creation_time, inclusion: 'M', contents: 'HHMM', position: 30..33
|
17
|
+
nacha_field :file_id_modifier, inclusion: 'M', contents: 'A-Z0-9', position: 34..34
|
18
|
+
nacha_field :record_size, inclusion: 'M', contents: 'C094', position: 35..37
|
19
|
+
nacha_field :blocking_factor, inclusion: 'M', contents: 'C10', position: 38..39
|
20
|
+
nacha_field :format_code, inclusion: 'M', contents: 'C1', position: 40..40
|
21
|
+
nacha_field :immediate_destination_name, inclusion: 'M', contents: 'Alphameric', position: 41..63
|
22
|
+
nacha_field :immediate_origin_name, inclusion: 'M', contents: 'Alphameric', position: 64..86
|
23
|
+
nacha_field :reference_code, inclusion: 'M', contents: 'Alphameric', position: 87..94
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Nacha
|
4
|
+
module Record
|
5
|
+
module FileHeaderRecordType
|
6
|
+
def self.included(base)
|
7
|
+
base.extend ClassMethods
|
8
|
+
end
|
9
|
+
|
10
|
+
module ClassMethods
|
11
|
+
def child_record_types
|
12
|
+
[
|
13
|
+
'Nacha::Record::BatchHeader',
|
14
|
+
'Nacha::Record::FileControl',
|
15
|
+
'Nacha::Record::Filler'
|
16
|
+
]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def child_record_types
|
21
|
+
## returns the class method
|
22
|
+
self.class.child_record_types
|
23
|
+
end
|
24
|
+
|
25
|
+
def next_record_types
|
26
|
+
## returns the class method
|
27
|
+
self.class.next_record_types
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Nacha
|
4
|
+
module Record
|
5
|
+
module FillerRecordType
|
6
|
+
def self.included(base)
|
7
|
+
base.extend ClassMethods
|
8
|
+
end
|
9
|
+
|
10
|
+
module ClassMethods
|
11
|
+
def self.child_record_types
|
12
|
+
[]
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def child_record_types
|
17
|
+
self.class.child_record_types
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/addenda_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class FirstIatAddenda < Nacha::Record::Base
|
10
|
+
include AddendaRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C7', position: 1..1
|
13
|
+
nacha_field :addenda_type_code, inclusion: 'M', contents: 'C10', position: 2..3
|
14
|
+
nacha_field :transaction_type_code, inclusion: 'R', contents: 'Alphameric', position: 4..6
|
15
|
+
nacha_field :foreign_payment_amount, inclusion: 'R', contents: 'Alphameric', position: 7..24
|
16
|
+
nacha_field :foreign_trace_number, inclusion: 'O', contents: 'Alphameric', position: 25..46
|
17
|
+
nacha_field :receiving_company_name, inclusion: 'M', contents: 'Alphameric', position: 47..81
|
18
|
+
nacha_field :reserved, inclusion: 'M', contents: 'C ', position: 84..87
|
19
|
+
nacha_field :entry_detail_sequence_number, inclusion: 'M', contents: 'Numeric', position: 88..94
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/addenda_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class FourthIatAddenda < Nacha::Record::Base
|
10
|
+
include AddendaRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C7', position: 1..1
|
13
|
+
nacha_field :addenda_type_code, inclusion: 'M', contents: 'C13', position: 2..3
|
14
|
+
nacha_field :originating_dfi_name, inclusion: 'M', contents: 'Alphameric', position: 4..38
|
15
|
+
nacha_field :originating_dfi_identification_number_qualifier, inclusion: 'M', contents: 'Alphameric', position: 39..40
|
16
|
+
nacha_field :originating_dfi_identification, inclusion: 'M', contents: 'Alphameric', position: 41..74
|
17
|
+
nacha_field :originating_dfi_branch_country_code, inclusion: 'M', contents: 'Alphameric', position: 75..77
|
18
|
+
nacha_field :reserved, inclusion: 'M', contents: 'C ', position: 78..87
|
19
|
+
nacha_field :entry_detail_sequence_number, inclusion: 'M', contents: 'Numeric', position: 88..94
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'nacha/record/base.rb'
|
4
|
+
require 'nacha/record/batch_header_record_type.rb'
|
5
|
+
|
6
|
+
module Nacha
|
7
|
+
module Record
|
8
|
+
class IatBatchHeader < Nacha::Record::Base
|
9
|
+
include BatchHeaderRecordType
|
10
|
+
|
11
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C5', position: 1..1
|
12
|
+
nacha_field :service_class_code, inclusion: 'M', contents: 'Numeric', position: 2..4
|
13
|
+
nacha_field :iat_indicator, inclusion: 'O', contents: 'Alphameric', position: 5..20
|
14
|
+
nacha_field :foreign_exchange_indicator, inclusion: 'M', contents: 'Alphameric', position: 21..22
|
15
|
+
nacha_field :foreign_exchange_reference_indicator, inclusion: 'R', contents: 'Numeric', position: 23..23
|
16
|
+
nacha_field :foreign_exchange_reference, inclusion: 'R', contents: 'Alphameric', position: 24..38
|
17
|
+
nacha_field :iso_destination_country_code, inclusion: 'M', contents: 'Alphameric', position: 39..40
|
18
|
+
nacha_field :originator_identification, inclusion: 'M', contents: 'Alphameric', position: 41..50
|
19
|
+
nacha_field :standard_entry_class_code, inclusion: 'M', contents: 'Alphameric', position: 51..53
|
20
|
+
nacha_field :company_entry_description, inclusion: 'M', contents: 'Alphameric', position: 54..63
|
21
|
+
nacha_field :iso_originating_currency_code, inclusion: 'M', contents: 'Alphameric', position: 64..66
|
22
|
+
nacha_field :iso_destination_currency_code, inclusion: 'M', contents: 'Alphameric', position: 67..69
|
23
|
+
nacha_field :effective_entry_date, inclusion: 'R', contents: 'YYMMDD', position: 70..75
|
24
|
+
nacha_field :settlement_date_julian, inclusion: 'M', contents: 'Numeric', position: 76..78
|
25
|
+
nacha_field :originator_status_code, inclusion: 'M', contents: 'Alphameric', position: 79..79
|
26
|
+
nacha_field :originating_dfi_identification, inclusion: 'M', contents: 'TTTTAAAA', position: 80..87
|
27
|
+
nacha_field :batch_number, inclusion: 'M', contents: 'Numeric', position: 88..94
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/detail_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class IatEntryDetail < Nacha::Record::Base
|
10
|
+
include DetailRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C6', position: 1..1
|
13
|
+
nacha_field :transaction_code, inclusion: 'M', contents: 'Numeric', position: 2..3
|
14
|
+
nacha_field :receiving_dfi_identification, inclusion: 'M', contents: 'TTTTAAAAC', position: 4..12
|
15
|
+
nacha_field :number_of_addenda_records, inclusion: 'M', contents: 'Alphameric', position: 13..16
|
16
|
+
nacha_field :reserved, inclusion: 'O', contents: 'C ', position: 17..29
|
17
|
+
nacha_field :amount, inclusion: 'M', contents: '$$$$$$$$¢¢', position: 30..39
|
18
|
+
nacha_field :dfi_account_number, inclusion: 'M', contents: 'Numeric', position: 40..74
|
19
|
+
nacha_field :reserved, inclusion: 'O', contents: 'C ', position: 75..76
|
20
|
+
nacha_field :gateway_operator_ofac_screening_indicator, inclusion: 'O', contents: 'Alphameric', position: 77..77
|
21
|
+
nacha_field :secondary_ofac_screening_indicator, inclusion: 'O', contents: 'Alphameric', position: 78..78
|
22
|
+
nacha_field :addenda_record_indicator, inclusion: 'M', contents: 'Numeric', position: 79..79
|
23
|
+
nacha_field :trace_number, inclusion: 'M', contents: 'Numeric', position: 80..94
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/addenda_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class IatForeignCoorespondentBankInformationAddenda < Nacha::Record::Base
|
10
|
+
include AddendaRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C7', position: 1..1
|
13
|
+
nacha_field :addenda_type_code, inclusion: 'M', contents: 'C18', position: 2..3
|
14
|
+
nacha_field :foreign_coorespondent_bank_name, inclusion: 'M', contents: 'Alphameric', position: 4..38
|
15
|
+
nacha_field :foreign_coorespondent_bank_identification_number_qualifier, inclusion: 'M', contents: 'Alphameric', position: 39..40
|
16
|
+
nacha_field :foreign_coorespondent_bank_identification_number, inclusion: 'M', contents: 'Alphameric', position: 41..74
|
17
|
+
nacha_field :foreign_coorestpondent_bank_branch_country_code, inclusion: 'M', contents: 'Alphameric', position: 75..77
|
18
|
+
nacha_field :reserved, inclusion: 'M', contents: 'C ', position: 78..83
|
19
|
+
nacha_field :addenda_sequence_number, inclusion: 'M', contents: 'Numeric', position: 84..87
|
20
|
+
nacha_field :entry_detail_sequence_number, inclusion: 'M', contents: 'Numeric', position: 88..94
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/addenda_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class IatRemittanceInformationAddenda < Nacha::Record::Base
|
10
|
+
include AddendaRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C7', position: 1..1
|
13
|
+
nacha_field :addenda_type_code, inclusion: 'M', contents: 'C17', position: 2..3
|
14
|
+
nacha_field :payment_related_information, inclusion: 'O', contents: 'Alphameric', position: 4..83
|
15
|
+
nacha_field :addenda_sequence_number, inclusion: 'M', contents: 'Numeric', position: 84..87
|
16
|
+
nacha_field :entry_detail_sequence_number, inclusion: 'M', contents: 'Numeric', position: 88..94
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/addenda_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class MteAddenda < Nacha::Record::Base
|
10
|
+
include AddendaRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C6', position: 1..1
|
13
|
+
nacha_field :addenda_type_code, inclusion: 'M', contents: 'C02', position: 2..3
|
14
|
+
nacha_field :transaction_description, inclusion: 'R', contents: 'Alphameric', position: 4..10
|
15
|
+
nacha_field :network_identification_code, inclusion: 'O', contents: 'Alphameric', position: 11..13
|
16
|
+
nacha_field :terminal_identification_code, inclusion: 'R', contents: 'Alphameric', position: 14..19
|
17
|
+
nacha_field :transaction_serial_number, inclusion: 'R', contents: 'Alphameric', position: 20..25
|
18
|
+
nacha_field :transaction_date, inclusion: 'R', contents: 'MMDD', position: 26..29
|
19
|
+
nacha_field :transaction_time, inclusion: 'R', contents: 'HHMMSS', position: 30..35
|
20
|
+
nacha_field :terminal_location, inclusion: 'R', contents: 'Alphameric', position: 36..62
|
21
|
+
nacha_field :terminal_city, inclusion: 'R', contents: 'Alphameric', position: 63..77
|
22
|
+
nacha_field :terminal_state, inclusion: 'R', contents: 'Alphameric', position: 78..79
|
23
|
+
nacha_field :trace_number, inclusion: 'M', contents: 'Numeric', position: 80..94
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/detail_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class MteEntryDetail < Nacha::Record::Base
|
10
|
+
include DetailRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C6', position: 1..1
|
13
|
+
nacha_field :transaction_code, inclusion: 'M', contents: 'Numeric', position: 2..3
|
14
|
+
nacha_field :receiving_dfi_identification, inclusion: 'M', contents: 'TTTTAAAAC', position: 4..12
|
15
|
+
nacha_field :dfi_account_number, inclusion: 'R', contents: 'Alphameric', position: 13..29
|
16
|
+
nacha_field :amount, inclusion: 'M', contents: '$$$$$$$$¢¢', position: 30..39
|
17
|
+
nacha_field :individual_name, inclusion: 'M', contents: 'Alphameric', position: 40..54
|
18
|
+
nacha_field :individual_identification_number, inclusion: 'M', contents: 'Alphameric', position: 55..76
|
19
|
+
nacha_field :discretionary_data, inclusion: 'O', contents: 'Alphameric', position: 77..78
|
20
|
+
nacha_field :addenda_record_indicator, inclusion: 'M', contents: 'Numeric', position: 79..79
|
21
|
+
nacha_field :trace_number, inclusion: 'M', contents: 'Numeric', position: 80..94
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/detail_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class PopEntryDetail < Nacha::Record::Base
|
10
|
+
include DetailRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C6', position: 1..1
|
13
|
+
nacha_field :transaction_code, inclusion: 'M', contents: 'Numeric', position: 2..3
|
14
|
+
nacha_field :receiving_dfi_identification, inclusion: 'M', contents: 'TTTTAAAAC', position: 4..12
|
15
|
+
nacha_field :dfi_account_number, inclusion: 'R', contents: 'Alphameric', position: 13..29
|
16
|
+
nacha_field :amount, inclusion: 'M', contents: '$$$$$$$$¢¢', position: 30..39
|
17
|
+
nacha_field :check_serial_number, inclusion: 'M', contents: 'Alphameric', position: 40..48
|
18
|
+
nacha_field :terminal_city, inclusion: 'M', contents: 'Alphameric', position: 49..52
|
19
|
+
nacha_field :terminal_state, inclusion: 'R', contents: 'Alphameric', position: 53..54
|
20
|
+
nacha_field :individual_name, inclusion: 'O', contents: 'Alphameric', position: 55..76
|
21
|
+
nacha_field :discretionary_data, inclusion: 'O', contents: 'Alphameric', position: 77..78
|
22
|
+
nacha_field :addenda_record_indicator, inclusion: 'M', contents: 'Numeric', position: 79..79
|
23
|
+
nacha_field :trace_number, inclusion: 'M', contents: 'Numeric', position: 80..94
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/addenda_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class PosAddenda < Nacha::Record::Base
|
10
|
+
include AddendaRecordType
|
11
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C7', position: 1..1
|
12
|
+
nacha_field :addenda_type_code, inclusion: 'M', contents: 'C02', position: 2..3
|
13
|
+
nacha_field :reference_information_1, inclusion: 'O', contents: 'Alphameric', position: 4..10
|
14
|
+
nacha_field :reference_information_2, inclusion: 'O', contents: 'Alphameric', position: 11..13
|
15
|
+
nacha_field :terminal_identification_code, inclusion: 'R', contents: 'Alphameric', position: 14..19
|
16
|
+
nacha_field :transaction_serial_number, inclusion: 'R', contents: 'Alphameric', position: 20..25
|
17
|
+
nacha_field :transaction_date, inclusion: 'O', contents: 'Alphameric', position: 26..29
|
18
|
+
nacha_field :authorization_code_or_card_expiration_date, inclusion: 'O', contents: 'Alphameric', position: 30..35
|
19
|
+
nacha_field :terminal_location, inclusion: 'R', contents: 'Alphameric', position: 36..62
|
20
|
+
nacha_field :terminal_city, inclusion: 'R', contents: 'Alphameric', position: 63..77
|
21
|
+
nacha_field :terminal_state, inclusion: 'M', contents: 'Numeric', position: 78..79
|
22
|
+
nacha_field :trace_number, inclusion: 'M', contents: 'Numeric', position: 80..94
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/detail_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class PosEntryDetail < Nacha::Record::Base
|
10
|
+
include DetailRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C6', position: 1..1
|
13
|
+
nacha_field :transaction_code, inclusion: 'M', contents: 'Numeric', position: 2..3
|
14
|
+
nacha_field :receiving_dfi_identification, inclusion: 'M', contents: 'TTTTAAAAC', position: 4..12
|
15
|
+
nacha_field :dfi_account_number, inclusion: 'R', contents: 'Alphameric', position: 13..29
|
16
|
+
nacha_field :amount, inclusion: 'M', contents: '$$$$$$$$¢¢', position: 30..39
|
17
|
+
nacha_field :individual_identification_number, inclusion: 'O', contents: 'Alphameric', position: 40..54
|
18
|
+
nacha_field :individual_name, inclusion: 'R', contents: 'Alphameric', position: 55..76
|
19
|
+
nacha_field :card_transaction_type_code, inclusion: 'M', contents: 'Alphameric', position: 77..78
|
20
|
+
nacha_field :addenda_record_indicator, inclusion: 'M', contents: 'Numeric', position: 79..79
|
21
|
+
nacha_field :trace_number, inclusion: 'M', contents: 'Numeric', position: 80..94
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/addenda_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class PpdAddenda < Nacha::Record::Base
|
10
|
+
include AddendaRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C7', position: 1..1
|
13
|
+
nacha_field :addenda_type_code, inclusion: 'M', contents: 'C05', position: 2..3
|
14
|
+
nacha_field :payment_related_information, inclusion: 'O', contents: 'Alphameric', position: 4..83
|
15
|
+
nacha_field :addenda_sequence_number, inclusion: 'M', contents: 'Numeric', position: 84..87
|
16
|
+
nacha_field :entry_detail_sequence_number, inclusion: 'M', contents: 'Numeric', position: 88..94
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/detail_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class PpdEntryDetail < Nacha::Record::Base
|
10
|
+
include DetailRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C6', position: 1..1
|
13
|
+
nacha_field :transaction_code, inclusion: 'M', contents: 'Numeric', position: 2..3
|
14
|
+
nacha_field :receiving_dfi_identification, inclusion: 'M', contents: 'TTTTAAAAC', position: 4..12
|
15
|
+
nacha_field :dfi_account_number, inclusion: 'R', contents: 'Alphameric', position: 13..29
|
16
|
+
nacha_field :amount, inclusion: 'M', contents: '$$$$$$$$¢¢', position: 30..39
|
17
|
+
nacha_field :individual_identification_number, inclusion: 'O', contents: 'Alphameric', position: 40..54
|
18
|
+
nacha_field :individual_name, inclusion: 'R', contents: 'Alphameric', position: 55..76
|
19
|
+
nacha_field :discretionary_data, inclusion: 'O', contents: 'Alphameric', position: 77..78
|
20
|
+
nacha_field :addenda_record_indicator, inclusion: 'M', contents: 'Numeric', position: 79..79
|
21
|
+
nacha_field :trace_number, inclusion: 'M', contents: 'Numeric', position: 80..94
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/detail_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class RckEntryDetail < Nacha::Record::Base
|
10
|
+
include DetailRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C6', position: 1..1
|
13
|
+
nacha_field :transaction_code, inclusion: 'M', contents: 'Numeric', position: 2..3
|
14
|
+
nacha_field :receiving_dfi_identification, inclusion: 'M', contents: 'TTTTAAAAC', position: 4..12
|
15
|
+
nacha_field :dfi_account_number, inclusion: 'R', contents: 'Alphameric', position: 13..29
|
16
|
+
nacha_field :amount, inclusion: 'M', contents: '$$$$$$$$¢¢', position: 30..39
|
17
|
+
nacha_field :check_serial_number, inclusion: 'M', contents: 'Alphameric', position: 40..54
|
18
|
+
nacha_field :individual_name, inclusion: 'R', contents: 'Alphameric', position: 55..76
|
19
|
+
nacha_field :discretionary_data, inclusion: 'O', contents: 'Alphameric', position: 77..78
|
20
|
+
nacha_field :addenda_record_indicator, inclusion: 'M', contents: 'Numeric', position: 79..79
|
21
|
+
nacha_field :trace_number, inclusion: 'M', contents: 'Numeric', position: 80..94
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/addenda_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class SecondIatAddenda < Nacha::Record::Base
|
10
|
+
include AddendaRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C7', position: 1..1
|
13
|
+
nacha_field :addenda_type_code, inclusion: 'M', contents: 'C11', position: 2..3
|
14
|
+
nacha_field :originator_name, inclusion: 'M', contents: 'Alphameric', position: 4..38
|
15
|
+
nacha_field :originator_street_address, inclusion: 'M', contents: 'Alphameric', position: 39..73
|
16
|
+
nacha_field :reserved, inclusion: 'M', contents: 'C ', position: 74..87
|
17
|
+
nacha_field :entry_detail_sequence_number, inclusion: 'M', contents: 'Numeric', position: 88..94
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/addenda_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class SeventhIatAddenda < Nacha::Record::Base
|
10
|
+
include AddendaRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C7', position: 1..1
|
13
|
+
nacha_field :addenda_type_code, inclusion: 'M', contents: 'C16', position: 2..3
|
14
|
+
nacha_field :receiver_city_state, inclusion: 'M', contents: 'Alphameric', position: 4..38
|
15
|
+
nacha_field :receiver_country_postal, inclusion: 'M', contents: 'Alphameric', position: 39..73
|
16
|
+
nacha_field :reserved, inclusion: 'M', contents: 'C ', position: 74..87
|
17
|
+
nacha_field :entry_detail_sequence_number, inclusion: 'M', contents: 'Numeric', position: 88..94
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/addenda_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class ShrAddenda < Nacha::Record::Base
|
10
|
+
include AddendaRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C7', position: 1..1
|
13
|
+
nacha_field :addenda_type_code, inclusion: 'M', contents: 'C02', position: 2..3
|
14
|
+
nacha_field :reference_information_1, inclusion: 'O', contents: 'Alphameric', position: 4..10
|
15
|
+
nacha_field :reference_information_2, inclusion: 'O', contents: 'Alphameric', position: 11..13
|
16
|
+
nacha_field :terminal_identification_code, inclusion: 'R', contents: 'Alphameric', position: 14..19
|
17
|
+
nacha_field :transaction_serial_number, inclusion: 'R', contents: 'Alphameric', position: 20..25
|
18
|
+
nacha_field :transaction_date, inclusion: 'O', contents: 'Alphameric', position: 26..29
|
19
|
+
nacha_field :authorization_code_or_card_expiration_date, inclusion: 'O', contents: 'Alphameric', position: 30..35
|
20
|
+
nacha_field :terminal_location, inclusion: 'R', contents: 'Alphameric', position: 36..62
|
21
|
+
nacha_field :terminal_city, inclusion: 'R', contents: 'Alphameric', position: 63..77
|
22
|
+
nacha_field :terminal_state, inclusion: 'M', contents: 'Numeric', position: 78..79
|
23
|
+
nacha_field :trace_number, inclusion: 'M', contents: 'Numeric', position: 80..94
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'nacha/record/base.rb'
|
5
|
+
require 'nacha/record/detail_record_type.rb'
|
6
|
+
|
7
|
+
module Nacha
|
8
|
+
module Record
|
9
|
+
class ShrEntryDetail < Nacha::Record::Base
|
10
|
+
include DetailRecordType
|
11
|
+
|
12
|
+
nacha_field :record_type_code, inclusion: 'M', contents: 'C6', position: 1..1
|
13
|
+
nacha_field :transaction_code, inclusion: 'M', contents: 'Numeric', position: 2..3
|
14
|
+
nacha_field :receiving_dfi_identification, inclusion: 'M', contents: 'TTTTAAAAC', position: 4..12
|
15
|
+
nacha_field :dfi_account_number, inclusion: 'R', contents: 'Alphameric', position: 13..29
|
16
|
+
nacha_field :amount, inclusion: 'M', contents: '$$$$$$$$¢¢', position: 30..39
|
17
|
+
nacha_field :card_expiration_date, inclusion: 'O', contents: 'Alphameric', position: 40..43
|
18
|
+
nacha_field :document_reference_number, inclusion: 'R', contents: 'Alphameric', position: 44..54
|
19
|
+
nacha_field :individual_card_account_number, inclusion: 'R', contents: 'Alphameric', position: 55..76
|
20
|
+
nacha_field :card_transaction_type, inclusion: 'M', contents: 'Alphameric', position: 77..78
|
21
|
+
nacha_field :addenda_record_indicator, inclusion: 'M', contents: 'Numeric', position: 79..79
|
22
|
+
nacha_field :trace_number, inclusion: 'M', contents: 'Numeric', position: 80..94
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|