Home/Finance/solo-cli

solo-cli

Caution
Finance

Monitor and interact with SOLO.ro accounting platform via CLI.

SKILL.md

# SOLO CLI ## Overview Use solo-cli to access SOLO.ro accounting platform data via command-line interface or interactive TUI. ## Installation If the `solo-cli` command is not available, install via Homebrew: ```bash brew install rursache/tap/solo-cli ``` ## Defaults and safety - Config file location: `~/.config/solo-cli/config.json` (created on first run) - Use `--config` or `-c` to specify a custom config path - Credentials are stored locally; never passed as command arguments - Session cookies are cached to `~/.config/solo-cli/cookies.json` for faster subsequent logins ## Quick start - Configure: Edit `~/.config/solo-cli/config.json` with username/password - Summary: `solo-cli summary` - Summary for year: `solo-cli summary 2025` - Revenues: `solo-cli revenues` - Expenses: `solo-cli expenses` - Queue: `solo-cli queue` - E-Factura: `solo-cli efactura` - Company: `solo-cli company` - Upload: `solo-cli upload file.pdf` - Delete: `solo-cli queue delete <ID>` - TUI: `solo-cli` (no command) - Demo: `solo-cli demo` ## Configuration Config file structure: ```json { "username": "your_email@solo.ro", "password": "your_password", "company_id": "12345", "page_size": 100, "user_agent": "Mozilla/5.0 ..." } ``` | Field | Required | Description | |-------|----------|-------------| | username | Yes | SOLO.ro login email | | password | Yes | SOLO.ro password | | company_id | No | Company ID for profile display (find in Network tab on /settings#!/company) | | page_size | No | Number of items to fetch (default: 100) | | user_agent | No | Custom HTTP user agent string | ## Commands ### summary [year] Show account summary for a year. ```bash solo-cli summary # Current year solo-cli summary 2025 # Specific year ``` Output: Year, Revenues, Expenses, Taxes ### revenues List revenue invoices. ```bash solo-cli revenues solo-cli rev # Alias ``` Output: Invoice code, amount, currency, paid status, client name ### expenses List expenses. ```bash solo-cli expenses solo-cli exp # Alias ``` Output: Amount, currency, category, supplier name ### queue List pending documents in expense queue or delete them. ```bash solo-cli queue # List queue solo-cli q # Alias solo-cli queue delete 123 # Delete item by ID solo-cli q del 123 # Alias ``` Output: Document name, days pending, overdue status (ID included) ### efactura List e-Factura documents. ```bash solo-cli efactura solo-cli ei # Alias ``` Output: Serial code, amount, currency, date, party name ### company Show company profile. ```bash solo-cli company ``` Output: Company name, CUI, registration number, address ### upload <file> Upload an expense document (PDF or image). ```bash solo-cli upload invoice.pdf solo-cli up invoice.pdf # Alias ``` Output: Upload status and confirmation. ### demo Start TUI with mock data for screenshots or testing (no API calls). ```bash solo-cli demo ``` ### tui Start interactive TUI mode (default when no command given). ```bash solo-cli tui solo-cli # Same as above ``` ## Global options | Option | Short | Description | |--------|-------|-------------| | --config | -c | Path to custom config file | | --help | -h | Show help message | | --version | -v | Show version | ## Examples ```bash # Basic usage solo-cli summary solo-cli revenues # Custom config solo-cli -c ~/work-config.json summary # Pipe to grep solo-cli expenses | grep -i "food" # View specific year solo-cli summary 2024 # Upload a document solo-cli upload invoice.pdf # Delete a queued item solo-cli queue delete 123456 ``` ## Authentication flow 1. On startup, loads cookies from `~/.config/solo-cli/cookies.json` 2. Validates cookies with a test API call 3. If valid, uses cached session 4. If invalid/missing, logs in with credentials from config 5. Saves new cookies for next session ## Troubleshooting - **"credentials missing"**: Edit config.json with your SOLO.ro username/password - **"authentication failed"**: Check credentials are correct - **"invalid JSON in config"**: Fix syntax errors in config.json - **Company info not showing**: Add company_id to config (optional field)

More in Finance