Releases: osodevops/quickbooks-cli
Releases · osodevops/quickbooks-cli
v0.1.0
Added
- Authentication: OAuth 2.0 PKCE flow with browser-based login, manual mode for headless servers, automatic token refresh with rotation handling, OS keyring storage (macOS Keychain, Windows Credential Manager, Linux Secret Service), file-lock protection for concurrent refresh, direct token override via
QBO_ACCESS_TOKENenv var - 17 list entities: Account, Budget, Class, CompanyInfo, CompanyCurrency, Customer, Department, Employee, ExchangeRate, Item, PaymentMethod, Preferences, TaxAgency, TaxCode, TaxRate, Term, Vendor — with full CRUD (list, get, create, update, delete/deactivate) where supported
- 19 transaction entities: Invoice, Estimate, SalesReceipt, Payment, CreditMemo, RefundReceipt, Bill, BillPayment, VendorCredit, Purchase, PurchaseOrder, JournalEntry, Transfer, Deposit, TimeActivity, RecurringTransaction, CreditCardPayment, InventoryAdjustment, Attachable — with full CRUD and hard delete
- Invoice extras:
send(email),pdf(download) - Send support: Invoice, Estimate, SalesReceipt, CreditMemo, PurchaseOrder
- 25+ financial reports: Profit & Loss, Balance Sheet, Trial Balance, Cash Flow, General Ledger, Aged Receivables/Payables, Customer/Vendor Balance, Item Sales, and more — with date filtering, date macros, summarize-by, accounting method
- General Ledger flattening: Automatic conversion from hierarchical QBO format to flat tabular rows with account context propagation
- Raw QBO query:
qb query run "SELECT * FROM ..."with auto-pagination - 4 output formats: Table (comfy-table), JSON (pretty/compact), CSV, YAML — with TTY auto-detection (table for terminal, JSON for pipes)
- SQLite response cache: Configurable TTL (300s list, 900s get), per-entity invalidation on writes, cache clear/stats commands
- Rate limiting: Client-side enforcement of QBO's 500 req/min limit with sliding window, 10-concurrent semaphore, exponential backoff with jitter (3 retries)
- SyncToken management: Automatic fetch before update/delete operations
- Configuration: TOML config file with profiles for multi-company support, environment variable overrides for all settings
- Shell completions: bash, zsh, fish
- Man pages: 231 generated man pages for all commands and subcommands
- Structured exit codes: 0-10 mapping to specific error categories
- Cross-platform: macOS (arm64/x86), Linux (x86/arm64), Windows (x86)
- CI/CD: GitHub Actions for test (format, clippy, test, security audit), auto-tag on version bump, cross-compilation release with Homebrew tap and Scoop bucket updates