Nonprofit Compliance Checklist: Can AI Track Filings and Deadlines?

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Nonprofit Compliance Checklist: Can AI Track Filings and Deadlines?
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Nonprofit Compliance Checklist: Can AI Track Filings and Deadlines?

A small nonprofit tracks filings best in a register: one row per obligation, the rule as the regulator or funder wrote it, the next due date, an owner and the evidence to file. AI then extracts dates from documents, writes the weekly reminder digest and spots gaps. The dates come from the regulator or an adviser, never the AI.

A static checklist goes out of date the day a rule changes, and it says nothing about who is responsible or what proof to keep. A tracker fixes both, because every row has a named owner and a source you can reread. Check each rule with your regulator or an adviser; the AI's job is to keep you on time.

Follow me on Instagram@sagnikteaches

Why a static checklist is not enough

A printed checklist answers "what should a nonprofit have?" once. Missed deadlines come from other questions: who owns this one, which document said so, when does the clock start, and where is the proof that we did it? Four patterns lie behind many missed deadlines. A rule changes and nobody rereads the source. An owner leaves and the reminders go to an empty inbox. A deadline sits inside a grant agreement that only the person who signed it has read. And a date was typed in rather than calculated, so it did not move when the year end did.

Connect on LinkedInSagnik Bhattacharya

The register described below answers each of those. A source and a date-read column catch the changed rule. A backup owner catches the leaver. An extraction step pulls the buried dates out of documents. A formula, not typing, handles dates that depend on the year end. AI is useful in the second and third of those, and in writing the summaries; it should have no say in the first.

Subscribe on YouTube@sagnikteaches

Eight groups of obligations to put to your regulator or adviser

The table is a prompt for questions, not a legal list. Which items apply to you depends on your legal form, your size and your funders, so treat each row as something to confirm with the regulator's own pages or an adviser, and write "not applicable" with a reason where it is not.

GroupTypical items to checkThe question to ask
Registration and annual reportingAnnual report and accounts; registration renewals; changes to trustee, director or address detailsWhich filings do we owe each year, to whom, and how is each date calculated?
Tax and payrollAnnual information returns; employer filings; confirmations of tax-exempt statusWhat do we file with the tax authority, and does our status need periodic confirmation?
FundraisingRegistrations or permits for public appeals, collections and events; platform verificationsWhich of our appeals and events need permission, and how long does it last?
Funders and contractsGrant reports; financial returns; spending deadlines; restricted-fund conditions; contract renewalsWhat does each agreement require, and from which date does each clock run?
GovernanceAnnual general meeting; officer terms; conflict-of-interest declarations; policy reviews; minutesWhat does our governing document require, and how often?
PeopleVetting or background-check renewals for roles with vulnerable people; training certificates; volunteer agreementsWhich roles need checks, and when do they expire?
Premises, safety and insuranceInsurance renewals; fire, electrical and first-aid checks; vehicle checks; lease dates; licencesWhat certificates and licences must we hold, and who issues them?
Data and technologyData-protection registration or fee where one applies; privacy notice review; domain, website and software renewals; backup testsWhat do we owe the data-protection authority, and what lapses if we forget a renewal?

Restricted funds in particular carry their own spending and reporting dates; the tutorial on AI bookkeeping for nonprofits and restricted funds shows where those dates come from in your books.

The register: one row per obligation, thirteen columns

Build the register in a shared sheet. Thirteen columns are enough for a small nonprofit:

  • ID, Obligation, Owed to: a short code, what must be done, and who receives it.
  • Rule as written: the exact wording of the rule, copied from the source, such as "within nine months of the year end".
  • Source and date read: the page, letter or clause, and the day you last read it.
  • Confirmed by: the name and date of the adviser or regulator contact who confirmed it.
  • Next due and Lead days: the date, and how many days before it work must start.
  • Owner and Backup owner: two named people.
  • Evidence needed: the receipt, certificate or minute you will file.
  • Days to go and Flag: two formula columns.

With the columns in A to M, the two formulas for row 2 are:

Days to go (L2):  =IF(G2="","",G2-TODAY())
Flag (M2):        =IF(G2="","NO DATE",IF(L2<0,"OVERDUE",IF(L2<=H2,"ACT NOW","OK")))

Here are eight rows from a community food bank with two part-time staff, nine volunteers and a five-trustee board. Every date and name is an illustration, and the flags are what the sheet would show on 28 October 2026.

