Skip to main content

NACHA File Generation

Project description

nacha

https://travis-ci.org/DisruptiveLabs/nacha.png https://coveralls.io/repos/DisruptiveLabs/nacha/badge.png?branch=master

NACHA is a fixed sized record format used to represent financial transactions composed like this:

FileHeader
    CompanyBatchHeader
        EntryDetail
            EntryDetailAddendum
            ...
        ...
    CompanyBatchControl
    ...
FileControl

which we express using bryl. Writing is done like this:

with open('sample.nacha', 'w') as fo:
    writer = nacha.Writer(fo)
    with writer.begin_file(
         ...
         ):
         with writer.begin_company_batch(
              ...
              ):
             writer.entry(...):
             ...
        ...

Reading is done by iterating records like this:

with open('sample.nacha', 'r') as fo:
    reader = Reader(fo, include_terminal=True)
    for record, terminal in reader:
        ...

Or structured like this:

with open('sample.nacha', 'r') as fo:
    reader = Reader(fo)
    reader.file_header()
    for company_batch_header in reader.company_batches():
        for entry_detail, entry_addenda in reader.entries():
            ...
        reader.company_batch_control()
    reader.file_control()

use

$ pip install py-nacha

dev

$ git clone git@github.com:DisruptiveLabs/nacha.git
$ cd nacha
$ mkvirtualenv nacha
(nacha)$ pip install -e .[tests]
(nacha)$ py.test tests.py --cov=nacha --cov-report term-missing

release

Now that all tests are passing:

  • Update nacha.__version__ to new {version}.
  • Commit that git commit -am "Release v{version}"
  • Tag it git tag -a v{version} -v  v{version}
  • Push it git push origin --tags

and travis will take it from there.

Project details


Release history Release notifications

This version
History Node

0.1.3

History Node

0.1.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
py-nacha-0.1.3.tar.gz (7.5 kB) Copy SHA256 hash SHA256 Source None Jun 18, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page