---
title: "I want AI to make me an invoice generator"
url: https://iwantaito.com/asks/make-me-an-invoice-generator/
summary: "Five plain-English prompts made a one-file invoice maker: details saved once, sums done, print or PDF, numbering, a Paid stamp. No account. Upload to GitHub; Cloudflare hosts it free."
published: 2026-10-09
updated: 2026-10-09
author: "Jack Stovell"
publisher: "Adapt Progress Evolve Limited"
language: en-GB
---

# I want AI to make me an invoice generator

Five plain-English prompts made a one-file invoice maker: details saved once, sums done, print or PDF, numbering, a Paid stamp. No account. Upload to GitHub; Cloudflare hosts it free.

> Green Fingers Gardening: Made up for this demo. The gardener, the business, the customer (Mrs Okafor) and the address and bank details are invented: we typed the gardener's side into the prompts and Claude made up the sample address and bank details.

Run: 2026-10-09, claude-sonnet-5-5, Claude Code 2.1.293 (claude -p, file tools only: no terminal, no web), session 74543512-134a-4c9a-81cb-57b8f33e3b09. Claude's time: 6 min 7 s. Edited by hand: no. Full transcript: https://iwantaito.com/transcripts/make-me-an-invoice-generator.md

## Set up once

Step by step, with what each screen looks like: https://iwantaito.com/start/

1. **Get a free Claude account**. It's where you describe what you want and Claude makes it. The Free plan covers every guide on this site; for websites, Pro adds the shortcut where Claude saves changes to GitHub itself. Free (Pro is optional).
2. **Let Claude hand you files**. Everything on this site is a handful of files: a website, an app, an extension. With this switched on, Claude can make them and give them to you to download. Free.
3. **Get a free GitHub account and an empty repository**. A repository is a folder on GitHub that keeps every version of your files. It's the one place your site lives: you (or Claude) change the files there, and Cloudflare publishes whatever is in it. Free.
4. **Get a free Cloudflare account and connect it to your repository**. Cloudflare is where your site is live on the internet. Once it is connected to your repository, every change to the files on GitHub goes live by itself, in a minute or two. A site made of plain files costs nothing to host: Cloudflare says requests to static files are "free and unlimited". Free.
5. **Connect Claude to GitHub**. So Claude can read the files that are live now before it changes them, even in a brand new chat. On Pro, the same connection is what lets Claude Code on the web save its changes to your repository. Free.

## The prompts

### Prompt 1 of 5: Describe your invoice maker, and ask Claude to ask questions first.

```text
I'm a self-employed gardener and I need to send invoices to my customers. At the moment I write them in a Word document and I keep getting the sums wrong. I'd like my own invoice maker that I can use in a web browser on my laptop or my phone. I've never made anything like this and I'm not technical.

What I'd like:
- I type in my business details once, then fill in who the invoice is for, what I did and how much it cost, and it adds up the total for me
- a neat invoice I can print or save as a PDF to email to the customer
- it should keep my details and remember the invoice number for next time, without me making an account or signing in to anything
- it should be free to run

Before you make anything, ask me anything you need to know, and tell me in plain English what you're going to make.
```

What you should see: A plan and 8 questions, and nothing made yet. Ours promised one file, details saved in the browser, an invoice that adds up as you type, a one-page print or PDF and a customer list, and asked about VAT, numbering, payment details and a paid stamp.

### Prompt 2 of 5: Answer its questions and ask it to make the invoice maker.

```text
Thanks, that sounds right. My answers:

- My business is called Green Fingers Gardening, I'm in the UK, and I'm not VAT registered so there's no VAT. Please make up my address and bank details for now and I'll type in the real ones.
- Each invoice has a few lines, each with a description, a quantity (hours or items) and a price, and the total at the bottom. Money is in pounds.
- Yes, number the invoices automatically, starting from 1001, and put today's date on them with payment due 14 days later.
- Yes to saving my details and my customers' names and addresses in the browser so I don't retype them. I understand it only stays on that device.
- A clean, plain look in green and white. Easy to print on A4 and to read on a phone.

Please make it now. Keep it as simple as possible: something I can open by double-clicking and later put online, nothing I have to install.
```

What you should see: One file to download. Ours: invoice.html (not index.html), with a green and white invoice, three starter lines, numbering from 1001 and Download and Restore backup buttons. Claude said it hadn't opened it in a browser.