IDObligationOwed toNext dueLead daysOwnerFlag
F01Annual report and accountsRegulator31 Jan 202760TreasurerOK (95 days)
F02Annual information returnTax authority15 Nov 202630TreasurerACT NOW (18 days)
F03Liability insurance renewalInsurer1 Dec 202645ManagerACT NOW (34 days)
F04Events licence renewalLicensing body20 Jan 202760ManagerOK (84 days)
F05Safeguarding policy reviewBoard15 Mar 202745ChairOK (138 days)
F06Grant report, quarter 2Funder30 Nov 202630ManagerOK (33 days)
F07Conflict-of-interest declarationsBoard31 Mar 202730SecretaryOK (154 days)
F08Fire risk assessment reviewPremises10 Feb 202760ManagerOK (105 days)

Two rows are in the action window already. F06 will join them in three days, which is the point of a lead time: the register is not telling you the deadline, it is telling you when to start. Use different lead times for different jobs. A tax return that needs the treasurer and the bookkeeper both needs more notice than a certificate that one person uploads.

Pulling dates out of grant agreements without guessing

The dates nobody sees are the ones buried in agreements, leases and insurance schedules. AI is good at reading a long document and listing what is in it, as long as you stop it from doing arithmetic. Check the funder's confidentiality terms, remove personal data, and use a plan with business-grade privacy settings before pasting anything in.

You are extracting obligations from a grant agreement for a small nonprofit's compliance register.
List EVERY obligation that has a date, a deadline or a repeat cycle: reports, financial returns, spending deadlines, audits, notifications of change, insurance or policy requirements, record-keeping periods.
For each return: (1) the obligation in plain words; (2) who it is owed to; (3) clause or page number; (4) the exact words, in quotation marks; (5) the date rule exactly as written; (6) the event the date depends on, if any.
Rules: never calculate a due date. Never fill a gap. If no date is stated, write "no date stated". If a rule is ambiguous, quote it and write "AMBIGUOUS: ask the funder".
DOCUMENT: [paste or attach]

A trimmed result for one agreement (illustrative):

ObligationClauseExact wordsDepends on
Quarterly financial report7.2"within 30 days of the end of each quarter of the grant period"Grant start date; 30 days
Annual narrative report7.4"no later than 60 days after the end of the grant period"Grant end date; 60 days
Notify funder of key staff change9.1"promptly"AMBIGUOUS: ask the funder what promptly means

The quoted words did their job on the first row. In an earlier run without the "never calculate" rule, the assistant had listed the quarterly report as due on 30 April, 30 July and so on, assuming calendar quarters. The agreement defined quarters from the grant start date, which was 1 December, so quarters ended in February, May, August and November and every real deadline fell a month before the assistant's date. The treasurer saw it only because the exact words were in the table next to the date. That is why the prompt asks for a quotation and a "depends on" column rather than a due date: you compute the date in the sheet, from the rule, and you can see how you did it.

Open the agreement beside the table for every row. For the AMBIGUOUS rows, email the funder and record the answer in the "Confirmed by" column. The same extraction prompt works on a lease, an insurance schedule or a licence; change the first line to say which.

Relative dates and the year-end trap

Many rules count from the year end, such as "within nine months of the end of the financial year". Never type that date in. Put the year end in one cell on a Settings sheet and let the register calculate from it. In Excel and Google Sheets the function is EDATE, which adds whole months to a date:

Next due (G2) for "nine months after year end":  =EDATE(Settings!$B$1,9)
New year-end after the filing is made (Settings!B1): =EDATE(Settings!B1,12)

The first formula means that when trustees move the year end, every dependent date moves with it. The second moves the year-end cell on by twelve months, but only after the owner has recorded the filing and attached its receipt; do not roll it automatically. A fixed annual date, such as an insurance renewal, is rolled forward the same way: work out the new date in a spare cell with EDATE(G2,12) and paste it back as a value once the renewal is done. In the food bank example the treasurer had typed 31 January as a plain date. Trustees later moved the year end three months earlier to line up with a grant, and the typed date stayed put, so for several weeks the register showed OK against a deadline that had moved. A formula would have caught it, and so would a quarterly reread of the source, which is why the "date read" column exists.

Reminders at three levels, and a test row to prove they work

Start with the simplest level and add the next only when you need it.

  1. Calendar events. For every row, create a calendar event on the due date with alerts at the lead time and at seven days, and invite the owner and the backup. Google Calendar can import events from a CSV file, and other calendars have their own import routes, so ask an assistant to reshape the register into the layout your calendar's help page describes, then check ten events by hand.
  2. A Monday check. Ten minutes a week: filter the Flag column for anything that is not OK, read the list aloud, and give each owner a next step. Pasting the filtered rows into an assistant for a plain-English briefing is optional and takes a minute.
  3. A weekly automated digest. An automation (a Make scenario or a Zapier Zap) that runs each Monday, reads the rows flagged ACT NOW or OVERDUE, has an AI step write the digest, and emails it to the owner and chair.

