Archive

Tag Archives: artificial-intelligence

The email has “quick question” in the subject line and lands at 3:40 on a Thursday. Someone on the leadership team wants revenue for three customers by product line over the last 18 months, next to what each of them was quoted. They will read the answer once. Possibly on their phone, in the back of a car. Then nobody will ask that question again for as long as the company exists.

Every finance team knows what happens next. An analyst loses the afternoon. A workbook gets built, with a pivot table and a tab called Sheet3 that nobody can explain, and it gets saved as Q3_Analysis_FINAL_v4_USE_THIS.xlsx in a SharePoint folder. There it sits, unopened, until the next ERP migration, when someone on the project team asks whether it needs to be converted.

I think the AI argument in finance is being had in the wrong place. Most of the noise is about whether a model can replace the monthly reporting pack, and I’m not convinced it should. The quick question is where the math isn’t even close, and almost nobody is putting that on a slide.

The rental counter

Every big-box hardware store has a rental counter in the back corner. Floor sanders. A post-hole auger you will use exactly once, the weekend the fence goes in. Nobody buys a drum sander to refinish one hallway; you rent it for the day, bring it back with the dust bag half full, and never think about it again.

Nobody needs that explained to them. The tool you use every Saturday, you buy. The one you need for a single job, you rent, because owning it means finding a shelf for it and discovering three years later that the belt has rotted.

Reporting works the same way, and finance teams almost never treat it like that. A workbook is a purchase. You pay up front to build it and earn the money back by running it over and over. An AI report is a rental: a small fee each time, and when you’re done there’s nothing to put on a shelf. Most finance teams are buying a sander for every hallway.

What the afternoon costs

The median financial analyst in the US earns a little over $100,000 a year, which works out to roughly $49 an hour before anyone pays for benefits or a desk. Add overhead and the report-automation vendors like to round it up to $75. (I trust a vendor’s math about as far as I trust a vendor’s demo, but I’ll allow it.) Call the quick question four hours and you’ve spent $300 answering it. If it needs real analysis, one vendor estimate puts a proper research report at 6 to 12 hours, or $450 to $900.

And that’s only the part you can see. The rest is whatever didn’t get done that afternoon, which was probably the variance analysis somebody was actually waiting on.

What the rental costs

AI models charge by the token, and a token is roughly three-quarters of a word. A top-tier model currently lists at about $5 per million tokens going in and $25 per million coming out. Feed it 50,000 tokens of exported data (a couple of thousand rows of a CSV, depending on the columns) and let it write 5,000 tokens back, and the bill is 38 cents. The same vendor’s pricier flagship doubles that to 75 cents.

Even the expensive version, an agent that goes off pulling data from several places and rereading its own notes until it has burned through a few million tokens, comes in under $20 on the top-tier model.

Thirty-eight cents, against an afternoon.

Workbooks are built for reruns

This is the part both the replace-your-analysts crowd and the real-analysts-use-Excel crowd tend to skip. A workbook’s whole economic case is reuse. You pay for the build once and the refreshes are cheap, so over a year of monthly runs the build cost gets spread thin enough that nobody minds. Divide that build cost by one and there’s nothing to spread. The quick question gets used once, which makes it the worst possible candidate for a spreadsheet, and we build one anyway, mostly out of habit.

The seldom-used report is the sneakier version. It runs twice a year, maybe for the auditors, maybe for the board pack. Each time someone opens it, the data connection has broken, the formula in column K points at a cost center that was retired in the last reorg, and the person who built it left in the spring. The cheap refresh turns into half a day of archaeology. A model asked fresh each time has no column K to remember.

The second question

Analysis is rarely one question. The answer to the first produces the second, and the second is usually the one that matters. Revenue for those three customers is down, fine, but is it volume or price? And did it start before or after the last price list went out?

With a workbook, each of those is another pivot table and another hour, and most of them never get asked because the person asking can feel what they cost. I think that quiet self-censorship is the real price of the quick question. With a model, the follow-up costs a few more cents and about a minute, so people ask it.

That cuts both ways, for what it’s worth. Cheap questions get asked more often, and so do bad ones.

The fine print, because there is some

You still have to read what comes back. Not skim it. Read it, with the export open in another window, checking that the number in the second paragraph matches the number in the table, because language models are fluent and now and then wrong in a way that looks exactly like being right. Budget an hour for that on anything leaving the building. At $75 that’s a quarter of the afternoon, and the 38 cents rounds to nothing inside it. Anyone selling AI reporting on token price alone is leaving the reviewer off the slide.

Be careful what you feed it, too. Customer revenue by product line is exactly the kind of export that belongs in the tool your company has actually approved, not the one on your personal phone. If nobody has had that conversation with IT yet, a Thursday afternoon with a leadership email waiting is a bad time to start it.

Where the line sits

None of this means the monthly close package should be a prompt. Anything that runs every month for years earns a proper build, with formulas somebody can audit and the same answer every time it runs. Having a model write that workbook for you once is probably the best use of tokens in this whole article.

The hard cases sit in the middle: the quarterly report owned by whoever happened to be in the meeting when it was invented, where checking the model’s version might take longer than refreshing the old one would have. I haven’t found numbers for that one I’d put my name on.

Pull up the report inventory from any ERP implementation and ask how many of those reports were run more than twice in the first year after go-live. Somebody built and tested every one of them. I’d like to see that count next to the line in the project budget that paid for them.


My book, Gamifying the Enterprise: Game Mechanics for Continuous Proficiency, is on Amazon. All my books are on my Amazon author page.

The AD&D365 configuration guides are at adnd365.com/start.

Connect with me on LinkedIn.

An agent that answers questions about open purchase orders, and nothing else, needs a prompt, a connection to the purchasing system, a test plan and an owner. Build the next one for support case summaries and you’ve doubled all of that. Build ten and you have a small software portfolio nobody budgeted for. Plus a catalog of tiles where the person with the actual question has to know which one to click.

The better general agents don’t live inside a single application anymore. They read the same mail, calendars, files and chat history you do, and connectors carry them into the ERP and the CRM. What matters is whose eyes they use. A well-built connector runs under the identity of the person asking, so the agent sees what that person’s role allows and nothing more. That’s the same security model your ERP already enforces.

My argument is not complicated. If one general agent can already reach all of that under your own permissions, the thing to build for each repeatable job is a skill for that agent. Not another agent.

Why point agents break

