File receipt-backed expenses into a self-hosted Invoice Ninja account
At a glance
An IT business owner connected Claude Code to Invoice Ninja to process a receipt backlog with approval before writes. This workflow is listed under bookkeeping, mcp, self-hosting.
- Agents / tools
- Claude Code, Invoice Ninja, NightSquawk Invoice Ninja MCP server
SourceBuilding a tool for these workflows? See weekly rates.
What they did
1) Prepare self-hosted Invoice Ninja, Claude Code, Node/npx, and a dedicated Invoice Ninja user. Disable administrator rights and email sending; allow expense/vendor work and only the read access needed for reconciliation. Generate its API token, then remove temporary administrator access if it was needed to create it. 2) In a bookkeeping project folder, run `claude mcp add invoiceninja --scope local --env INVOICENINJA_BASE_URL=YOUR_URL --env INVOICENINJA_API_TOKEN=YOUR_TOKEN -- npx -y @nightsquawktech/invoiceninja-mcp-server`. 3) Open that folder in Claude's Code tab and put receipt files in `inbox/`. Ask it to read each receipt, check existing records, identify the vendor and category, and preview the expense before writing. 4) Resolve questions and approve valid entries, then confirm each recorded expense includes its receipt.
How it went
The author later demonstrated a held invoice being recognized as already recorded, with no duplicate expense created.
Worth knowing
This is the desktop starting workflow. The API user's permissions, not the MCP approval flag alone, limit access.