The practical answer
Give each B-series release an internal ID and version, preserve its exact statement inventory and file references, and append transmission attempts and outcomes. Check both file identity and business-level return membership before allowing another release.
Duplicate prevention requires more than recognizing a filename. Files can be renamed, regenerated or reordered while representing the same intended returns. A control log connects the business population to each generated artifact and actual filing attempt. This guide provides a practical ledger for operators, using IRS processing year 2026 technical guidance and a fictional 2025 packet history.
Separate the batch, version and attempt
Use a stable internal batch ID for the intended filing scope. Use a version for a changed population or generated artifact, and an attempt reference for each actual transmission event. These are suggested organizational labels, separate from the IRS receipt and submission identifiers described in Publication 5165.
Record the filer, tax year, operation and intended environment at the batch level, then preserve the exact included statement set for each release version. An attempted upload should point to that version instead of a folder whose contents may later change.
Retain prior entries. If version 4 supersedes version 3 before filing, record the reason and the superseded state. Do not erase version 3 in a way that makes an earlier review or attempted transmission impossible to interpret.
Design a ledger with useful checkpoints
| Ledger field | Example type of value | Control question |
|---|---|---|
| Batch and version | Internal label plus revision | Which release is being discussed? |
| Statement set | Protected inventory reference and return count | Which returns are actually included? |
| File identity | Manifest/data references, size and fingerprint | Which exact bytes were reviewed? |
| Release decision | Actual reviewer, date and version | Was this output authorized? |
| Attempt | Time, environment, transmitter and receipt | What was actually sent? |
| Outcome lineage | Acknowledgment and related repair reference | What happened, and what followed? |
A file fingerprint is a reproducibility control, not an electronic signature or evidence of IRS acceptance. Store sensitive payloads in the protected evidence location and place references in the ledger.
Use file identity and statement membership together
Publication 5165's duplicate XML discussion describes IRS checks using file size and a SHA-256 checksum with the same TCC, and notes different treatment for rejected files. That technical check should not be your sole business duplicate control.
Regenerating or reordering a file can change its bytes without changing the underlying intended returns. Compare the filer, year, operation and included statement references against the existing release history. A different hash is not a reason to assume that the business population is new.
Conversely, an identical filename does not prove identical content. Save file identity information at the time of review and release. If two operators use different local copies, the ledger should make the version difference visible before either transmits.
Control release ownership and uncertain outcomes
Assign one active release owner for each intended scope, with a clear handoff when that owner changes. Other preparers can continue reviewing source work without independently transmitting the same approved packet. Record an actual reservation or release decision in the team's chosen system rather than relying on an informal expectation.
When an attempt produces an uncertain outcome, leave the version in an investigation state. Consult the submission tracker and retrieve the acknowledgment before deciding whether another attempt is needed.
For a confirmed rejection, use the triage process to establish the repair operation and scope. A new version number alone does not turn previously accepted returns into an appropriate original filing population.
Worked example: different bytes, the same forty returns
Fictional example: Lake Alder prepares batch LA-31 version 2 containing 40 original 2025 returns. An operator transmits it and saves the actual receipt, but the acknowledgment has not yet been reviewed.
A second operator sorts the same 40 statements differently and generates version 3. The file fingerprint changes because the serialized order changes. The return-set comparison nevertheless shows 40 shared statement references and zero new returns.
The ledger flags the overlap with version 2's pending outcome. The second operator pauses release and retrieves the earlier acknowledgment. If that result is Accepted, the team marks version 3 as an unnecessary duplicate draft and does not send it as another original packet.
If the result instead identifies a rejection, the team follows the applicable repair procedure using that evidence. The same inventory comparison supports investigation, but it does not predetermine the filing operation before the outcome is known.
The example's internal version labels and fingerprints are illustrative; it supplies no real IRS receipt or invented valid tax identifier.
Reconcile the log with open work at closeout
Compare expected releases against the ledger and identify versions that are approved but unattempted, attempted but awaiting evidence, or assigned for repair. This reveals lost work as well as duplicates. Count unresolved scopes explicitly instead of burying them among completed rows.
Reconcile accepted outcomes to the intended population without double-counting repeated attempts. Two attempts concerning the same 40 returns do not represent 80 distinct returns. Preserve replacement or correction lineage when interpreting the final inventory.
Apply the actual record-retention and access controls for your organization and filing obligation. Keep enough connected evidence to reconstruct what was approved, sent and returned. The electronic preflight checklist supplies the release inputs; the ledger preserves how those inputs moved through the process.
One business population across multiple file versions
Read the workflow as text
- Intended batch. Define filer, year, operation and statement set.
- Generated version. Save exact files, fingerprints and the review decision.
- Actual attempt. Link the released version to time, environment and receipt.
- Outcome lineage. Connect acknowledgment, any repair and the final population status.
Put this guide to work
1094-B batch file and version control ledger
Save the editable text worksheet and use it with your own records. Keep completed copies in your secure working files.
Download the worksheet TXTCommon questions
Does a different SHA-256 fingerprint prove a filing is new?
No. It proves the compared bytes differ. Reordering or regenerating the same intended returns can change a file fingerprint, so compare the underlying statement set and prior outcomes as well.
Should a second attempt overwrite the first ledger entry?
No. Append the new event and connect it to the applicable prior attempt. Preserve the original files, response and reason for follow-up so the sequence remains reviewable.
Can AIR's duplicate detection replace our internal checks?
No. Publication 5165 describes a technical duplicate XML check. Your internal controls also need to identify overlapping business populations, including files whose bytes differ.
What is the difference between a version and an attempt?
A version identifies a particular reviewed output. An attempt records an actual transmission event for that output. Keeping them separate helps explain a regenerated draft that was never sent or a filing whose outcome still needs investigation.
How do we avoid overstating completed return counts?
Count the unique intended population associated with reviewed outcomes, not the number of records across every attempt. Preserve replacement and correction relationships instead of adding all transmissions together.
Official sources and scope
Sources checked September 5, 2026. Use the edition for the tax year and filing method you are working with; later instructions may change thresholds, fields, or procedures.
- IRS Publication 5165: Processing Year 2026 AIR Guide
AIR identifier levels, duplicate XML detection, acknowledgment and replacement procedures.