Try it live: invoice.1000idea.com
中文 | English
Every end of month, someone in finance or admin has a folder that looks like this:
wechat_screenshot_20240301.jpg
invoice_20240315.pdf
dzfp_26112000001114798216_20260323.xml
261120000010_96542961_198.64.ofd
scan0042.pdf
Mixed formats, chaotic filenames, files arriving from everywhere — email, approval systems, WeChat, DingTalk. Turning that pile into a clean, reimbursable, archivable list means opening every invoice one by one, reading it by hand, typing the fields, renaming the file, and pasting everything into Excel. Fifty invoices, half a day gone.
Invoice Flow is built to compress that half-day into a single drag-and-drop.
Drop files in. Fields parse automatically. Naming rules apply automatically. One click to export: a renamed copy of every file, plus an Excel summary — ready to hand off.
The goal is to make a small but real contribution to the lives of the people doing this work every day.
Invoice Flow runs entirely in your local browser. Nothing is uploaded anywhere. Your data stays on your machine.
You can use it at invoice.1000idea.com — no setup required. Or download the repo and run it offline. And for teams using AI workflows, Invoice Flow supports Agent Skill calls.
XML, OFD, PDF — China's three main electronic invoice formats, each with its own internal structure. Invoice Flow has a dedicated parser for each, all orchestrated by a single execution layer, invoice-engine.js. Every parsed result feeds into the same field model, so renaming, quality checks, and export all work the same way regardless of format.
Images and scans can be imported and reviewed manually in GUI mode. In Skill mode, the AI calls its vision capability directly — that's the one thing Skill mode can do that the GUI cannot.
All parsing happens inside the browser. Files are never sent to a server. Three offline libraries — PDF.js, JSZip, and SheetJS — are bundled under app/lib/. No internet connection required. Double-click index.html, no Python, no Node.js, no installation.
For anything touching corporate financial data, this matters.
Most tools in this space are either GUI-only or command-line-only. When AI gets added, it usually runs on a separate code path. The design choice here was different:
- GUI mode: runs in the browser, drag-and-drop, built for daily use by finance staff
- Skill mode: an AI Agent loads
SKILL.md, then callswindow.__skillRunFromDataUrls()directly inside the same GUI page viabrowser_agent, using the exact same parsing, quality-check, and renaming engine
Same codebase, same data model. There's no "AI version" and "manual version" with different results. Whatever the Skill produces, you can verify it visually in the same interface.
Renaming files sounds simple. It isn't. What happens when two files would get the same name? What about illegal characters? Names that are too long? Should the text inside parentheses in a seller's name be stripped out?
Different companies also have different financial naming conventions — Invoice Flow includes a configurable, rule-based auto-renaming engine built for that.
The engine handles all of it. {sellerName} automatically strips parenthetical content and trims to 20 characters. {taxCategory} reads the *abbreviation* field from the product description to identify the tax category. {custom:text} lets you hardcode a fixed value like a reimbursement requestor's name. Rules persist to browser local storage and restore on next open.
After parsing, five quality rules run automatically: does the amount total match, are any dates out of range, do any invoice numbers appear more than once (the same invoice might exist in both XML and PDF format), are any required fields missing.
These are the exact issues that come up constantly in financial reconciliation. Problems surface as a summary banner at the top of the page, highlighted rows in the table, and a detailed explanation with suggested next steps when you click in.
Visit invoice.1000idea.com, or clone the repo and open app/index.html in your browser.
Drop in invoice files or a folder → fields parse automatically → configure naming rules → export as zip or Excel.
The bottom of the left sidebar has two lightweight entry points: one goes directly to the GitHub repo, the other opens the Skill usage guide for AI Agents — a quick bridge between the visual interface and conversation-based processing.
Load SKILL.md into any AI tool that supports Agent Skills, then say:
Help me organize the invoices on my desktop
The Agent will handle seven steps automatically: confirm the path, scan for formats, parse fields, preview names, get confirmation, copy files, generate the summary spreadsheet. It calls vision recognition for images and scans, and gives business-readable explanations for anything that looks wrong.
If the Skill has already reported results, or gets interrupted by permissions or environment issues, you can pick up right where it left off by dropping the same files into the web interface to review fields and export.
Go to invoice.1000idea.com and drag in your invoice files or folder.
The GitHub / Agent Skill entry points at the bottom of the left sidebar are there if you want to explore the open-source repo or set up the Skill for an AI Agent.
git clone https://github.com/HengChilde/invoice-flow.gitOpen in your browser:
invoice-flow/index.html
Works with Claude Code, OpenClaw, or any other Agent. Send this to your Agent and let it handle the install:
Please install this skill: https://github.com/hengchilde/invoice-flow
After that, just say "help me organize my invoices" or "use the Invoice Flow invoice-flow skill" in conversation to trigger it.
MIT