Real questions don’t stay inside one system. Take a supply chain manager asking why a customer’s order will ship late (an illustrative example, not a client story). The purchase order and its confirmed delivery date live in the ERP. The vendor’s explanation is sitting in a buyer’s inbox. The customer’s complaint might be a service case, or it might be a chat thread with the account manager. A purchase order agent sees one piece and answers with total confidence about that piece.

Then there’s routing. With ten point agents the user carries a mental map of which agent knows what. I’d bet the first confident wrong answer from one of them costs trust in all ten. A general agent puts the routing decision back on the system, which is the one doing the reasoning anyway.

Every point agent is also a small software product. Somebody owns its prompt and its connection. Somebody else gets to retest it after every vendor update that touches the tables it reads, and that work never shows up in the original business case.

Permissions are the part I’d lose sleep over. A point agent built on a shared connection or a service account runs as whoever wired it up, for everyone who uses it. One permission model to audit beats one per agent.

Write the skill instead

A skill is the piece that makes point agents hard to justify. In the agent tools that support them, a skill is usually just a folder with a Markdown file in it. The file opens with a name and a short description of when to use it, and the rest is plain instructions, with room for a reference document or a script alongside. There’s no app to register and no connection to configure.

Take a month-end cost summary for one legal entity. A point agent for that job needs its own connection to the ERP. A skill needs none, since the general agent already has one. What’s specific to the job is the procedure: which entity to pull and what the workbook should look like when it lands.

The agent reads the descriptions of the skills it has and loads one when the conversation calls for it, so nobody has to remember which tile to click. The description does the routing. Write it too broad and the skill fires when it shouldn’t; leave out the phrases people actually use and it never fires at all. I’d rather debug one sentence of description than a tenth agent.

A skill holds instructions, not credentials, and it runs in the session of whoever invokes it, so the connectors still check that person’s roles. Treat one from outside the company the way you’d treat a spreadsheet macro from outside the company.

Where a dedicated agent still earns its keep

I’m not arguing for zero dedicated agents. A general agent is built around a person describing an outcome and approving actions as it goes. Work that has to run unattended against every inbound vendor invoice, at whatever hour the invoice arrives, is a different shape of problem, and a narrow agent triggered by that event is the better fit.

Cost is the other honest objection. Many general agents bill by usage, so spend moves with how people use them. A narrow agent with a fixed workload is usually easier to put in a budget line.

And then there’s write access. A general agent with ERP connectors can usually change records as well as read them, under the invoking user’s permissions. Hand it to a power user whose roles already let them post journals and approve payments, and the agent can do anything those roles allow, subject to whatever approval step the tool puts in front of it. A point agent with a tight scope is a fence somebody built on purpose.

So my default is one general agent and a folder of skills, with point agents only where something has to run without a human in the loop. Before the ERP connector goes out to the whole finance team, though, somebody should pull the security role assignments for those users and read them line by line. Start with anyone who still has full administrator rights.


If you’ve built a single-purpose agent that a skill couldn’t have replaced, tell me what it does in the comments. I’d especially like to hear from anyone running one against an ERP.

Gamifying the Enterprise (my book): www.amazon.com/dp/B0GY3VWLVX

All my books: www.amazon.com/author/murrayfife

William Toulios, the former superintendent of Argo Community High School District 217 in suburban Cook County, Illinois, is charged with theft of government property, theft, forgery and two counts of official misconduct. Prosecutors say that between February 2021 and March 2024 he made more than $10,000 in unauthorized purchases on a district credit card, including more than $5,000 in Visa gift cards and more than $4,000 on golf equipment and related items. He pleaded not guilty on July 10, 2026, and was released pretrial. Everything below is an allegation or an investigative finding, not a conviction.

The news item that sent me looking for this one involved a public official, expense fraud and cigars. I could not match it to a documented case, and nothing in the Toulios sources mentions cigars. This is the closest verifiable case I found, so I used it.

What the district found before the prosecutors did

The school board suspended Toulios with pay and then hired a law firm and an accounting firm to look at the card spending. Invoices for that investigation had reached $96,637 by early September 2025, with another bill expected. The investigation found his explanations were not credible, and he resigned effective immediately on November 13, 2025. The settlement included no severance beyond the legally required vacation payout.

The cover story, according to prosecutors, was paperwork. The state's attorney says he handed a subordinate a fraudulent invoice and then directed the employee to create more. WGN reported that the invoice made some of the charges look like a publication subscription. The district's investigators said an employee hid the superintendent's spending by creating false invoices.

Where the control failed

The detail that matters for an ERP is in Patch's account of the district's investigative report, which I have not read in full. A new finance head took over in the summer of 2022, and the report says he essentially rubber-stamped the superintendent's card approvals because the superintendent, his secretary and one other employee had already reviewed them. He approved purchases without receipts and did not review the statements.

His predecessor had run a different process. According to the same account, that process tracked, reviewed and approved every school card expense, and the predecessor and his assistant pestered cardholders for documentation. The successor kept the policy on paper but said each cardholder was responsible for proper use. Investigators called his own inquiry into the spending superficial, and Patch reports he gave the board a figure for one vendor that investigators said was wrong.

Patch also reports the card spending for the superintendent himself: about $4,000 in the predecessor's last year, $15,000 in 2022-23 and $33,000 in 2023-24. Those are total card charges, not the amount prosecutors call unauthorized, and the two periods do not line up with the criminal complaint. I would not subtract one from the other. The trend is still worth a look: the climb began after the person who chased receipts left.

A fictional receipt

The receipt behind this post is fictional. It is a dinner at an invented Atlanta restaurant called Ember & Iron, dated Tuesday, October 27, 2026. It is not evidence in the Toulios case, and nothing in the case record ties him to it.

The core of the bill is a dinner for four with wine: shrimp, a board, two filets, a ribeye, a salmon and a creme brulee, $396 in all, or $99 a head. Three other lines sit on the same check. Cigars: $64. Gift card: $100. Take-home family meal: $85. Those three add up to $249, which is 38.6% of the $645 subtotal.

The rest is arithmetic. Tax at 8.9% applies to $545 of taxable items, because the gift card is not taxed, and comes to $48.51. The total is $693.51. The tip is $109, which is 16.9% of a subtotal that includes the gift card, and the card was charged $802.51. Add the tax and the share of the tip that attach to the three odd lines and the questionable amount is about $304.34, or 37.9% of what was paid. Treat the wine as a policy question and the figure goes higher.

What a reviewer should flag, human or software

Gift card. A gift card is cash with a delay, and a meal receipt is a convenient place to buy one. In the Toulios case, gift cards are the largest single category prosecutors name.

