Services
Monthly bookkeeping run entirely in Xero — closed, reviewed and proven every period by the team that does the work.
Bookkeeping packages
Who we serve
In a business, a dollar is a dollar. In a non-profit, a dollar arrives with conditions attached, and the ledger has to carry those conditions from the day the money lands to the day the auditor asks about it. Books that cannot answer that question are not slightly behind. They are the wrong shape.
The core distinction
Since ASU 2016-14, net assets come in two classes: with donor restrictions and without. That sounds like a presentation question. It is really a coding question, and it is decided at the moment each gift is recorded, not in the week before the audit.
The failure is familiar. Everything is coded to a general contribution account through the year, and then someone sits down in March to work out which of it was restricted, using the grant agreements, a spreadsheet, and memory. What comes out is defensible only in the sense that nobody can prove otherwise. The release of restrictions is estimated rather than recorded, the roll-forward does not tie, and the board has been reading a surplus that includes money the organisation was never free to spend.
Done properly, each gift is coded to its fund and its purpose when it is entered, releases are recorded as the conditions are satisfied, and the restricted balance is a number you can produce on any given Tuesday. It is not harder. It is only earlier.
The design question this raises: a non-profit usually needs to see four or five things at once, and no accounting system carries all of them in one field. Where each one lives is a decision made at setup, and it is the difference between reporting that answers a funder in minutes and reporting that takes a week. How we lay that out is below.
Timing
Under ASU 2018-08, a contribution is conditional when the agreement contains a barrier the organisation has to overcome and either a right of return of the funds or a right of release of the obligation. A conditional contribution is not recognised as revenue until the barrier is overcome, however comfortably the cash is sitting in the bank.
This is the single most common error we find in non-profit books, and it is expensive in a specific way. A three year grant received up front and recognised on receipt produces a large surplus in year one and two years of deficits after it. The board sees a strong year followed by a crisis that never actually happened. Reserves policies get rewritten on the strength of it. Sometimes a hiring decision gets made on it.
The related judgement, made before that one, is whether the money is a contribution at all or an exchange transaction, where the funder receives commensurate value in return. Government grants in particular are not all the same animal, and the answer changes both the timing and the presentation.
What this looks like in practice: each grant agreement read once, the barriers written down, and a schedule that releases revenue as milestones are met. The reading is the work. The bookkeeping after it is mechanical.
Presentation
Expenses have to be presented by nature and by function: program, management and general, and fundraising. Every organisation knows this. Fewer can produce the basis on which the split was made.
An allocation is defensible when it rests on a method that is reasonable, documented and applied consistently. Time records for shared staff. Square footage for occupancy. Headcount or usage for shared systems. The method matters more than the precision, because an auditor can test a documented method and cannot test a judgement someone made from memory in the third week of the close.
Where costs genuinely are shared and allocated periodically rather than at the point of coding, give the pool its own named tracking option. Xero’s unassigned column is not a category, it is the absence of one, so anything parked there is indistinguishable from a transaction nobody got to. A named pool says the allocation is deliberate and lets a reviewer test how it was made.
The number this produces is also read by people outside the organisation, since the 990 is public and the program expense ratio gets quoted back at you by funders and rating sites. That is a reason to get the allocation right at the point of coding rather than to manage the ratio afterwards, which is a different activity with a different name.

