Mr. Muskrat has asked for the wisdom of the Perl Monks concerning the following question:

Greetings and salutations!

I have searched high and low for a module that will create NACHA format ACH files.
I have Googled, searched CPAN, and Super Searched. I keep coming up empty handed.

The closest thing that I have found is a PHP module that is included with Terra Cotta Software.
I'd rather not "convert" the PHP to Perl but even that sounds better than starting from scratch.

So my options are:

  1. Find some accounting software that has the capability built in, convince the boss to buy it,
    install it and import all of our records into it
  2. Somehow do it with BBx and incorporate it into OSAS
  3. Run an older program that the bank provides and hand enter the data each pay period
  4. Convert the PHP module to Perl
  5. Write it in Perl from scratch
What would you choose?
Perl, of course!

So has anyone tackled something like this before?

Replies are listed 'Best First'.
Re: NACHA module
by VSarkiss (Monsignor) on Oct 22, 2002 at 19:16 UTC

    Well, I've never had to write ACH files, but I've had to read them many times before. The most common record types should be pretty easy to format because they're all fixed-width fields. You can use pack for those, or, in a pinch, a well-placed format or two.

    I'm not familiar with the apps you mention, and I'm not clear on exactly what you need the ACH files for, but I'd be inclined to roll my own. (And upload the code to CPAN later, of course. ;-)

      If they are fixed width fields and there is a spec available, you might try to figure out a way to parse the spec to generate the required code.

      Dunno, its just a thought, but ive done something similar before.

      --- demerphq
      my friends call me, usually because I'm late....

        Our bank has sent us an MS Word document that describes the file format.

        The only place on the internet that I have found the specs on the file is in the docs for the PHP ACH Module.

        It will be a snap to generate the required code. I just have to find the time. I have quite a bit on my plate right now and was simply hoping that someone had already crossed this bridge.