Compliance & Software

Combined Federal/State Filing on IRIS: How CF/SF Really Works

One election forwards your 1099 data to participating states — but only if you set it correctly, and only if it rides in the right place in your transmission. Get either wrong and the IRS quietly drops it.

At a glance

Combined Federal/State Filing (CF/SF) lets a single IRIS submission carry your 1099 information to participating state revenue agencies, so you don’t have to transmit the same data twice. You turn it on with one header flag, CFSFElectionInd, and you tell IRIS which states to forward to with one or more CFSFElectionStateCd values on each record. The catch that trips up most filers is structural rather than clerical: when your transmission contains more than one submission, IRIS only honors a CF/SF election that sits in the first submission group — an election in any later group is silently dropped and reported back as SHAREDIRFORM020 and SHAREDIRFORM022. CF/SF also forwards data only; it does not satisfy state withholding reconciliation, so many states still need a direct filing on top.

In this story

What Combined Federal/State Filing Actually Is

Combined Federal/State Filing is a data-forwarding arrangement, not a magic button that discharges every state obligation. When you elect CF/SF on a 1099, you are asking the IRS to pass that information return along to the state revenue agency you name, so the state receives the same figures you filed federally without you submitting a separate state transmission.

It helps to understand exactly what travels and what does not. CF/SF forwards the information-return content — the recipient, the payer, the amounts in the federal boxes, and the per-state income and withholding totals you provide. What it does not do is reconcile your state withholding account, generate a state transmittal or annual reconciliation form, or relieve any state-specific mandate a state imposes on its own authority. In practice that means CF/SF can remove the duplicate-data-entry burden for some forms in some states, while leaving a direct state filing fully in place for others. Treating the election as a blanket “file once, satisfy everyone” switch is the single most expensive misconception in this area, because it leads filers to skip direct filings the state still expects.

On IRIS specifically, CF/SF is expressed in your XML rather than on a paper transmittal. A submission-level flag declares that the submission is making a CF/SF election, and a record-level element names each state the record should be forwarded to. Both pieces have to agree, and both have to clear the IRS business rules before any state ever sees your data. The rest of this guide walks through which states and forms are eligible, the exact elements involved, and the placement rule that quietly invalidates more CF/SF elections than any data error.

Official source(s) Pub 5717

The CF/SF election fields and the business rules that validate them are defined in the IRIS A2A specification and the TY2025 v1.4 schema and business-rule package. The IRS Publication 5717 series (irs.gov/pub/irs-pdf/p5717.pdf) governs the A2A transmission your CF/SF election rides inside, and the participating-state list is fixed by the schema rule SHAREDIRFORM019_002. The IRS e-Services hub for IRIS is at irs.gov/e-services.

Which States and Forms Are Eligible

Two separate eligibility gates apply to every CF/SF election, and IRIS checks both. The first is the state: the value you put in CFSFElectionStateCd has to be one of the 33 participating jurisdictions the schema recognizes. The second is the form type: only certain 1099-series forms (plus the 5498) can carry a CF/SF election at all. If either gate fails, the rule engine flags the record, so it pays to confirm both before you build the file.

The 33 participating states

Per the schema rule SHAREDIRFORM019_002, a valid CFSFElectionStateCd must be one of: AL, AZ, AR, CA, CT, CO, DC, DE, GA, HI, ID, IN, KS, LA, MA, MD, ME, MI, MN, MS, MT, NE, NJ, NM, NC, ND, OH, OK, OR, PA, RI, SC, and WI. Any other code — including a non-participating state such as New York — will be rejected by the validator as out of list. It is worth stressing that being on this federal list is not the same as a state actually using CF/SF to reduce your filing burden; the list governs what the IRS schema accepts, while each state’s own rules govern whether you still owe a direct filing.

The forms that can elect CF/SF

The business rule S1H003_001 restricts the election to a fixed set of form types. When CFSFElectionInd equals 1, the form has to be one of 1099-B, 1099-DIV, 1099-G, 1099-INT, 1099-K, 1099-MISC, 1099-NEC, 1099-OID, 1099-PATR, 1099-R, or the 5498. A 1099 outside that set cannot make a CF/SF election, and trying to set the flag on an ineligible form is a data mismatch the validator will report.