A rule worth adopting: unassigned is a queue, not a column. By close it should hold nothing material, and whatever remains should be either immaterial or a named shared cost pool with an allocation scheduled behind it. Anything else is a coding decision that has been postponed, and every month that passes makes it harder to make correctly. The same applies on the revenue side, where an unassigned contribution is a restriction question nobody has answered yet.
How it is built
Fund, program, grant, functional classification, and often entity as well. Everyone asks whether the accounting system can hold all of them. The better question is which layer should hold each one, because the answer has been the same for years and it works.
| What you need to see | Where it lives | Why there |
|---|---|---|
| Nature of the expense | Chart of accounts | Salaries, occupancy, travel and the rest are a stable list that rarely changes. This is what a chart of accounts is for |
| Functional classification | A tracking category | Program, management and general, and fundraising is a short fixed set, applied to every transaction, and it has to be reportable on demand |
| Fund or program | The second tracking category | This is the dimension a board and a funder both ask about, so it needs to slice the whole ledger rather than sit in a sub-ledger |
| Individual grant or award | Grant or donor system, with a schedule reconciled to the ledger monthly | Grant detail is deep and mostly not accounting: milestones, reporting dates, budget lines, correspondence. Where the portfolio is small, account coding carries it instead |
| Donor detail | Donor CRM, summarised into the ledger | Nobody needs ten thousand individual donors in a general ledger, and the acknowledgement and stewardship work happens in the CRM anyway |
| Entity, where you run more than one | Separate organisations, consolidated in the reporting layer | Affiliated entities have to keep genuinely separate books. Consolidation for a combined view belongs above the ledger, not inside it |
Xero has an app ecosystem, and for non-profits four categories of it do most of the work:
One caution carried over from our integration guidance. Connecting a donor platform through a general purpose automation tool so that it creates accounting records is a bookkeeping process with no owner and no reconciliation. Summarised, reconciled postings from a supported connection are a different thing entirely.
Worth asking about before you subscribe to anything: Xero and several of these platforms offer non-profit pricing, and some are available through TechSoup. Terms change, so confirm current eligibility rather than taking a number from a blog.
And when it genuinely does not fit. Organisations with large federal award portfolios, deep fund structures or many entities eventually need a system built for fund accounting rather than a well designed general ledger with layers around it. We would rather say that early than build something elaborate around a platform that was never going to hold it.
Affiliated structures
Plenty of advocacy organisations run a 501(c)(3) alongside a 501(c)(4). It is a recognised structure and it exists for a good reason: the c3 can raise deductible contributions and foundation grants, and the c4 can lobby without dollar limits. What it demands in return is bookkeeping discipline that most organisations underestimate until the first audit.
The rules that shape the ledger are not complicated to state:
Underneath all four sits the same requirement: time has to be tracked by entity and by activity, as it is worked. An allocation formula is only as good as the input, and there is no way to reconstruct where a shared director’s attention went nine months ago.
| 501(c)(3) | 501(c)(4) | Consequence for the books | |
|---|---|---|---|
| Donor deductibility | Contributions are deductible as charitable contributions | Contributions are not deductible as charitable contributions | Different acknowledgement and receipting practice, and different language to donors about what they are giving |
| Lobbying | Limited, measured either by the substantial part test or by electing the expenditure test under 501(h), and reported on Schedule C | Permitted without dollar limits where it furthers the exempt purpose | Lobbying cost has to be captured as it is incurred, by account or cost centre, and mixed activities allocated. It cannot be estimated at year end |
| Political campaign activity | Prohibited | Permitted, provided it is not the primary activity | A separate account or cost centre for political expenditure, and a written methodology for splitting shared staff time and overhead |
| Public support test | Applies to public charities, computed over a rolling period | Does not apply | How each revenue item is classified matters well beyond the income statement, because the classification feeds a test that governs status |
Where our work stops. Whether an activity is permissible, how “primary” should be measured, and whether a given structure is the right one are legal and tax questions that belong with your counsel and your 990 preparer. What we do is make the books reflect the structure accurately enough that those advisers are working from something real.
Federal money
The threshold moved recently and a good number of organisations have not caught up. An entity that expends $1,000,000 or more in federal awards during a fiscal year needs a single audit, or in limited cases a program specific audit, under 2 CFR 200.501. That figure replaced the long standing $750,000 and applies to fiscal years beginning on or after 1 October 2024.
The practical implication for bookkeeping is that federal expenditure has to be tracked by award through the year, not assembled from the general ledger in the month before fieldwork. A running schedule that reconciles monthly turns a difficult audit into an ordinary one.
Audit season
Audit cost and audit pain are both mostly a function of how much reconstruction the auditor has to do. Almost none of that reconstruction is unavoidable.
What makes it boring, in the good sense: bank and investment accounts reconciled every month rather than at year end. A restricted net asset roll-forward that ties without adjustment. Grant files where each agreement sits with the schedule that drove its revenue recognition. A functional expense allocation with its written basis attached. Intercompany balances that clear. Fixed asset and depreciation schedules that agree to the ledger. Board approved budgets and minutes where they can be found.
We prepare that package and answer the questions that follow it. We do not audit, and we do not express any opinion on the financial statements. That is the auditor’s job, and the separation is the point.
Boundaries
Stated plainly, because in this sector the boundaries matter more than usual.
We do
Coding, reconciliation, restricted fund tracking, grant revenue schedules, functional expense allocation on a documented basis, and a close that produces statements the board can read.
We do
The schedules, reconciliations and supporting files your auditor asks for, prepared before the request arrives rather than after it.
We do not
We do not prepare or file tax returns. We produce the books, schedules and reconciliations your preparer works from, and we answer their questions.
We do not
No audit opinion, no legal or tax advice on structure, exemption or what a given entity may permissibly do. Those sit with your auditor and your counsel.
Questions
Next
Tell us what you run, which funders you answer to, and where the books currently stand. We will tell you what it would take to get them audit ready and keep them there.
BOOK A FREE 30 - MINUTE CALL See the 32-point check