QuickBooks Online Tools
Written By Christopher Scaminaci
Last updated 7 days ago
QuickBooks Online Tools
qbo_ · 230 tools · Free 113 · Pro 117
Intuit's cloud accounting ledger via the Accounting API v3. Auth is OAuth2 authorization_code and nothing else - no API key, no client_credentials - on a StackJack-owned Intuit application, one per environment. ONE AUTHORIZATION IS ONE QUICKBOOKS COMPANY: the company id (realmId) arrives on the authorize redirect and is a PATH segment on every call, so an MSP holds one named connection per client company. The access token lives an hour and is refreshed at 80% of that; the refresh token rotates on a 24-hour clock and lapses after 100 days unused. The API is versioned by a minorversion query parameter pinned to 75. Paging is STARTPOSITION/MAXRESULTS in the query string, maximum 1000, with no cursor, no total and no more flag - a short page is the last one. There is NO HTTP DELETE anywhere: delete and void are POSTs carrying an operation parameter, so destructiveness follows the documented operation rather than the verb. A FULL update NULLs every writable field left out.
All connector tools · QuickBooks Online setup guide
QuickBooks Online tool groups
- Financial statements — 8 tools
- Receivables — 5 tools
- Payables — 5 tools
- Sales analysis — 4 tools
- Transaction lists — 4 tools
- Inventory and tax — 3 tools
- Customers — 7 tools
- Invoices — 9 tools
- Estimates — 8 tools
- Sales receipts — 9 tools
- Customer payments — 8 tools
- Credit memos — 7 tools
- Refund receipts — 8 tools
- Change orders — 4 tools
- Terms and payment methods — 8 tools
- Reimbursable charges — 2 tools
- Vendors — 4 tools
- Bills — 5 tools
- Bill payments — 6 tools
- Expenses and purchases — 5 tools
- Purchase orders — 7 tools
- Vendor credits — 5 tools
- Chart of accounts — 4 tools
- Journal entries — 6 tools
- Items and services — 4 tools
- Classes and departments — 8 tools
- Banking — 18 tools
- Budgets — 5 tools
- Recurring transactions — 4 tools
- Inventory — 4 tools
- Currency — 7 tools
- Tax codes and rates — 5 tools
- Tax classifications — 4 tools
- Tax agencies — 3 tools
- Tax payments — 2 tools
- Time activities — 5 tools
- Employees — 4 tools
- Company profile — 6 tools
- Sync — 2 tools
- Attachments — 7 tools
- Platform operations — 1 tool
Financial statements
qbo_report_account_list_detail details
qbo_report_account_list_detail details
[QuickBooks Online] Account List detail — the chart of accounts with type, detail type and balance. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_balance_sheet details
qbo_report_balance_sheet details
[QuickBooks Online] Balance Sheet — assets, liabilities and equity as at a date. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_cash_flow details
qbo_report_cash_flow details
[QuickBooks Online] Statement of Cash Flows — operating, investing and financing movement for a period. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_general_ledger details
qbo_report_general_ledger details
[QuickBooks Online] General Ledger detail — every posting, account by account. This is the largest report in the set; narrow it with a date window. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_journal details
qbo_report_journal details
[QuickBooks Online] Journal report — transactions in journal form with their debit and credit splits. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_profit_and_loss details
qbo_report_profit_and_loss details
[QuickBooks Online] Profit and Loss summary — income, cost of goods sold, expenses and net income for a period. The vendor's own sample uses start_date, end_date and customer (for example start_date=2026-01-01&end_date=2026-03-31). Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_profit_and_loss_detail details
qbo_report_profit_and_loss_detail details
[QuickBooks Online] Profit and Loss detail — every transaction behind each income and expense line. The vendor's sample names customer and class. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_trial_balance details
qbo_report_trial_balance details
[QuickBooks Online] Trial Balance — every account with its debit and credit totals. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
Receivables
qbo_report_ar_aging_detail details
qbo_report_ar_aging_detail details
[QuickBooks Online] A/R Aging detail — the individual open invoices behind each aging bucket. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_ar_aging_summary details
qbo_report_ar_aging_summary details
[QuickBooks Online] A/R Aging summary — what each customer owes, bucketed by how overdue it is. The collections report. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_customer_balance details
qbo_report_customer_balance details
[QuickBooks Online] Customer Balances — the outstanding balance per customer. The vendor's sample names customer and class. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_customer_balance_detail details
qbo_report_customer_balance_detail details
[QuickBooks Online] Customer Balance detail — the open transactions making up each customer's balance. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_customer_income details
qbo_report_customer_income details
[QuickBooks Online] Income by Customer — revenue and expense per customer, the profitability-by-client read. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
Payables
qbo_report_ap_aging_detail details
qbo_report_ap_aging_detail details
[QuickBooks Online] A/P Aging detail — the individual open bills behind each aging bucket. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_ap_aging_summary details
qbo_report_ap_aging_summary details
[QuickBooks Online] A/P Aging summary — what you owe each vendor, bucketed by how overdue it is. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_vendor_balance details
qbo_report_vendor_balance details
[QuickBooks Online] Vendor Balances — the outstanding balance per vendor. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_vendor_balance_detail details
qbo_report_vendor_balance_detail details
[QuickBooks Online] Vendor Balance detail — the open transactions making up each vendor's balance. The vendor's sample names vendor and class. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_vendor_expenses details
qbo_report_vendor_expenses details
[QuickBooks Online] Expenses by Vendor — spend per vendor for a period. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
Sales analysis
qbo_report_sales_by_class details
qbo_report_sales_by_class details
[QuickBooks Online] Sales by Class summary — revenue per class. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_sales_by_customer details
qbo_report_sales_by_customer details
[QuickBooks Online] Sales by Customer — revenue per customer for a period. The vendor's sample names customer and class. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_sales_by_department details
qbo_report_sales_by_department details
[QuickBooks Online] Sales by Department — revenue per location or department. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_sales_by_product details
qbo_report_sales_by_product details
[QuickBooks Online] Sales by Product/Service — revenue and quantity per item. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
Transaction lists
qbo_report_transaction_list details
qbo_report_transaction_list details
[QuickBooks Online] Transaction List — every transaction in a period, across types. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_transaction_list_by_customer details
qbo_report_transaction_list_by_customer details
[QuickBooks Online] Transaction List by Customer — every transaction grouped by customer. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_transaction_list_by_vendor details
qbo_report_transaction_list_by_vendor details
[QuickBooks Online] Transaction List by Vendor — every transaction grouped by vendor. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_transaction_list_with_splits details
qbo_report_transaction_list_with_splits details
[QuickBooks Online] Transaction List with Splits — transactions with each of their ledger splits. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
Inventory and tax
qbo_report_inventory_valuation_detail details
qbo_report_inventory_valuation_detail details
[QuickBooks Online] Inventory Valuation detail — the movements behind each item's valuation. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_inventory_valuation_summary details
qbo_report_inventory_valuation_summary details
[QuickBooks Online] Inventory Valuation summary — quantity on hand and asset value per inventory item. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
qbo_report_tax_summary details
qbo_report_tax_summary details
[QuickBooks Online] Tax Summary. Applicable to NON-US companies only — a US company gets an error rather than an empty report. Report parameters are the vendor's own name=value pairs, passed through as a JSON object — for example {"start_date":"2026-01-01","end_date":"2026-03-31"}.
Customers
qbo_create_customer details
qbo_create_customer details
[QuickBooks Online] Create a customer. A customer is the company or person you invoice. The record carries the billing and shipping addresses, terms, tax code, currency, notes and the running Balance. body is the entity record as a JSON object, the same shape a read returns.
qbo_full_update_customer details
qbo_full_update_customer details
[QuickBooks Online] FULL update of a customer. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. Prefer qbo_update_customer, which changes only what you send. A customer is the company or person you invoice. The record carries the billing and shipping addresses, terms, tax code, currency, notes and the running Balance. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_customer details
qbo_get_customer details
[QuickBooks Online] Read one customer by its QuickBooks Id, including the SyncToken every update must echo back. A customer is the company or person you invoice. The record carries the billing and shipping addresses, terms, tax code, currency, notes and the running Balance.
qbo_get_customer_type details
qbo_get_customer_type details
[QuickBooks Online] Read one customer type by its QuickBooks Id. A customer type categorizes customers the way the business thinks of them - by industry, by region, or by how they found you - for reporting and mailings. READ-ONLY through the API: Intuit publishes no create, update or delete for this resource.
qbo_list_customer_types details
qbo_list_customer_types details
[QuickBooks Online] List customer types with an optional WHERE clause. A customer type categorizes customers the way the business thinks of them - by industry, by region, or by how they found you - for reporting and mailings. READ-ONLY through the API: Intuit publishes no create, update or delete for this resource. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_list_customers details
qbo_list_customers details
[QuickBooks Online] List customers with an optional WHERE clause. A customer is the company or person you invoice. The record carries the billing and shipping addresses, terms, tax code, currency, notes and the running Balance. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_update_customer details
qbo_update_customer details
[QuickBooks Online] SPARSE update of a customer — only the fields you send are changed and every omitted field is left alone. This is the safe update and the one to reach for. A customer is the company or person you invoice. The record carries the billing and shipping addresses, terms, tax code, currency, notes and the running Balance. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
Invoices
qbo_create_invoice details
qbo_create_invoice details
[QuickBooks Online] Create an invoice. An invoice is a sale on credit — what a customer owes you and when. Line items reference Items, and the Balance field is what is still outstanding. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_invoice details
qbo_delete_invoice details
[QuickBooks Online] Delete an invoice. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. An invoice is a sale on credit — what a customer owes you and when. Line items reference Items, and the Balance field is what is still outstanding. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_invoice details
qbo_full_update_invoice details
[QuickBooks Online] FULL update of an invoice. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. Prefer qbo_update_invoice, which changes only what you send. An invoice is a sale on credit — what a customer owes you and when. Line items reference Items, and the Balance field is what is still outstanding. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_invoice details
qbo_get_invoice details
[QuickBooks Online] Read one invoice by its QuickBooks Id, including the SyncToken every update must echo back. An invoice is a sale on credit — what a customer owes you and when. Line items reference Items, and the Balance field is what is still outstanding.
qbo_get_invoice_pdf details
qbo_get_invoice_pdf details
[QuickBooks Online] Download the rendered PDF of an invoice. A file cannot cross the tool surface, so the answer is a JSON envelope carrying a TEMPORARY download link valid for 15 minutes, the content type, a suggested file name, the exact byte count and the expiry — fetch the link before it expires, because StackJack keeps no other copy. QuickBooks renders the document on demand from the transaction as it stands now and the company's current template, so it is a render rather than a stored copy.
qbo_list_invoices details
qbo_list_invoices details
[QuickBooks Online] List invoices with an optional WHERE clause. An invoice is a sale on credit — what a customer owes you and when. Line items reference Items, and the Balance field is what is still outstanding. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_send_invoice details
qbo_send_invoice details
[QuickBooks Online] EMAIL the invoice to a real person. QuickBooks sends it immediately and there is no recall. Omit sendTo to use the email address stored on the document; supply sendTo to override it. Sending also stamps the document EmailSent.
qbo_update_invoice details
qbo_update_invoice details
[QuickBooks Online] SPARSE update of an invoice — only the fields you send are changed and every omitted field is left alone. This is the safe update and the one to reach for. An invoice is a sale on credit — what a customer owes you and when. Line items reference Items, and the Balance field is what is still outstanding. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_void_invoice details
qbo_void_invoice details
[QuickBooks Online] Void an invoice. The record stays in the books with zero amounts and a Voided stamp, which preserves the audit trail — but the amounts are gone and it cannot be undone. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
Estimates
qbo_create_estimate details
qbo_create_estimate details
[QuickBooks Online] Create an estimate. An estimate is a quote. It does not post to the ledger until it is converted to an invoice. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_estimate details
qbo_delete_estimate details
[QuickBooks Online] Delete an estimate. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. An estimate is a quote. It does not post to the ledger until it is converted to an invoice. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_estimate details
qbo_full_update_estimate details
[QuickBooks Online] FULL update of an estimate. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. Prefer qbo_update_estimate, which changes only what you send. An estimate is a quote. It does not post to the ledger until it is converted to an invoice. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_estimate details
qbo_get_estimate details
[QuickBooks Online] Read one estimate by its QuickBooks Id, including the SyncToken every update must echo back. An estimate is a quote. It does not post to the ledger until it is converted to an invoice.
qbo_get_estimate_pdf details
qbo_get_estimate_pdf details
[QuickBooks Online] Download the rendered PDF of an estimate. A file cannot cross the tool surface, so the answer is a JSON envelope carrying a TEMPORARY download link valid for 15 minutes, the content type, a suggested file name, the exact byte count and the expiry — fetch the link before it expires, because StackJack keeps no other copy. QuickBooks renders the document on demand from the transaction as it stands now and the company's current template, so it is a render rather than a stored copy.
qbo_list_estimates details
qbo_list_estimates details
[QuickBooks Online] List estimates with an optional WHERE clause. An estimate is a quote. It does not post to the ledger until it is converted to an invoice. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_send_estimate details
qbo_send_estimate details
[QuickBooks Online] EMAIL the estimate to a real person. QuickBooks sends it immediately and there is no recall. Omit sendTo to use the email address stored on the document; supply sendTo to override it. Sending also stamps the document EmailSent.
qbo_update_estimate details
qbo_update_estimate details
[QuickBooks Online] SPARSE update of an estimate — only the fields you send are changed and every omitted field is left alone. This is the safe update and the one to reach for. An estimate is a quote. It does not post to the ledger until it is converted to an invoice. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
Sales receipts
qbo_create_sales_receipt details
qbo_create_sales_receipt details
[QuickBooks Online] Create a sales receipt. A sales receipt is a sale that was paid at the time — no receivable is created. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_sales_receipt details
qbo_delete_sales_receipt details
[QuickBooks Online] Delete a sales receipt. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. A sales receipt is a sale that was paid at the time — no receivable is created. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_sales_receipt details
qbo_full_update_sales_receipt details
[QuickBooks Online] FULL update of a sales receipt. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. Prefer qbo_update_sales_receipt, which changes only what you send. A sales receipt is a sale that was paid at the time — no receivable is created. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_sales_receipt details
qbo_get_sales_receipt details
[QuickBooks Online] Read one sales receipt by its QuickBooks Id, including the SyncToken every update must echo back. A sales receipt is a sale that was paid at the time — no receivable is created.
qbo_get_sales_receipt_pdf details
qbo_get_sales_receipt_pdf details
[QuickBooks Online] Download the rendered PDF of a sales receipt. A file cannot cross the tool surface, so the answer is a JSON envelope carrying a TEMPORARY download link valid for 15 minutes, the content type, a suggested file name, the exact byte count and the expiry — fetch the link before it expires, because StackJack keeps no other copy. QuickBooks renders the document on demand from the transaction as it stands now and the company's current template, so it is a render rather than a stored copy.
qbo_list_sales_receipts details
qbo_list_sales_receipts details
[QuickBooks Online] List sales receipts with an optional WHERE clause. A sales receipt is a sale that was paid at the time — no receivable is created. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_send_sales_receipt details
qbo_send_sales_receipt details
[QuickBooks Online] EMAIL the sales receipt to a real person. QuickBooks sends it immediately and there is no recall. Omit sendTo to use the email address stored on the document; supply sendTo to override it. Sending also stamps the document EmailSent.
qbo_update_sales_receipt details
qbo_update_sales_receipt details
[QuickBooks Online] SPARSE update of a sales receipt — only the fields you send are changed and every omitted field is left alone. This is the safe update and the one to reach for. A sales receipt is a sale that was paid at the time — no receivable is created. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_void_sales_receipt details
qbo_void_sales_receipt details
[QuickBooks Online] Void a sales receipt. The record stays in the books with zero amounts and a Voided stamp, which preserves the audit trail — but the amounts are gone and it cannot be undone. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
Customer payments
qbo_create_payment details
qbo_create_payment details
[QuickBooks Online] Create a payment. A payment records money received from a customer and, through its Line entries, which invoices it settles. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_payment details
qbo_delete_payment details
[QuickBooks Online] Delete a payment. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. A payment records money received from a customer and, through its Line entries, which invoices it settles. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_payment details
qbo_full_update_payment details
[QuickBooks Online] FULL update of a payment. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A payment records money received from a customer and, through its Line entries, which invoices it settles. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_payment details
qbo_get_payment details
[QuickBooks Online] Read one payment by its QuickBooks Id, including the SyncToken every update must echo back. A payment records money received from a customer and, through its Line entries, which invoices it settles.
qbo_get_payment_pdf details
qbo_get_payment_pdf details
[QuickBooks Online] Download the rendered PDF of a payment. A file cannot cross the tool surface, so the answer is a JSON envelope carrying a TEMPORARY download link valid for 15 minutes, the content type, a suggested file name, the exact byte count and the expiry — fetch the link before it expires, because StackJack keeps no other copy. QuickBooks renders the document on demand from the transaction as it stands now and the company's current template, so it is a render rather than a stored copy.
qbo_list_payments details
qbo_list_payments details
[QuickBooks Online] List payments with an optional WHERE clause. A payment records money received from a customer and, through its Line entries, which invoices it settles. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_send_payment details
qbo_send_payment details
[QuickBooks Online] EMAIL the payment receipt to a real person. QuickBooks sends it immediately and there is no recall. Omit sendTo to use the email address stored on the document; supply sendTo to override it. Sending also stamps the document EmailSent.
qbo_void_payment details
qbo_void_payment details
[QuickBooks Online] Void a payment. The record stays in the books with zero amounts and a Voided stamp, which preserves the audit trail — but the amounts are gone and it cannot be undone. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
Credit memos
qbo_create_credit_memo details
qbo_create_credit_memo details
[QuickBooks Online] Create a credit memo. A credit memo is a refund or credit of payment, or part of a payment, for goods or services already sold. It reduces what the customer owes. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_credit_memo details
qbo_delete_credit_memo details
[QuickBooks Online] Delete a credit memo. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. A credit memo is a refund or credit of payment, or part of a payment, for goods or services already sold. It reduces what the customer owes. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_credit_memo details
qbo_full_update_credit_memo details
[QuickBooks Online] FULL update of a credit memo. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A credit memo is a refund or credit of payment, or part of a payment, for goods or services already sold. It reduces what the customer owes. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_credit_memo details
qbo_get_credit_memo details
[QuickBooks Online] Read one credit memo by its QuickBooks Id, including the SyncToken every update must echo back. A credit memo is a refund or credit of payment, or part of a payment, for goods or services already sold. It reduces what the customer owes.
qbo_get_credit_memo_pdf details
qbo_get_credit_memo_pdf details
[QuickBooks Online] Download the rendered PDF of a credit memo. A file cannot cross the tool surface, so the answer is a JSON envelope carrying a TEMPORARY download link valid for 15 minutes, the content type, a suggested file name, the exact byte count and the expiry — fetch the link before it expires, because StackJack keeps no other copy. QuickBooks renders the document on demand from the transaction as it stands now and the company's current template, so it is a render rather than a stored copy.
qbo_list_credit_memos details
qbo_list_credit_memos details
[QuickBooks Online] List credit memos with an optional WHERE clause. A credit memo is a refund or credit of payment, or part of a payment, for goods or services already sold. It reduces what the customer owes. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_send_credit_memo details
qbo_send_credit_memo details
[QuickBooks Online] EMAIL the credit memo to a real person. QuickBooks sends it immediately and there is no recall. Omit sendTo to use the email address stored on the document; supply sendTo to override it. Sending also stamps the document EmailSent.
Refund receipts
qbo_create_refund_receipt details
qbo_create_refund_receipt details
[QuickBooks Online] Create a refund receipt. A refund receipt records money given back to a customer for a product or service that was provided. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_refund_receipt details
qbo_delete_refund_receipt details
[QuickBooks Online] Delete a refund receipt. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. A refund receipt records money given back to a customer for a product or service that was provided. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_refund_receipt details
qbo_full_update_refund_receipt details
[QuickBooks Online] FULL update of a refund receipt. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. Prefer qbo_update_refund_receipt, which changes only what you send. A refund receipt records money given back to a customer for a product or service that was provided. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_refund_receipt details
qbo_get_refund_receipt details
[QuickBooks Online] Read one refund receipt by its QuickBooks Id, including the SyncToken every update must echo back. A refund receipt records money given back to a customer for a product or service that was provided.
qbo_get_refund_receipt_pdf details
qbo_get_refund_receipt_pdf details
[QuickBooks Online] Download the rendered PDF of a refund receipt. A file cannot cross the tool surface, so the answer is a JSON envelope carrying a TEMPORARY download link valid for 15 minutes, the content type, a suggested file name, the exact byte count and the expiry — fetch the link before it expires, because StackJack keeps no other copy. QuickBooks renders the document on demand from the transaction as it stands now and the company's current template, so it is a render rather than a stored copy.
qbo_list_refund_receipts details
qbo_list_refund_receipts details
[QuickBooks Online] List refund receipts with an optional WHERE clause. A refund receipt records money given back to a customer for a product or service that was provided. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_send_refund_receipt details
qbo_send_refund_receipt details
[QuickBooks Online] EMAIL the refund receipt to a real person. QuickBooks sends it immediately and there is no recall. Omit sendTo to use the email address stored on the document; supply sendTo to override it. Sending also stamps the document EmailSent.
qbo_update_refund_receipt details
qbo_update_refund_receipt details
[QuickBooks Online] SPARSE update of a refund receipt — only the fields you send are changed and every omitted field is left alone. This is the safe update and the one to reach for. A refund receipt records money given back to a customer for a product or service that was provided. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
Change orders
qbo_create_change_order details
qbo_create_change_order details
[QuickBooks Online] Create a change order. A change order is a modification to the scope of work on an existing project estimate - additions or deletions to the contracted work that roll up into the project's total budget alongside the parent estimate. PRODUCT-GATED: US companies on QuickBooks Online Advanced with the Construction Pack, or Intuit Enterprise Suite, with the Projects feature enabled. Other companies get an error rather than an empty result. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_change_order details
qbo_delete_change_order details
[QuickBooks Online] Delete a change order. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. A change order is a modification to the scope of work on an existing project estimate - additions or deletions to the contracted work that roll up into the project's total budget alongside the parent estimate. PRODUCT-GATED: US companies on QuickBooks Online Advanced with the Construction Pack, or Intuit Enterprise Suite, with the Projects feature enabled. Other companies get an error rather than an empty result. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_change_order details
qbo_full_update_change_order details
[QuickBooks Online] FULL update of a change order. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A change order is a modification to the scope of work on an existing project estimate - additions or deletions to the contracted work that roll up into the project's total budget alongside the parent estimate. PRODUCT-GATED: US companies on QuickBooks Online Advanced with the Construction Pack, or Intuit Enterprise Suite, with the Projects feature enabled. Other companies get an error rather than an empty result. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_change_order details
qbo_get_change_order details
[QuickBooks Online] Read one change order by its QuickBooks Id, including the SyncToken every update must echo back. A change order is a modification to the scope of work on an existing project estimate - additions or deletions to the contracted work that roll up into the project's total budget alongside the parent estimate. PRODUCT-GATED: US companies on QuickBooks Online Advanced with the Construction Pack, or Intuit Enterprise Suite, with the Projects feature enabled. Other companies get an error rather than an empty result.
Terms and payment methods
qbo_create_payment_method details
qbo_create_payment_method details
[QuickBooks Online] Create a payment method. A payment method is how money was received (cash, cheque, a card type). It cannot be deleted: set Active to false in an update to hide it, which leaves references to it intact. body is the entity record as a JSON object, the same shape a read returns.
qbo_create_term details
qbo_create_term details
[QuickBooks Online] Create a term. A term is the sales terms a document is issued under - net 30, or 2%/15 net 60, or an absolute due date - including any early-payment discount. body is the entity record as a JSON object, the same shape a read returns.
qbo_full_update_payment_method details
qbo_full_update_payment_method details
[QuickBooks Online] FULL update of a payment method. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A payment method is how money was received (cash, cheque, a card type). It cannot be deleted: set Active to false in an update to hide it, which leaves references to it intact. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_term details
qbo_full_update_term details
[QuickBooks Online] FULL update of a term. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A term is the sales terms a document is issued under - net 30, or 2%/15 net 60, or an absolute due date - including any early-payment discount. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_payment_method details
qbo_get_payment_method details
[QuickBooks Online] Read one payment method by its QuickBooks Id, including the SyncToken every update must echo back. A payment method is how money was received (cash, cheque, a card type). It cannot be deleted: set Active to false in an update to hide it, which leaves references to it intact.
qbo_get_term details
qbo_get_term details
[QuickBooks Online] Read one term by its QuickBooks Id, including the SyncToken every update must echo back. A term is the sales terms a document is issued under - net 30, or 2%/15 net 60, or an absolute due date - including any early-payment discount.
qbo_list_payment_methods details
qbo_list_payment_methods details
[QuickBooks Online] List payment methods with an optional WHERE clause. A payment method is how money was received (cash, cheque, a card type). It cannot be deleted: set Active to false in an update to hide it, which leaves references to it intact. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_list_terms details
qbo_list_terms details
[QuickBooks Online] List terms with an optional WHERE clause. A term is the sales terms a document is issued under - net 30, or 2%/15 net 60, or an absolute due date - including any early-payment discount. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Reimbursable charges
qbo_get_reimburse_charge details
qbo_get_reimburse_charge details
[QuickBooks Online] Read one reimbursable charge by its QuickBooks Id. A reimbursable charge is a billable expense - an expense or bill line marked Billable to a customer, waiting to be invoiced. READ-ONLY through the API.
qbo_list_reimburse_charges details
qbo_list_reimburse_charges details
[QuickBooks Online] List reimburse charges with an optional WHERE clause. A reimbursable charge is a billable expense - an expense or bill line marked Billable to a customer, waiting to be invoiced. READ-ONLY through the API. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Vendors
qbo_create_vendor details
qbo_create_vendor details
[QuickBooks Online] Create a vendor. A vendor is someone you buy from. The record carries the remit-to address, terms, tax id and the running Balance. body is the entity record as a JSON object, the same shape a read returns.
qbo_full_update_vendor details
qbo_full_update_vendor details
[QuickBooks Online] FULL update of a vendor. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A vendor is someone you buy from. The record carries the remit-to address, terms, tax id and the running Balance. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_vendor details
qbo_get_vendor details
[QuickBooks Online] Read one vendor by its QuickBooks Id, including the SyncToken every update must echo back. A vendor is someone you buy from. The record carries the remit-to address, terms, tax id and the running Balance.
qbo_list_vendors details
qbo_list_vendors details
[QuickBooks Online] List vendors with an optional WHERE clause. A vendor is someone you buy from. The record carries the remit-to address, terms, tax id and the running Balance. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Bills
qbo_create_bill details
qbo_create_bill details
[QuickBooks Online] Create a bill. A bill is a purchase on credit — what you owe a vendor and when. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_bill details
qbo_delete_bill details
[QuickBooks Online] Delete a bill. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. A bill is a purchase on credit — what you owe a vendor and when. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_bill details
qbo_full_update_bill details
[QuickBooks Online] FULL update of a bill. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A bill is a purchase on credit — what you owe a vendor and when. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_bill details
qbo_get_bill details
[QuickBooks Online] Read one bill by its QuickBooks Id, including the SyncToken every update must echo back. A bill is a purchase on credit — what you owe a vendor and when.
qbo_list_bills details
qbo_list_bills details
[QuickBooks Online] List bills with an optional WHERE clause. A bill is a purchase on credit — what you owe a vendor and when. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Bill payments
qbo_create_bill_payment details
qbo_create_bill_payment details
[QuickBooks Online] Create a bill payment. A bill payment records money paid to a vendor and, through its Line entries, which bills it settles. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_bill_payment details
qbo_delete_bill_payment details
[QuickBooks Online] Delete a bill payment. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. A bill payment records money paid to a vendor and, through its Line entries, which bills it settles. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_bill_payment details
qbo_full_update_bill_payment details
[QuickBooks Online] FULL update of a bill payment. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A bill payment records money paid to a vendor and, through its Line entries, which bills it settles. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_bill_payment details
qbo_get_bill_payment details
[QuickBooks Online] Read one bill payment by its QuickBooks Id, including the SyncToken every update must echo back. A bill payment records money paid to a vendor and, through its Line entries, which bills it settles.
qbo_list_bill_payments details
qbo_list_bill_payments details
[QuickBooks Online] List bill payments with an optional WHERE clause. A bill payment records money paid to a vendor and, through its Line entries, which bills it settles. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_void_bill_payment details
qbo_void_bill_payment details
[QuickBooks Online] Void a bill payment. The record stays in the books with zero amounts and a Voided stamp, which preserves the audit trail — but the amounts are gone and it cannot be undone. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
Expenses and purchases
qbo_create_purchase details
qbo_create_purchase details
[QuickBooks Online] Create a purchase. A purchase is an expense paid at the time - by cash, cheque or credit card, set by PaymentType. Every purchase must name an AccountRef, and TotalAmt must equal the sum of its line amounts. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_purchase details
qbo_delete_purchase details
[QuickBooks Online] Delete a purchase. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. A purchase is an expense paid at the time - by cash, cheque or credit card, set by PaymentType. Every purchase must name an AccountRef, and TotalAmt must equal the sum of its line amounts. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_purchase details
qbo_full_update_purchase details
[QuickBooks Online] FULL update of a purchase. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A purchase is an expense paid at the time - by cash, cheque or credit card, set by PaymentType. Every purchase must name an AccountRef, and TotalAmt must equal the sum of its line amounts. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_purchase details
qbo_get_purchase details
[QuickBooks Online] Read one purchase by its QuickBooks Id, including the SyncToken every update must echo back. A purchase is an expense paid at the time - by cash, cheque or credit card, set by PaymentType. Every purchase must name an AccountRef, and TotalAmt must equal the sum of its line amounts.
qbo_list_purchases details
qbo_list_purchases details
[QuickBooks Online] List purchases with an optional WHERE clause. A purchase is an expense paid at the time - by cash, cheque or credit card, set by PaymentType. Every purchase must name an AccountRef, and TotalAmt must equal the sum of its line amounts. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Purchase orders
qbo_create_purchase_order details
qbo_create_purchase_order details
[QuickBooks Online] Create a purchase order. A purchase order is a NON-POSTING request to buy goods or services from a third party. It changes no balance until it is matched to a bill. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_purchase_order details
qbo_delete_purchase_order details
[QuickBooks Online] Delete a purchase order. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. A purchase order is a NON-POSTING request to buy goods or services from a third party. It changes no balance until it is matched to a bill. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_purchase_order details
qbo_full_update_purchase_order details
[QuickBooks Online] FULL update of a purchase order. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A purchase order is a NON-POSTING request to buy goods or services from a third party. It changes no balance until it is matched to a bill. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_purchase_order details
qbo_get_purchase_order details
[QuickBooks Online] Read one purchase order by its QuickBooks Id, including the SyncToken every update must echo back. A purchase order is a NON-POSTING request to buy goods or services from a third party. It changes no balance until it is matched to a bill.
qbo_get_purchase_order_pdf details
qbo_get_purchase_order_pdf details
[QuickBooks Online] Download the rendered PDF of a purchase order. A file cannot cross the tool surface, so the answer is a JSON envelope carrying a TEMPORARY download link valid for 15 minutes, the content type, a suggested file name, the exact byte count and the expiry — fetch the link before it expires, because StackJack keeps no other copy. QuickBooks renders the document on demand from the transaction as it stands now and the company's current template, so it is a render rather than a stored copy.
qbo_list_purchase_orders details
qbo_list_purchase_orders details
[QuickBooks Online] List purchase orders with an optional WHERE clause. A purchase order is a NON-POSTING request to buy goods or services from a third party. It changes no balance until it is matched to a bill. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_send_purchase_order details
qbo_send_purchase_order details
[QuickBooks Online] EMAIL the purchase order to a real person. QuickBooks sends it immediately and there is no recall. Omit sendTo to use the email address stored on the document; supply sendTo to override it. Sending also stamps the document EmailSent. The recipient of this one is your VENDOR, not a customer.
Vendor credits
qbo_create_vendor_credit details
qbo_create_vendor_credit details
[QuickBooks Online] Create a vendor credit. A vendor credit is an accounts-payable transaction recording a refund or credit a vendor owes you - an overpaid bill, returned merchandise, and so on. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_vendor_credit details
qbo_delete_vendor_credit details
[QuickBooks Online] Delete a vendor credit. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. A vendor credit is an accounts-payable transaction recording a refund or credit a vendor owes you - an overpaid bill, returned merchandise, and so on. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_vendor_credit details
qbo_full_update_vendor_credit details
[QuickBooks Online] FULL update of a vendor credit. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A vendor credit is an accounts-payable transaction recording a refund or credit a vendor owes you - an overpaid bill, returned merchandise, and so on. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_vendor_credit details
qbo_get_vendor_credit details
[QuickBooks Online] Read one vendor credit by its QuickBooks Id, including the SyncToken every update must echo back. A vendor credit is an accounts-payable transaction recording a refund or credit a vendor owes you - an overpaid bill, returned merchandise, and so on.
qbo_list_vendor_credits details
qbo_list_vendor_credits details
[QuickBooks Online] List vendor credits with an optional WHERE clause. A vendor credit is an accounts-payable transaction recording a refund or credit a vendor owes you - an overpaid bill, returned merchandise, and so on. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Chart of accounts
qbo_create_account details
qbo_create_account details
[QuickBooks Online] Create an account. An account is a line in the chart of accounts. Deleting one is NOT possible: set Active to false with an update instead, which hides it without removing its history. body is the entity record as a JSON object, the same shape a read returns.
qbo_full_update_account details
qbo_full_update_account details
[QuickBooks Online] FULL update of an account. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. An account is a line in the chart of accounts. Deleting one is NOT possible: set Active to false with an update instead, which hides it without removing its history. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_account details
qbo_get_account details
[QuickBooks Online] Read one account by its QuickBooks Id, including the SyncToken every update must echo back. An account is a line in the chart of accounts. Deleting one is NOT possible: set Active to false with an update instead, which hides it without removing its history.
qbo_list_accounts details
qbo_list_accounts details
[QuickBooks Online] List accounts with an optional WHERE clause. An account is a line in the chart of accounts. Deleting one is NOT possible: set Active to false with an update instead, which hides it without removing its history. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Journal entries
qbo_create_journal_entry details
qbo_create_journal_entry details
[QuickBooks Online] Create a journal entry. A journal entry posts debits and credits directly to accounts. Totals must balance or QuickBooks rejects it. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_journal_entry details
qbo_delete_journal_entry details
[QuickBooks Online] Delete a journal entry. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. A journal entry posts debits and credits directly to accounts. Totals must balance or QuickBooks rejects it. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_journal_entry details
qbo_full_update_journal_entry details
[QuickBooks Online] FULL update of a journal entry. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. Prefer qbo_update_journal_entry, which changes only what you send. A journal entry posts debits and credits directly to accounts. Totals must balance or QuickBooks rejects it. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_journal_entry details
qbo_get_journal_entry details
[QuickBooks Online] Read one journal entry by its QuickBooks Id, including the SyncToken every update must echo back. A journal entry posts debits and credits directly to accounts. Totals must balance or QuickBooks rejects it.
qbo_list_journal_entries details
qbo_list_journal_entries details
[QuickBooks Online] List journal entries with an optional WHERE clause. A journal entry posts debits and credits directly to accounts. Totals must balance or QuickBooks rejects it. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_update_journal_entry details
qbo_update_journal_entry details
[QuickBooks Online] SPARSE update of a journal entry — only the fields you send are changed and every omitted field is left alone. This is the safe update and the one to reach for. A journal entry posts debits and credits directly to accounts. Totals must balance or QuickBooks rejects it. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
Items and services
qbo_create_item details
qbo_create_item details
[QuickBooks Online] Create an item. An item is a product or service you sell or buy. Categories and bundles are Items too — they differ only by the Type field on the same endpoint. body is the entity record as a JSON object, the same shape a read returns.
qbo_full_update_item details
qbo_full_update_item details
[QuickBooks Online] FULL update of an item. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. An item is a product or service you sell or buy. Categories and bundles are Items too — they differ only by the Type field on the same endpoint. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_item details
qbo_get_item details
[QuickBooks Online] Read one item by its QuickBooks Id, including the SyncToken every update must echo back. An item is a product or service you sell or buy. Categories and bundles are Items too — they differ only by the Type field on the same endpoint.
qbo_list_items details
qbo_list_items details
[QuickBooks Online] List items with an optional WHERE clause. An item is a product or service you sell or buy. Categories and bundles are Items too — they differ only by the Type field on the same endpoint. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Classes and departments
qbo_create_class details
qbo_create_class details
[QuickBooks Online] Create a class. A class tracks a segment of the business that is not tied to one client or project, so income and expense can be broken down by segment. A class applies to a whole transaction or to individual lines. Requires class tracking to be switched on in the company's preferences. body is the entity record as a JSON object, the same shape a read returns.
qbo_create_department details
qbo_create_department details
[QuickBooks Online] Create a department. A department tracks transactions by physical location - a store, a sales region, a country. It cannot be deleted: set Active to false in an update, which hides it and leaves references intact. body is the entity record as a JSON object, the same shape a read returns.
qbo_full_update_class details
qbo_full_update_class details
[QuickBooks Online] FULL update of a class. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A class tracks a segment of the business that is not tied to one client or project, so income and expense can be broken down by segment. A class applies to a whole transaction or to individual lines. Requires class tracking to be switched on in the company's preferences. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_department details
qbo_full_update_department details
[QuickBooks Online] FULL update of a department. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A department tracks transactions by physical location - a store, a sales region, a country. It cannot be deleted: set Active to false in an update, which hides it and leaves references intact. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_class details
qbo_get_class details
[QuickBooks Online] Read one class by its QuickBooks Id, including the SyncToken every update must echo back. A class tracks a segment of the business that is not tied to one client or project, so income and expense can be broken down by segment. A class applies to a whole transaction or to individual lines. Requires class tracking to be switched on in the company's preferences.
qbo_get_department details
qbo_get_department details
[QuickBooks Online] Read one department by its QuickBooks Id, including the SyncToken every update must echo back. A department tracks transactions by physical location - a store, a sales region, a country. It cannot be deleted: set Active to false in an update, which hides it and leaves references intact.
qbo_list_classes details
qbo_list_classes details
[QuickBooks Online] List classes with an optional WHERE clause. A class tracks a segment of the business that is not tied to one client or project, so income and expense can be broken down by segment. A class applies to a whole transaction or to individual lines. Requires class tracking to be switched on in the company's preferences. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_list_departments details
qbo_list_departments details
[QuickBooks Online] List departments with an optional WHERE clause. A department tracks transactions by physical location - a store, a sales region, a country. It cannot be deleted: set Active to false in an update, which hides it and leaves references intact. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Banking
qbo_create_credit_card_payment details
qbo_create_credit_card_payment details
[QuickBooks Online] Create a credit card payment. A credit card payment moves money from a bank account to a credit card account to pay down its balance. It is a more limited form of a transfer. body is the entity record as a JSON object, the same shape a read returns.
qbo_create_deposit details
qbo_create_deposit details
[QuickBooks Online] Create a deposit. A deposit records money banked: customer payments held in Undeposited Funds moved into an asset account, or direct deposits recorded on their own lines. body is the entity record as a JSON object, the same shape a read returns.
qbo_create_transfer details
qbo_create_transfer details
[QuickBooks Online] Create a transfer. A transfer moves funds between two accounts in the company's own chart of accounts. It is not a payment to anyone. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_credit_card_payment details
qbo_delete_credit_card_payment details
[QuickBooks Online] Delete a credit card payment. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. A credit card payment moves money from a bank account to a credit card account to pay down its balance. It is a more limited form of a transfer. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_delete_deposit details
qbo_delete_deposit details
[QuickBooks Online] Delete a deposit. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. A deposit records money banked: customer payments held in Undeposited Funds moved into an asset account, or direct deposits recorded on their own lines. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_delete_transfer details
qbo_delete_transfer details
[QuickBooks Online] Delete a transfer. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. A transfer moves funds between two accounts in the company's own chart of accounts. It is not a payment to anyone. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_credit_card_payment details
qbo_full_update_credit_card_payment details
[QuickBooks Online] FULL update of a credit card payment. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. Prefer qbo_update_credit_card_payment, which changes only what you send. A credit card payment moves money from a bank account to a credit card account to pay down its balance. It is a more limited form of a transfer. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_deposit details
qbo_full_update_deposit details
[QuickBooks Online] FULL update of a deposit. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. Prefer qbo_update_deposit, which changes only what you send. A deposit records money banked: customer payments held in Undeposited Funds moved into an asset account, or direct deposits recorded on their own lines. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_transfer details
qbo_full_update_transfer details
[QuickBooks Online] FULL update of a transfer. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. Prefer qbo_update_transfer, which changes only what you send. A transfer moves funds between two accounts in the company's own chart of accounts. It is not a payment to anyone. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_credit_card_payment details
qbo_get_credit_card_payment details
[QuickBooks Online] Read one credit card payment by its QuickBooks Id, including the SyncToken every update must echo back. A credit card payment moves money from a bank account to a credit card account to pay down its balance. It is a more limited form of a transfer.
qbo_get_deposit details
qbo_get_deposit details
[QuickBooks Online] Read one deposit by its QuickBooks Id, including the SyncToken every update must echo back. A deposit records money banked: customer payments held in Undeposited Funds moved into an asset account, or direct deposits recorded on their own lines.
qbo_get_transfer details
qbo_get_transfer details
[QuickBooks Online] Read one transfer by its QuickBooks Id, including the SyncToken every update must echo back. A transfer moves funds between two accounts in the company's own chart of accounts. It is not a payment to anyone.
qbo_list_credit_card_payments details
qbo_list_credit_card_payments details
[QuickBooks Online] List credit card payments with an optional WHERE clause. A credit card payment moves money from a bank account to a credit card account to pay down its balance. It is a more limited form of a transfer. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_list_deposits details
qbo_list_deposits details
[QuickBooks Online] List deposits with an optional WHERE clause. A deposit records money banked: customer payments held in Undeposited Funds moved into an asset account, or direct deposits recorded on their own lines. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_list_transfers details
qbo_list_transfers details
[QuickBooks Online] List transfers with an optional WHERE clause. A transfer moves funds between two accounts in the company's own chart of accounts. It is not a payment to anyone. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_update_credit_card_payment details
qbo_update_credit_card_payment details
[QuickBooks Online] SPARSE update of a credit card payment — only the fields you send are changed and every omitted field is left alone. This is the safe update and the one to reach for. A credit card payment moves money from a bank account to a credit card account to pay down its balance. It is a more limited form of a transfer. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_update_deposit details
qbo_update_deposit details
[QuickBooks Online] SPARSE update of a deposit — only the fields you send are changed and every omitted field is left alone. This is the safe update and the one to reach for. A deposit records money banked: customer payments held in Undeposited Funds moved into an asset account, or direct deposits recorded on their own lines. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_update_transfer details
qbo_update_transfer details
[QuickBooks Online] SPARSE update of a transfer — only the fields you send are changed and every omitted field is left alone. This is the safe update and the one to reach for. A transfer moves funds between two accounts in the company's own chart of accounts. It is not a payment to anyone. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
Budgets
qbo_create_budget details
qbo_create_budget details
[QuickBooks Online] Create a budget. A budget assigns an expected amount to an account or customer per month, quarter or year, which is what the budget-versus-actual reports measure against. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_budget details
qbo_delete_budget details
[QuickBooks Online] Delete a budget. This removes the budget and the figures in it and cannot be undone; the transactions it was measured against are untouched. A budget assigns an expected amount to an account or customer per month, quarter or year, which is what the budget-versus-actual reports measure against. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_budget details
qbo_full_update_budget details
[QuickBooks Online] FULL update of a budget. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A budget assigns an expected amount to an account or customer per month, quarter or year, which is what the budget-versus-actual reports measure against. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_budget details
qbo_get_budget details
[QuickBooks Online] Read one budget by its QuickBooks Id, including the SyncToken every update must echo back. A budget assigns an expected amount to an account or customer per month, quarter or year, which is what the budget-versus-actual reports measure against.
qbo_list_budgets details
qbo_list_budgets details
[QuickBooks Online] List budgets with an optional WHERE clause. A budget assigns an expected amount to an account or customer per month, quarter or year, which is what the budget-versus-actual reports measure against. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Recurring transactions
qbo_create_recurring_transaction details
qbo_create_recurring_transaction details
[QuickBooks Online] Create a recurring transaction. A recurring transaction is a scheduled template - a transaction QuickBooks creates on a schedule, a reminder, or a template kept for later use. PRODUCT-GATED: QuickBooks Online Essentials and Plus. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_recurring_transaction details
qbo_delete_recurring_transaction details
[QuickBooks Online] Delete a recurring transaction. This removes the TEMPLATE and its schedule and cannot be undone, so QuickBooks creates no further transactions from it; transactions it has already created stay in the books. A recurring transaction is a scheduled template - a transaction QuickBooks creates on a schedule, a reminder, or a template kept for later use. PRODUCT-GATED: QuickBooks Online Essentials and Plus. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_recurring_transaction details
qbo_get_recurring_transaction details
[QuickBooks Online] Read one recurring transaction by its QuickBooks Id. A recurring transaction is a scheduled template - a transaction QuickBooks creates on a schedule, a reminder, or a template kept for later use. PRODUCT-GATED: QuickBooks Online Essentials and Plus.
qbo_list_recurring_transactions details
qbo_list_recurring_transactions details
[QuickBooks Online] List recurring transactions with an optional WHERE clause. A recurring transaction is a scheduled template - a transaction QuickBooks creates on a schedule, a reminder, or a template kept for later use. PRODUCT-GATED: QuickBooks Online Essentials and Plus. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Inventory
qbo_create_inventory_adjustment details
qbo_create_inventory_adjustment details
[QuickBooks Online] Create an inventory adjustment. An inventory adjustment changes the quantity on hand of inventory items for damage, write-off, shrinkage or expiry, and handles the underlying accounting and valuation itself. PRODUCT-GATED: US companies on QuickBooks Online Plus or Advanced. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_inventory_adjustment details
qbo_delete_inventory_adjustment details
[QuickBooks Online] Delete an inventory adjustment. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. An inventory adjustment changes the quantity on hand of inventory items for damage, write-off, shrinkage or expiry, and handles the underlying accounting and valuation itself. PRODUCT-GATED: US companies on QuickBooks Online Plus or Advanced. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_inventory_adjustment details
qbo_get_inventory_adjustment details
[QuickBooks Online] Read one inventory adjustment by its QuickBooks Id, including the SyncToken every update must echo back. An inventory adjustment changes the quantity on hand of inventory items for damage, write-off, shrinkage or expiry, and handles the underlying accounting and valuation itself. PRODUCT-GATED: US companies on QuickBooks Online Plus or Advanced.
qbo_update_inventory_adjustment details
qbo_update_inventory_adjustment details
[QuickBooks Online] SPARSE update of an inventory adjustment — only the fields you send are changed and every omitted field is left alone. This is the safe update and the one to reach for. An inventory adjustment changes the quantity on hand of inventory items for damage, write-off, shrinkage or expiry, and handles the underlying accounting and valuation itself. PRODUCT-GATED: US companies on QuickBooks Online Plus or Advanced. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
Currency
qbo_create_company_currency details
qbo_create_company_currency details
[QuickBooks Online] Create a company currency. A company currency is a currency active in this QuickBooks company - the list the Currency Center shows. PRODUCT-GATED: only companies with multicurrency enabled have any. body is the entity record as a JSON object, the same shape a read returns.
qbo_full_update_company_currency details
qbo_full_update_company_currency details
[QuickBooks Online] FULL update of a company currency. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A company currency is a currency active in this QuickBooks company - the list the Currency Center shows. PRODUCT-GATED: only companies with multicurrency enabled have any. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_company_currency details
qbo_get_company_currency details
[QuickBooks Online] Read one company currency by its QuickBooks Id, including the SyncToken every update must echo back. A company currency is a currency active in this QuickBooks company - the list the Currency Center shows. PRODUCT-GATED: only companies with multicurrency enabled have any.
qbo_get_exchange_rate details
qbo_get_exchange_rate details
[QuickBooks Online] Read the rate held for ONE source currency, optionally as at a date. This is a bespoke route, not the query one: the query lists stored Exchangerate objects, while this answers the rate in force for a currency — today's, when asOfDate is omitted. An exchange rate is the rate held for a source currency against the company's home currency on a date. PRODUCT-GATED: only companies with multicurrency enabled have any.
qbo_list_company_currencies details
qbo_list_company_currencies details
[QuickBooks Online] List company currencies with an optional WHERE clause. A company currency is a currency active in this QuickBooks company - the list the Currency Center shows. PRODUCT-GATED: only companies with multicurrency enabled have any. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_list_exchange_rates details
qbo_list_exchange_rates details
[QuickBooks Online] List exchange rates with an optional WHERE clause. An exchange rate is the rate held for a source currency against the company's home currency on a date. PRODUCT-GATED: only companies with multicurrency enabled have any. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_update_exchange_rate details
qbo_update_exchange_rate details
[QuickBooks Online] Set the rate for a source currency as at a date. This REPLACES the rate held for that currency and date: the previous value is not kept, the change cannot be undone, and every conversion made afterwards uses the new rate. SourceCurrencyCode, Rate and AsOfDate are mandatory; TargetCurrencyCode defaults to the home currency. A rate where source and target are the same is forced to 1, and setting a rate for the home currency itself is a validation error. An exchange rate is the rate held for a source currency against the company's home currency on a date. PRODUCT-GATED: only companies with multicurrency enabled have any. body is the entity record as a JSON object, the same shape a read returns.
Tax codes and rates
qbo_create_tax_service details
qbo_create_tax_service details
[QuickBooks Online] Create a tax service. The tax service is the ONLY way to create sales-tax setup through the API: it creates a new tax code together with the tax rates attached to it, minting a rate dynamically when the rate you name does not exist yet. body is the taxservice request as a JSON object: TaxCodeName plus a TaxRateDetails array, each entry naming an existing rate or the name, rate value and agency of one to mint.
qbo_get_tax_code details
qbo_get_tax_code details
[QuickBooks Online] Read one tax code by its QuickBooks Id. A tax code tracks the taxable or non-taxable status of a product, a service or a customer, and is what the tax reports group by. READ-ONLY through this resource: a tax code is CREATED through the tax service (qbo_create_tax_service).
qbo_get_tax_rate details
qbo_get_tax_rate details
[QuickBooks Online] Read one tax rate by its QuickBooks Id. A tax rate is the percentage applied to calculate a tax liability, tied to the agency that collects it. READ-ONLY through this resource: a tax rate is CREATED through the tax service (qbo_create_tax_service).
qbo_list_tax_codes details
qbo_list_tax_codes details
[QuickBooks Online] List tax codes with an optional WHERE clause. A tax code tracks the taxable or non-taxable status of a product, a service or a customer, and is what the tax reports group by. READ-ONLY through this resource: a tax code is CREATED through the tax service (qbo_create_tax_service). The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_list_tax_rates details
qbo_list_tax_rates details
[QuickBooks Online] List tax rates with an optional WHERE clause. A tax rate is the percentage applied to calculate a tax liability, tied to the agency that collects it. READ-ONLY through this resource: a tax rate is CREATED through the tax service (qbo_create_tax_service). The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Tax classifications
qbo_get_tax_classification details
qbo_get_tax_classification details
[QuickBooks Online] Read one tax classification by its QuickBooks Id. A tax classification is the category an item belongs to for tax purposes - 'Fuel', 'Garments', 'Soft drinks' - and is one of the inputs that decides the tax on a transaction involving that item. The classifications come from the tax authority or a tax service, not from the company, and they form a HIERARCHY rather than a flat list.
qbo_list_tax_classification_children details
qbo_list_tax_classification_children details
[QuickBooks Online] List the direct children of one tax classification — the way down the tree from a parent you already have. No paging: the children come back whole. A tax classification is the category an item belongs to for tax purposes - 'Fuel', 'Garments', 'Soft drinks' - and is one of the inputs that decides the tax on a transaction involving that item. The classifications come from the tax authority or a tax service, not from the company, and they form a HIERARCHY rather than a flat list.
qbo_list_tax_classifications details
qbo_list_tax_classifications details
[QuickBooks Online] List EVERY tax classification in the company. This route takes no filter and NO PAGING — Intuit answers the whole collection in one response, so a company with a large classification tree returns a large body. Narrow it with qbo_list_tax_classifications_by_level, or walk the tree a level at a time with qbo_list_tax_classification_children. A tax classification is the category an item belongs to for tax purposes - 'Fuel', 'Garments', 'Soft drinks' - and is one of the inputs that decides the tax on a transaction involving that item. The classifications come from the tax authority or a tax service, not from the company, and they form a HIERARCHY rather than a flat list.
qbo_list_tax_classifications_by_level details
qbo_list_tax_classifications_by_level details
[QuickBooks Online] List the tax classifications at ONE level of the hierarchy — the way to see the top of the tree without pulling all of it. No paging: the level comes back whole. A tax classification is the category an item belongs to for tax purposes - 'Fuel', 'Garments', 'Soft drinks' - and is one of the inputs that decides the tax on a transaction involving that item. The classifications come from the tax authority or a tax service, not from the company, and they form a HIERARCHY rather than a flat list.
Tax agencies
qbo_create_tax_agency details
qbo_create_tax_agency details
[QuickBooks Online] Create a tax agency. A tax agency is the body that collects a tax rate's tax. US companies see only agencies QuickBooks created itself. body is the entity record as a JSON object, the same shape a read returns.
qbo_get_tax_agency details
qbo_get_tax_agency details
[QuickBooks Online] Read one tax agency by its QuickBooks Id. A tax agency is the body that collects a tax rate's tax. US companies see only agencies QuickBooks created itself.
qbo_list_tax_agencies details
qbo_list_tax_agencies details
[QuickBooks Online] List tax agencies with an optional WHERE clause. A tax agency is the body that collects a tax rate's tax. US companies see only agencies QuickBooks created itself. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Tax payments
qbo_get_tax_payment details
qbo_get_tax_payment details
[QuickBooks Online] Read one tax payment by its QuickBooks Id. A tax payment is a payment or refund made against a filed tax return. PRODUCT-GATED: AU, CA and UK companies only. READ-ONLY through the API.
qbo_list_tax_payments details
qbo_list_tax_payments details
[QuickBooks Online] List tax payments with an optional WHERE clause. A tax payment is a payment or refund made against a filed tax return. PRODUCT-GATED: AU, CA and UK companies only. READ-ONLY through the API. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Time activities
qbo_create_time_activity details
qbo_create_time_activity details
[QuickBooks Online] Create a time activity. A time activity is a record of time worked by an employee or a vendor - the timesheet line that becomes billable time on an invoice. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_time_activity details
qbo_delete_time_activity details
[QuickBooks Online] Delete a time activity. This removes the transaction from the company's books and cannot be undone; where the entity can be VOIDED instead, voiding keeps the audit trail and is usually what an accountant wants. A time activity is a record of time worked by an employee or a vendor - the timesheet line that becomes billable time on an invoice. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_time_activity details
qbo_full_update_time_activity details
[QuickBooks Online] FULL update of a time activity. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. A time activity is a record of time worked by an employee or a vendor - the timesheet line that becomes billable time on an invoice. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_time_activity details
qbo_get_time_activity details
[QuickBooks Online] Read one time activity by its QuickBooks Id, including the SyncToken every update must echo back. A time activity is a record of time worked by an employee or a vendor - the timesheet line that becomes billable time on an invoice.
qbo_list_time_activities details
qbo_list_time_activities details
[QuickBooks Online] List time activities with an optional WHERE clause. A time activity is a record of time worked by an employee or a vendor - the timesheet line that becomes billable time on an invoice. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Employees
qbo_create_employee details
qbo_create_employee details
[QuickBooks Online] Create an employee. An employee is a person working for the company. DisplayName must be unique across every customer, vendor and employee, GivenName and FamilyName are required, and none of the name fields may contain a colon, tab or newline. When QuickBooks Payroll is enabled some attributes become read-only. A contractor is NOT an employee: create a vendor with Vendor1099 set to true. body is the entity record as a JSON object, the same shape a read returns.
qbo_full_update_employee details
qbo_full_update_employee details
[QuickBooks Online] FULL update of an employee. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. An employee is a person working for the company. DisplayName must be unique across every customer, vendor and employee, GivenName and FamilyName are required, and none of the name fields may contain a colon, tab or newline. When QuickBooks Payroll is enabled some attributes become read-only. A contractor is NOT an employee: create a vendor with Vendor1099 set to true. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_employee details
qbo_get_employee details
[QuickBooks Online] Read one employee by its QuickBooks Id, including the SyncToken every update must echo back. An employee is a person working for the company. DisplayName must be unique across every customer, vendor and employee, GivenName and FamilyName are required, and none of the name fields may contain a colon, tab or newline. When QuickBooks Payroll is enabled some attributes become read-only. A contractor is NOT an employee: create a vendor with Vendor1099 set to true.
qbo_list_employees details
qbo_list_employees details
[QuickBooks Online] List employees with an optional WHERE clause. An employee is a person working for the company. DisplayName must be unique across every customer, vendor and employee, GivenName and FamilyName are required, and none of the name fields may contain a colon, tab or newline. When QuickBooks Payroll is enabled some attributes become read-only. A contractor is NOT an employee: create a vendor with Vendor1099 set to true. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
Company profile
qbo_full_update_company_info details
qbo_full_update_company_info details
[QuickBooks Online] FULL update of the company profile. DATA LOSS WARNING: every writable field omitted from the body is set to NULL, and this record is the company's own identity — prefer qbo_update_company_info. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_preferences details
qbo_full_update_preferences details
[QuickBooks Online] FULL update of the company's preferences. DATA LOSS WARNING: this entity offers NO sparse update, so every writable field omitted from the body is set to NULL — read qbo_get_preferences first and echo the whole record back. Preferences change how the company behaves for every user, not just for the API. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_company_info details
qbo_get_company_info details
[QuickBooks Online] Read the connected QuickBooks company: legal and trading name, addresses, fiscal year start, country and the company's own Id (the realm). This is also the credential-validation call, so it is the cheapest way to confirm a connection is alive.
qbo_get_entitlements details
qbo_get_entitlements details
[QuickBooks Online] Read which QuickBooks features this company is entitled to — the superset of what its subscription carries, before preferences and per-user permissions narrow it further. This is the read that answers WHY a product-gated entity refuses a call: change orders, inventory adjustments, recurring transactions and everything multicurrency are all subscription-gated. TWO oddities, both Intuit's: the response is XML rather than JSON, because this resource accepts no application/json header at all, and the route lives outside the /v3/company/ path every other call uses.
qbo_get_preferences details
qbo_get_preferences details
[QuickBooks Online] Read the company's preference settings — which features are on, the numbering and default terms, sales-form and tax behavior. Read this before writing transactions: it tells you whether classes, departments, multi-currency or inventory are even enabled in this company.
qbo_update_company_info details
qbo_update_company_info details
[QuickBooks Online] SPARSE update of the company profile — only the fields you send are changed. Most of the record is read-only in the API; addresses and contact details are the practical targets. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
Sync
qbo_get_changed_entities details
qbo_get_changed_entities details
[QuickBooks Online] Change Data Capture — everything of the named entity types created, updated or deleted since a timestamp. This is the incremental-sync primitive: use it instead of re-listing whole entities to answer 'what changed'. The window reaches back at most 30 days. entities is a comma-separated list of QuickBooks entity names (case sensitive, for example "Customer,Invoice,Payment") and changedSince is an ISO-8601 timestamp no more than 30 days old.
qbo_query details
qbo_query details
[QuickBooks Online] Run a QuickBooks query against any entity. The query language is NOT SQL: SELECT * or SELECT count(*) only (no projections), no OR in a WHERE clause, no JOIN, no GROUP BY, LIKE supports only the % wildcard, Id accepts only = and IN, null is written as ' ' (a space in single quotes), entity names are CASE SENSITIVE, and one query covers exactly one entity. Page with STARTPOSITION n MAXRESULTS n (maximum 1000); a page shorter than MAXRESULTS is the last one.
Attachments
qbo_create_attachment details
qbo_create_attachment details
[QuickBooks Online] Create an attachment. An attachment is supplemental information linked to a transaction or an item - a file, a note, or both. A NOTE is created with qbo_create_attachment; a FILE is uploaded with qbo_upload_attachment, which is the only route that carries bytes. body is the entity record as a JSON object, the same shape a read returns.
qbo_delete_attachment details
qbo_delete_attachment details
[QuickBooks Online] Delete an attachment. This removes the attachment itself and cannot be undone; the transaction or item it was linked to is untouched. An attachment is supplemental information linked to a transaction or an item - a file, a note, or both. A NOTE is created with qbo_create_attachment; a FILE is uploaded with qbo_upload_attachment, which is the only route that carries bytes. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_full_update_attachment details
qbo_full_update_attachment details
[QuickBooks Online] FULL update of an attachment. DATA LOSS WARNING: QuickBooks sets every writable field you omit to NULL, so the body must repeat the whole record exactly as a read returned it. This entity offers no sparse update, so read the record first and echo every writable field back. An attachment is supplemental information linked to a transaction or an item - a file, a note, or both. A NOTE is created with qbo_create_attachment; a FILE is uploaded with qbo_upload_attachment, which is the only route that carries bytes. body is the entity record as a JSON object, the same shape a read returns. The body must carry the record's Id and SyncToken. Send the SyncToken from the most recent read of this record; an older one is rejected, and the fix is to re-read and retry rather than to retry the same body.
qbo_get_attachment details
qbo_get_attachment details
[QuickBooks Online] Read one attachment by its QuickBooks Id, including the SyncToken every update must echo back. An attachment is supplemental information linked to a transaction or an item - a file, a note, or both. A NOTE is created with qbo_create_attachment; a FILE is uploaded with qbo_upload_attachment, which is the only route that carries bytes.
qbo_get_attachment_download_url details
qbo_get_attachment_download_url details
[QuickBooks Online] Get a temporary download URL for one attachment. The response is the URL ITSELF as plain text — not JSON, and not the file, which is downloaded as a separate step. The URL EXPIRES AFTER 15 MINUTES and anyone holding it can read that file until it does, so fetch it straight away and do not cache it, log it or pass it on.
qbo_list_attachments details
qbo_list_attachments details
[QuickBooks Online] List attachments with an optional WHERE clause. An attachment is supplemental information linked to a transaction or an item - a file, a note, or both. A NOTE is created with qbo_create_attachment; a FILE is uploaded with qbo_upload_attachment, which is the only route that carries bytes. The WHERE fragment is QuickBooks query syntax, not SQL: no OR, no JOIN, LIKE with only the % wildcard, Id only with = or IN, and string literals in single quotes. Paging is STARTPOSITION/MAXRESULTS inside the query — there is no cursor and no total, so a page shorter than maxResults is the last one. maxResults is capped at 1000.
qbo_upload_attachment details
qbo_upload_attachment details
[QuickBooks Online] Upload a FILE to the company's attachment list and, optionally, link it to a transaction or an item in the same call. Provide the file EITHER as base64 in contentBase64 OR as a public https URL in sourceUrl — exactly one of the two, never both. Supply attachableMetadata to say what the file attaches to (an Attachable record carrying AttachableRef.EntityRef with the target's type and Id); omit it and QuickBooks creates the metadata itself and the file is linked to nothing. This is the only QuickBooks route that carries bytes — a NOTE attachment is qbo_create_attachment instead. Maximum 25 MB decoded. StackJack fetches an https sourceUrl server-side and refuses a non-https URL, a redirect that changes host, or anything over the cap. attachableMetadata, when supplied, is an Attachable record as a JSON object.
Platform operations
qbo_batch details
qbo_batch details
[QuickBooks Online] Run up to 30 QuickBooks operations in ONE request. DESTRUCTIVE BY CONSTRUCTION: a batch item may be ANY operation — a create, a full update that NULLs every omitted field, a delete, a void — and StackJack does not inspect the payload, so one approval of this tool covers whatever the items turn out to be, and what they do cannot be undone. Reach for it when the round trips are the problem, and prefer the typed tool for a single operation, which states its own consequence. The body is {"BatchItemRequest":[...]} with each entry carrying its own bId, the operation and the entity. A batch answers 200 EVEN WHEN ITEMS FAIL — a failed entry carries a Fault inside its BatchItemResponse, so check every entry rather than the status code. Intuit budgets batch separately: 40 batch calls per minute per company. body is the batch request as a JSON object: {"BatchItemRequest":[{"bId":"1", …}]}.
More in Tools Reference
Atera ToolsAuvik ToolsAvanan (Check Point Harmony Email) ToolsConnectWise Sell ToolsStill need help? Ask the team