Invoice Merge Assistant is a lightweight cross-platform desktop tool built with React, TypeScript, and Tauri. It focuses on one workflow: taking a folder full of invoice PDFs or images (JPG/PNG/HEIC) and producing a single clean PDF bundle—ideal for expense reports, finance audits, and archival. Everything stays local, so sensitive data never leaves your machine.
- Folder-first workflow: Select any directory; the app auto-detects supported files, shows metadata, and keeps the original order sorted by name or modified time.
- Selective merging: Use the list checkboxes to include/exclude files before running a merge.
- Local conversions: Images (including HEIC) are rasterized into A4 pages, while PDFs are appended directly.
- Progress + feedback: See stages (scan/convert/merge/write) and receive a summary dialog with failure counts.
- Install dependencies:
npm install - Run in development:
npm run tauri dev
- Build production bundles (macOS/Windows/Linux packages):
npm run tauri build
Rust tooling (stable) and the Tauri prerequisites for your platform must be installed. For HEIC conversion support, ensure system codecs are available (macOS ships them by default).
src/: React UI (Vite) components, styles, and hookssrc-tauri/: Rust backend commands, merge pipeline, and bundler configdocs/: Product/design/technical briefs and UI snapshotsAGENTS.md: Contributor guidelines
See AGENTS.md for coding style, testing, and PR expectations. Issues and PRs are welcome—especially around expanding file-format support, accessibility improvements, and additional progress telemetry.
A GitHub Actions workflow (.github/workflows/release.yml) builds signed bundles for macOS and Windows whenever a Git tag matching v* is pushed. The workflow installs dependencies, runs the Tauri build, and attaches the generated artifacts to the corresponding GitHub Release automatically.
If you download the unsigned .dmg or .app from GitHub Releases, macOS Gatekeeper may block it the first time you launch. To trust the app manually:
xattr -cr /Applications/InvoiceMergeAssistant.appThen right-click the app → “Open” once. After this first approval, you can launch it normally.
If this tool is helpful to you, you can buy me a coffee, thank you.