GateRuleWhat it requires
State codeSHAREDIRFORM019_002CFSFElectionStateCd must be one of the 33 listed states
Form typeS1H003_001Form must be 1099-B/DIV/G/INT/K/MISC/NEC/OID/PATR/R or 5498
TCC enrollmentS1H002Your TCC must be enrolled in the CF/SF program for the election to be honored

The third row is the one filers forget. Rule S1H002 says that if CFSFElectionInd equals 1, the transmitter control code on the transmission must itself participate in the CF/SF program. Eligibility for CF/SF is something you opt into when you apply for or maintain your TCC; setting the flag without that enrollment in place produces a data mismatch rather than a forwarded return. For a fuller picture of which states honor CF/SF in practice and which still demand a direct submission, see our companion guide to state 1099 filing requirements where CF/SF isn’t enough.

The Two Elements That Make CF/SF Work

CF/SF on IRIS comes down to two XML pieces that have to be consistent with each other. The first lives in the submission header and announces the election for the whole submission; the second lives on each record and names the states that record should be forwarded to. A third structure, the per-state totals group, then carries the dollar figures each state receives.

CFSFElectionInd — the submission-level switch

CFSFElectionInd is a single boolean in the submission header. When you set it to 1, you are declaring that this submission is making a CF/SF election; 0 means it is a federal-only submission. This flag is the gate that rules S1H002 and S1H003_001 check, and it is also the flag the per-record state codes must agree with. If a record names a state but the header flag is 0, the election is contradictory and the IRS treats the state data as if it were never there.

CFSFElectionStateCd — the per-record target

CFSFElectionStateCd sits on the individual form record and names the state to forward to. Because a single recipient can have income sourced to more than one participating state, the schema lets this element repeat many times on one record — up to roughly sixty occurrences on a 1099-NEC, MISC, or INT, for example. Each value has to be drawn from the 33-state list above, and each one that you include also has to be backed by a matching per-state totals group, which is where the third piece comes in.

Form{X}TotalByStateGrp — the dollars each state sees

Forwarding a state code with no money behind it is not enough. For each form type, IRIS expects a per-state totals group — named after the form, such as Form1099NECTotalByStateGrp for a 1099-NEC — that carries the income and withholding amounts attributable to that state, including the StateTaxWithheldAmt line. This is the structure that actually delivers numbers to the state agency, and its absence is one of the most common reasons a well-formed-looking CF/SF election still fails validation.

<!-- Illustrative only; the real elements and XSD order are defined in Pub 5717 and the IRIS TY2025 v1.4 schema. --> <IRSubmission1Header> <CFSFElectionInd>1</CFSFElectionInd> <!-- submission-level switch --> </IRSubmission1Header> ... <Form1099NECDetail> <CFSFElectionStateCd>CA</CFSFElectionStateCd> <!-- per-record target --> </Form1099NECDetail> ... <Form1099NECTotalByStateGrp> <StateAbbreviationCd>CA</StateAbbreviationCd> <StateTaxWithheldAmt>125.00</StateTaxWithheldAmt> <!-- dollars CA receives --> </Form1099NECTotalByStateGrp>
All three must agree

The header flag, every record-level state code, and a matching per-state totals group form one chain. If the flag is on but no record names a state, nothing is forwarded; if a record names a state but the flag is off or the totals group is missing, the IRS reports a rule error and drops the election. Build all three together, or none of them.

The Rule No One Warns You About: CF/SF Must Ride the First Submission

Here is the trap that turns a perfectly valid file into a rejected one. An IRIS A2A transmission can carry several submission groups, and the IRS only honors a CF/SF election that sits in the very first one. An election placed in any later submission group is silently ignored, no matter how clean the data inside it is.

The reason this surprises people is that the bytes you transmit are correct. A CF/SF election in, say, the second submission group is locally well-formed: the header flag is set, the state codes are valid, and the totals groups are present. But the IRS Assurance Testing System keys the rule off position, not content. It reads the CF/SF election from the first submission group (IRSubmission1Grp) and disregards an election that lives anywhere else. The transmission you sent was right; the location was wrong, and location is what the rule cares about.

When the election lands in the wrong group, the rejection arrives as a pair of familiar codes. SHAREDIRFORM020 fires because, from the IRS’s point of view, a record carries a CFSFElectionStateCd while the effective header flag reads 0 — the election in the later group was never read, so the system sees a state code with no matching election. SHAREDIRFORM022 fires for the same reason against the totals: a state code is present but no honored TotalByStateGrp backs it. Both are reported against the first submission group even though the data the validator is complaining about lives elsewhere, which is exactly why this error is so confusing to diagnose.