### Prompt 3 of 5: Ask it to check the sums and the print, like a user on a small phone, and fix it.

```text
I opened it by double-clicking and made a test invoice. Before I send one to a real customer, please check it carefully, as if you were me on a small phone and as if you were trying to find mistakes: every button should do what it says, the sums and the total should be exactly right (including pennies, like 3 hours at £17.50), the invoice number should go up each time and my details should still be there tomorrow. Check that printing to A4 or saving as a PDF gives a clean invoice with no buttons on it. Also look for writing that's too small or too faint, anything that spills off the side of the screen, and anything that would trouble someone who uses a screen reader or only a keyboard.

Tell me in plain English what you found, then fix it in the file.
```

What you should see: A plain-English list of fixes and the file updated. Ours fixed a line with no price counting as £0 without a warning, prices printing as typed, a description box about 60 pixels wide on a phone and unlinked labels, and said it had read the code, not run it.

### Prompt 4 of 5: Change something, the way you will once it is live.

```text
Thank you, it's working well. Some of my customers are businesses who ask for a purchase order number on the invoice, so please add an optional "Customer reference" box that only shows on the invoice if I fill it in. I'd also like a "Paid" button on a saved invoice that stamps PAID on it, for when I send a receipt.

I've already made some invoices and saved customers, so they mustn't disappear when I put the new version online.

Then tell me which files you changed, so I know what to put online again.
```

What you should see: A customer reference box, a Paid button, and a warning about moving your saved data. Ours also added a 'Past invoices' list, because the old version never kept invoices, and said invoices made before the update can't be in it.

### Prompt 5 of 5: Ask how to put it live from GitHub, and who can see your customers.

```text
Now I'd like to put it online so I can use it on my phone. I've made free GitHub and Cloudflare accounts. On GitHub I made a new repository called green-fingers-invoices (I switched on "Add README"), and in Cloudflare I went to Workers & Pages, Create application, Pages, Connect to Git, and picked that repository, so it should go live by itself whenever the files on GitHub change. I don't want to use the terminal or install anything.

Please tell me, step by step, how to get the invoice maker into my repository using the GitHub website, what I should see at each step, how I find the address where it's live, how I get the invoices and customers I've already saved onto my phone, and how I put a change live later. Also tell me whether anyone else can see my customers' details.
```

What you should see: Click-by-click steps and one last edit to the file. Ours told us to back up first, upload invoice.html, find the pages.dev address and add /invoice to the end, restore the backup at the live address, and said customer details stay in your browser, not on GitHub or Cloudflare.

## Before you start

