- What is a NACHA file and why does payroll need one?
- NACHA (National Automated Clearing House Association) defines the file format that US banks use to move money via the ACH network. When you process direct deposit payroll, your bank or payroll processor typically requires you to submit a NACHA-formatted text file containing each employee's bank routing number, account number, and payment amount in a precisely structured 94-character fixed-width format. This generator creates that file from a simple spreadsheet export.
- What is PPD vs. CCD, and which should I use?
- PPD (Prearranged Payment and Deposit) is used when the receiver is an individual — the most common choice for employee direct deposit payroll. CCD (Corporate Credit or Debit) is used when the receiver is a business or corporate entity. If you are paying employees, choose PPD. If you are transferring funds between business accounts or paying vendor accounts, choose CCD.
- What is the "Originating DFI Routing" (ODFI)?
- The ODFI (Originating Depository Financial Institution) is your bank — the institution that submits the ACH file on your behalf. Your bank will give you their 9-digit routing number to use here, along with a Company ID (usually your EIN/tax ID with a leading "1"). The Immediate Destination routing is usually the same number and represents the Federal Reserve Bank or clearing house that processes the batch. Your bank's treasury or ACH operations team will confirm the exact values for your account.
- How is the routing number check digit validated?
- ABA routing numbers use a weighted checksum. Multiply each digit by the pattern 3, 7, 1, 3, 7, 1, 3, 7, 1 and sum the products. The result must be divisible by 10. For example, routing 021000021: (0×3)+(2×7)+(1×1)+(0×3)+(0×7)+(0×1)+(0×3)+(2×7)+(1×1) = 0+14+1+0+0+0+0+14+1 = 30 ✓ divisible by 10. This tool validates every routing number in your CSV before generating the file.
- Is my payroll data secure? Does anything get uploaded?
- No data ever leaves your device. This tool is entirely client-side JavaScript running in your browser. The CSV you paste or upload and the NACHA file it generates exist only in browser memory. No server receives, stores, or transmits any of your payroll information.
- What is the "Entry Hash" in the NACHA file?
- The entry hash is the sum of all routing numbers (the first 8 digits of the full 9-digit number, i.e. excluding the check digit) in the batch. This hash is included in both the Batch Control record and the File Control record so that the receiving bank can verify no entries were dropped or altered during transmission. If the hash doesn't match, the file will be rejected. This tool computes the hash automatically.