Costs and limits for level three, from the vendors' pricing pages in October 2026. Zapier's Free plan allows 100 tasks a month and two-step Zaps only, so a read-then-write-then-email flow needs the Professional plan, which starts at $19.99 a month on annual billing for 750 tasks; its pricing page also lists an extra 15% discount for nonprofits, so ask for it. Make's Free plan gives 1,000 credits a month and says most actions use one credit, though a run can use anywhere from two credits to thousands, so keep the scenario narrow (only the flagged rows) and read the credit count after the first run. Make's help pages say personal Gmail connections need re-authorising every six months; check how your sender connects before you rely on it. The nonprofit offers for Zapier and the walkthrough in Make.com for charities go into setup.

Whichever level you choose, test it with a canary row. Add an invented obligation, "TEST: delete me", due in ten days, and check that the next briefing or calendar alert shows it. If you use a scheduled prompt in an AI assistant instead of an automation, the test matters even more, because a scheduled prompt can only report what it can open. One that cannot read your sheet will write a confident, tidy list from nothing. Delete the test row once it has shown up.

The weekly digest and a two-minute item for the board

The digest prompt gives the assistant the rows and forbids it from changing them:

Here are the rows of our compliance register due within the next 45 days, copied from the sheet, with today's date. Write a plain-English briefing for the trustees: what is overdue, what is due within 14 days, and what is due later in the window. For each give the owner and the next action. Use only the rows provided. Do not change any date, do not add obligations, do not comment on what the law requires. Use the Days to go figures as given. If a row has no owner or no evidence listed, say so.
TODAY: [date]
ROWS: [paste]

For the food bank on 28 October the briefing ran (illustrative): "Nothing is overdue. Due within 14 days: nothing. Due in the next 45 days: F02 annual information return, 18 days, owner Treasurer, evidence: submission receipt, start now; F06 grant report quarter 2, 33 days, owner Manager; F03 liability insurance renewal, 34 days, owner Manager, certificate needed." The instruction to use the Days to go column matters, because models are poor at counting days between dates and will drift by one or two. Spot-check one number each week against the sheet.

At board level, the briefing becomes a standing item that takes two minutes: overdue items (target none), items due in the next 90 days, and anything the adviser has changed. Record in the minutes that the register was reviewed. The trustee risk register for AI governance shows how another standing board paper can be set up.

The document log: proof that each filing happened

A deadline is met when the proof exists. Keep a second tab, the document log, with one row per piece of evidence: date, the register ID it supports, what it is, where it is stored, the version and who approved it. A filled extract (illustrative):

DateRegister IDDocumentStored atApproved by
2026-10-12F03Insurance schedule 2025-26 (current)Shared drive / Insurance / 2025-26Manager
2026-09-03F05Safeguarding policy v4, trustee minute 9Shared drive / Policies / SafeguardingChair
2026-07-18F01Last year's filing receiptShared drive / Filings / AnnualTreasurer

AI helps with the dull parts. Paste a folder listing and the register IDs and it will propose consistent file names, map each file to the row it supports, and list rows with no evidence. It must not decide that a document counts as evidence; the owner does. Ask the regulator or an adviser how long each kind of record should be kept, write the answer in the log's header and apply it consistently. If your nonprofit also keeps policies and plans for an accreditation scheme, the same structure works there; the museum evidence tracker tutorial listed at the end shows one version.

When an owner leaves: keeping renewals out of empty inboxes

A familiar quiet failure is a notice sent to someone who has gone. In the food bank, the insurer's renewal reminders had been going to a former treasurer's personal address for two years (illustrative). Three small rules prevent it. Every outside body that sends notices gets a shared role address, such as a finance or admin mailbox that two people can read, rather than a person's own. Every register row has a backup owner who is told when they are named. And the leaver checklist carries one line: reassign each register row and calendar invite owned by this person.

That last step is a natural job for AI, because it is a filter and not a judgement. Paste the register and the leaver's name, and ask for every row where they are owner or backup, with the next due date for each. A person then reassigns them and the calendar invites follow. Do the same when a trustee's term ends, because their name is often on the governance rows.

What the adviser confirms, and when

Once a quarter, send the register export to your adviser or regulator contact with three questions, and record the answer in the Confirmed by column. A message that does it (illustrative):

Subject: Compliance register check, [organisation], [quarter]
Hello [first name],
Attached is our obligations register. Could you tell us by [date]: (1) anything missing for an organisation of our type and size; (2) any date you would calculate differently, and why; (3) anything that has changed since [date of last check].
Rows marked "not applicable" have a reason noted. Thank you, [your name]

If the regulator offers email updates for organisations like yours, subscribe with a shared address and keep a change log tab: date, what changed, which rows it touches. When you are unsure whether a rule applies, ask before you delete the row. Anything to do with legal duties, tax or safeguarding belongs with a qualified adviser, and the register's job is only to make sure the question gets asked on time.