Cigars. Most expense policies have no category that fits them, so the line should stop the review rather than invite a judgment call.

Take-home meal. Four people ate at the table. A family meal boxed to go has no business purpose on its face.

Tip on a gift card. The tip was figured on a subtotal that included $100 of stored value. A person skimming the receipt will miss that. A script will not.

What one receipt cannot show. The check does not say who the four guests were or why they were there. A model reading this image cannot supply a business purpose, and it should say so rather than guess. The ERP has to hold attendees and purpose as required fields before the receipt can be approved.

The harder cases are the ones a single receipt will never reveal. A person approving statements one at a time sees one dinner. Software looking at 24 months of one cardholder sees gift card purchases recurring, a merchant category outside the person's role, and a spending line that went from $4,000 to $33,000 in two years. It can also compare each invoice payee to the vendor master and ask why a newspaper subscription is being billed to a high school.

Prompts to try

For the receipt itself:

Review the attached restaurant receipt against our expense policy. List every line that is not a meal, a beverage or a tip. For each, give the amount, the policy section that applies, and its share of the total including prorated tax and tip. Do not infer a business purpose. List what the receipt does not show: attendee names, business purpose and approver.

For the pattern:

Using 24 months of card transactions for this cardholder, compare each period with the prior one. Flag gift card purchases, merchants outside the cardholder's role, transactions approved without an attached receipt, and any invoice whose payee is not in the vendor master. Return the transactions themselves, not a summary, and show the approver for each.

Controls worth building

Block approval without a receipt. The approver should not be able to release a card line that has no receipt attached. In the district's account, purchases were approved without receipts.

Route the top executive's card to someone who does not report to them. A superintendent's statement approved by staff in the superintendent's own chain is a self-review with extra steps. The audit chair or board treasurer should see it.

Match invoices to the vendor master before payment. A payee that has never been set up, billing a school district for something unrelated to schools, should stop at intake.

Report on trend, not only on exception. A threshold rule would not have caught a rise from $4,000 to $33,000 if each charge was small. A year-over-year comparison would have.

What the sources do not say

These are allegations. Toulios has pleaded not guilty, and I found no later court update after the August 24, 2026 date. The sources I read do not say how the spending was first noticed or whether anyone used software to review the card statements. They also do not mention restaurant meals or cigars in connection with him, and the receipt above is an invented illustration of what automated review could look at. Patch's account of the district's report is secondhand; I did not read the report. The adult-content detail in the charges is not needed for the control analysis, so I left it out.

References


More of my writing lives at A Tinkerers Notebook.

My book Gamifying the Enterprise: Game Mechanics for Continuous Proficiency is on Amazon. All my books are on my Amazon author page.

The AD&D365 configuration guides are at adnd365.com/start.

Connect with me on LinkedIn.

A table saw will cut a board dead straight for anyone who plugs it in. No questions about experience. What it won’t do is tell you which board to cut, or why the drawer you’re about to build is going to stick in August.

Everybody understands this about woodworking. Nobody walks out of a hardware store with a router and a box of clamps and calls themselves a furniture maker, and if they did, their first bookcase would correct them inside a weekend. Owning the shop and knowing how to build are separate things, and only one of them can be bought.

AI is being sold the other way around. A company buys a stack of seats, and a steering committee starts waiting for the furniture to show up. But getting a model to do what you actually want is a craft. You learn it the way you learn joinery: slowly, by making bad things and working out why they’re bad.

The chair that looks finished

A beginner at the bench fails in public. The joint gaps. The table rocks the first time someone sets a coffee cup on it, and everyone at dinner can see exactly where the mistake is.

A beginner with an AI tool gets handed a finished chair every time. Upholstered, even. It reads well and it has headings. Whether it holds weight is a separate question, and the person least equipped to answer it is usually the one who just asked for it.

So most of the craft isn’t in the asking. It’s in the inspection: knowing, for example, that the posting behavior an answer describes isn’t how your ERP actually posts, or that the “best practice” it quoted belongs to a feature deprecated two releases ago. That’s domain knowledge, built up over years. No prompt template supplies it, and I’m wary of anyone who says the prompt is the whole skill.

Jigs

Watch someone who’s good in a woodshop and you’ll notice how little they freehand. Anything they’ll cut more than twice gets a jig, maybe a crosscut sled or a template screwed to a scrap of plywood. The skill gets stored in the jig, so the tenth cut doesn’t depend on whether it’s a good morning.

Skills are the AI version of that. I work across Claude, ChatGPT, Midjourney, Copilot and VS Code, and each one has built up its own library of skills for specific jobs. They don’t move between tools any better than a crosscut sled fits a saw it wasn’t built for.

A writing-style skill carries my rules (no em dashes, among others), so a draft doesn’t come back sounding like a product launch. Another builds my Midjourney prompts, so every AD&D365 image lands in the same golden-hour sourcebook look instead of whatever the model felt like that afternoon. And there’s a rack of more than forty cartography skills that take one source map of a town and redraw it as a watercolor atlas or a tactical grid while every landmark stays where the source put it.

Nobody builds a good jig before they’ve ruined a few boards, and nobody writes a skill worth keeping before throwing out a pile of mediocre answers and working out what each one got wrong. Which means a skill library is mostly a record of failures. Copy someone else’s and you get the shape without the reasons.

Grain

Wood has grain. Plane against it and the surface tears out in little ridges; work with it and the board comes up smooth. Models have grain too, and it’s consistent enough to learn. They agree with you faster than they should. Push one for a source it doesn’t have and you may well get one anyway, nicely formatted and entirely made up.

A skilled user stops being surprised by this and plans for it. Ask for the strongest objection before asking for agreement. Ask what the model is unsure about before asking what’s true. None of that is clever. It’s the same reflex that makes a woodworker look at the end of a board before running it through the planer.

What carries over

Woodworking tools don’t stand still either. The brace and bit gave way to the electric drill, and the electric drill eventually lost its cord. Nobody stops you from boring holes the old way (some people still prefer it), and most AI tools will let you go back to an older model too, at least until it’s retired. Or you learn the new one and keep the elbow grease for something else. What carries over between generations is the eye, the ability to look at a joint and know it won’t hold, whatever tool cut it.

None of this is news in ERP. Nobody who has lived through an implementation believes that buying the licenses means owning a working system, and the consulting side of this business has spent years explaining to executives that the software is the shop and the implementation is the furniture. Some of the organizations that learned that the expensive way are buying AI seats in bulk now, on a rollout plan that fits on a single slide.


