QuickBooks Online
Handle invoices, expenses and the books from one chat
About this plugin
QuickBooks Online
Give your employees QuickBooks Online the way a bookkeeper uses it. Ask in plain language ("invoice Evident $3,000 for August, number it after the last one") and the employee does it: drafts, sequential invoice numbers, payments, bills, expenses, reports, all checked before anything reaches QuickBooks.
What you can do
- Invoices: create drafts in sequence, renumber, email, save PDFs, void, invoice an accepted estimate.
- Payments: record customer payments against invoices, partial or in full.
- Bills and expenses: enter bills, pay them, record card, check and cash expenses, vendor credits, purchase orders.
- Estimates, sales receipts, credit memos, refunds.
- Customers, vendors, products and services: add, change, deactivate.
- Journal entries, deposits, transfers.
- Reports: profit and loss, balance sheet, cash flow, A/R and A/P aging, sales by customer or item, expenses by vendor, general ledger, trial balance, balances, tax summary.
- Find anything with typed filters: open, paid or overdue invoices for a customer, bills due, payments, expenses over an amount.
Safe by construction
Every write is one small object of plain fields (customer, lines, dates, amounts) that the plugin checks and turns into QuickBooks' request itself. Unknown fields are refused by name; names resolve to the right records (or the employee is told which ones match); money and dates are validated. No command sends a raw QuickBooks request. Creating a document never sends it to a customer: sending is its own step, and writes wait for the owner's approval rules.
Quick start
In Nebo, an employee runs each command through the plugin__quickbooks tool,
with a record given as an object in args:
{"command": "doctor"}
{"command": "invoice next-number"}
{"command": "find invoice", "args": {"filters": {"status": "overdue"}}}
{"command": "report profitAndLoss", "args": {"options": {"period": "lastMonth"}}}
{"command": "invoice create", "args": {"invoice": {"customer": "Evident", "docNumber": "1087", "lines": [{"description": "Consulting", "amount": 3000}]}}}
The same from a terminal, one JSON object per flag:
$QUICKBOOKS_BIN invoice next-number
$QUICKBOOKS_BIN find invoice --filters '{"status": "overdue"}'
$QUICKBOOKS_BIN invoice create --invoice '{"customer": "Evident", "docNumber": "1087", "lines": [{"description": "Consulting", "amount": 3000}]}'
Authentication
This plugin uses OAuth (authorization code) to connect to your QuickBooks Online company. In Nebo, the owner connects it once on the card Nebo shows; an employee never signs in itself. From a terminal:
$QUICKBOOKS_BIN auth login
$QUICKBOOKS_BIN auth status
Bundled skill
| Skill | What it does |
|-------|--------------|
| quickbooks | Which command for which job, the rules (drafts vs sending, sequential numbers, names), and a reference file per area with exact inputs and examples. |
Data Privacy
This plugin runs on your machine. Every QuickBooks request goes directly from your computer to the QuickBooks Online API: none of your accounting data passes through NeboAI servers. Signing in and renewing access go through NeboAI's connection service, which holds the app's secret; the access tokens are stored on your device.