Handling void checks in a positive pay file

A check you printed and then voided is not a non-event as far as your bank is concerned. The check number exists. If it lands at a teller window, the bank has to decide whether to pay it. Positive pay is how you tell the bank the answer in advance, and a voided check is one of the things you have to tell it about clearly. Mark it wrong, or leave it off, and you create exactly the gap that check fraud looks for.

This page covers how voids are represented in a positive pay issue file, the codes different banks use, how to mark a void correctly when you build your file, and why the detail matters.

Issue files carry two kinds of rows: issued and void

A positive pay file (the bank usually calls it a check issue file or issued-items file) is a list of the checks you have written. Each row carries the account number, check number, amount, issue date, and often the payee name. Most bank layouts add one more field: a status or record-type code that says what kind of item the row is.

That status field is where a void lives. Instead of sending a separate "cancel this" message, you send the same check number with the status set to void. The bank's system flags that number so that if a check with it is ever presented for payment, the item drops into the exceptions queue as a paid-void item for you to review and almost always return. Paid-no-issue, amount mismatch, duplicate paid, and paid-void are the standard exception categories a positive pay system watches for.

Void codes vary by bank

There is no single industry-wide void code. The field name and the accepted values are set by each bank, and they genuinely differ. From published and bank-provided specifications, here are patterns you will actually run into:

So "what is the void code" has no universal answer. It is V at one bank, CN at the next, and C at a third. The only authoritative source is the file specification your bank publishes through its treasury or business-banking portal, or that your treasury contact can send you. Do not assume the code from another bank carries over.

How to mark a check as void in your file

The mechanics depend on your bank's spec, but the workflow is consistent:

  1. Keep the original check number. A void is reported under the same check number you issued. Do not renumber it. The whole point is to tell the bank "this specific number is dead."
  2. Set the status field to the bank's void value. Put the correct code (V, C, CN, or whatever your spec lists) in the status/record-type column. If the field is fixed-width, match the justification and padding the spec asks for.
  3. Decide what amount to send. Many specs want the original dollar amount on the void row; some accept zero. Your bank's spec says which. When in doubt, send the original amount and confirm.
  4. Include the void in the right file. Some banks accept voids in your regular daily issue file. Others have a separate path or a same-day "issue/void" entry for a single item. First Citizens, for instance, documents creating a single issue-or-void item directly in online banking when you only need to report one.
  5. Report the void before the check could clear. A void you send after the item has already been presented does not help. Report it in the same cycle you void the check in your accounting system.

Why this matters

A voided check number is a live target. If a printed check was spoiled, lost, or torn up, the number is still floating around. Fraud against business checking has climbed in recent years, and one of the simplest schemes is presenting a check under a number the business is not watching. When you report the void, the bank knows any item bearing that number is illegitimate and routes it to you instead of paying it.

The reverse failure is just as real. If you void a check in your books but forget to report it to the bank, and you later reuse or mistype that number, you can end up with two issued items pointing at one number. That collides at the bank and shows up as a duplicate or mismatch exception, which means a phone call and a manual fix. Getting the void code right the first time avoids both the fraud gap and the busywork.

QuickBooks does not export this for you

QuickBooks (Desktop or Online) does not export a bank-formatted positive pay file natively, and that includes the void rows. You can see voided checks inside QuickBooks, but turning your register, voids included, into a file laid out exactly the way your bank wants is a separate step.

That step is what PositivePayMaker does, free and entirely in your browser. You upload a CSV or Excel check register, map your columns, and it builds the issue file. Your check data never leaves your computer; the conversion runs client-side. It ships with 11 bank layouts (six built from published specs, including Chase and Huntington), a custom format builder for matching a status field and void code your bank uses, and a file validator to sanity-check what you produced. If your bank's layout is not built in, the custom builder lets you define the status column and its issued/void values to match the spec exactly.

If you process high check volume across many accounts and want an installed desktop product, paid tools exist and may fit better. Big Red Consulting's PositivePay File Creator is a Windows app that reads QuickBooks data, priced around $119 the first year and roughly $99/year after (the QuickBooks Online edition needs Excel installed). Treasury Software's Bank Positive Pay is an installed Windows product, roughly $29.95 to $89.95 per month, with 350-plus prebuilt bank layouts. MoneyThumb and ProperSoft also sell paid desktop converters. For low-to-moderate volume and for getting a void file out the door today, the browser tool covers it at no cost.

Always verify your first file with the bank

Whatever you use to build it, send your first positive pay file, especially the first one that contains a void, to your bank for confirmation before you rely on it. Ask them to confirm the void rows were read correctly and that the status code you used is the one their system expects. A void code that is one letter off can be silently ignored, which leaves the very gap you were trying to close. Confirm once, and you can trust the format from then on.

Create your positive pay file