invoicr
v1.7.3
Published
CLI tool and desktop app to generate DOCX/PDF invoices with e-invoice support
Downloads
19
Maintainers
Readme
invoicr
A CLI tool and desktop app for generating DOCX/PDF invoices with e-invoice support.
Features
- Generate professional invoices in DOCX and PDF formats
- Desktop GUI application (Tauri/React)
- E-invoice generation (XRechnung, ZUGFeRD, CIUS-RO, Factur-X, etc.)
- Multi-language support (German & English)
- Flexible billing: hourly, daily, or fixed rates
- Email drafts with PDF attachment (macOS)
- Multiple invoice templates
- REST API for integrations
Quick Start
# Install globally
npm install -g invoicr
# Initialize workspace (creates provider.json)
invoicr-init
# Create a client
invoicr-new
# Generate an invoice
invoicr <client> <quantity>
invoicr acme-hourly 40 --emailPrerequisites
- Node.js 18+
- LibreOffice (for PDF conversion):
brew install --cask libreoffice
GUI Application
A desktop application for visual invoice management.
Installing the GUI
Option 1: Via npm (recommended)
npm install -g invoicr
invoicr-guiThe GUI binary is automatically downloaded during installation.
Option 2: Download installer
Download from GitHub Releases:
| Platform | Download |
|----------|----------|
| macOS (Apple Silicon) | Invoicr_x.x.x_aarch64.dmg |
| macOS (Intel) | Invoicr_x.x.x_x64.dmg |
| Windows | Invoicr_x.x.x_x64-setup.exe |
| Linux (Debian/Ubuntu) | invoicr_x.x.x_amd64.deb |
| Linux (Portable) | invoicr_x.x.x_amd64.AppImage |
Option 3: Build from source
# Prerequisites: Rust (https://rustup.rs/)
git clone https://github.com/LeanerCloud/invoicr.git
cd invoicr && npm install && npm run build
cd gui && npm install && npm run tauri:buildGUI Features
- Manage multiple business personas
- Configure provider and client settings
- Generate invoices with preview
- Select from multiple templates
- Configure e-invoicing per client
- View invoice history
E-Invoice Generation
Generate electronic invoices in international formats.
Supported Formats
| Region | Format | Countries | |--------|--------|-----------| | Europe | XRechnung | Germany | | Europe | ZUGFeRD | Germany, Austria, Switzerland | | Europe | CIUS-RO | Romania | | Europe | Factur-X | France | | Europe | FatturaPA | Italy | | Europe | PEPPOL BIS | EU-wide | | Americas | UBL | USA, Canada |
Usage
invoicr-einvoice <client> --quantity=40
invoicr-einvoice <client> --quantity=40 --format=xrechnungE-invoicing requires countryCode in both provider and client configs.
CLI Commands
| Command | Description |
|---------|-------------|
| invoicr <client> <qty> | Generate invoice |
| invoicr-init | Initialize workspace |
| invoicr-new | Create new client |
| invoicr-list | List clients |
| invoicr-bulk | Bulk generation |
| invoicr-export | Export history |
| invoicr-einvoice | Generate e-invoice |
| invoicr-server | Start API server |
| invoicr-gui | Launch desktop app |
Common Options
| Option | Description |
|--------|-------------|
| --month=MM-YYYY | Billing month |
| --email | Create email draft |
| --dry-run | Preview only |
| --template=NAME | Use specific template |
API Server
REST API for programmatic access.
invoicr-server # Starts on http://localhost:3456Key endpoints:
GET /api/personas/:persona/clients- List clientsPOST /api/personas/:persona/invoice/generate- Generate invoiceGET /api/einvoice/formats- List e-invoice formats
Configuration
See examples/ for complete client configuration templates:
acme-hourly.json- Hourly billingacme-daily.json- Daily billing with translationsacme-fixed.json- Fixed amountacme-romania.json- Romanian e-invoice (CIUS-RO)acme-xrechnung.json- German e-invoice (XRechnung)
Development
npm run build # Compile TypeScript
npm test # Run tests (700+ tests)
npm run dev # Run with tsx
npm run api-server # Start API serverLicense
MIT
About
Built by LeanerCloud. We help companies reduce AWS costs.
Freelancer with AWS clients? Refer them to us and get 50% of our first invoice. Get in touch!
