Catalog PyPI
PACKAGE EXPLORERView in registry

ach-file

PyPI

Highly configurable and permissive library to generate ACH files

Versions collected1
Direct dependencies0From release 0.1.6b0
Last observed20 Oct, 18:12 UTC

README

Version 0.1.6b0 documentation

ach-file

codecov

Generates ACH files. Highly configurable and permissive enough to be able to generate a valid ACH file for any originating bank.

Example

Here is an example of how to use the file builder:

from ach.files import ACHFileBuilder
from ach.constants import AutoDateInput, BatchStandardEntryClassCode, TransactionCode


b = ACHFileBuilder(
    destination_routing='012345678',
    origin_routing='102345678',
    destination_name='YOUR BANK',
    origin_name='YOUR FINANCIAL INSTITUTION',
)
b.add_batch(
    company_name='YOUR COMPANY', company_identification='1234567890', company_entry_description='Test',
    effective_entry_date=AutoDateInput.TOMORROW, standard_entry_class_code=BatchStandardEntryClassCode.CCD,
)
b.add_entries_and_addendas([
    {
      'transaction_code': TransactionCode.CHECKING_CREDIT,
      'rdfi_routing': '123456789',
      'rdfi_account_number': '65656565',
      'amount': '300',
      'individual_name': 'Janey Test',
    },
    {
      'transaction_code': TransactionCode.CHECKING_DEBIT,
      'rdfi_routing': '123456789',
      'rdfi_account_number': '65656565',
      'amount': '300',
      'individual_name': 'Janey Test',
      'addendas': [
        {'payment_related_information': 'Reversing the last transaction pls and thx'},
      ]
    },
    {
      'transaction_code': TransactionCode.CHECKING_CREDIT,
      'rdfi_routing': '023456789',
      'rdfi_account_number': '45656565',
      'amount': '7000',
      'individual_name': 'Mackey Shawnderson',
      'addendas': [
        {'payment_related_information': 'Where\'s my money'},
      ]
    },
])

It has this result:

101 012345678 102345678221110    A094101YOUR BANK              YOUR FINANCIAL INSTITUT        
5200YOUR COMPANY                        1234567890CCDTest            221111   1102345670000001
62212345678965656565         0000000300               Janey Test              0102345670000001
62712345678965656565         0000000300               Janey Test              1102345670000002
705Reversing the last transaction pls and thx                                      00010000002
62202345678945656565         0000007000               Mackey Shawnderson      1102345670000003
705Where's my money                                                                00010000003
820000000500270370340000000003000000000073001234567890                         102345670000001
9000001000001000000050027037034000000000300000000007300                                       
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999

Valid Keyword Arguments

Below are tables describing all of the valid input arguments for the callables in the above example.

File Setting Fields (ACHFileBuilder(...))

Key NameFieldTypeRequiredDefault
record_type_codeIntegerFieldTypeTrue1
priority_codeIntegerFieldTypeTrue1
destination_routingBlankPaddedRoutingNumberFieldTypeTrueNone
origin_routingBlankPaddedRoutingNumberFieldTypeTrueNone
file_creation_dateDateFieldTypeTrue"NOW"
file_creation_timeTimeFieldTypeFalseNone
file_id_modifierAlphaNumFieldTypeTrue"A"
record sizeIntegerFieldTypeTrue94
blocking_factorIntegerFieldTypeTrue10
format_codeIntegerFieldTypeTrue1
destination_nameAlphaNumFieldTypeTrueNone
origin_nameAlphaNumFieldTypeTrueNone
reference_codeAlphaNumFieldTypeTrue""

Batch Fields (b.add_batch(...))

Key NameFieldTypeRequiredDefault
record_type_codeIntegerFieldTypeTrue5
service_class_codeIntegerFieldTypeTrue200
company_nameAlphaNumFieldTypeTrueNone
company_discretionary_dataAlphaNumFieldTypeFalseNone
company_identificationIntegerFieldTypeTrueNone
standard_entry_class_codeAlphaNumFieldTypeTrue"PPD"
company_entry_descriptionAlphaNumFieldTypeTrueNone
company_descriptive_dateDateFieldTypeFalseNone
effective_entry_dateDateFieldTypeTrue"TOMORROW"
settlement_dateAlphaNumFieldTypeFalseNone
originator_status_codeIntegerFieldTypeTrue1
odfi_identificationIntegerFieldTypeTrue(auto-set)
batch_numberIntegerFieldTypeTrue(auto-set)

Entry Fields (b.add_entries_and_addendas([{...}]))

Key NameFieldTypeRequiredDefault
record_type_codeIntegerFieldTypeTrue6
transaction_codeIntegerFieldTypeTrueNone
rdfi_routingIntegerFieldTypeTrueNone
rdfi_account_numberAlphaNumFieldTypeTrueNone
amountIntegerFieldTypeTrueNone
individual_identification_numberAlphaNumFieldTypeFalseNone
individual_nameAlphaNumFieldTypeTrueNone
discretionary_dataAlphaNumFieldTypeFalseNone
addenda_record_indicatorIntegerFieldTypeTrue(auto-set)
trace_odfi_identifierIntegerFieldTypeTrue(auto-set)
trace_sequence_numberIntegerFieldTypeTrue(auto-set)
addendasList[Dict[Addenda Fields]]FalseNone

Addenda Fields (b.add_entries_and_addendas([{'addendas': [{...}]}]))

Key NameFieldTypeRequiredDefault
record_type_codeIntegerFieldTypeTrue7
addenda_type_codeIntegerFieldTypeTrue5
payment_related_informationAlphaNumFieldTypeFalseNone
addenda_sequence_numberIntegerFieldTypeTrue(auto-set)
entry_detail_sequence_numberIntegerFieldTypeTrue(auto-set)

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.6b016 Apr 20230

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
freemish/ach-file

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:12 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:fed0f1b13df5d5728fd4aff895cda580936004465dfc9aa58f001591195be9c9