Skip to content

Releases: osodevops/quickbooks-cli

v0.1.0

22 Mar 11:27

Choose a tag to compare

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_TOKEN env 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