My book, Gamifying the Enterprise: Game Mechanics for Continuous Proficiency, is on Amazon. All my books are on my Amazon author page.

The AD&D365 configuration guides are at adnd365.com/start.

Connect with me on LinkedIn.

Getty Images stock was trading under two cents a share when the company filed for Chapter 11 in Delaware on Wednesday. Two cents. This is the same company that once sent me a cease and desist over an image I found on the internet, so I read the news and did not reach for a tissue.

What the filing actually says

To be fair to the paperwork, this isn’t the kind of bankruptcy where the lights go out. It’s a prepackaged Chapter 11, which means the terms were worked out with lenders before anyone walked into court, and the judge’s job is mostly to sign off. The Getty family and Koch Equity Development are putting in up to $533 million in new equity, and when it’s over they will own 100% of the company. Koch is also lending up to $143 million to keep the business running while the case moves. Getty says nothing changes for the photographers who shoot for it or the customers who buy from it, and a spokesperson told The Hollywood Reporter there will be no layoffs. The confirmation hearing is set for December 14.

The court form puts both assets and liabilities somewhere between $1 billion and $10 billion. That’s a checkbox on the petition, not an estimate, so don’t read much into it.

Public shareholders are another story. The plan hands the whole company to the new investors, and I’d be surprised if anyone still holding GETY gets more than a footnote. The disclosure statement will say for certain.

A hundred million dollars on a deal that never closed

The road here ran through Shutterstock. Getty announced a $3.7 billion merger with its biggest rival in January 2025 and spent the next year and a half trying to get it past regulators. The UK’s competition watchdog wasn’t convinced, and Getty walked away in late June. On the August earnings call, CEO Craig Peters said the company had spent more than $100 million on professional fees and financing costs chasing the deal. That money went to lawyers and bankers. None of it bought a single photograph.

The wire copy says the merger collapsed under heavy debt and competition from AI imagery. Close, but a regulator killed it. My read is that the debt explains why Getty wanted the deal so badly, not why it died.

The letter business

I think Getty ran a racket, and I’m not the only one who does. The model was simple enough: charge a lot for a license, then charge a lot more to anyone who used an image without one, whether or not they knew it was licensed. Most of the people on the receiving end were bloggers and small businesses, and the demand was usually priced so that paying it looked cheaper than finding out what a lawyer costs. I got one of those letters. I understand the math they were counting on.

The case people bring up is Carol Highsmith. She’s a photographer who donated decades of her work to the Library of Congress so the public could use it for free. In 2015 she got a letter, from an agency working with Getty, demanding payment for one of those photos, which was posted on her own website. She sued the following year. A federal judge threw out most of her claims, and what was left got settled out of court.

Then the generators showed up

Image generators started eating the bottom of that market a few years ago, and I’m not shedding a tear about that either. A small business owner who needs a header image no longer has to choose between a license fee and a letter from a lawyer. People who aren’t photographers or designers can make their own stock imagery now, built for the exact post they’re writing, in a few minutes, with nobody’s watermark on it. I think that has made the world a little brighter. The coverage of this filing lists AI-generated imagery among the pressures on Getty’s business, so Getty apparently noticed too.

Getty saw some of it coming. It sued Stability AI in 2023 for training an image model on millions of Getty photos. Now AI licensing and content rights sit near the center of its own bankruptcy file.

There’s one loose number in all of this. The press release says up to $533 million in new equity. PPC Land went through the plan documents and found $433 million in the plan itself. I haven’t seen anyone explain the other hundred million, and the hearing is seven weeks out.


More from me

I write about ERP, AI and the gap between what vendors demo and what customers get at A Tinkerers Notebook. You can find my books, including Gamifying the Enterprise: Game Mechanics for Continuous Proficiency, on my Amazon author page.

References

On October 29, 2018, a boat builder wired $3,316,730 to a bank account in Pennsylvania to pay for ferry engines. The engines came from a supplier it already did business with. By the account federal prosecutors later gave, the invoice was never the problem. The problem was the account number, and an email from the supplier’s billing executive explaining why it had changed.

Recently I heard someone from a large construction company describe nearly the same thing happening to them. One of their partners, a much smaller firm, had been compromised. Then the progress invoices started arriving: billings for services, from the partner, payable to a different address and a different bank account. Why would anyone bother breaking into the small company? I don’t think the small company was ever the target. It was the door into the big company’s accounts payable.

What happened

According to the U.S. Attorney’s Office for the Western District of Washington, the scheme began with one malicious link sent to an employee at the engine-building company. That link gave the conspirators access to the company’s email system. They read through it, including the messages that carried invoices. Then they wrote to the boat builder as the engine company’s billing executive with instructions to wire the payment to a new account, because (the email said) the usual account was under audit. The new account belonged to a fake company, opened at a Pennsylvania bank specifically to receive this money.

The boat builder paid. A co-conspirator in Pennsylvania quickly forwarded $3,074,500 to accounts controlled by others in the scheme, including Leslie Redd III of Inglewood, California. Redd kept $857,350. He sent more than $2 million on to co-conspirators in China, people prosecutors said he couldn’t even name. Investigators seized $420,817 from his accounts.

Redd pleaded guilty to conspiracy to commit wire fraud and wire fraud. On April 26, 2024, U.S. District Judge Ricardo S. Martinez sentenced him to 16 months in prison and three years of supervised release, and ordered $2,802,368.24 in restitution, which the release describes as the outstanding loss. At sentencing the judge noted that the crime had delayed and cut pay for employees at the victim businesses and threatened their viability. The release calls both companies victims. It does not say which one ended up holding the loss.

The arithmetic leaves loose ends. Take the $2,802,368.24 still outstanding away from the $3,316,730 wired and $514,361.76 came back from somewhere; the seizure from Redd’s accounts covers $420,817 of it. The release doesn’t say where the remaining $93,544.76 came from. Nor does it account for the $242,230 gap between what landed in Pennsylvania and what was forwarded out.

Why the gap existed

Most of the defenses companies buy against email fraud ask one question: did this message really come from the sender it claims? In a compromise like this one, the honest answer is yes. The email came out of the supplier’s own mail system, signed as a real employee, about an invoice for real engines. Every check aimed at impostors passes, because there is no impostor in the technical sense. Just a stranger sitting in a legitimate mailbox.

The question that mattered was different. Did this supplier actually change its bank? Email can’t answer that, because email is the channel that was compromised. The audit story did its job by making the change sound routine and faintly bureaucratic (who argues with an audit?).