The transmitted bytes were correct. The IRS keyed the rule off submission position — so order your CF/SF-electing submission first, every time.— The CF/SF first-submission rule, in one line

The fix is simply to order any CF/SF-electing submission first in the transmission. If you batch multiple form types into one transmission — a common pattern when you build files alphabetically by form — a CF/SF-electing 1099-NEC can end up last, behind a federal-only 1099-INT, and the election is lost. Sort so that the submission carrying the election is the first group, and the SHAREDIRFORM020/022 pair disappears. This is the recurring failure behind most “my state data vanished” reports, and it is worth a dedicated pre-flight check in whatever builds your XML.

Tired of CF/SF elections that vanish on the wire?

e1099f sets the header flag, the per-record state codes, and the totals groups together — and orders any CF/SF-electing submission first automatically, so SHAREDIRFORM020/022 never fires.

See how it works

Common Rejection Reasons (and How to Avoid Them)

Almost every CF/SF rejection traces back to one of a handful of mismatches between the header flag, the record-level state codes, the totals groups, and the position of the electing submission. Each one is easy to prevent once you know the pattern that triggers it.

CF/SF election in a later submission group most common

Cause: the CF/SF election sits in the second or later submission group, so the IRS reads the first group’s flag as 0 and ignores the real election — surfacing as SHAREDIRFORM020 and SHAREDIRFORM022 against the first group. Fix: order the CF/SF-electing submission first in the transmission so the election rides IRSubmission1Grp; never let alphabetical form ordering push it to the back.

State code present but header flag off SHAREDIRFORM020

Cause: a record carries a CFSFElectionStateCd, but the submission header’s CFSFElectionInd is 0 — the two pieces contradict each other. Fix: set CFSFElectionInd to 1 in the header of any submission whose records name a state, so the election and the state codes agree.

Missing per-state totals group SHAREDIRFORM022

Cause: a record names a state with CFSFElectionStateCd, but no matching Form{X}TotalByStateGrp is present to carry the dollars that state should receive. Fix: emit a per-state totals group — for example Form1099NECTotalByStateGrp — with the income and StateTaxWithheldAmt for each elected state.

State code outside the 33-state list SHAREDIRFORM019_002

Cause: CFSFElectionStateCd holds a value the schema doesn’t recognize as a participating state — a non-CF/SF state like New York, or a typo. Fix: validate every state code against the 33-state list (AL/AZ/AR/CA/CT/CO/DC/DE/GA/HI/ID/IN/KS/LA/MA/MD/ME/MI/MN/MS/MT/NE/NJ/NM/NC/ND/OH/OK/OR/PA/RI/SC/WI) before you build the file.

TCC not enrolled in CF/SF, or ineligible form S1H002 / S1H003_001

Cause: you set CFSFElectionInd to 1 while your TCC isn’t enrolled in the CF/SF program (S1H002), or the form type can’t carry a CF/SF election at all (S1H003_001). Fix: confirm CF/SF enrollment on your TCC and restrict the flag to the eligible forms — 1099-B/DIV/G/INT/K/MISC/NEC/OID/PATR/R and 5498.

Why CF/SF Forwarding Isn't the Whole State Story

Even a flawless CF/SF election leaves real state obligations untouched, and that gap is where compliant-looking filers get penalty notices. CF/SF forwards information-return data, but it does not reconcile a state withholding account, it does not produce a state-specific transmittal or annual reconciliation form, and it does not discharge a state’s independent mandate on a form like the 1099-K. A state can receive your forwarded 1099 and still consider its filing requirement unmet because the reconciliation it actually grades you on never arrived.

The practical consequence is that many of the 33 federally listed states still expect a direct filing in at least some scenarios — most often whenever there is state income tax withheld — and a few states listed federally have told their own filers not to rely on CF/SF at all. The right mental model is to treat CF/SF as a way to avoid duplicate data entry where a state genuinely accepts it, while you separately determine, state by state and form by form, whether a direct submission is still required. The reject codes behind these mechanics are catalogued alongside the rest of the IRIS error set in our reference on IRIS reject codes including SHAREDIRFORM020, and the full validation logic lives in the IRIS business-rule catalog that enforces the first-submission rule.

The honest summary

