Lloyd Owen
Blog

I ditched Xero for an MCP server.

Once a week I used to sit down with my invoicing software for a few hours. Matching payments to invoices, chasing the ones that were late, working out who still owed what. None of it was hard. It just took the time.

I don’t do any of that now. My invoicing runs on Cloudflare Workers, D1 and Cloudflare’s email sending, and Claude works with it through an MCP server. There’s no app and no UI. I don’t need one.

I nearly built another app.

My first plan was to write my own invoicing app. I even bought the domain.

Then I looked at what I actually did in Xero. The invoices mostly ran on autopilot. The only parts I touched were reconciling payments and chasing people who hadn’t paid. A new dashboard wouldn’t change that. It would just be a nicer place to do the same chores.

So the better question was: why am I doing those chores at all?

How it works.

The invoicing service is a Worker with a D1 database behind it. It keeps track of clients, invoices and payments, and sends invoices and reminders by email through Cloudflare.

On top of that sits an MCP server. It gives Claude the same actions I’d have had in an app: create an invoice, see what’s unpaid, record a payment, send a reminder. Anything I used to click through, I can ask for instead.

A bank feed brings transactions in automatically. Claude matches payments to invoices and marks them as paid, and it chases anything overdue. Once a week I get an email summary of what came in and what’s still outstanding.

Asking instead of logging in.

If I have a question when I’m out and about, I ask Claude on my phone. “Has last month’s invoice been paid?” “What’s outstanding right now?” “Chase anyone more than two weeks late.”

It answers from the real data because it has direct access to it. No exports, no screenshots, no logging in to check.

Free, with nothing to maintain.

The whole thing runs on Cloudflare, hosted for free. There are no servers to patch and nothing to upgrade, so I never have to think about the infrastructure. And I no longer pay for an invoicing subscription.

Software without a screen.

What stuck with me wasn’t the invoicing. It was how much software has a UI only because a person had to operate it. When the work is routine and an agent can do it with the right access, the screen is often the part you need least.

That’s the same idea behind the AI work I do for businesses. Connect an agent to the systems that already hold the data, and let people ask instead of digging for answers.

AI for your business

Limited availability

Let’s build something.

lloyd@lloydowen.dev
Apply to work with me

Limited availability

Tell me about
your business.

I only take on a few projects at a time, so I’m selective about what I say yes to. I read every application myself and reply by email.

lloyd@lloydowen.dev
What do you need?