Whether anyone at the boat builder updated a vendor master record with the new account, or keyed it straight into a one-off wire, the release doesn’t say. Both paths are gaps. In the first, a bank change arrived in the same thread as the invoice it was meant to pay and got processed as clerical housekeeping. In the second, a $3.3 million payment left the building without touching the vendor master at all.

Why the small company

The construction story makes the economics plain. A large contractor usually has a security team and auditors who ask about it. Its subcontractors are another matter. Plenty of small firms keep the books with one person and have never once looked at the sign-in history on their email accounts. The attacker doesn’t need to beat the large company’s controls. They need a seat inside a mailbox the large company already trusts.

And from that seat the job is easy, because progress billing is predictable. The invoices arrive on a schedule, for amounts the project manager is expecting, referencing jobs everyone knows are underway. Nothing has to be forged. The attacker waits for the next invoice the customer is already planning to pay and changes one line on it.

The FBI’s 2025 Internet Crime Report counted 24,768 business email compromise complaints, with about $3.05 billion in reported losses. Those are only the incidents someone reported.

Controls that would have caught it

Bank changes are their own transaction. A change to supplier remittance details runs through its own approval workflow in the ERP, separate from invoice processing, and nobody who enters invoices can edit bank details. A bank change that shows up inside an invoice email gets routed out of AP and into that workflow, where it starts from zero.

Callback to the number already on file. Someone phones the supplier using a number from the vendor master or a signed contract. Never the number in the email that asked for the change. If the request is genuine, it costs one short call; if it isn’t, that call is the only step in the process the attacker can’t reach.

A hold on new bank details. New remittance details sit inactive for a set number of days, and the first payment to them needs a second approver who wasn’t the person who verified the change.

No payments outside the vendor master. The payment run pays only to bank accounts stored on the vendor record. A wire to an account that isn’t there should be impossible to create, not merely discouraged by policy.

A remit-to mismatch stops the invoice. When the bank details printed on an invoice differ from what the vendor master holds, the invoice goes on hold and a person looks at it. A warning line in a log that nobody reads doesn’t count.

An agent watching the vendor master

Most of the warning signs in a case like this live in ERP data before the money moves. A bank detail change, then a large invoice from the same supplier a few days later. A first-ever payment to an account nobody had paid before. The trouble with signals like that is that they sit in a change log or a report, and a report only matters if someone remembers to run it and then actually reads it on the day it counts.

An AI agent changes the timing. Instead of waiting for month-end review, it wakes up on the event itself: every edit to vendor bank details, every payment proposal before it is released. It can compare the payment against that supplier’s history and check how recently the destination account was added. It can also notice when the person who approved the bank change is the same person who handles that supplier’s invoices. When the combination looks wrong, it holds the payment and tells a person to make the callback.

What the agent should not do is approve anything. Its job is to notice and to stop the line, and to explain in plain language why it stopped it. A human still picks up the phone. Expect some false positives early on, because legitimate suppliers do change banks (small firms get acquired, or refinance with a new lender). Someone has to review what it holds for a while and adjust the thresholds.

The laptop at the other company

This whole thing started on one employee’s machine at the supplier, with one link. The release doesn’t say whether the link harvested a password or planted something, and the difference matters to which defense would have worked. Phishing-resistant multifactor authentication makes a stolen password alone useless against the mailbox. Endpoint detection and response watches the machine itself for the behavior of whatever the link installed. Neither one is exotic anymore.

Intrusion defense on the mail system matters just as much, because attackers who get in usually change settings to hide themselves. In a 2018 Sixth Circuit case involving two car dealerships, the hacker inside the seller’s sales manager’s account filtered out the buyer’s messages so nobody at the dealership would see the conversation go sideways. A new inbox rule that forwards or hides mail from a specific customer is exactly the kind of event a monitored mail environment flags, and exactly the kind nobody notices in an unmonitored one. Same with a sign-in from a country the employee has never visited.

In the Redd case, a gap on the supplier’s side sent the customer’s money to Pennsylvania. So the supplier’s endpoint protection belongs in the conversation with partners: minimum requirements in the subcontract or the vendor onboarding packet, multifactor authentication on email as the floor. Some partners will meet it. Some will sign it and not. The ERP controls above exist for that second group.

It also runs in the other direction. If your own AP or billing mailbox gets compromised, your customers start receiving your invoices with someone else’s bank details on them.

Who pays

Back to those car dealerships. Beau Townsend Ford agreed to sell 20 Ford Explorers to Don Hinds Ford for about $736,225, and the wire instructions Don Hinds received came from a hacker sitting in the Beau Townsend sales manager’s email. The district court ruled that Don Hinds had to pay again. The Sixth Circuit reversed, saying a factfinder should decide whether either dealership’s failure to exercise ordinary care contributed to the hacker’s success and split the loss by comparative fault. The parties settled.

So being the company whose mailbox was compromised is no defense. Neither is being the company that paid in good faith. A court may look at both, and at what each could reasonably have checked. That is a bad time to find out the vendor master let a bank change ride in on an invoice email. (I’m not a lawyer, and none of this is legal advice.)

An AI prompt for this one

OBJECTIVE
Review every vendor bank detail change and every pending vendor payment
for signs of vendor email compromise before the payment is released.

INPUTS
- Vendor master change log (bank account, routing, remit-to address),
  with who requested, who approved, and the date of each change
- Pending payment proposals and payment journals
- Vendor payment history for the past 24 months
- Open vendor invoices, including remit-to details printed on the invoice

DETECTION RULES
1. Flag any payment to bank details added or changed in the last 30 days.
2. Flag any payment whose amount exceeds that vendor's largest prior
   payment, or lands within 10 days of a bank detail change.
3. Flag any invoice whose printed remit-to bank details differ from the
   vendor master.
4. Flag any bank change approved by a user who also enters or approves
   invoices for the same vendor.
5. Flag any payment to an account not present on the vendor record.
6. Flag any bank change with no recorded callback verification.

LEGITIMATE EXPLANATIONS TO TEST
- Documented acquisition, merger, or refinancing of the vendor
- Callback verification logged with a phone number from the vendor
  master or contract, not from the change request

REQUIRED OUTPUT
For each flag: vendor, invoice, amount, rule triggered, the specific
evidence, and a recommended action. Recommended actions are limited to
HOLD PAYMENT and REQUEST CALLBACK. Never approve or release a payment.

Source note

This article draws on public records listed below. Details of the Redd case come from the U.S. Attorney’s Office press release, which summarizes the plea agreement and sentencing filings; where that release leaves a figure unexplained, the article says so rather than guessing. The construction company story was told to me secondhand, and I have repeated only what I was told.