A quarterly gap review with AI as a second pair of eyes

Once a quarter, ask an assistant whether the register has holes, using the eight groups as the frame. It cannot know what the law requires of you, so it asks questions rather than answering them, and you take the questions to your adviser.

Here is our compliance register and eight groups of obligations: registration and annual reporting; tax and payroll; fundraising; funders and contracts; governance; people; premises, safety and insurance; data and technology. For each group, say how many rows we have, and list the kinds of obligation organisations like ours commonly track in that group that do not appear in the register. Do not state what is legally required. Phrase every gap as a question for our adviser.
REGISTER: [paste]

On the food bank's register (illustrative) the output noted that the people group had a single row, and asked: "Do volunteers who drive the delivery van need checks or licence verifications renewed, and who holds those records?" It also noticed that the data group had no row for a website domain renewal. Neither was a legal conclusion and neither proved a gap, but the van question led to two new rows, and the domain row took thirty seconds to add.

What AI must not do: log in, file or decide

Keep the assistant away from the portals. A browser agent that logs into a regulator's or tax authority's site to file or check status is a risk you do not need: Anthropic's own safety guidance for Claude in Chrome says to strongly avoid financial accounts, legal documents or contracts, and sites with other people's personal information. A person files, a person keeps the receipt, and the register records both.

The same goes for decisions. AI can say that a date looks close or that a row is empty; it cannot say whether a filing is required, whether an exemption applies or whether a late filing matters. Those answers come from the regulator or an adviser, and the register records who gave them and when.

The food bank's numbers: 31 obligations, 75 minutes a month

The food bank's register ended with 31 obligations: 6 in governance, 5 in registration and tax, 4 in insurance, 5 in licences and premises, 4 in people, 4 from funders and 3 in data and technology. The setup (all figures illustrative) took about 10 hours spread over three weeks.

Setup jobHours
Gather agreements, schedules, licences and the governing document3
Extract dates with AI and check each against the original (6 documents)2
Ask the adviser to confirm the rows and fill Confirmed by1
Build the register and formulas2
Create calendar events and the Monday routine1
Set up the weekly digest and the canary row1

The monthly running time: a ten-minute Monday check four times is 40 minutes; a 20-minute monthly review; a 30-minute quarterly adviser email, which is 10 minutes a month; and a 15-minute quarterly board paper, 5 minutes a month. That totals 75 minutes. Software cost nothing: the register ran on a shared sheet and calendar from a free Workspace for Nonprofits account, the digest ran as a weekly scenario on a free automation plan, and an AI chat plan was already in use. If the board wants a team plan for the AI step, the nonprofit programmes list ChatGPT Business and Claude Team from about $8 a seat a month with two seats minimum, which is about $16 a month, subject to eligibility.

What the 75 minutes buys is not safety, because only the regulator, funders and advisers can say what is required. It buys a place where every date has an owner, a source and a proof, and a prompt each week that makes someone look. For the general version of this calendar, the tutorial on a compliance calendar for licences, insurance and certificates covers the mechanics, and the guide to tracking contract renewals and deadlines with AI adds the supplier-contract side.

Questions small nonprofits ask about tracking deadlines with AI

What should we do if we have already missed a deadline?

File or send what is owed as soon as you can, then tell the body it was owed to what happened; ask your adviser first if a penalty, appeal or reasonable-excuse route might apply. In the register, record the missed date, the reason and the fix, such as a longer lead time, a second owner or a calendar alert that reaches a shared mailbox.

Is a spreadsheet and a calendar enough?

For most small nonprofits, yes: a register with a flag formula, calendar events at set lead times and a ten-minute Monday check cover the routine. Add the weekly AI digest when the volume grows or when trustees want a plain-English summary rather than a sheet.

Can our accounting software's reminders replace the register?

Only for the dates the software knows about, such as bills, payroll runs or returns it prepares. It knows nothing about licences, policy reviews, funder reports, vetting renewals or insurance schedules. Keep the register as the single list, add a row for each finance deadline with the software named as its reminder source, and check once a quarter that the two still agree.

Should the register live in a project tool instead of a sheet?

It can, if the tool handles due dates, two owners, recurring tasks and an export you can send to an adviser. A sheet has one advantage: formulas, so a date that counts from the year end moves when the year end moves. A workable split is to keep the register in a sheet and let a project tool or calendar carry the reminders.

Further reads

Sources: Zapier and Make pricing pages (read October 2026), vendor help pages for scheduled prompts, and the nonprofit programme pages of OpenAI, Anthropic and Google; the regulator's own guidance is the authority for every date.

Want a deadline register your trustees will trust?

On a 1:1 call we can build your register structure, decide which reminders to automate and which to keep human, and set a review routine for your board.

Book a 1:1 call with me