https://github.com/jwoertink/nacha
A Crystal shard for parsing and generating Nacha (ACH) files
https://github.com/jwoertink/nacha
ach crystal-lang
Last synced: about 1 year ago
JSON representation
A Crystal shard for parsing and generating Nacha (ACH) files
- Host: GitHub
- URL: https://github.com/jwoertink/nacha
- Owner: jwoertink
- License: mit
- Created: 2022-12-08T18:01:11.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-01T17:53:40.000Z (over 3 years ago)
- Last Synced: 2025-05-12T22:54:39.121Z (about 1 year ago)
- Topics: ach, crystal-lang
- Language: Crystal
- Homepage:
- Size: 59.6 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Nacha
> The ACH file format (or NACHA file) is a text file with ASCII text lines, where each line is 94 characters long and serves as a “record” to execute domestic ACH payments through the Automated Clearing House Network (NACHA).
- https://tipalti.com/nacha-file-format/
Here's a few helpful links:
- https://achdevguide.nacha.org/ach-file-overview
- https://achdevguide.nacha.org/ach-file-details
This Crystal shard allows you to generate or parse a NACHA file.
## Installation
1. Add the dependency to your `shard.yml`:
```yaml
dependencies:
nacha:
github: jwoertink/nacha
```
2. Run `shards install`
## Usage
**Still under development, things may change**
```crystal
require "nacha"
entries = [
Nacha::EntryDetail.new,
Nacha::EntryDetail.new,
] of Nacha::EntryDetail
batches = [
Nacha::Batch.new(
header: Nacha::BatchHeader.new,
entries: entries,
),
] of Nacha::Batch
ach_file = Nacha::File.new(
header: Nacha::FileHeader.new,
batches: batches,
)
puts ach_file.generate
```
## Development
* write code
* write spec
* `crystal tool format spec/ src/`
* `./bin/ameba`
* `crystal spec`
* repeat
## Contributing
1. Fork it ()
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request
## Contributors
- [Jeremy Woertink](https://github.com/jwoertink) - creator and maintainer