References


My book, Gamifying the Enterprise: Game Mechanics for Continuous Proficiency, is on Amazon.

All my books are on my Amazon author page.

The AD&D365 configuration guides are at adnd365.com/start.

Connect with me on LinkedIn.

Marmite and Vegemite are both made from spent brewer’s yeast. Marmite has been sold in Britain since 1902, and Vegemite came out of Melbourne twenty years later. I heard Steven Goodwin at Graebel use the pair recently to describe how people take to AI: you love one or you love the other, never both, and there is no middle ground where someone likes AI but doesn’t want to use it.

My first instinct was to argue. I’ve since come around to most of it, though maybe not for the reasons he’d give.

Nobody has a mild opinion about yeast extract

The spreads divide people because there’s no gentle version of them. You can’t taste a little Marmite the way you can taste a little mustard; the flavor shows up all at once, salty and bitter, and your reaction shows up with it. Marmite leaned into that for years with its “love it or hate it” advertising. The brand never tried to win the middle. It assumed there wasn’t one.

AI has the same problem, or the same gift, depending on where you stand. It isn’t a feature you switch on for one report and forget about. Using it properly means handing it part of your thinking and then checking what comes back, and that changes how the work feels from the inside. People who try it seriously tend to come out with a verdict. It is rarely “it’s fine.”

Two reasonable camps

The people who love it have accepted a trade. They’ll take a draft that is sometimes wrong in exchange for never staring at a blank screen again, and they’ve built the habit of checking. The occasional bad answer is a cost of doing business, much like a junior analyst’s first month on the team.

The people who hate it have looked at the same trade and priced it differently. Picture a controller at month-end. One confident wrong number in a reconciliation can cost her more than a year of saved keystrokes is worth, and her name is on the sign-off. Turning that deal down isn’t fear of technology. It’s arithmetic with different inputs.

Both camps are being rational. That’s probably why neither one moves.

Where the middle goes

Then there are the people who say they like AI in principle and just haven’t gotten around to using it. They exist. I don’t think they stay there long. “I like it, I just don’t use it” sounds like a position until you ask what would make them start, and the answer tends to be a set of conditions that never quite arrive. That’s a no with good manners.

And among the people who do love it, the split happens again, which is where the Vegemite half of his metaphor earns its place. My guess is that most Brits have never formed a real opinion about Vegemite, because the jar they grew up with settled the question before anyone asked. AI users seem to sort the same way. The finance team that got Copilot through its Microsoft agreement thinks of AI as Copilot, and the analyst who started on ChatGPT judges every other tool by how close it comes. Ask either of them to switch and watch the face they make.

What that does to an ERP rollout

If he’s right, a lot of change management is aimed at the wrong target. Rollout plans tend to assume a large persuadable middle that just needs one more demo. The binary says that middle is mostly people who have already decided, politely. The decision probably gets made the first time someone uses the tool on work that matters to them, and the launch email and the lunch-and-learn arrive after the verdict.

Which leaves the question of what that first real use should be, and who gets to choose it for the controller.


Credit to Steven Goodwin for the Marmite and Vegemite comparison.

My book, Gamifying the Enterprise: Game Mechanics for Continuous Proficiency, is on Amazon. All my books are on my Amazon author page.

The AD&D365 configuration guides are at adnd365.com/start.

Connect with me on LinkedIn.

The accounts payable system said the insurance company had refused to reimburse a repair. The insurance company had in fact sent a check, and the service manager had deposited it in his own bank account. Leon Arthur Keener, 55, of Hugo, Minnesota, worked for the company from 2011 to 2022 and pleaded guilty to one count of mail fraud in April 2024. Local news coverage reports a sentence of four years and three months in prison.

What happened

According to the U.S. Attorney's Office for the District of Minnesota, Keener embezzled $1,314,633 from his employer between 2015 and 2022. He was a service manager with managerial oversight of the financial operations at his location, and his authority included writing off repairs and creating purchase orders. The release calls the employer an interstate trucking company, and news coverage describes a truck dealer and repair shop.

The first scheme involved insurance. Insurance companies sent reimbursement checks for supplemental repairs. Keener wrote the repairs off as a loss, and the news account says he indicated in the accounts payable system that the insurer had refused reimbursement. Then he deposited the check into a personal account. The release puts the total at more than $562,000. To keep the checks coming to him and not to the office, he told employees to hand over any check from an insurer directly to him, bypassing administrative and accounting staff.

The second scheme was vendor payments. He generated and submitted false vendor payment requests, many of them payable to a shell company called CR Services, which he created and controlled. The release puts that total at $751,000. News coverage says the shell was added to the accounts payable system in 2012, before verified vendor identification was required.

The two pieces come to about $1,313,000, against a total of $1,314,633. The release doesn't say what accounts for the difference, and it doesn't say how the scheme was found.

Why the gap existed

A write-off is an accounting entry that says money won't be coming in. Nobody reviews a loss the way they review a payment. If the person who requested the repair can also write off the shortfall, the system has a record of a loss and no record of an insurer's check, because the check, as far as the sources show, never reached the books.

That is the point where the two halves of the fraud fit together. The write-off removed the receivable. The intercepted check made sure no one saw cash arrive. Without the second half, an insurer's payment could sit unmatched against a claim that somebody would eventually chase.

The vendor side is simpler. A vendor record created in 2012 doesn't get looked at again unless someone has a reason. The news account says Keener kept other employees out of the approval process. The sources don't say who, if anyone, reviewed the purchase orders he created, or whether the insurers' claim files were ever compared to what the company recorded.

Controls that would have caught it

Take write-offs out of the hands of the person who created the work. A write-off above a small threshold needs a second approver in finance, plus a document from the payer saying the claim was denied. Without that document it stays open.

Send payer checks to someone who doesn't run the department. Insurers pay to a lockbox or by electronic deposit, and anything that arrives in the mail is opened and logged by accounting staff, not routed to the manager who benefits from it. Tell the insurer where to send payment, in writing.

Revalidate the vendor master, old records included. Vendors added before a control existed get checked on a schedule against tax ID, address and bank account, and a vendor with one requester and one approver gets a second look. Creating a vendor and ordering from it should never sit with the same person.

An AI prompt example for ERP fraud detection

This case calls for queries about write-offs without support and about vendors that have only one person behind them. Against an ERP's accounts receivable, accounts payable and vendor master, a controller could run something like:

"For the last ten years, list every receivable write-off or adjustment coded as insurance denied, non-reimbursable or loss, grouped by the user who approved it, with the claim number and whether a payer remittance or denial document exists. Rank users by total written off."

A second query goes after the vendors:

"List all active vendors where one user requested or approved more than 90 percent of purchase orders and payments, with the date the vendor was created, whether the tax ID and bank account have been validated since, and any shared address, phone number or bank account with an employee record."

Neither query starts with a name. Both depend on the write-off reason and the claim number being stored as data, not typed into a memo field.

The pattern for this series

Part 12 hid the trail by deleting charges and Part 14 by deleting orders. This one hid the trail by writing it off. The release doesn't say what led to the investigation.

Source disclaimer

The case details in this article are drawn from a press release published by the U.S. Attorney's Office for the District of Minnesota, a public government source, along with contemporaneous news reporting on the same case. All facts, figures, and quotations describing the case are sourced from that release and those reports. The release describes the employer as an interstate trucking company, while news coverage describes a truck dealer and repair shop, and this article does not name the company. The sentence reported here comes from news coverage, and I could not find the sentencing date or a restitution figure. The analysis of the control gap, the proposed detection controls, and the AI prompt examples are original commentary and are not part of the source material.

References

United States Attorney's Office, District of Minnesota. Press release on the guilty plea of Leon Arthur Keener to embezzling from his employer, April 4, 2024. https://www.justice.gov/usao-mn/pr/hugo-man-pleads-guilty-embezzling-more-13-million-employer

FreightWaves. "Minnesota man pleads guilty to embezzling $1.3M from truck dealer." https://www.freightwaves.com/news/minnesota-man-pleads-guilty-to-embezzling-1-3m-from-truck-dealer

Yahoo News. "Hugo man sentenced to prison for stealing more than $1.3M from Inver Grove Heights employer for trips, cars and a boat." https://www.yahoo.com/news/hugo-man-sentenced-prison-stealing-180400772.html


More of my writing lives at A Tinkerers Notebook.

My book Gamifying the Enterprise: Game Mechanics for Continuous Proficiency is on Amazon. All my books are on my Amazon author page.

The AD&D365 configuration guides are at adnd365.com/start.

Connect with me on LinkedIn.

A staffing company's books held more than 2,000 fraudulent invoices, and some of the customer payments applied against them were the lending bank's own loan money coming back. Louis Lluberes founded the company in 1995 and was its CEO until March 2020. His brother Moises Lluberes was the CFO. Both pleaded guilty on February 15, 2024, to conspiracy to commit bank fraud and conspiracy to commit wire fraud, and a Manhattan federal judge sentenced them to prison on January 24, 2025, according to Law360. The sentences themselves were behind a paywall, so they aren't reported here.

What happened

According to the U.S. Attorney's Office for the Southern District of New York, the company lost significant business from major clients in about 2017. Around then the two defendants began recording what the release calls fictitious receivables, invoices that were not real, on the company's books. The indictment release counts more than 2,000 of them.

The invoices mattered because of how the company borrowed. A bank had given it a revolving line of credit, and the amount the company could draw depended on its eligible accounts receivable. The bank worked that out from weekly financial reports on sales and collections. More receivables meant more borrowing room, so the fake ones did exactly what they were meant to do. The company borrowed more than $500 million from the bank, and the plea release puts the losses to victims at more than $70 million.

Fake invoices age. A real customer pays, and an invoice that sits unpaid past the bank's cutoff stops counting toward the borrowing base. According to the indictment release, the brothers dealt with that by moving borrowed money through two shell companies and back into the company's collections account, where it was labeled as customer payments. The returned money was then applied to older receivables, the fictitious ones included, so they stayed current. The indictment release says about $129 million went from one of the shells to the collections account.

In May 2018 an investor group agreed to buy the company. The release says the brothers concealed the fraud during those negotiations. Louis Lluberes received about $11.3 million on the acquisition day and about $6.2 million after, at least $17.5 million in all, and transferred about $716,000 to his brother. Each brother agreed to restitution of $75,460,611, jointly and severally.

Why the gap existed

An accounts receivable ledger is a list of things customers owe. It does not know whether they owe them. If a person with enough access can post an invoice to a customer account, the ledger will age it, report it and include it in the numbers a lender sees, the same as any other.

The cash side is where the fraud was supposed to run out of road. A fake invoice never gets paid, and eventually the aging report shows it. Here the brothers paid it themselves with borrowed money that left the company and came back looking like a customer. The only tell was the payer, and only if someone looked at who was paying.

One defendant recorded most of the invoices, according to the indictment release. The sources don't say whether anyone besides the two of them could see the posting history. They also don't say what the bank checked beyond the weekly reports, or how the fraud was caught. The release says only that the FBI and prosecutors halted it.

Controls that would have caught it

Tie every invoice to the work behind it. For a staffing company, a real invoice has timesheets, and the timesheets have a person on the payroll. An invoice with no approved time records and no payroll cost is the easiest kind of fiction to test for. Other businesses have an equivalent, such as a shipment, a signed delivery or a contract milestone.

Match the payer to the customer. Cash receipts get compared to the customer master, and a payment from an account or a name that isn't the customer's stops at the door. So does a receipt from an entity the company paid in the last few weeks, because that is a circle and not a collection.

Keep invoicing and lending reports apart. The person who posts receivables doesn't also prepare the report that goes to the bank. A direct confirmation, where someone outside the company contacts a sample of customers about what they owe, is slow and old-fashioned, and a fictitious customer can't confirm a balance.

An AI prompt example for ERP fraud detection

This case calls for queries about support and about round trips. Against an ERP's accounts receivable, billing and cash application modules, an auditor or a lender's analyst could run something like:

"List all customer invoices from the last five years that have no approved time record or delivery record behind them, grouped by customer and by the user who created the invoice, with invoice age and whether it has been paid."

A second query goes after the cash:

"List cash receipts applied to open invoices where the paying account or remitter name does not match the customer master, or where the remitter received a payment from the company in the 30 days before the receipt. Include the age of the invoice at the time the cash was applied."

Neither query needs a suspect. The second depends on the receipt keeping the remitter's name and bank account, which not every cash application process does.

The pattern for this series

Part 17 had the government as the party short-changed. Here it was a bank and the people buying the company, and the report they relied on came out of the receivables ledger. Earlier parts of the series had fake invoices on the payables side. These were on the receivables side, and the brothers did not leave them to die. They paid them.

Source disclaimer

