Transaction Tags
Tag transactions with the labels that matter to you -- events, campaigns, grants -- and slice your reports by them.
On this page
Tags let you cross-cut transactions with labels that don't fit neatly into funds or programs — things like a specific grant, a fundraising event, a campaign, or a review-workflow state. Unlike funds and programs, tags are metadata only: they don't move money and they don't change the general ledger. They're there to help you pull a report.
Think of tags as sticky notes on your transactions. Every transaction already knows which fund it sits in and (for expenses) which program it supports — those choices drive the accounting. Tags add an extra label that's only about reporting.
Common uses:
- Grants — tag every transaction connected to a funder so you can pull a clean award-level report (revenue received, expenses spent, balance remaining).
- Events — tag every ticket sale, sponsorship, and expense for your "Spring Gala 2026" so you can calculate net proceeds.
- Campaigns — tag every donation and acknowledgement cost for your "Year-End Appeal 2025" to see campaign ROI.
- Board-designated initiatives — tag everything for a special project the board set aside money for, even if it spans multiple funds and programs.
- Review workflow — tag items "needs-review" or "approved" when you want a shared queue that doesn't require a status column on the transaction itself.
Each tag lives inside a tag group. A group is the controlled vocabulary for related tags — "Grants" is a group, "Ford Foundation" and "Hewlett Foundation" are tags within it. Groups are required (you cannot create an ungrouped tag), and a transaction can carry at most one tag from any given group. This rule prevents the most common Tags failure mode: dozens of similar tags that nobody can reconcile, and a transaction getting double-counted because two variants are attached.
A mid-sized community foundation might set up:
Tag group: Grants - Ford Foundation — 2024 cycle - Ford Foundation — 2025 cycle - Hewlett Foundation — Youth Arts - Kresge — Capacity Building
Tag group: Events - Spring Gala 2025 - Spring Gala 2026 - Giving Tuesday 2025
Tag group: Review - Needs review - Approved - Exported to CPA
When a $50,000 grant from Ford arrives, the bookkeeper records it to the Grants Receivable fund and tags it Ford Foundation — 2025 cycle. Each subsequent grant-funded expense is also tagged Ford Foundation — 2025 cycle. At any time, the Transactions by Tag report lists every transaction for that grant, and the Activity by Tag report shows revenue vs. expense within the group — giving you award-level burn without creating a separate fund or program just for the grant.
- You receive a restricted grant — tag the grant's revenue and every subsequent expense so you can pull a clean award report.
- You run a fundraising event — tag every ticket, sponsorship, auction item, and event cost so you can compute net proceeds in one query.
- You run a campaign — tag every donation and every campaign cost (mail house, ads, thank-you cards).
- Migrating from QuickBooks Online — if you were already using QBO Tags, import your taxonomy directly (see QBO Migration below).
- You want a lightweight approval workflow — a "Review" tag group with
needs-reviewandapprovedvalues is often enough.
Common Confusion
"Should this be a tag, a fund, or a program?" If it affects net assets (restricted vs unrestricted) or the balance sheet, it's a fund. If it's a mission area that appears in your Statement of Functional Expenses or 990 Part III, it's a program. Everything else is a tag.
"Can I split a single transaction across tags?" A transaction can carry one tag per group — so it can be tagged Spring Gala 2026 (Events) and Needs Review (Review) at the same time, but it cannot carry both Spring Gala 2026 and Spring Gala 2025 (same group). This rule is what keeps the Activity by Tag report from double-counting.
"Why can't I tag individual line items?" Tags live at the transaction level, matching how QBO models them. Line-level splits are already covered by Fund, Program, Project, and Functional Class on each line. If you need a tagged and an untagged portion of the same entry, record them as two transactions.
"Will my tags affect the trial balance?" No. Tags never post to the general ledger. Trial Balance, Financial Position, and Statement of Activities look identical whether a transaction has zero tags or ten.
If you came from QuickBooks Online, the mental model carries over directly:
- QBO Tag Groups → NP Ledger Tag Groups
- QBO Tags → NP Ledger Tags
- QBO Transactions by Tag Group report → NP Ledger Transactions by Tag
- QBO Profit and Loss by Tag Group report → NP Ledger Activity by Tag
One difference worth knowing: QBO lets a transaction carry multiple tags from the same group, which can cause double-counting in the P&L-by-tag report. NP Ledger enforces one tag per group per transaction at the database level, so the totals on Activity by Tag always tie back cleanly to the underlying GL.
Importing your QBO tags
The Tag Import wizard at /tags/import/ is a four-step flow that brings your QBO tag taxonomy and tag-to-transaction associations into NP Ledger. Available on all tiers; accountant role or higher.
- Export from QBO. Reports → Transactions by Tag Group → set your date range to cover every transaction you want to bring over → Export to Excel. Save the resulting
.xlsx(or CSV) somewhere you can re-upload it. - Upload. From the Tags page, click Import tags from QuickBooks Online and upload the file. The wizard will sniff the format and reject anything that isn't a recognizable Tag report.
- Review the taxonomy. The wizard shows every tag group and tag it found, with attachment counts. Existing groups and tags in NP Ledger are flagged so you can see what will be created vs. reused. New tags inside an existing group are created in that group; new groups are created from scratch.
- Review the match summary. Each tagged row in the QBO export is scored against your existing transactions on date, amount, reference number, and contact name. A composite score of 5+ counts as a confident match; 3-4 needs human review; below 3 is unmatched. The wizard shows the match rate plus per-row drill-downs for the review and unmatched buckets.
- Confirm. The whole import is one atomic transaction — if anything fails midway, nothing is persisted. By default only confident matches are attached; you can opt in to attach review-tier matches if you've already verified them.
About transactions QBO names but NP Ledger doesn't have. If your QBO export references transactions you've never imported into NP Ledger, those rows land in the unmatched bucket — the import simply doesn't attach a tag to anything. Bring the underlying transactions over first (via the QBO General Ledger or transaction CSV import) and re-run the wizard.
Rollback. Tag imports show up in the import-history admin like any other batch. Rollback deletes every tag created by the import along with all tag-to-transaction attachments. Heads-up: if you've manually attached an imported tag to additional transactions after the commit, those manual attachments are lost on rollback. Manually-created tags (not from this batch) are unaffected.
Limits. No automated API pull from QuickBooks — Intuit doesn't expose tags through their public API. The Transactions by Tag Group report is the only export that carries the data we need. IIF and QBXML imports also lack tag information.
- Tag proliferation. If every bookkeeper invents their own naming convention, you'll end up with "Spring Gala", "spring gala", "Gala 2026", and "Spring Gala 2026" all referring to the same event. Use a consistent format (
<Name> <Year>) and use the merge tool when duplicates appear. Review tag lists once a year. - Tagging too late. Tags only work if they're attached at transaction entry. Retroactively tagging 400 old transactions is painful. Set up your starter groups before a grant, event, or campaign begins.
- Using tags where a fund belongs. If a donor restricted the gift, it's a restricted fund, not a tag. Tags don't satisfy donor restrictions for audit purposes.
- Transactions by Tag (
/reports/transactions-by-tag/) — pick a tag group; see all transactions grouped by tag within it, plus an Untagged bucket for transactions that have no tag from this group. - Activity by Tag (
/reports/activity-by-tag/) — pick a tag group; see revenue and expense totals across the tags in that group, with an Untagged column. Column totals tie back to the general ledger.
Both reports support fiscal year and date range filters. CSV export is available on all tiers. PDF export is Standard+ (matching every other PDF export in NP Ledger).
Accountant note: Tags are non-posting metadata and do not appear in the Trial Balance, Statement of Financial Position, Statement of Activities, or Functional Expenses. They are reporting aids only. For audit substantiation of donor restrictions, use funds — not tags. For ASC 958-720 functional expense classification, use functional class on each line item.
Ready to try NP Ledger?
Native fund accounting, Form 990 support, and smarter bookkeeping for nonprofits.