@versatly/quickbooks-cli
QuickBooks Online CLI for invoices, customers, payments, and reports. Uses pdauth for OAuth.
Install
npm install -g @versatly/quickbooks-cli
npm install -g pdauth
Setup
- Configure pdauth with your Pipedream credentials:
pdauth config
- Set your user ID and QuickBooks realm ID:
qb auth set-user telegram:5439689035
qb auth set-realm <realmId>
You can find realmId in the QuickBooks URL after login (often labeled as company ID).
- Connect QuickBooks via pdauth:
qb auth connect
Or directly:
pdauth connect quickbooks --user telegram:5439689035
qb status
Commands
qb customers list [--limit N] — List customers
qb customers get <id> — Get customer details
qb customers create --name <name> --email <email> — Create customer
qb invoices list [--status unpaid|paid|all] — List invoices
qb invoices get <id> — Get invoice details
qb invoices create --customer <id> --items <json> — Create invoice
qb invoices send <id> — Email invoice to customer
qb payments list — List payments
qb payments record --invoice <id> --amount <amount> — Record payment
qb reports profit-loss [--period this-month|this-year] — P&L report
qb reports balance-sheet — Balance sheet
qb status — Company info and connection status
Examples
qb customers list --limit 25
qb customers get 123
qb customers create --name "Acme Corp" --email "billing@acme.com"
qb invoices list --status unpaid
qb invoices get 987
qb invoices create --customer 123 --items '[{"Amount": 100, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "1"}}}]'
qb invoices send 987
qb payments list
qb payments record --invoice 987 --amount 100
qb reports profit-loss --period this-month
qb reports balance-sheet
Advanced
If you already have an access token, you can bypass pdauth by setting:
export QB_ACCESS_TOKEN="your_oauth_access_token"
The CLI will still use your configured realm ID.
License
MIT © Versatly