The CLI reads and writes the same versioned JSON store as the macOS app, so scripts and the native UI stay compatible.
Rust invoice CLI
Script invoice generation without giving up local ownership.
InvoiceGen includes a native Rust command-line interface for freelancers, developers, and AI agents that need repeatable invoice workflows on macOS and Linux while keeping invoice data in local files.
Render invoices, export backups, restore stores, and inspect invoice summaries from shell commands.
Structured JSON, CSV, TSV, and text output make InvoiceGen useful for automation and coding agents.
What can the InvoiceGen CLI do?
The InvoiceGen CLI is a local-first invoice generation tool written in Rust. It supports workflows for the business profile, clients, projects, payment details, invoices, local store backups, shell completions, and summaries. The CLI is designed for people who want a private invoice app on macOS but still need scriptable commands for recurring work, audits, exports, and agent-driven operations.
invoicegen --help
invoicegen --store ./invoicegen-store.json seed-sample --force
invoicegen --store ./invoicegen-store.json invoice list --format json
invoicegen --store ./invoicegen-store.json invoice render INV-2026-0001 --output ./exports
invoicegen --store ./invoicegen-store.json store export ./invoicegen-backup.json
Automation use cases
- Create draft invoices from a client/project workflow and review them in the macOS app before sending.
- Export invoice data before migrations, operating-system upgrades, or machine changes.
- Generate local summaries for outstanding, overdue, sent, paid, and draft invoices.
- Let an AI coding agent inspect invoice data without needing an account, cloud API, or hosted billing system.
Install the CLI
The npm wrapper package exposes the shorter invoicegen command and selects the matching native binary package for the current operating system and CPU. Developers can also build directly from source with Cargo.
npm install -g @megabyte0x/invoicegen
invoicegen --help
cargo install --git https://github.com/megabyte0x/invoicegen invoicegen-rs
Why use a CLI instead of a browser-only invoice generator?
Browser invoice generators are useful for one-off PDFs, but they are usually poor fits for repeatable invoice operations. InvoiceGen keeps clients, projects, payment details, invoice numbers, line items, and backups in a local store that can be validated and reused. That makes it a better fit for freelancers and small teams who care about privacy, reproducibility, and local control while still wanting fast PDF-ready invoice output.
Best backlink anchors for this page: Rust invoice CLI, scriptable invoice generator, local-first invoice automation, and open-source invoice CLI.