CF/SF is a convenience for data forwarding, not a substitute for understanding each state’s requirements. Use it where a state accepts it, set it correctly with all three elements in agreement, place the election in the first submission group, and still check whether a direct state filing is owed on top.

Skip the CF/SF Plumbing Entirely

All three pieces, in sync

The header flag, every per-record state code, and the matching totals group are emitted together — no orphaned state codes, no missing totals.

First-submission ordering

Any CF/SF-electing submission is placed first automatically, so SHAREDIRFORM020 and SHAREDIRFORM022 never fire on position.

Validated against the list

Every state code is checked against the 33-state list and every form against the eligible set before anything leaves your account.

A forwarded election that actually lands — for every participating state you elect.

Frequently Asked Questions

What does CF/SF actually send to the states?
It forwards your information-return data — the recipient, payer, federal-box amounts, and the per-state income and withholding totals you provide in the Form{X}TotalByStateGrp. It does not send a state reconciliation form or settle a state withholding account.
Which states participate in CF/SF on IRIS?
Thirty-three jurisdictions, fixed by schema rule SHAREDIRFORM019_002: AL, AZ, AR, CA, CT, CO, DC, DE, GA, HI, ID, IN, KS, LA, MA, MD, ME, MI, MN, MS, MT, NE, NJ, NM, NC, ND, OH, OK, OR, PA, RI, SC, and WI. New York is not among them.
Which forms can carry a CF/SF election?
Per rule S1H003_001: 1099-B, 1099-DIV, 1099-G, 1099-INT, 1099-K, 1099-MISC, 1099-NEC, 1099-OID, 1099-PATR, 1099-R, and the 5498. Any other form cannot set CFSFElectionInd to 1.
Why does my CF/SF election have to be in the first submission?
Because the IRS honors a CF/SF election only when it sits in the first submission group (IRSubmission1Grp). An election in a later group is ignored regardless of how clean its data is — the rule keys off the submission’s position, not its content.
What do SHAREDIRFORM020 and SHAREDIRFORM022 mean?
SHAREDIRFORM020 means a record has a CFSFElectionStateCd while the header CFSFElectionInd reads 0; SHAREDIRFORM022 means a state code is present with no matching Form{X}TotalByStateGrp. Both commonly appear together when a CF/SF election lands in a later submission group.
Can one record forward to more than one state?
Yes. CFSFElectionStateCd can repeat many times on a single record — up to roughly sixty occurrences on a 1099-NEC, MISC, or INT — with a matching per-state totals group for each state you elect.
Does my TCC need anything special for CF/SF?
Yes. Rule S1H002 requires the transmitter control code on the transmission to be enrolled in the CF/SF program before an election is honored. Setting the flag without that enrollment is a data mismatch.
If I elect CF/SF, am I done with state filing?
Not necessarily. CF/SF forwards data only; it does not reconcile state withholding or produce state transmittal forms. Many of the 33 states still require a direct filing in some scenarios, most often when state income tax was withheld.
Can I add CF/SF to a return I already filed federally?
CF/SF is part of the original submission’s election, set in the header at filing time. If the election was missed or dropped, you generally re-elect by filing correctly — with the flag, state codes, and totals all in agreement in the first submission group.
Why was my state code rejected as invalid?
Because the value in CFSFElectionStateCd isn’t on the 33-state participating list checked by SHAREDIRFORM019_002 — usually a non-CF/SF state like New York or a simple typo. Validate codes against the list before building the file.
Does e1099f handle the first-submission rule for me?
Yes. The platform sets the header flag, per-record state codes, and totals groups together and orders any CF/SF-electing submission first, so the SHAREDIRFORM020/022 position trap never fires.
DM
Dariel Montesino
Founder, e1099f · Reviewed by a licensed CPA

Dariel writes e1099f’s coverage of IRIS compliance and the FIRE→IRIS migration, drawing on IRS Publications 5717–5719 and hands-on work with the IRIS A2A schema, business rules, and CF/SF mechanics.

Not tax advice. This is general information about IRS procedures and the IRIS Combined Federal/State Filing program; the rules and schema may change as the IRS updates IRIS, and the published IRS materials are authoritative. State requirements vary — consult a tax professional for your specific situation.

File once, forward right. Start free — no credit card.

CF/SF set correctly on the first submission, every elected state validated, every totals group emitted — without touching the XML.

An unhandled error has occurred. Reload ×

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.