Income Statement Reconciliation: Aplos vs Alignmint — January 2026
Income Statement Reconciliation: Aplos vs Alignmint — January 2026
Alignmint GL parity (locked): On-screen “Income Statement revenue” totals follow `INCOME-STATEMENT-PARITY.md` — same RPC contract as the Income Statement report (fetchIncomeStatementData).
UI navigation: Reconciliation discrepancy banner shortcuts open the corresponding Reports hub screens (income-statement, income-statement-by-fund), not accounting tool ids.
Revenue parity UX (April 13, 2026): When the entire gap is explained by known non-donation revenue accounts, the UI treats the difference as informational and lists those accounts directly. Warning styling is reserved for a remaining unexplained gap (actionable_gap), not for expected grants / events / admin-fee revenue.
Runtime safeguards (Apr 13, 2026)
- No silent 50k truncation: donation rows and orphaned-revenue JE diagnostic rows are fetched in deterministic pages (5,000-row chunks) until exhaustion.
- Date-range-correct “Last Donation”: donor table
Last Donationnow uses donations inside the selected report range, so theMost Recentsort is report-range accurate. - Orphaned diagnostic account scope parity: single-fund orphaned checks include the selected fund plus its parent chart owner (and global
organization_id IS NULLrows), matching shared ledger-drawer account ownership rules. - Income Statement parity remains canonical: report GL revenue still comes from
fetchIncomeStatementData/get_income_statement_datawith the same date range and org scope. - Donor-linked non-donation revenue:
deposit_items.donor_id(April 21, 2026) lets non-donation revenue lines carry payer identity for CRM purposes. Reconciliation logic still classifies revenue by account, not by donor link —expected_non_donation_revenueparity classification is unchanged.
Date: April 12, 2026 Period: January 1–31, 2026 Aplos source: IncomeStatement.20260412.csv (generated by michelle@financialstories.team, April 11, 2026) Alignmint source: get_income_statement_data RPC, parent-org consolidated view Reconciliation query: supabase/queries/reconcile_income_statement_aplos_vs_gl.sql
Status
The balance sheet at January 31, 2026 is perfectly balanced and Aplos-verified (period locked). The income statement differences documented here are expected divergences between the Aplos snapshot and Alignmint's live GL, not data errors.
Summary Totals
| | Aplos IS | Alignmint IS | Difference |
|--|----------|-------------|------------|
| Total Revenue | $136,006.81 | $264,893.82 | +$128,887.01 |
| Total Expenses | $226,082.62 | $356,538.31 | +$130,455.69 |
| Net Income | -$90,075.81 | -$91,644.49 | -$1,568.68 |
The revenue and expense gross differences are large ($128K / $130K) but are dominated by admin fee entries that net to zero. The net income difference is only $1,568.68.
Account-Level Differences
Accounts that match to the penny (no action needed)
4000.01 Advisors, 4000.02 Donations, 4001 Program Income, 4500 Book Sales, 4530 Misc Revenue, 5002 Bank Fees, 5003 Books/Subscriptions, 5004 Business Expenses, 5008 Family Support, 5014 Meals, 5016 Mileage, 5019.01-05 Payroll (combined), 5020 Postage, 5022 Tech Support, 5023+5023.01 Rent, 5026+5026.02 Software, 5027.01-03 Sub-supplies, 5028 Telephone, 5029 Generosity/Tithe, 5030 Training, 5032+5032.02 Travel, 5100+5201 Events (combined), 5200 Equipment, 5203 Materials, 5206 Intl Support Grant, 5303 Outside Contract, 6000 Misc Expense.
Accounts that differ
Admin fees (nets to $0 on IS)
| Account | Aplos | Alignmint | Diff | Explanation |
|---------|-------|-----------|------|-------------|
| 4600 Admin Fees from Ministries | $8,459.21 | $132,117.04 | +$123,657.83 | Alignmint auto-allocates admin fees across all funds; Aplos had only a partial manual subset |
| 5000 Admin fee | $8,459.21 | $132,117.04 | +$123,657.83 | Mirror of 4600 — revenue = expense, net zero |
Donation revenue (Alignmint-only entries)
| Account | Aplos | Alignmint | Diff | Explanation |
|---------|-------|-----------|------|-------------|
| 4000 Direct Public Support | $116,648.18 | $116,877.36 | +$229.18 | Extra donations processed via Stripe/manual entry (backfills, small online gifts) |
| 4999 Fee-exempt funds | $0 | $5,000.00 | +$5,000.00 | Internal grants (God's Grace $2,500 + Love With Actions $2,500) — Alignmint-only |
Expenses (Alignmint-only entries)
| Account | Aplos | Alignmint | Diff | Explanation |
|---------|-------|-----------|------|-------------|
| 5011 Funds waiting for receipts | $2,633.58 | $7,233.58 | +$4,600.00 | BreakThrough Ministry Jan advancement ($4,600) |
| 5017 Office Supplies | $254.38 | $329.56 | +$75.18 | ChatGPT subscription (InFocus Admin) |
| 5027 Supplies (parent) | $81,978.39 | $82,001.07 | +$22.68 | Medical supplies (Cornerstone) |
| 5103 Entertainment | $0 | $1,750.00 | +$1,750.00 | Speaker travel (Cornerstone) |
| 6003 Insurance - Liability, D&O | $0 | $350.00 | +$350.00 | Monthly $10/fund x 35 funds |
| 6004 Ask My Accountant | $3,180.00 | $3,680.00 | +$500.00 | Additional accounting entry |
Aplos-only (in Aplos IS but not in Alignmint IS)
| Account | Aplos | Alignmint | Diff | Explanation |
|---------|-------|-----------|------|-------------|
| 6100 Generosity | $500.00 | $0 | -$500.00 | Present in Aplos IS export but not in staging or Alignmint GL — possible Aplos report grouping artifact |
Aplos account grouping differences (not data differences)
These accounts have identical totals when cross-mapped:
| Aplos groups as | Aplos amount | Alignmint shows as | Alignmint amounts | Combined |
|----------------|-------------|-------------------|-------------------|----------|
| 5031 Transportation | $359.33 | 5012 Fuel + 5016 Mileage | $199.03 + $160.30 | $359.33 |
| 5019 Payroll Expenses | $66,325.04 | 5019.01-05 + 5015 Medical | $64,388.85 + $1,936.19 | $66,325.04 |
| 5100 Event Expenses | $2,434.52 | 5100 + 5201 Event expense | $1,132.52 + $1,302.00 | $2,434.52 |
| 5013 Insurance Premium | $160.65 | 5013 + 5013.01 | -$3,741.67 + $3,902.32 | $160.65 |
Why the Balance Sheet Is Not Affected
Every Alignmint-only entry listed above is a balanced journal entry (total debits = total credits). The balance sheet at January 31, 2026 includes all of these entries and the accounting equation holds. The income statement comparison highlights where the two systems diverge, but this does not indicate a GL error.
Root Cause Summary
Alignmint's GL has additional entries that Aplos never had:
1. Admin fee automation — Alignmint computes and posts inter-fund admin fees automatically; Aplos had only a manual partial subset 2. Stripe donation processing — donations processed via the Stripe webhook create revenue JEs in Alignmint 3. Insurance allocation — monthly per-fund insurance charges are system-generated 4. Manual entries — operational expenses (ChatGPT, speaker travel, advancements) entered directly in Alignmint 5. Fee-exempt grants — internal fund transfers entered in Alignmint
The Aplos IS represents a point-in-time snapshot. The Alignmint GL is the live system of record going forward.
Synced from IFMmvp-Frontend documentation: pages/accounting/16-REVENUE-RECONCILIATION.md
Ready to Get Started?
See how Alignmint can simplify your nonprofit's operations. Schedule a free demo with our team and we'll walk you through everything.
Questions? Email us at steven@getalignmint.org