Free beta

Positive pay file rejected? Check these seven causes

Banks validate issue files hard, and the error messages are rarely helpful. These seven problems cause almost every rejection.

  1. Leading zeros stripped from the account number. Excel converts account numbers to plain numbers and drops leading zeros. The bank then cannot match the account. Fix: format the column as text, or generate the file with a tool that pads the account correctly.
  2. Wrong date format. One bank wants MMDDYY, the next wants YYYYMMDD, and a portal set to one will reject the other. Check the spec sheet in your portal for the exact pattern, including whether separators are allowed.
  3. Wrong amount format. Some banks want a decimal point (150.50); others want implied-decimal cents, zero-filled (0000015050). Sending one where the other is expected shifts every field in a fixed-width file.
  4. A header or trailer row the bank does not expect. Some banks require a total record; others, like Huntington, reject any file that has one. Column-title rows count too. Match the spec exactly.
  5. Payee name mismatch. With payee verification, the name in the file must match the printed check exactly, including "and" versus "&". Partial names and truncation cause per-check exceptions rather than file rejections, which is worse because they arrive one at a time.
  6. Fixed-width columns off by one. A single missing pad character shifts every field after it. If your bank rejects a fixed-width file, count the record length first; most specs state it (80, 85, or 147 characters are common).
  7. Voids encoded wrong. Void codes vary widely: I/C at Chase, V at Bank of America, transaction code 430 with a zero amount at Wells Fargo, CN at Huntington. Sending the wrong code either rejects the row or, worse, registers a live check.

General rule: after any change to your process, do a test upload before relying on the file for a real check run.

Skip the manual formatting

The free generator handles all seven automatically: it pads and formats per your bank's documented spec, flags duplicate check numbers and unreadable dates before you download, and blocks the download entirely if a value would not fit its field. It runs in your browser, so check data never leaves your computer.