Duplicate Handling
The IRS allows filing multiple 1099 forms of the same type for the same recipient and tax year — even with identical amounts. These are not considered duplicates by the IRS.
However, in high-volume or automated integrations, unintended duplicates can occur due to repeated API calls, system glitches, or accidental resubmissions. TaxBandits applies its own duplicate detection layer to catch these before they reach the IRS.
How duplicate detection works
When you submit a 1099 return, TaxBandits checks it against all previously created returns for the same recipient and tax year using the following logic:
- Check the first amount field. If it matches any previously filed return for the same recipient and tax year → the submission is flagged as a duplicate and returns an error.
- If the first amount field is empty or zero, the check moves to the next amount field in sequence, and so on.
- If the account number matches any previously filed return → TaxBandits automatically appends 3 random digits to the end of the account number to differentiate it.
Duplicate error response:
{
"Id": "F68-100329",
"Name": "NECFormData.B1NEC",
"Message": "Possible Duplicate. Another return has been created for the same recipient with the same amount."
}
Examples
- Not a duplicate — You file two 1099-MISC forms for the same recipient and tax year: the first with
B1Rents= $1,000 and the second withB2Royalties= $1,000. Because the first amount field differs between the two returns, no duplicate is detected. - Duplicate — You file a 1099-MISC with
B1Rents= $1,000. Due to a system error, the same call fires again with the same recipient, same tax year, and the same value inB1Rents. TaxBandits flags the second submission as a duplicate and returns the error above.
Overriding duplicate detection
If you intentionally need to file another return for the same recipient and tax year with the same amounts — for example, because a second legitimate payment was made — set IsForced to TRUE in the ReturnData object. When IsForced is TRUE, TaxBandits skips all duplicate checks for that record.
Use IsForced carefully. It disables all duplicate detection for the record. Only use it after confirming the submission is genuinely intentional, not the result of a retry or system error.
Amount fields checked per form
The table below shows which fields TaxBandits evaluates for duplicate detection. Fields are checked in the order listed — the check stops as soon as a non-empty field is found.
| Form Type | Amount Box |
|---|---|
| 1099 NEC | B1NEC |
| 1099 MISC | B1Rents, B2Royalties, B3OtherIncome, B5FishingBoatProceeds, B6MedHealthcarePymts, B8SubstitutePymts, B9CropInsurance, B10GrossProceeds, B11FishPurForResale, B12Sec409ADeferrals, B14EPP, B15NonQualDefComp |
| 1099 INT | B1IntIncome |
| 1099 DIV | B1aTotOrdiDiv, B2aTotCapGain, B3NonDivDist |
| 1099 R | B1GrossDistribution |
| 1099 G | B1UnempComp, B2TaxRefunds |
| 1099 S | B2GrossProceeds |
| 1099 K | B1aGrossAmt |
| 1099 B | B1dProceeds |
| 1099 C | B2DebtDischargedAmt |
| 1099 PATR | B1PatronageDiv, B2NonPatronageDist |
| 1099 Q | B1GrossDist, B2Earnings, B3Basis |
| 1099 SA | B1GrossDistribution, B2EarningsOnExcessCont, B4FMVOnDateOfDeath |
| 1099 OID | B1OID |
| 1099 A | B2BalOutStanding |
| 1099 LTC | B1LTCPaid, B2AccDeathBenf |
| 1098 | B1IntRec |
| 1098-E | B1IntRec |
| 1098-T | B1PymtRec |
| W-2G | B1ReportableWinnings |