Stop chasing receipts.
A receipt inbox that runs in your own Cloudflare account, matches your bank export and flags what's missing.
AI reading costs about 15 cents a month. You may need Workers Paid ($5) for PDFs.
Open source under the Apache License 2.0. Not a service: you deploy your own copy.
Cloud hosting invoice
- Date
- 14 Oct
- Net
- €10.00
- VAT
- €2.40
- Total
- €12.40
Bank: 14 Oct, −€12.40
Receipts live everywhere except where you need them.
A PDF in your inbox. A photo on your phone. A paper one in a coat pocket. Then the month ends, the bank export has a line for every payment, and your accountant would like a receipt for each of them.
Nuits Receipts puts them in one inbox and tells you which ones you still owe.
- Inbox, page 4
- Downloads folder
- Camera roll
- Coat pocket
- Glovebox
How it works
-
Send it in
Forward a receipt to your inbox address, or upload a PDF or a photo.
-
It gets read
Cloudflare's Clairic model on Workers AI (a preview model; its behaviour and pricing may change) reads the vendor, date, totals and VAT. Anything it isn't sure of goes to a review pile for you to check. When no vendor rule of yours matches, Cloudflare's Clef model picks which of your products and which expense category the receipt belongs to; rules you set always win.
-
It gets matched
Import a CSV export from your bank; you map the columns once. It suggests matches between payments and receipts, flags payments with no receipt yet, and gives you a monthly cost view plus a CSV for your accountant.
Your bank export, with the receipts attached.
Every payment gets a receipt or a flag. Nothing gets quietly skipped.
| Date | Payment | Amount | Receipt |
|---|---|---|---|
| 02 Oct | Cloud hosting | −€12.40 | Matched |
| 05 Oct | Train ticket | −€38.90 | Matched |
| 09 Oct | Design software | −€14.99 | Missing |
| 17 Oct | Coworking day pass | −€25.00 | Matched |
| 23 Oct | Domain renewal | −€11.60 | Check me |
| 28 Oct | Lunch with a client | −€46.20 | Missing |
Two missing. You know exactly which two.
A month of receipts in about a minute.
AI reading: about 15 cents a month. Here's the arithmetic.
Clairic costs $0.10 per million input tokens. Clef costs $0.24 per million and only runs when no vendor rule matches. D1, R2 and Email Routing fit in Cloudflare's free allowances at this size. You pay your own Cloudflare bill.
One honest caveat. A PDF upload measured about 186 ms of CPU in production, far over the 10 ms the Workers Free plan allows. If you upload PDFs, plan on Workers Paid, a $5 a month minimum for the whole account. Forwarded email bodies may fit in Free.
Reading 200 receipts
| PDF or email | 1,300 to 1,600 tokens |
|---|---|
| Photo | about 2,900 tokens |
| 200 × 1,600 tokens | 320,000 tokens |
| Clairic | ≈ $0.03 |
| Clairic, 200 × 5,000 tokens | $0.10 |
|---|---|
| Clef fallback, 50 × 2,000 tokens | ≈ $0.024 |
| Total | ≈ $0.12 |
| D1, R2, Email Routing | free allowance |
|---|
AI reading, with headroomabout $0.15
| Workers Paid, if you upload PDFs | $5 a month |
|---|
What we can say so far.
-
0.6 to 0.9 s
per receipt in tests, for the whole upload request.
-
Your account
Runs in your own Cloudflare account. Nuits never sees your data. It makes two outside calls: Cloudflare Workers AI for reading, and frankfurter.dev for exchange rates, which gets only a currency code and dates.
-
Open source
Under the Apache License 2.0. Read every line before you deploy it.
-
[TODO: documents processed in October]
Baps's own month, once it's counted.
-
[TODO: real October cost]
From the Cloudflare bill, not the estimate.
-
[TODO: missing receipts caught]
Payments it flagged that had no receipt.
What it doesn't do.
I built this for my own receipts. Here's what it won't do for yours, at least not yet.
Nuits Receipts organises receipts and prepares a CSV for your accountant. It is not tax, VAT or accounting advice, and it does not do your bookkeeping. Figures are AI-extracted and you should check them.
- It won't file anything for you. Not your taxes, not your receipts in a drawer.
- Bank CSV column mapping is new. It has been tested with Holvi exports so far, and other banks' files are less tested.
- It's for one person with one inbox.
- There's no mobile app.
Baps, who built it
Questions, answered plainly.
Which banks does it work with?
It imports CSV exports from any bank that exports CSV; you map the columns once. Tested with Holvi exports so far.
Does Nuits see my data?
No. It runs in your own Cloudflare account, with files in your R2 and data in your D1. Nuits never sees your data. Two calls go outside the Worker: Cloudflare Workers AI, where Clairic reads each receipt, and frankfurter.dev for exchange rates, which gets only a currency code and dates.
What do I need from Cloudflare?
An account, and a domain on Cloudflare so Email Routing can give you an inbox address. PDF uploads measured about 186 ms of CPU in production against the Workers Free plan's 10 ms limit, so plan on Workers Paid ($5 a month) if you upload PDFs. Forwarded email bodies may fit in Free.
Is this tax advice?
No. It organises receipts and prepares a CSV for your accountant. Figures are AI-extracted, so check them.
Is it a SaaS?
No. You deploy your own copy and nobody else runs it for you.