Automate Back-Office Work: AI Assistants, Local AI or Plain Scripts
How any size organization can take the hours out of receipts, filing, intake and report assembly, and pick the approach its data, contracts and auditors will actually allow.
By William Bradshaw | November 5, 2026 | 11 min read
Every organization has repetitive work nobody enjoys: collecting a year of vendor receipts for the accountant, matching statements to invoices, filing signed forms, keying in intake forms, assembling the same monthly report from four sources. Artificial intelligence (AI) assistants can now do much of it, and the time savings are real. So are the questions about where your data goes.
AI is not the only way to get the hours back. There are three practical paths, and the right one depends on how sensitive the data is, whether the task follows fixed rules or needs judgment, and what your policies, contracts and auditors allow:
- Path A: a commercial AI assistant on a business plan with data controls.
- Path B: a self-hosted large language model (LLM) running on your own hardware.
- Path C: no AI at all, just scripted automation that follows written rules.
This guide is for Ohio townships, fire districts and other public bodies working under Ohio Revised Code (ORC) 9.64; regulated small businesses with health, payment-card or financial-reporting obligations; and small businesses of 1 to 50 people with no formal security program. The decision is the same for all three. Only the constraints change.
First, Describe the Task Honestly
Before you pick a tool, answer three questions about the job. Write the answers down; they become the first page of your documentation.
- What data does it touch? Public information, ordinary business records, or regulated data: criminal justice information (CJI), protected health information (PHI), cardholder data, or numbers that feed audited financial statements.
- Is it rule-based or judgment-based? "Save every email from these five senders and pull the total" is rule-based. "Read these intake notes and decide which department each belongs to" needs judgment. Rules suit scripts; judgment is where AI earns its keep.
- What constraints already apply? A contract that keeps client data in-house, a Criminal Justice Information Services (CJIS) agreement, a Health Insurance Portability and Accountability Act (HIPAA) obligation, or an auditor's expectations.
Most real tasks are a mix, and a hybrid (a script gathers and files, a person or an approved AI tool handles the exceptions) is often the best answer.
Path A: A Commercial AI Assistant With Data Controls
Assistants such as Claude, ChatGPT and Microsoft Copilot are the fastest route to results, especially for judgment-heavy work. They increasingly connect to your mailbox, files and calendar, which is what makes them useful and what makes the plan you choose matter: consumer and business plans are not the same product. Before anyone uses one for work, check these points against the vendor's current published terms:
- Training on your data. As of November 2026, Anthropic, OpenAI and Microsoft each state that business-tier prompts and outputs are not used to train their models by default. Read the exceptions: Anthropic, for example, notes that conversations a user submits as feedback (the thumbs up or down buttons) may be used, and lets administrators switch that off.
- Retention. How long are prompts, outputs and uploaded files kept, and can an administrator shorten that? Some vendors offer zero-retention options on certain plans.
- Administrator controls. Single sign-on (SSO), multi-factor authentication (MFA), the ability to add and remove users centrally, and control over which features and connectors are switched on.
- Connector scope. An assistant connected to a mailbox can usually read the whole mailbox. Can you limit that? Treat every connector as a new account with access to your data.
- Audit logs. Can you see who used the tool, when, and with which connectors?
- A Business Associate Agreement (BAA) for HIPAA. If PHI is involved, you need a signed BAA before any PHI goes in. Vendors limit this to specific offerings: Anthropic lists its application programming interface (API) with a HIPAA configuration and HIPAA-ready Enterprise plans; OpenAI lists ChatGPT for Healthcare, ChatGPT Enterprise with a regulated workspace, and API accounts set up with modified retention; Microsoft says Copilot supports HIPAA compliance when properly configured, but notes that web search queries are not covered by its BAA. Check which features the BAA covers, not just which plan: Anthropic, for example, excludes connectors and beta features from its BAA, so an assistant reading a mailbox through a connector is outside that coverage. No BAA, no PHI.
These terms change often. Confirm them on the vendor's own privacy and trust pages on the day you decide, keep a dated copy, and recheck at renewal.
Where Path A usually does not fit
Criminal justice information may only be stored and processed in environments that meet the Federal Bureau of Investigation (FBI) CJIS Security Policy under agreements with your state CJIS Systems Agency (in Ohio, the Law Enforcement Automated Data System, or LEADS, program run by the State Highway Patrol). A general-purpose AI assistant is very unlikely to be covered, so keep CJI out entirely. Cardholder data is similar: any system that stores, processes or transmits it is pulled into Payment Card Industry Data Security Standard (PCI DSS) scope, so do not paste card numbers anywhere an assistant can see them.
Path B: A Self-Hosted Model on Your Own Hardware
When data cannot leave your network but the task still needs judgment, run a model yourself. Ollama (open source, MIT licensed) runs openly published models on a workstation or server, and Open WebUI puts a chat interface and user accounts in front of it (its license has carried a branding clause since April 2025; read it before deploying for more than 50 users). Nothing typed into either needs to touch the internet.
The trade-offs are real:
- Hardware. Useful models want a graphics processing unit (GPU) with plenty of memory, or a recent workstation with a lot of unified memory. A small model runs on modest hardware; a capable one costs real money.
- Quality. Models small enough to run locally are less capable than the large hosted ones. They are good at summarizing, classifying and extracting fields from documents; they are weaker at long, multi-step work.
- Maintenance. You own patching, model updates, backups and uptime, as with any other server.
- Security still applies. A local model needs sign-in, role-based access, logging of who asked what, and its own network zone. If it handles regulated data, the same controls apply to it as to everything else that does.
Path C: Scripted Automation, No AI Required
Long before AI assistants, offices saved hours with Python, PowerShell or Bash scripts, Ansible playbooks and scheduled jobs. If the task follows fixed rules, or a policy, contract, CJIS agreement or auditor rules AI out, this is the right tool.
Strengths
- Repeatable: same input, same output, every run.
- Auditable: the logic is written down and can be reviewed line by line.
- Testable: you can prove it works before you rely on it.
- Data stays where it is; nothing goes to a third party.
- Runs unattended on a schedule.
Limits
- Brittle: when a vendor changes its email layout, the script stops finding the total.
- Every new case needs new code.
- Someone has to own it, update it and notice when it fails.
- It cannot handle judgment calls; it can only flag them for a person.
If you already manage servers this way, our Ansible automation guide shows the same habits applied to infrastructure. For anything you build yourself, the companion guide on building and maintaining custom tools safely covers version control, secrets handling, testing and who owns the code after it ships.
A Worked Example: A Year of Receipts
This is a real job from a small consulting firm, anonymized. The founder needed a full year of receipts from seven vendors for the bookkeeper: app-store receipts, phone-carrier payments and accounting-software invoices, roughly 120 documents spread across a personal mailbox and a work mailbox. Each one had to be found, saved as a file, renamed, filed, and keyed into a spreadsheet with a total per vendor.
| Measure | By hand (estimate) | With an AI assistant connected to both mailboxes |
|---|---|---|
| Elapsed time | 7 to 9 hours | About 1.5 hours |
| Founder's own time | All of it | Under 10 minutes, answering the assistant's questions |
The time saved was the headline. The lessons were more useful:
- The receipts were in two places. One vendor account's email address changed mid-year, so half its receipts landed in the other mailbox. A person working from memory would likely have found half and stopped.
- A cross-check caught an error. An automated comparison between the spreadsheet and the saved documents found one amount read wrongly, before it reached the bookkeeper. Build that check in, whichever path you use.
- Some receipts were not in the email at all. A few vendors send a notice with no amount and keep the invoice in their web portal. No tool can find a number that is not there; those had to be downloaded by hand.
- Connecting the mailbox was a decision. Giving an AI tool read access to a mailbox is a data-access choice. Here the owner made it; in a regulated organization, that connector needs approval under your policy first.
The Same Job With No AI
These receipts come from known senders in known layouts, so most of the job is rule-based. The illustrative sketch below (not production code) connects to a mailbox over the Internet Message Access Protocol (IMAP), searches each sender for one year, saves every original message as evidence, pulls the amount with one pattern per vendor, writes a comma-separated values (CSV) file and prints totals. Anything it cannot read is marked for a person.
# Illustrative sketch: a year of receipts from known senders, no AI involved.
# Credentials come from environment variables, never from the script itself.
import csv, email, imaplib, os, re
from pathlib import Path
VENDORS = { # sender -> pattern that finds the total in that vendor's template
"receipts@appstore.example": r"Total[:\s]+\$([\d,]+\.\d{2})",
"billing@carrier.example": r"Payment amount[:\s]+\$([\d,]+\.\d{2})",
"invoices@accounting.example": r"Amount due[:\s]+\$([\d,]+\.\d{2})",
}
OUT = Path("receipts-2025"); OUT.mkdir(exist_ok=True)
box = imaplib.IMAP4_SSL(os.environ["IMAP_HOST"])
box.login(os.environ["IMAP_USER"], os.environ["IMAP_APP_PASSWORD"])
box.select("INBOX", readonly=True) # read-only: the script never changes the mailbox
rows, totals = [], {}
for sender, pattern in VENDORS.items():
_, ids = box.search(None, f'(FROM "{sender}" SINCE 01-Jan-2025 BEFORE 01-Jan-2026)')
for num in ids[0].split():
_, data = box.fetch(num, "(RFC822)")
msg = email.message_from_bytes(data[0][1])
body = "".join(p.get_payload(decode=True).decode(errors="ignore")
for p in msg.walk() if p.get_content_type() == "text/plain")
found = re.search(pattern, body)
amount = float(found.group(1).replace(",", "")) if found else None
name = f"{sender.split('@')[1]}-{num.decode()}.eml"
(OUT / name).write_bytes(data[0][1]) # keep the original as evidence
rows.append([msg["Date"], sender, amount if amount is not None else "CHECK BY HAND", name])
totals[sender] = totals.get(sender, 0) + (amount or 0)
with open(OUT / "receipts.csv", "w", newline="") as f:
csv.writer(f).writerows([["date", "vendor", "amount", "file"], *rows])
for sender, total in totals.items():
print(f"{sender}: {total:,.2f}")
box.logout()
A real version would also read HTML-only emails, convert saved messages to PDF if your bookkeeper prefers, and run once per mailbox (which handles the changed address from the example). Microsoft 365 no longer accepts basic password sign-in for IMAP, so a production script against a Microsoft 365 mailbox needs modern sign-in (OAuth 2.0), either over IMAP or through the Microsoft Graph API. Gmail accepts an app password only on accounts with 2-Step Verification, and the Gmail API with OAuth is the sturdier choice there too.
Where the script wins. It gives the same answer every time, its logic can be reviewed by an auditor, it keeps every document on your own systems, and once it works it runs on the first of each month without anyone watching. For a SOX (Sarbanes-Oxley Act) environment, that reviewable, version-controlled logic is the kind of evidence change-management testing under IT general controls (ITGC) looks for; see our guide to SOX IT general controls.
Where it loses. Every new vendor needs a new pattern, and every redesigned receipt email breaks an old one. The AI assistant handled seven vendor layouts it had never seen, and asked a question when it was unsure. A sensible hybrid: the script does the monthly run for known vendors, and anything marked "CHECK BY HAND" goes to a person, or to an approved AI tool if your policy allows it.
A Simple Decision Guide
Find the row that matches your data, then the column that matches the task. Constraints always win: if a contract or auditor rules something out, move right in the table.
| Data the task touches | Rule-based task | Judgment task |
|---|---|---|
| Public or low-sensitivity | Path C, or Path A if faster to set up | Path A |
| Ordinary business records | Path C | Path A on a business plan you have checked, or Path B |
| PHI | Path C | Path A only with a signed BAA and the vendor's HIPAA configuration; otherwise Path B |
| Feeds audited financial reports | Path C, under change management | Hybrid: AI drafts, a person reviews and signs off |
| CJI or cardholder data | Path C inside the compliant environment | Path B inside the compliant environment, or a person |
Every path gets the same two guardrails: a person checks the output before it is relied on, and the procedure is written down. If you need to show how these controls line up with a framework, our compliance mapping guide shows the approach.
An AI Acceptable-Use Policy and Staff Training
Your staff are probably using AI already, approved or not. One or two written pages covering these points turns that into something you can manage:
- Approved tools and plans. Name them, including the plan. "ChatGPT" is not an approval; "our business workspace, with work accounts" is.
- What never goes in. CJI, PHI (unless the tool is covered by a BAA), cardholder data, passwords and other credentials, and anything a contract says must stay with you.
- Human review. A named person checks AI output before it is sent, filed, published or used for a decision. AI drafts; people sign.
- Connectors and new tools. Who approves connecting an AI tool to email, files or business systems, and who approves a new tool.
- Record retention. Where prompts and outputs are kept and for how long.
- Incident reporting. Who to tell, and how fast, when someone pastes the wrong thing or an AI output causes a mistake. Never punish reporting, or it stops.
For Ohio public bodies, the policy belongs inside the cybersecurity program ORC 9.64 requires; see our ORC 9.64 readiness guide. Retention matters more for you: Ohio's definition of a record (ORC 149.011) covers items in any form, created or received by the office, that document its functions, decisions and activities, so AI prompts and outputs used for official business may be records. (Personal notes kept and used only by their author are excluded, but do not assume a shared AI workspace qualifies.) Ask your records commission and legal counsel how your retention schedule applies.
For Ohio businesses relying on the ORC 1354 safe harbor, AI use needs to fit the written program you say you follow. And for everyone, a written policy gives you an honest answer when a cyber-insurance questionnaire asks how you handle sensitive data.
Short, practical training topics
Fifteen minutes each, with real examples from your own work, beats an hour of slides. Fold them into your existing security awareness training:
- Which tools we use, which account to sign in with, and why a personal or no-cost consumer account is not the same thing.
- The "never paste" list, with examples of what CJI, PHI and cardholder data look like in your office.
- How to check an AI answer: confident is not the same as correct, and numbers always get verified.
- Writing a clear request: give context, the format you want, and what to do when unsure.
- What to do after a mistake, and who to tell.
Start Small: A Five-Step Plan
The organizations that get value from automation start with one boring task, not a strategy deck.
- Pick one task. Choose something repetitive, low-risk and annoying: monthly receipts, filing signed forms, a recurring report. Avoid anything involving CJI or PHI for the first attempt.
- Measure the manual baseline. Time it once by hand and count the errors. Without a baseline you cannot tell whether automation helped.
- Pilot one path. Use the decision guide above. Run the pilot on a copy of the data, or read-only, for a month.
- Keep a human check. Compare outputs against the source documents, as the cross-check in our example did. Keep the check even after the pilot; just make it faster.
- Write it down as a procedure. The task, the tool or script, the reviewer, where output goes, and what to do when it fails. That page is your evidence for auditors and insurers, and training for the next person.
Then pick the next task. Each one gets easier because the policy, the review habit and the documentation are already in place.
Want Help Choosing the First Task?
Bullium helps small businesses, townships and fire districts pick a first automation, choose the path their data and rules allow, write the acceptable-use policy and train staff to use it. We start with a conversation about the work that eats your week. No commitment to engage further.
Related Reading
Building Custom Tools Safely
The guide to building and maintaining custom scripts and software without creating new risk.
Infrastructure Automation with Ansible
Repeatable, reviewable automation for servers and systems.
ORC 9.64 Cybersecurity Compliance
The program Ohio political subdivisions must adopt, and where an AI policy fits in it.
SOX IT General Controls
What auditors test when automation touches financial reporting.
Related Services
AI Enablement
AI usage training, use-case discovery, prompt design and agent builds.
Security Consulting
Policies, data-handling rules and compliance programs that hold up under review.
IT Strategy and Virtual Chief Information Officer (vCIO)
Technology planning that decides where automation pays off first.