You need three free accounts and nothing else. A Claude account with "Code execution and file creation" switched on (Settings, then Capabilities; it's on the Free plan), so Claude can hand you a file to download. A GitHub account with an empty repository, where the file will live. And a Cloudflare account connected to that repository, which puts it on the internet. [The set-up page](/start/) walks through all three, once.

Nothing to install, and no terminal. Everything below happens in a chat and a web browser.

Our example is a made-up self-employed gardener, Green Fingers Gardening, who writes invoices in a document and keeps getting the sums wrong. They want an invoice maker for a laptop and a phone: type their details once, fill in the customer and the jobs, and get a total and something to print or send as a PDF. No account. The gardener, the customer and the bank details are invented. Swap in your own trade.

## What happened when we ran it

We typed five plain-English prompts into one conversation with claude-sonnet-5-5 on 9 October 2026. We ran them through Anthropic's command-line tool with only its file tools switched on, much like file creation on claude.ai, so your screen will look different. The replies are published as they came back and we edited nothing by hand. Claude spent 367.0 seconds writing them, a little over six minutes.

The first prompt made nothing. Claude answered with a plan and eight questions, about VAT, numbering, payment details and whether we wanted a paid stamp. In prompt 2 we answered: pounds, no VAT, lines of description, quantity and price, numbers from 1001, payment due after 14 days, and a green and white look. Claude saved one file, invoice.html, and said it hadn't opened it in a browser.

We tested it in a browser at laptop and phone size, with real clicks, taps and typing. The first build passed 42 of 56 checks. The sums were right: 3 hours at £17.50 gave £52.50. But a discount showed as "£-10.00", Print wasn't stopped for a line with a quantity but no price, the smallest text was 12.8 pixels, and on a phone the description box was only 84 pixels wide.

Prompt 3 asked Claude to check the sums and the printing like a user on a small phone. It said it could only read the code. It still fixed a good list: a line with no price counted as £0 without telling you, prices printed as typed (17.5), long descriptions cut off, the number reused if you forgot to press Finish, and a description box about 60 pixels wide on a phone, which became a small card for each line. After that, 56 of 56 passed.

Prompt 4 asked for an optional "Customer reference" box and a Paid button, and said our saved details mustn't disappear. Claude added both. It also added a "Past invoices" list, because the old version never kept invoices, so there was nothing to mark as paid. It kept the same storage name so saved details are found, and warned that a double-clicked file and the same file online are different places with separate saved data. In our tests the final file passed 70 of 70: invoice 1001 became 1002, the customer was saved, the business name and the number survived a reload, a three-line invoice came to one A4 page in print layout with no buttons, and Mark as paid gave a PAID stamp, "Amount paid" and no "How to pay" box.

Not everything is polished. On a phone, the "Remove this line" button is a narrow column and its label wraps into pieces. And we didn't test a real printer, a saved PDF, a real phone or a screen reader.

## Put it live

These clicks follow GitHub's and Cloudflare's documentation and Claude's answer to prompt 5. Claude's unedited file is live at [demo.iwantaito.com/make-me-an-invoice-generator/](https://demo.iwantaito.com/make-me-an-invoice-generator/) (we host it ourselves, with a thin bar on top saying it's a made-up example).

1. Before anything else, open your current copy the way you always do, open "My business details" and select Download backup. Keep that file private. Your saved customers live only in that browser, and a new address starts empty.
2. Download the file Claude made, invoice.html. Keep the name exactly as it is.
3. On GitHub, open your repository and select Add file, then Upload files. Drag invoice.html in, or select "choose your files". Select Commit changes. The repository now lists README.md and invoice.html. Never upload the backup file.
4. If you left Cloudflare's setup screen open, check the production branch is main, the framework preset is None and the build command is blank, then select Save and Deploy. If you'd already finished it, your upload starts a new deployment by itself.
5. In Cloudflare, open Workers & Pages, then your project. Under Deployments, wait for the newest one to say Success. The address ends .pages.dev. Because the file is called invoice.html, Claude said to add /invoice to the end, and that the bare address will probably say "page not found". We didn't try that on Cloudflare. If it doesn't work, rename the file to index.html and upload it again.
6. On each device, open the live address, open "My business details", select Restore backup and choose your backup file. Check that your customers appear when you start typing a name. From then on use the live address on that device.
7. To put a change live later, ask Claude in the same chat, download the new invoice.html and upload it the same way. A file with the same name replaces the old one. Your saved details stay, because they live in your browser, not in the file.

On who can see what: your customers' details aren't on GitHub or Cloudflare. Anyone who knows the address can open the tool, but only an empty copy. Claude asked search engines not to list it, which is a request, not a password. The backup file holds everything, so keep it private.

## What it costs

£0. Claude's Free plan covered all five prompts, GitHub's Free plan holds the file, and Cloudflare says "Requests to static assets are free and unlimited". The whole tool is one file of 27,466 bytes, and you don't need a domain.

The catches aren't about money. Each device and each address keeps its own saved invoices, and nothing syncs, so do your invoices on one device. Saved data is lost if you clear your browser's data or use a private window. Download a backup now and then. This is a layout and sums tool, not tax advice: check what an invoice has to include for your business.

If you want to share data between devices without all that exporting, the next step up is a shared app that saves to a database. We built [a database-backed app](/asks/build-me-an-app/) with five plain-English prompts: a shared job list for a community garden. You upload two files to GitHub, Cloudflare puts it live, and it's free, with no terminal.

## What we tested

- PASS: Final file (prompt 5), opened by double-click, used with real clicks, taps and typing at laptop (1440x900) and phone (390x844) size in headless Chrome. 70 of 70 checks passed: no errors, nothing loaded from other websites, no sideways scrolling, text contrast and size fine, every button at least 44 pixels on a phone
- PASS: The sums. 3 hours at £17.50 gave £52.50, 2 at £6 gave £12.00 and 3 at £19.99 gave £59.97, with a total of £124.47. A discount line showed as -£10.00. Print was refused until a line with a quantity but no price was fixed
- PASS: Numbering, saving and reloading. After printing invoice 1001 the next one was 1002. The customer was saved for next time, and the business name, the number and the list of past invoices were all still there after a reload
- PASS: Print layout and the receipt. In print layout the buttons and settings were hidden, and a three-line invoice came to one A4 page. A customer reference showed only when filled in. Mark as paid gave a PAID stamp, "Amount paid" and no "How to pay" box
- FAIL: First build (prompt 2), same checks. 42 of 56. A discount showed as "£-10.00", Print was not refused for a line with no price, the smallest text was 12.8px, and on a phone the description box was 84 pixels wide and the boxes 32 pixels tall (we look for 44). Prompt 3 fixed all of these
- FAIL: A real printer or PDF file, a real phone, and a screen reader. Not tested. We checked the print layout in the browser, not a printed page or a saved PDF

## What it got wrong

- **A missing price counted as £0.** In the first build a line with a quantity but no price was added up as £0, so the total came out too low, with no warning. Claude only found this when we asked it to check, and the fixed file refuses to print until you add the price.
- **A discount shown as "£-10.00".** The first build wrote a minus price with the sign in the wrong place. The fixed file shows -£10.00.
- **A cramped button on a phone.** In the final file the "Remove this line" button on a phone is a narrow column, so its label wraps into pieces. Claude said it had checked small phones, but only by reading the code. It still works.
- **The file is called invoice.html.** Claude named the file invoice.html, not index.html, so the live address needs /invoice on the end, as it said. We didn't try that on Cloudflare; if the address doesn't work, rename the file to index.html.
- **Past invoices only start from prompt 4.** The first versions never kept invoices, so there was nothing to mark as paid. Invoices made before that update aren't in the list; Claude suggested making a new invoice with the same number.

Live demo (Claude's unedited files, a made-up example): https://demo.iwantaito.com/make-me-an-invoice-generator/

## From the same studio

Ours: made by the same studio that runs this site.

- [How to get AI to](https://howtogetaito.com/): Its 'write a business plan' guide helps with the numbers and plans around the invoices you send.
- [Adapt Progress Evolve](https://adaptprogressevolve.com/): We build these properly, if you'd rather not do it yourself.

## Related

- [I want AI to build me a budget tracker](https://iwantaito.com/asks/build-me-a-budget-tracker/)
- [I want AI to build me a dashboard, CRM or spreadsheet tool](https://iwantaito.com/asks/build-me-a-dashboard/)
- [I want AI to build me a website for my business](https://iwantaito.com/asks/build-me-a-website-for-my-business/)

## Sources

- [Claude help: create and edit files with Claude (all plans; Settings > Capabilities)](https://support.claude.com/en/articles/12111783)
- [GitHub Docs: adding a file to a repository (Add file > Upload files; 100 files at once, 25 MiB each)](https://docs.github.com/en/repositories/working-with-files/managing-files/adding-a-file-to-a-repository)
- [Cloudflare Pages: Git integration (Connect to Git; deploys on every push)](https://developers.cloudflare.com/pages/get-started/git-integration/)
- [Cloudflare Workers pricing ('Requests to static assets are free and unlimited')](https://developers.cloudflare.com/workers/platform/pricing/)

## Questions people ask

### Can AI make me an invoice generator?

Yes, in our run. Five prompts gave us one file: your details saved once, lines that add up as you type, a one-page print or PDF invoice, automatic numbering, past invoices and a Paid stamp. It's yours to change, and it costs nothing to host.

### Can I make my own invoice for free?

Yes. Claude's Free plan made the file, GitHub's Free plan holds it, and Cloudflare says requests to static assets are free and unlimited. There's no account and no subscription. This is a tool we tested for layout and sums, not tax or legal advice, so check what an invoice must include for your business.

### Will it get the sums right?

In our tests, yes: 3 hours at £17.50 gave £52.50 and the total of three lines came to £124.47. The first version let a line with no price count as £0 without warning, which is why you should test it with your own numbers, and why we asked Claude to check its work.

### Are my customers' details safe?

They stay in your own browser, not on GitHub or Cloudflare. But anyone with the web address can open an empty copy of the tool, and the backup file holds all your customers, so keep it private and never upload it to GitHub.

### Will my invoices be on my phone as well as my laptop?

No. Each device and each web address keeps its own saved data, and nothing syncs. The app has Download backup and Restore backup to move them by hand. The online copy starts empty, so restore a backup into it.

### Do I need to use a terminal or install anything?

No. You type in a Claude chat, download the one file it makes, and upload it to your repository on the GitHub website. Cloudflare publishes it from there.