The case details in this article are drawn from press releases published by the U.S. Attorney's Office for the Southern District of New York, a public government source, along with contemporaneous news reporting on the same case. All facts, figures, and quotations describing the case are sourced from those releases and reports. The press releases do not name the company, and this article does not either. Descriptions of how the scheme worked come from the indictment release and the plea release. This article reports guilty pleas and a sentencing that Law360 reported, but the prison terms were not available in the sources used. The analysis of the control gap, the proposed detection controls, and the AI prompt examples are original commentary and are not part of the source material.

References

United States Attorney's Office, Southern District of New York. Press release on the charges against the former CEO and CFO of a temporary staffing company, September 30, 2020. https://www.justice.gov/usao-sdny/pr/former-ceo-and-cfo-temporary-staffing-company-charged-manhattan-federal-court-scheme

United States Attorney's Office, Southern District of New York. Press release on the guilty pleas of the former CEO and CFO of a staffing company, February 15, 2024. https://www.justice.gov/usao-sdny/pr/former-ceo-and-cfo-staffing-company-plead-guilty-scheme-defraud-bank-and-investors

Law360. "Ex-Staffing Co. Execs Get Prison After Copping To $75M Fraud." January 24, 2025. https://www.law360.com/banking/articles/2288680/ex-staffing-co-execs-get-prison-after-copping-to-75m-fraud


More of my writing lives at A Tinkerers Notebook.

My book Gamifying the Enterprise: Game Mechanics for Continuous Proficiency is on Amazon. All my books are on my Amazon author page.

The AD&D365 configuration guides are at adnd365.com/start.

Connect with me on LinkedIn.

A Las Vegas cleaning company took taxes out of its employees' paychecks for eleven years and did not pay them over to the IRS. Deborah Meadows, 64, owned A to Z Employment Services LLC, which did carpet, upholstery and roadside cleaning in Nevada, and according to the Justice Department she controlled all of its financial matters. She pleaded guilty on February 12, 2026, to willful failure to account for and pay over trust fund taxes. Sentencing was set for May 21, 2026, and none of the sources used here report the outcome.

What happened

From the first quarter of 2010 through the fourth quarter of 2020, according to the Justice Department, Meadows withheld Social Security, Medicare and income taxes from employee wages. She did not pay them over, and she did not file the required quarterly employment tax returns. The loss to the government exceeded $1.2 million.

That is 44 quarters. Divide $1.2 million by 44 and you get about $27,000 a quarter, and since the release says "exceeding," the real figure is higher. The sources don't say how many employees were on the payroll, so there's no way to turn that into a figure per paycheck.

The concealment came later. After the grand jury began its investigation, the indictment says Meadows answered a subpoena with altered bank records and inaccurate tax records. The altered records showed that another company she owned, AZ-TEC Restoration LLC, had made tax payments to the IRS when it had not. She also provided inaccurate individual and employment tax returns showing taxes paid that she knew had never been paid.

The release says IRS Criminal Investigation led the case. It doesn't say what first drew the IRS's attention.

Why the gap existed

Payroll software does the withholding without being asked. It calculates the tax, deducts it from gross pay, prints the amount on the pay stub and credits a liability account. Everything up to that point is the system doing its job.

Paying the liability is a separate act. Someone has to move the money, and someone has to file the return that says they did. If nobody does, the liability account just keeps growing. Quarter after quarter the balance sits there, and that account is where this kind of failure shows up in plain numbers, if anyone looks.

This is also a case where internal controls have a built-in limit. The sources describe Meadows as owning the company and controlling all financial matters. When the owner is the person not paying, no second approver inside the company is going to stop it. The checks that matter sit outside. The tax authority and the bank hold records the owner can't edit, and an outside accountant can ask them for it.

Controls that would have caught it

Age the payroll tax liability accounts every period. Withholding gets paid on a schedule, so a liability balance that is still open after the deposit date has no good explanation. A growing balance on those accounts goes to someone other than the person who runs payroll.

Check payments against the tax authority's own records. An IRS account transcript shows what was actually received for each quarter, and nobody at the company can edit it. Someone outside payroll, an owner's accountant or an outside CPA, pulls it each quarter and ties it to the payroll register. Better still, a payroll provider that files and remits on the company's behalf leaves its own trail.

Get bank records straight from the bank. The altered bank records in this case were a response to a subpoena, which is late. A routine direct confirmation or a bank-fed statement feed, reviewed by someone outside the finance function, makes that kind of alteration much harder to do and much easier to see.

An AI prompt example for ERP fraud detection

This case calls for queries that compare what was withheld to what was paid. Against an ERP's payroll and general ledger modules, a controller or outside accountant could run something like:

"For each quarter in the last twelve years, list total federal income tax, Social Security and Medicare withheld per the payroll register, the total paid to the tax authority per the bank and cash records, and the difference. Flag every quarter where the difference is not zero."

A second query goes after the ledger itself:

"List all payroll tax liability accounts with a balance more than 90 days old and no payment against it, by tax type and quarter, with the user who last posted to each account."

The first query only works if payments to the tax authority are recorded somewhere the system can see them. In some ERPs they are not, which is a finding in itself.

The pattern for this series

Most of the recent cases in this series had an employer as the victim. Here the money withheld was never the company's, and the thing that went missing was a payment, not a record. The release doesn't say how the IRS first noticed.

Source disclaimer

The case details in this article are drawn from press releases published by the U.S. Department of Justice, a public government source. All facts, figures, and quotations describing the case are sourced from those releases. This article reports a guilty plea; a sentencing outcome was not available in the sources used. The concealment details first appeared in the indictment release as allegations, and the plea release restates them. The analysis of the control gap, the proposed detection controls, and the AI prompt examples are original commentary and are not part of the source material.

References

U.S. Department of Justice, Office of Public Affairs. Press release on the guilty plea of Deborah Meadows to employment tax crimes, February 12, 2026. https://www.justice.gov/opa/pr/cleaning-service-owner-pleads-guilty-employment-tax-crimes

U.S. Department of Justice, Office of Public Affairs. Press release on the indictment of Deborah Meadows for an employment tax scheme, January 10, 2025. https://www.justice.gov/opa/pr/cleaning-service-owner-charged-employment-tax-scheme-and-other-crimes


More of my writing lives at A Tinkerers Notebook.

My book Gamifying the Enterprise: Game Mechanics for Continuous Proficiency is on Amazon. All my books are on my Amazon author page.

The AD&D365 configuration guides are at adnd365.com/start.

Connect with me on LinkedIn.