Set up revenue codes
Tell Together which jurisdiction each inbound donation belongs to. Cap and disclosure totals downstream depend on this answer.
A revenue code is a free-text label that travels with a donation, usually from your CRM. NationBuilder stores it on the donation as its tracking code; Raisely uses campaign codes the same way. Together collects every such code it has seen on a donation, form, or checkout link into a single revenue-code library, and you assign each one to a jurisdiction (Federal, a state, or Unregulated) one at a time. Donations under the Federal jurisdiction are Federal Campaign Account (FCA) money.
Before you start
You need:
- ADMIN role on your org.
- At least one upstream source connected: NationBuilder, Raisely, or your own Together form donations.
- A clear answer to the question "which jurisdiction does each of your revenue codes belong to?". Talk to your finance lead before configuring; the answer drives compliance accuracy.
If you have not connected a CRM yet, do that first at Settings -> Integrations -> CRM. Together can sync without revenue codes; you can come back here later.
Steps
-
Go to Settings -> Compliance -> Revenue codes. The page shows your full code library and a search, with Create revenue code in the page header.
Settings > Compliance > Revenue codes. -
Assign each code to a jurisdiction. Each row has a jurisdiction dropdown on the right. Set each code to the jurisdiction whose money it tags — Federal for federal campaign (FCA) money, a state, or Unregulated for income that no electoral regime governs. Saves immediately; cap and disclosure totals re-run in the background so a donor who crosses the threshold gets a disclosure obligation created right away.
-
Pre-create a code that hasn't been used yet. Click Create revenue code and enter a code value. It lands Unregulated; set its jurisdiction from the dropdown in the library below. The code appears in autofill everywhere a revenue code is entered - the donations filter, manual gift form, donation form editor, and checkout link form - from the moment it's saved.
-
Archive codes you no longer use. Click the archive icon on the right of a row, then Archive to confirm. Archived codes stay attached to their existing donations but disappear from autofill. Re-open the "archived" group at the bottom to un-archive.
How classification works
Jurisdiction is decided per code. When a donation hits Together, it's attached to a code in your library via foreign key, and that code's jurisdiction decides which regime's cap and disclosure totals it counts toward. A code set to Federal makes its donations FCA money; a code left Unregulated counts toward nothing. A donation that arrives with no revenue code at all is Unregulated.
The same code string from two different upstream systems (NationBuilder and Raisely, for example) is treated as two separate entries - each with its own jurisdiction - because the same word can mean different things in different CRMs. The library shows a small badge next to each code identifying which system it came from.
Codes flow the other way too. When Together sends one of its own donations back to your CRM - from a donation form, a checkout link, or another Together source - the revenue code is attached only if your CRM already has a code with the same name. Together matches by name and never creates codes in your CRM, so a code that exists only in Together won't appear on the donation there until you add a matching one upstream.
Changing a code's jurisdiction re-evaluates every past donation that uses it. A donor pushed over the disclosure threshold by the change gets a disclosure obligation created automatically. Donors who fall back under the threshold get their existing obligation flagged "pending review" so you can decide whether to cancel it.
NationBuilder donations with no tracking code
If your NationBuilder donations were never given a tracking code, they arrive in Together with no revenue code and count as Unregulated. When NationBuilder is connected, the Revenue codes page shows an Untagged NationBuilder donations card where you can say which revenue code they belong to. Setting this needs ADMIN and the Compliance module.
If you use tracking codes in NationBuilder, contact support before applying, so we can check which donations the fallback would tag.
-
Make sure the code exists and has a jurisdiction - create it with Create revenue code and set its jurisdiction in the library first. The card lists every live code, but one with no jurisdiction is greyed out and cannot be chosen until you set one.
-
In the Untagged NationBuilder donations card, choose the code and click Apply.
-
Read the confirmation. It shows how many donations will be tagged and, for the code's jurisdiction, how many of them:
- fall inside a regime that creates disclosure obligations, and so count toward its caps and disclosures;
- fall under a regime Together reports on but does not create disclosure obligations for (federal gifts before 1 January 2027);
- fall outside every regime and stay unregulated.
It also warns that disclosure obligations may be created for past periods, some already past their deadline. Click Tag donations.
Together tags every past NationBuilder donation that had no tracking code, re-runs caps and disclosures for the donors involved, and tags new untagged NationBuilder donations the same way on every sync.
The choice is permanent: the card cannot change or clear it afterwards, so check the code before you apply. If a NationBuilder donation later gains a real tracking code, that code replaces this one on the next sync, and any disclosure obligation the change no longer supports is withdrawn (or flagged "pending review" if you have already lodged it). If you applied the wrong code, contact support.
Once a code is set, the card shows it with a Re-run button. If donations synced since then are still untagged, the button reads "N untagged - Apply" instead. If the card says the compliance recheck failed, the donations are already tagged; click Re-run to finish it.
Set a target for a code
Open a code to give it a fundraising target and track progress against it. On the Revenue codes page, click a code's name to open its detail page, then use Set target:
- Enter a target amount in dollars.
- Set a start date, and optionally an end date - with an end date you get on-track pacing (how much a week you need to hit the goal by then); without one the target is open-ended (progress only, no pacing).
- Click Save target.
The card then shows what the code has raised against the goal, with an "On track" / "Slightly behind" / "Behind" status. The figure counts confirmed donations tagged with the code within the target window, net of refunds.
To change a target later, click Edit target on the code's page; to clear it, click Edit target then Archive target.
Setting a target needs ADMIN. The target itself is free - you do not need the Raise plan for it, only access to the revenue-codes library. Each code's list row shows a compact progress bar once a target is set.
A worked example
Your NationBuilder has two tracking codes you care about (they become revenue codes in Together):
FED_GENERALfor federal campaign fundraising.STATE_VICfor Victorian state campaigns (not federal).
Your Raisely tags every campaign and you treat all of them as federal. Your direct Together form donations come from your federal fund landing pages but never carry a code.
Configuration:
- Set
FED_GENERALto Federal. SetSTATE_VICto Victoria. - Set every Raisely code in the library to Federal.
- Your Together form donations arrive without a code, so they count as Unregulated. To have them count toward the federal cap and disclosure totals, add a revenue code to those landing pages upstream and set it to Federal.
Result: every Raisely donation is FCA, NationBuilder donations with FED_GENERAL are FCA, NationBuilder donations with STATE_VIC count toward the Victorian regime, and un-coded Together form donations stay Unregulated until you tag them.
What to do next
- Review your cap status on the Compliance dashboard once a few donations have landed - the Donors Requiring Attention panel surfaces anyone approaching the cap.
- Connect your CRM if you have not yet: Settings -> Integrations -> CRM.
- Check what your tier includes if you are not sure whether you are on the Compliance add-on yet: Plans.