Skip to content

Manual NACHA File Creation vs Software: When a Spreadsheet Is Enough

FiSTWorks Team October 29, 2026

A spreadsheet can produce a valid NACHA file. Whether it should depends on three things: how many entries you send, how often the recipients change, and what a rejected or returned file costs you. This post covers what the manual route involves, the errors it produces, the cost of those errors, and a rule for deciding.

Nacha's return-rate thresholds below were read from nacha.org on 2026-10-29.

What "manual" actually means

Building a NACHA file by hand is three jobs, whichever tool you use.

  1. Keep the data. Company name, company ID, immediate origin, your bank's routing number, and for every recipient a name, routing number, account number, account type and amount.
  2. Build the records. One 94-character line per record, with every field padded to its width and in its position. The structure is covered in How to Create a NACHA File.
  3. Check the math. Entry hash, entry and addenda counts, debit and credit totals, block count, and a routing check digit for every entry.

A spreadsheet handles the first job well and the second adequately. The third is where it fails, because the checks are arithmetic over every row and nothing tells you when a formula was overwritten by a typed value.

Keying payments into your bank's portal avoids the file entirely, but it is manual in a different way: every payment is typed every time, and the recipient list lives inside one bank.

The four kinds of error a spreadsheet produces

Formatting. A line that is 93 or 95 characters, a field one column off, trailing spaces trimmed by the editor, a byte-order mark or Windows line endings the bank does not expect. The bank rejects the whole file.

Arithmetic. An entry hash, total or count in a batch control record that no longer matches the entries, usually because a row was added or deleted after the totals were computed. The bank rejects the whole file.

Reference. A routing number that fails its check digit, an effective date on a weekend or Federal Reserve holiday, a debit in a credits-only batch, or an SEC code that does not fit the entry. Some of these reject the file; some go through and come back as returns.

Data. A stale account number for a recipient who changed banks, a trace number copied from last month's row, an amount pasted into the wrong row. These produce a valid file that pays the wrong amount to the wrong account. The file is accepted and the error surfaces days later as a return or a complaint.

The first three classes are what Common ACH File Errors and How to Fix Them walks through one by one, and the 12-point validation checklist catches all of them. The fourth class is invisible to any validator, because the file is correct. Only the process that produced it can prevent it.

What a bad file costs

A rejected file costs a day. Most banks process ACH files at fixed cutoff times, so a rejection discovered after the cutoff moves every payment in the file to the next banking day, and someone has to find the fault, rebuild the file and upload it again.

A returned entry costs more. Your bank typically charges a per-item fee for each return, which it sets, and the payment has to be corrected and sent again. If the return is a notification of change (a NOC), Nacha's rules require you to update the recipient's details within six banking days or before the next entry, whichever comes first.

Return rates are monitored. Nacha tracks returns by originator through its network operators and ODFIs. Three figures matter:

Return category Return reason codes Nacha level
Unauthorized R05, R07, R10, R11, R29 0.5%, a Rules threshold
Administrative R02, R03, R04 (closed, missing or invalid account) 3.0%, triggers an inquiry through your bank
Overall all return reasons 15.0%, triggers an inquiry through your bank

Administrative returns are the ones a data-entry process produces, because they come from stale or mistyped account details. A small originator sending 40 entries a month reaches the 3.0% level with two bad account numbers. Exceeding a level does not fine you directly, but your bank will ask questions and may tighten or withdraw your origination approval.

Manual versus software, side by side

Spreadsheet and editor Bank portal ACH file software
Recipient data Rows in a workbook Keyed per payment, inside one bank Stored once, reused in every file
Record building Formulas you maintain Done by the bank Done by the software
Hash, totals, counts, block count Formulas you maintain Not your problem Computed from the entries
Routing check digits A formula, if you wrote one Checked by the bank at upload Checked as you enter them
Effective date, SEC and code agreement Your knowledge of the rules Checked by the bank at upload Checked before the file exists
Validation before sending A separate step you remember At upload, after the cutoff if you are late The file cannot be generated until it passes
Delivery Upload through the portal Already there Download and upload, or send by SFTP
Returns and NOCs Read the bank's report, update the workbook Read the bank's report, retype Browse the bank's return files and read each code in plain language
Record of who did what None The bank's log A log of who created and sent each file

ACH Drafter is the right-hand column. Company and bank details are entered once, recipients are added by hand or imported from a CSV, and each file is checked against the NACHA rules before it can be downloaded. Sending by SFTP and browsing return files are on the higher plans; current plan details are on the pricing page. FiSTWorks never holds or moves money, and your bank makes the final decision on every file and every payment.

When manual is fine

A spreadsheet is a reasonable choice when all of the following are true:

  • You send a handful of entries, to the same recipients, on the same schedule.
  • One person owns the workbook and understands the hash, totals and block-count rules.
  • Every file goes through a validator before it is uploaded, every time.
  • A one-day delay on a rejected file is an inconvenience, not a missed payroll.

When any of those stop being true, usually because the recipient list grows or changes, the cost of the manual route is no longer the hour it takes to build the file. It is the returns, the delays and the question from your bank.

Whichever route you take, run the file through the free ACH Validator before you upload it. It needs no account, and it catches the first three error classes in seconds.

Sources


Ready to simplify your ACH payments?

Create, validate, and transmit NACHA files — no enterprise contract required.

Start Free