QuickBooks Online
App · Accounting & Finance · 79 actions · 7 triggers
Invoice customers, record payments, bills and expenses, and run reports in QuickBooks Online.
Triggers
Start a workflow when something happens in QuickBooks Online. See how triggers work.
New QuickBooks customer
Runs when a customer is added in QuickBooks Online.
Event fields
What a run starts with. Later steps read each field with an @ reference.
idtextdisplay_nametextcompany_nametextemailtextphonetextbalancenumbercreated_attextrecordobject
New QuickBooks vendor
Runs when a vendor is added in QuickBooks Online.
Event fields
What a run starts with. Later steps read each field with an @ reference.
idtextdisplay_nametextcompany_nametextemailtextphonetextbalancenumbercreated_attextrecordobject
New QuickBooks invoice
Runs when an invoice is created in QuickBooks Online.
Event fields
What a run starts with. Later steps read each field with an @ reference.
idtextdoc_numbertextcustomer_idtextcustomer_nametexttotalnumberbalancenumbertxn_datetextdue_datetextemailtextcurrencytextcreated_attextrecordobject
QuickBooks invoice paid
Runs when a customer payment pays off an invoice in QuickBooks Online.
Event fields
What a run starts with. Later steps read each field with an @ reference.
idtextdoc_numbertextcustomer_idtextcustomer_nametexttotalnumbertxn_datetextdue_datetextcurrencytextpayment_idtextpayment_datetextpaid_attextrecordobject
New QuickBooks payment
Runs when a customer payment is recorded in QuickBooks Online.
Event fields
What a run starts with. Later steps read each field with an @ reference.
idtextcustomer_idtextcustomer_nametexttotalnumberunappliednumbertxn_datetextinvoice_idslistcurrencytextcreated_attextrecordobject
New QuickBooks bill
Runs when a bill is entered in QuickBooks Online.
Event fields
What a run starts with. Later steps read each field with an @ reference.
idtextdoc_numbertextvendor_idtextvendor_nametexttotalnumberbalancenumbertxn_datetextdue_datetextcurrencytextcreated_attextrecordobject
New QuickBooks estimate
Runs when an estimate is created in QuickBooks Online.
Event fields
What a run starts with. Later steps read each field with an @ reference.
idtextdoc_numbertextcustomer_idtextcustomer_nametexttotalnumberstatustexttxn_datetextexpiration_datetextemailtextcurrencytextcreated_attextrecordobject
Actions
| Action | What it does |
|---|---|
| Add a note in QuickBooks | Attach a text note to a transaction or contact. |
| Attach a file in QuickBooks | Upload a file, such as a receipt or a signed contract, and attach it to a transaction or contact. |
| Convert a QuickBooks estimate to an invoice | Invoice an accepted estimate: creates an invoice with the estimate's customer and lines, linked back to it, and QuickBooks closes the estimate. |
| Create a QuickBooks account | Add an account to the chart of accounts, such as a new bank account or expense category. |
| Create a QuickBooks bill | Record a bill a vendor sent you, to pay later with 'Pay a QuickBooks bill'. |
| Create a QuickBooks credit memo | Give a customer credit, for a return or an overcharge, that can be applied to their invoices with 'Create a QuickBooks payment'. |
| Create a QuickBooks customer | Create a new customer in QuickBooks Online. |
| Create a QuickBooks deposit | Record a bank deposit. |
| Create a QuickBooks estimate | Create an estimate (quote) for a customer, with one line from the line fields or several from Line items. |
| Create a QuickBooks expense | Record money already spent: a card charge, a check or a cash purchase. |
| Create a QuickBooks invoice | Create an invoice for a customer, with one line from the line fields or several from Line items. |
| Create a QuickBooks item | Add a product or service to sell or buy. |
| Create a QuickBooks journal entry | Post a journal entry. |
| Create a QuickBooks payment | Record a payment in QuickBooks Online, optionally linked to an invoice. |
| Create a QuickBooks purchase order | Order goods or services from a vendor. |
| Create a QuickBooks refund receipt | Refund a customer: record money paid back to them out of a bank account. |
| Create a QuickBooks sales receipt | Record a sale that was paid for at the time, so no invoice is needed. |
| Create a QuickBooks time activity | Log time an employee or contractor worked, optionally billable to a customer. |
| Create a QuickBooks transfer | Move money between two of the company's accounts, such as checking to savings. |
| Create a QuickBooks vendor | Add a vendor (supplier) you buy from and pay bills to. |
| Create a QuickBooks vendor credit | Record a credit or refund a vendor owes you, which can be applied against their bills. |
| Deactivate a QuickBooks customer | Make a customer inactive, which is how QuickBooks removes one: it disappears from lists and pickers, and its transactions stay on the books. |
| Deactivate a QuickBooks vendor | Make a vendor inactive, which is how QuickBooks removes one: it disappears from lists and pickers, and its transactions stay on the books. |
| Delete a QuickBooks bill | Delete a bill permanently. |
| Delete a QuickBooks estimate | Delete an estimate permanently. |
| Delete a QuickBooks invoice | Delete an invoice permanently. |
| Delete a QuickBooks transaction | Delete any transaction, attachment or note permanently: a payment, expense, journal entry, deposit and so on. |
| Download a QuickBooks attachment | Save a file attached in QuickBooks so later steps can use it. |
| Get a QuickBooks accounts payable aging report | What the company owes vendors, bucketed by how overdue it is: one row per vendor, or per open bill when detailed. |
| Get a QuickBooks accounts receivable aging report | What customers owe, bucketed by how overdue it is: one row per customer, or per open invoice when detailed. |
| Get a QuickBooks balance sheet | Assets, liabilities and equity as of the end date, as rows and totals by section. |
| Get a QuickBooks bill | Retrieve a single bill by ID, including its open balance. |
| Get a QuickBooks cash flow statement | Cash in and out over a period by operating, investing and financing activity, as rows and totals by section. |
| Get a QuickBooks customer | Retrieve a single customer by ID from QuickBooks Online. |
| Get a QuickBooks estimate | Retrieve a single estimate by ID, including its status. |
| Get a QuickBooks estimate PDF | Save an estimate as the PDF a customer would receive. |
| Get a QuickBooks invoice | Retrieve a single invoice by ID from QuickBooks Online. |
| Get a QuickBooks invoice PDF | Save an invoice as the PDF a customer would receive, styled by the company's invoice template. |
| Get a QuickBooks item | Retrieve a single product or service by ID, including its price, accounts and, for inventory, quantity on hand. |
| Get a QuickBooks payment | Retrieve a single customer payment by ID, including the invoices it paid. |
| Get a QuickBooks profit and loss report | Income, expenses and net income for a period, as rows a workflow can loop over and totals by section (Income, Expenses, NetIncome...). |
| Get a QuickBooks purchase order | Retrieve a single purchase order by ID, including whether it's still open. |
| Get a QuickBooks sales receipt | Retrieve a single sales receipt by ID. |
| Get a QuickBooks sales receipt PDF | Save a sales receipt as the PDF a customer would receive. |
| Get a QuickBooks vendor | Retrieve a single vendor (supplier) by ID. |
| Get QuickBooks company info | Read the connected company's name, legal name, address, contact details, country and fiscal year start. |
| List QuickBooks accounts | List accounts from the chart of accounts, optionally narrowed by type, classification or name. |
| List QuickBooks attachments | List the files and notes attached to one transaction or contact. |
| List QuickBooks bills | List bills from vendors, optionally narrowed by vendor, payment status or date. |
| List QuickBooks changes | Everything of the chosen kinds created, changed or deleted since a moment in the last 30 days, in one call. |
| List QuickBooks credit memos | List credit memos, optionally narrowed by customer or date. |
| List QuickBooks customers | List customers, optionally narrowed by name, email or when they last changed. |
| List QuickBooks estimates | List estimates (quotes), optionally narrowed by customer or date. |
| List QuickBooks expenses | List expenses (checks, card charges and cash purchases), optionally narrowed by date. |
| List QuickBooks invoices | List invoices, optionally narrowed by customer, payment status, date or number. |
| List QuickBooks items | List products and services, optionally narrowed by type, name or SKU. |
| List QuickBooks journal entries | List journal entries, optionally narrowed by date or number. |
| List QuickBooks payments | List customer payments, optionally narrowed by customer or date. |
| List QuickBooks purchase orders | List purchase orders, optionally narrowed by date. |
| List QuickBooks sales receipts | List sales receipts (sales paid for on the spot), optionally narrowed by customer or date. |
| List QuickBooks time activities | List logged time, optionally narrowed by date or billing status. |
| List QuickBooks vendors | List vendors (suppliers), optionally narrowed by name or when they last changed. |
| Pay a QuickBooks bill | Record paying a bill, by check from a bank account or with a credit card. |
| Run a QuickBooks query | Run a query in QuickBooks' own query language, e.g. SELECT * FROM Invoice WHERE Balance > '0' ORDERBY DueDate MAXRESULTS 50. |
| Run a QuickBooks report | Run any QuickBooks report by name, with its options as Intuit documents them, such as a trial balance, general ledger or sales by customer. |
| Send a QuickBooks credit memo | Email a credit memo to the customer from QuickBooks. |
| Send a QuickBooks estimate | Email an estimate to the customer from QuickBooks. |
| Send a QuickBooks invoice | Email an invoice to the customer from QuickBooks, with a link to pay it online when the company takes online payments. |
| Send a QuickBooks purchase order | Email a purchase order to the vendor from QuickBooks. |
| Send a QuickBooks sales receipt | Email a sales receipt to the customer from QuickBooks. |
| Update a QuickBooks bill | Change a bill's dates, number, terms, memo or lines. |
| Update a QuickBooks customer | Change a customer's details. |
| Update a QuickBooks estimate | Change an estimate, or mark it accepted, closed or rejected. |
| Update a QuickBooks invoice | Change an invoice's dates, number, terms, messages or lines. |
| Update a QuickBooks item | Change a product or service. |
| Update a QuickBooks vendor | Change a vendor's details. |
| Void a QuickBooks invoice | Void an invoice: its amounts become zero and 'Voided' is added to its memo, but it stays on record, unlike deleting it. |
| Void a QuickBooks payment | Void a payment: its amount becomes zero and the invoices it paid are open again. |
| Void a QuickBooks sales receipt | Void a sales receipt: its amounts become zero and 'Voided' is added to its memo, but it stays on record. |
Add a note in QuickBooks
Attach a text note to a transaction or contact.
Inputs
- Attach to
entity_typetextRequired - The kind of record to attach to.One of:
Invoice,Estimate,SalesReceipt(Sales receipt),CreditMemo(Credit memo),RefundReceipt(Refund receipt),Payment,Bill,BillPayment(Bill payment),Purchase(Expense),PurchaseOrder(Purchase order), and 9 more. - Record ID
entity_idtextRequired - That record's Id, such as an invoice Id.
- Note
notetextRequired - The note.
Outputs
Attachableobjecttimetext
Example output
{
"Attachable": {
"AttachableRef": [
{
"EntityRef": {
"type": "Invoice",
"value": "130"
}
}
],
"Id": "5000000000000123457",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"Note": "Customer asked for net 45 terms.",
"SyncToken": "0"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Attach a file in QuickBooks
Upload a file, such as a receipt or a signed contract, and attach it to a transaction or contact. Up to 100MB.
Inputs
- File
filetextRequired - The file to attach: upload one, or use a file from an earlier step.
- Attach to
entity_typetextRequired - The kind of record to attach to.One of:
Invoice,Estimate,SalesReceipt(Sales receipt),CreditMemo(Credit memo),RefundReceipt(Refund receipt),Payment,Bill,BillPayment(Bill payment),Purchase(Expense),PurchaseOrder(Purchase order), and 9 more. - Record ID
entity_idtextRequired - That record's Id, such as an invoice Id.
- File name
file_nametext - The file's name in QuickBooks. Defaults to the uploaded file's name.
- Note
notetext - A note shown with the attachment.
- Include when sending
include_on_sendtrue/false - Send the file along when the transaction is emailed.
Outputs
Attachableobjecttimetext
Example output
{
"Attachable": {
"AttachableRef": [
{
"EntityRef": {
"type": "Invoice",
"value": "130"
},
"IncludeOnSend": false
}
],
"ContentType": "application/pdf",
"FileName": "receipt.pdf",
"Id": "5000000000000123456",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"Size": 48213,
"SyncToken": "0",
"TempDownloadUri": "https://intuit-qbo-prod-30.s3.amazonaws.com/receipt.pdf"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Convert a QuickBooks estimate to an invoice
Invoice an accepted estimate: creates an invoice with the estimate's customer and lines, linked back to it, and QuickBooks closes the estimate.
Inputs
- Estimate ID
estimate_idtextRequired - The estimate's Id, from 'Create a QuickBooks estimate' or 'List QuickBooks estimates'.
- Date
txn_datedate - The transaction's date. Defaults to today.
- Due date
due_datedate - When payment is due.
- Invoice number
doc_numbertext - The invoice's number. Leave blank to let QuickBooks number it.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Invoiceobjecttimetext
Example output
{
"Invoice": {
"Balance": 300.0,
"BillEmail": {
"Address": "ap@acme.example"
},
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1037",
"DueDate": "2026-10-30",
"EmailStatus": "NotSet",
"Id": "130",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks account
Add an account to the chart of accounts, such as a new bank account or expense category. QuickBooks accounts can't be deleted, only made inactive in QuickBooks.
Inputs
- Name
nametextRequired - The account's name. It can't contain double quotes or colons.
- Account type
account_typetextRequired - What kind of account it is.One of:
Bank,Other Current Asset,Fixed Asset,Other Asset,Accounts Receivable,Equity,Expense,Other Expense,Cost of Goods Sold,Accounts Payable, and 5 more. - Detail type
account_sub_typetext - A finer type within the account type, such as Checking for a Bank account or OfficeGeneralAdministrativeExpenses for an Expense account. Defaults to the type's most common one.
- Number
account_numbertext - The account number, when the company numbers its accounts.
- Description
descriptiontext - What the account is for.
- Parent account
parent_account_idtext - Make it a sub-account of this account (of the same type).
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Accountobjecttimetext
Example output
{
"Account": {
"AccountSubType": "Checking",
"AccountType": "Bank",
"Active": true,
"Classification": "Asset",
"CurrencyRef": {
"name": "United States Dollar",
"value": "USD"
},
"CurrentBalance": 1201.0,
"FullyQualifiedName": "Checking",
"Id": "35",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"Name": "Checking",
"SyncToken": "0"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks bill
Record a bill a vendor sent you, to pay later with 'Pay a QuickBooks bill'. Give one line by category or by product, or several in Line items.
Inputs
- Vendor
vendor_idtextRequired - The vendor. Pick one, or use an Id from 'Create a QuickBooks vendor' or 'List QuickBooks vendors'.
- Amount
line_amountnumber - The line's total.At least 0.
- Category
expense_account_idtext - The category: the account the money went to, such as Office Supplies.
- Description
line_descriptiontext - What the line is for.
- Product/service
item_idtext - A product or service bought by the unit, instead of a category.
- Quantity
quantitynumber - How many, for a product or service.At least 0.
- Unit cost
unit_pricenumber - The cost of one, for a product or service.
- Billable to customer
billable_customer_idtext - A customer to pass this cost on to: the line is marked billable to them.
- Tax code
tax_code_idtext - The line's tax code, where the company tracks tax on purchases.
- Line items (advanced)
line_itemslist - Several lines instead of the single line above, e.g. [{"account_id": "20", "amount": 45, "description": "Paper"}]. Keys: amount, description, account_id (a category), or item_id with quantity and unit_price; customer_id and billable, class_id, tax_code_id. A line in QuickBooks' own shape (with a DetailType) is sent as given.
- Date
txn_datedate - The transaction's date. Defaults to today.
- Due date
due_datedate - When payment is due.
- Bill no.
doc_numbertext - The vendor's bill or invoice number.
- Terms
terms_idtext - Payment terms, such as Net 30, which set the due date when none is given.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Location
department_idtext - The location (QuickBooks' departments) to track this under, when the company uses locations.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Billobjecttimetext
Example output
{
"Bill": {
"APAccountRef": {
"name": "Accounts Payable (A/P)",
"value": "33"
},
"Balance": 45.0,
"DocNumber": "INV-8812",
"DueDate": "2026-10-30",
"Id": "150",
"Line": [
{
"AccountBasedExpenseLineDetail": {
"AccountRef": {
"name": "Office Expenses",
"value": "15"
},
"BillableStatus": "NotBillable"
},
"Amount": 45.0,
"Description": "Printer paper",
"DetailType": "AccountBasedExpenseLineDetail",
"Id": "1"
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 45.0,
"TxnDate": "2026-09-30",
"VendorRef": {
"name": "Bob's Burger Joint",
"value": "56"
}
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks credit memo
Give a customer credit, for a return or an overcharge, that can be applied to their invoices with 'Create a QuickBooks payment'.
Inputs
- Customer
customer_idtextRequired - The customer. Pick one, or use an Id from 'Create a QuickBooks customer' or 'List QuickBooks customers'.
- Amount
line_amountnumber - The line's total. Leave blank to use quantity times unit price.At least 0.
- Description
line_descriptiontext - What the line is for, as the customer sees it.
- Product/service
item_idtext - The product or service sold. Leave blank to use the company's 'Services' item: QuickBooks ignores the amount of a line without an item.
- Quantity
quantitynumber - How many.At least 0.
- Unit price
unit_pricenumber - The price of one.
- Service date
service_datedate - When the work was done.
- Tax code
tax_code_idtext - The line's sales tax code. In US companies that's TAX or NON.
- Line items (advanced)
line_itemslist - Several lines instead of the single line above, e.g. [{"item_id": "1", "quantity": 2, "unit_price": 150, "description": "Design"}]. Keys: amount, description, item_id, quantity, unit_price, service_date, tax_code_id, class_id. A line in QuickBooks' own shape (with a DetailType) is sent as given.
- Date
txn_datedate - The transaction's date. Defaults to today.
- Number
doc_numbertext - The document number. Leave blank to let QuickBooks number it, when the company numbers them automatically.
- Email to
email_totext - The customer's email address for this document (its Bill Email).
- Message to customer
memotext - A message to the customer, printed on the document.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Class
class_idtext - The class to track this under, when the company uses class tracking.
- Location
department_idtext - The location (QuickBooks' departments) to track this under, when the company uses locations.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
CreditMemoobjecttimetext
Example output
{
"CreditMemo": {
"Balance": 300.0,
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1040",
"Id": "190",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"RemainingCredit": 300.0,
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks customer
Create a new customer in QuickBooks Online.
Inputs
- Display name
display_nametextRequired - The name QuickBooks shows. It must be unique across all customers, vendors and employees, including inactive ones.
- First name
given_nametext - First name.
- Last name
family_nametext - Last name.
- Email
emailtext - Email address.
- Phone
phonetext - Main phone number.
- Company
company_nametext - Company name.
- Mobile
mobiletext - Mobile number.
- Website
websitetext - Website address.
- Address line 1
address_line1text - Billing address, first line.
- Address line 2
address_line2text - Billing address, second line.
- City
citytext - City.
- State
statetext - State, province or region code, such as CA.
- Postal code
postal_codetext - ZIP or postal code.
- Country
countrytext - Country.
- Notes
notestext - Private notes about the customer.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Customerobjecttimetext
Example output
{
"Customer": {
"Active": true,
"Balance": 0,
"CompanyName": "Acme Corp",
"DisplayName": "Acme Corp",
"FamilyName": "Doe",
"GivenName": "Jane",
"Id": "58",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PrimaryEmailAddr": {
"Address": "ap@acme.example"
},
"PrimaryPhone": {
"FreeFormNumber": "(555) 555-0100"
},
"SyncToken": "0"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks deposit
Record a bank deposit. The simple form deposits an amount from an account such as an income account; Line items can also deposit payments waiting in Undeposited Funds.
Inputs
- Deposit to
deposit_to_account_idtextRequired - The bank account the money went into.
- Amount
amountnumber - The amount deposited.At least 0.
- From account
from_account_idtext - The account the money came from, such as an income account.
- Description
descriptiontext - What the deposit is for.
- Received from
received_from_customer_idtext - The customer it came from.
- Payment method
payment_method_idtext - How it was paid: cash, check, a card...
- Check no.
check_numtext - The check number, for a check.
- Lines (advanced)
line_itemslist - Several lines instead of the simple form. Keys: amount, account_id, description, entity_id (a customer) with entity_type, payment_method_id, check_num, class_id; or txn_id with txn_type (Payment or SalesReceipt) to deposit a payment waiting in Undeposited Funds.
- Date
txn_datedate - The transaction's date. Defaults to today.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Depositobjecttimetext
Example output
{
"Deposit": {
"DepositToAccountRef": {
"name": "Checking",
"value": "35"
},
"Id": "240",
"Line": [
{
"Amount": 250.0,
"DepositLineDetail": {
"AccountRef": {
"name": "Sales of Product Income",
"value": "79"
},
"Entity": {
"name": "Acme Corp",
"value": "58"
}
},
"DetailType": "DepositLineDetail",
"Id": "1"
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 250.0,
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks estimate
Create an estimate (quote) for a customer, with one line from the line fields or several from Line items.
Inputs
- Customer
customer_idtextRequired - The customer. Pick one, or use an Id from 'Create a QuickBooks customer' or 'List QuickBooks customers'.
- Amount
line_amountnumber - The line's total. Leave blank to use quantity times unit price.At least 0.
- Description
line_descriptiontext - What the line is for, as the customer sees it.
- Product/service
item_idtext - The product or service sold. Leave blank to use the company's 'Services' item: QuickBooks ignores the amount of a line without an item.
- Quantity
quantitynumber - How many.At least 0.
- Unit price
unit_pricenumber - The price of one.
- Service date
service_datedate - When the work was done.
- Tax code
tax_code_idtext - The line's sales tax code. In US companies that's TAX or NON.
- Line items (advanced)
line_itemslist - Several lines instead of the single line above, e.g. [{"item_id": "1", "quantity": 2, "unit_price": 150, "description": "Design"}]. Keys: amount, description, item_id, quantity, unit_price, service_date, tax_code_id, class_id. A line in QuickBooks' own shape (with a DetailType) is sent as given.
- Date
txn_datedate - The transaction's date. Defaults to today.
- Expiration date
expiration_datedate - When the estimate expires.
- Number
doc_numbertext - The document number. Leave blank to let QuickBooks number it, when the company numbers them automatically.
- Email to
email_totext - The customer's email address for this document (its Bill Email).
- Message to customer
memotext - A message to the customer, printed on the document.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Class
class_idtext - The class to track this under, when the company uses class tracking.
- Location
department_idtext - The location (QuickBooks' departments) to track this under, when the company uses locations.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Estimateobjecttimetext
Example output
{
"Estimate": {
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1038",
"EmailStatus": "NotSet",
"ExpirationDate": "2026-10-30",
"Id": "170",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30",
"TxnStatus": "Pending"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks expense
Record money already spent: a card charge, a check or a cash purchase. Give one line by category, or several in Line items.
Inputs
- Paid from
payment_account_idtextRequired - The bank or credit card account it was paid from.
- Payment type
payment_typetext - Cash, Check or CreditCard. Defaults to Cash.One of:
Cash,Check,CreditCard(Credit card). Default:Cash. - Amount
line_amountnumber - The line's total.At least 0.
- Category
expense_account_idtext - The category: the account the money went to, such as Office Supplies.
- Description
line_descriptiontext - What the line is for.
- Payee (vendor)
vendor_idtext - Who was paid.
- Billable to customer
billable_customer_idtext - A customer to pass this cost on to: the line is marked billable to them.
- Tax code
tax_code_idtext - The line's tax code, where the company tracks tax on purchases.
- Line items (advanced)
line_itemslist - Several lines instead of the single line above, e.g. [{"account_id": "20", "amount": 45, "description": "Paper"}]. Keys: amount, description, account_id (a category), or item_id with quantity and unit_price; customer_id and billable, class_id, tax_code_id. A line in QuickBooks' own shape (with a DetailType) is sent as given.
- Date
txn_datedate - The transaction's date. Defaults to today.
- Ref no.
doc_numbertext - The check or reference number.
- Payment method
payment_method_idtext - How it was paid: cash, check, a card...
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Location
department_idtext - The location (QuickBooks' departments) to track this under, when the company uses locations.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Purchaseobjecttimetext
Example output
{
"Purchase": {
"AccountRef": {
"name": "Visa",
"value": "42"
},
"EntityRef": {
"name": "Bob's Burger Joint",
"type": "Vendor",
"value": "56"
},
"Id": "160",
"Line": [
{
"AccountBasedExpenseLineDetail": {
"AccountRef": {
"name": "Office Expenses",
"value": "15"
},
"BillableStatus": "NotBillable"
},
"Amount": 45.0,
"Description": "Printer paper",
"DetailType": "AccountBasedExpenseLineDetail",
"Id": "1"
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PaymentType": "CreditCard",
"SyncToken": "0",
"TotalAmt": 45.0,
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks invoice
Create an invoice for a customer, with one line from the line fields or several from Line items. It isn't emailed; use 'Send a QuickBooks invoice' for that.
Inputs
- Customer
customer_idtextRequired - The customer. Pick one, or use an Id from 'Create a QuickBooks customer' or 'List QuickBooks customers'.
- Amount
line_amountnumber - The line's total. Leave blank to use quantity times unit price.At least 0.
- Description
line_descriptiontext - What the line is for, as the customer sees it.
- Product/service
item_idtext - The product or service sold. Leave blank to use the company's 'Services' item: QuickBooks ignores the amount of a line without an item.
- Quantity
quantitynumber - How many.At least 0.
- Unit price
unit_pricenumber - The price of one.
- Service date
service_datedate - When the work was done.
- Tax code
tax_code_idtext - The line's sales tax code. In US companies that's TAX or NON.
- Line items (advanced)
line_itemslist - Several lines instead of the single line above, e.g. [{"item_id": "1", "quantity": 2, "unit_price": 150, "description": "Design"}]. Keys: amount, description, item_id, quantity, unit_price, service_date, tax_code_id, class_id. A line in QuickBooks' own shape (with a DetailType) is sent as given.
- Due date
due_datedate - When payment is due.
- Email to
email_totext - The customer's email address for this document (its Bill Email).
- Date
txn_datedate - The transaction's date. Defaults to today.
- Number
doc_numbertext - The document number. Leave blank to let QuickBooks number it, when the company numbers them automatically.
- Terms
terms_idtext - Payment terms, such as Net 30, which set the due date when none is given.
- Message to customer
memotext - A message to the customer, printed on the document.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Class
class_idtext - The class to track this under, when the company uses class tracking.
- Location
department_idtext - The location (QuickBooks' departments) to track this under, when the company uses locations.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Invoiceobjecttimetext
Example output
{
"Invoice": {
"Balance": 300.0,
"BillEmail": {
"Address": "ap@acme.example"
},
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1037",
"DueDate": "2026-10-30",
"EmailStatus": "NotSet",
"Id": "130",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks item
Add a product or service to sell or buy. Service and inventory items need an income account; inventory items also need an asset account, an expense account and a starting quantity.
Inputs
- Name
nametextRequired - The item's name, unique among items.
- Type
item_typetext - Service, non-inventory product, or inventory product. Defaults to Service.One of:
Service,NonInventory(Non-inventory product),Inventory(Inventory product). Default:Service. - Sales description
descriptiontext - The description on sales forms.
- Sales price
unit_pricenumber - The sales price.
- Income account
income_account_idtext - The income account sales of it post to. Required for Service and Inventory items; an Inventory item's must have the Sales of Product Income detail type.
- Purchase description
purchase_descriptiontext - The description on purchase forms.
- Cost
purchase_costnumber - What it costs to buy.
- Expense account
expense_account_idtext - The expense account purchases of it post to (Cost of Goods Sold for inventory). Required for Inventory items.
- SKU
skutext - Its stock-keeping unit code.
- Taxable
taxabletrue/false - Whether sales tax applies to it (US).
- Inventory asset account
asset_account_idtext - Inventory only: the inventory asset account that tracks its value.
- Quantity on hand
quantity_on_handnumber - Inventory only: how many you have now.At least 0.
- As of date
inventory_start_datedate - Inventory only: the date the starting quantity is as of. Defaults to today.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Itemobjecttimetext
Example output
{
"Item": {
"Active": true,
"FullyQualifiedName": "Services",
"Id": "1",
"IncomeAccountRef": {
"name": "Services",
"value": "1"
},
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"Name": "Services",
"SyncToken": "0",
"Taxable": false,
"Type": "Service",
"UnitPrice": 150
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks journal entry
Post a journal entry. The simple form moves an amount from a credit account to a debit account; Line items takes any number of lines. Debits and credits must balance.
Inputs
- Amount
amountnumber - The amount to move.At least 0.
- Debit account
debit_account_idtext - The account to debit.
- Credit account
credit_account_idtext - The account to credit.
- Description
descriptiontext - What the entry is for, on both lines.
- Lines (advanced)
line_itemslist - The entry's lines instead of the simple form, e.g. [{"posting_type": "Debit", "account_id": "11", "amount": 100}, {"posting_type": "Credit", "account_id": "44", "amount": 100}]. Keys: posting_type, amount, account_id, description, entity_type and entity_id (a Customer, Vendor or Employee; required on receivable and payable lines), class_id, department_id.
- Date
txn_datedate - The transaction's date. Defaults to today.
- Number
doc_numbertext - The document number. Leave blank to let QuickBooks number it, when the company numbers them automatically.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Adjusting entry
adjustmenttrue/false - Mark it as an adjusting entry.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
JournalEntryobjecttimetext
Example output
{
"JournalEntry": {
"Adjustment": false,
"DocNumber": "JE-12",
"Id": "230",
"Line": [
{
"Amount": 100.0,
"Description": "September insurance",
"DetailType": "JournalEntryLineDetail",
"Id": "0",
"JournalEntryLineDetail": {
"AccountRef": {
"name": "Insurance",
"value": "11"
},
"PostingType": "Debit"
}
},
{
"Amount": 100.0,
"Description": "September insurance",
"DetailType": "JournalEntryLineDetail",
"Id": "1",
"JournalEntryLineDetail": {
"AccountRef": {
"name": "Checking",
"value": "35"
},
"PostingType": "Credit"
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks payment
Record a payment in QuickBooks Online, optionally linked to an invoice.
Inputs
- Customer
customer_idtextRequired - The customer. Pick one, or use an Id from 'Create a QuickBooks customer' or 'List QuickBooks customers'.
- Amount
total_amountnumberRequired - The amount received.At least 0.
- Invoice ID
invoice_idtext - An invoice the whole amount pays.
- Apply to (advanced)
applied_tolist - Split the amount across several invoices or credit memos instead, e.g. [{"invoice_id": "130", "amount": 100}, {"invoice_id": "131", "amount": 50}]. Use "txn_type": "CreditMemo" to apply a credit memo. Any amount not applied stays on the customer's account as a credit.
- Payment date
payment_datedate - When it was received. Defaults to today.
- Payment method
payment_method_idtext - How it was paid: cash, check, a card...
- Reference no.
reference_numbertext - The check number or other reference.
- Deposit to
deposit_to_account_idtext - Where the money went. Defaults to Undeposited Funds, to be deposited later.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Paymentobjecttimetext
Example output
{
"Payment": {
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"Id": "140",
"Line": [
{
"Amount": 300.0,
"LinkedTxn": [
{
"TxnId": "130",
"TxnType": "Invoice"
}
]
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30",
"UnappliedAmt": 0
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks purchase order
Order goods or services from a vendor. Give one line by product or by category, or several in Line items.
Inputs
- Vendor
vendor_idtextRequired - The vendor. Pick one, or use an Id from 'Create a QuickBooks vendor' or 'List QuickBooks vendors'.
- Product/service
item_idtext - A product or service bought by the unit, instead of a category.
- Quantity
quantitynumber - How many, for a product or service.At least 0.
- Unit cost
unit_pricenumber - The cost of one, for a product or service.
- Amount
line_amountnumber - The line's total.At least 0.
- Category
expense_account_idtext - The category: the account the money went to, such as Office Supplies.
- Description
line_descriptiontext - What the line is for.
- Billable to customer
billable_customer_idtext - A customer to pass this cost on to: the line is marked billable to them.
- Line items (advanced)
line_itemslist - Several lines instead of the single line above, e.g. [{"account_id": "20", "amount": 45, "description": "Paper"}]. Keys: amount, description, account_id (a category), or item_id with quantity and unit_price; customer_id and billable, class_id, tax_code_id. A line in QuickBooks' own shape (with a DetailType) is sent as given.
- Date
txn_datedate - The transaction's date. Defaults to today.
- Expected date
due_datedate - When you expect it.
- Number
doc_numbertext - The document number. Leave blank to let QuickBooks number it, when the company numbers them automatically.
- Email to
email_totext - The vendor's email address for this order.
- Message to vendor
memotext - A message to the vendor, printed on the order.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
PurchaseOrderobjecttimetext
Example output
{
"PurchaseOrder": {
"APAccountRef": {
"name": "Accounts Payable (A/P)",
"value": "33"
},
"DocNumber": "1005",
"EmailStatus": "NotSet",
"Id": "210",
"Line": [
{
"Amount": 90.0,
"DetailType": "ItemBasedExpenseLineDetail",
"Id": "1",
"ItemBasedExpenseLineDetail": {
"BillableStatus": "NotBillable",
"ItemRef": {
"name": "Pump",
"value": "11"
},
"Qty": 3,
"UnitPrice": 30
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"POEmail": {
"Address": "orders@bobs.example"
},
"POStatus": "Open",
"SyncToken": "0",
"TotalAmt": 90.0,
"TxnDate": "2026-09-30",
"VendorRef": {
"name": "Bob's Burger Joint",
"value": "56"
}
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks refund receipt
Refund a customer: record money paid back to them out of a bank account.
Inputs
- Refund from
refund_from_account_idtextRequired - The account the refund was paid from.
- Customer
customer_idtext - The customer this is for. Pick one, or use an Id from 'List QuickBooks customers'.
- Amount
line_amountnumber - The line's total. Leave blank to use quantity times unit price.At least 0.
- Description
line_descriptiontext - What is being refunded.
- Product/service
item_idtext - The product or service refunded. Leave blank to use the company's 'Services' item.
- Quantity
quantitynumber - How many.At least 0.
- Unit price
unit_pricenumber - The price of one.
- Tax code
tax_code_idtext - The line's sales tax code.
- Line items (advanced)
line_itemslist - Several lines instead of the single line above, e.g. [{"item_id": "1", "quantity": 2, "unit_price": 150, "description": "Design"}]. Keys: amount, description, item_id, quantity, unit_price, service_date, tax_code_id, class_id. A line in QuickBooks' own shape (with a DetailType) is sent as given.
- Date
txn_datedate - The transaction's date. Defaults to today.
- Number
doc_numbertext - The document number. Leave blank to let QuickBooks number it, when the company numbers them automatically.
- Payment method
payment_method_idtext - How it was paid: cash, check, a card...
- Email to
email_totext - The customer's email address for this document (its Bill Email).
- Message to customer
memotext - A message to the customer, printed on the document.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
RefundReceiptobjecttimetext
Example output
{
"RefundReceipt": {
"Balance": 0,
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DepositToAccountRef": {
"name": "Checking",
"value": "35"
},
"DocNumber": "1041",
"Id": "200",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks sales receipt
Record a sale that was paid for at the time, so no invoice is needed. Give one line from the line fields or several from Line items.
Inputs
- Customer
customer_idtext - The customer this is for. Pick one, or use an Id from 'List QuickBooks customers'.
- Amount
line_amountnumber - The line's total. Leave blank to use quantity times unit price.At least 0.
- Description
line_descriptiontext - What the line is for, as the customer sees it.
- Product/service
item_idtext - The product or service sold. Leave blank to use the company's 'Services' item: QuickBooks ignores the amount of a line without an item.
- Quantity
quantitynumber - How many.At least 0.
- Unit price
unit_pricenumber - The price of one.
- Service date
service_datedate - When the work was done.
- Tax code
tax_code_idtext - The line's sales tax code. In US companies that's TAX or NON.
- Line items (advanced)
line_itemslist - Several lines instead of the single line above, e.g. [{"item_id": "1", "quantity": 2, "unit_price": 150, "description": "Design"}]. Keys: amount, description, item_id, quantity, unit_price, service_date, tax_code_id, class_id. A line in QuickBooks' own shape (with a DetailType) is sent as given.
- Date
txn_datedate - The transaction's date. Defaults to today.
- Number
doc_numbertext - The document number. Leave blank to let QuickBooks number it, when the company numbers them automatically.
- Payment method
payment_method_idtext - How it was paid: cash, check, a card...
- Reference no.
reference_numbertext - The check number or other payment reference.
- Deposit to
deposit_to_account_idtext - Where the money went. Defaults to Undeposited Funds, to be deposited later.
- Email to
email_totext - The customer's email address for this document (its Bill Email).
- Message to customer
memotext - A message to the customer, printed on the document.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Class
class_idtext - The class to track this under, when the company uses class tracking.
- Location
department_idtext - The location (QuickBooks' departments) to track this under, when the company uses locations.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
SalesReceiptobjecttimetext
Example output
{
"SalesReceipt": {
"Balance": 0,
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DepositToAccountRef": {
"name": "Undeposited Funds",
"value": "4"
},
"DocNumber": "1039",
"Id": "180",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PaymentMethodRef": {
"name": "Cash",
"value": "1"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks time activity
Log time an employee or contractor worked, optionally billable to a customer.
Inputs
- Hours
hoursnumberRequired - Hours worked; add Minutes for the rest.At least 0.
- Worker type
worker_typetext - Whether an employee or a vendor (contractor) did the work. Defaults to Employee.One of:
Employee,Vendor(Vendor (contractor)). Default:Employee. - Employee
employee_idtext - The employee, when the worker is an employee.
- Vendor
vendor_idtext - The contractor, when the worker is a vendor.
- Minutes
minutesnumber - Minutes worked beyond the hours.At least 0.
- Date
txn_datedate - The day the work was done. Defaults to today.
- Customer
customer_idtext - The customer this is for. Pick one, or use an Id from 'List QuickBooks customers'.
- Service
item_idtext - The service performed.
- Billable
billabletrue/false - Whether to bill the customer for the time.
- Hourly rate
hourly_ratenumber - The rate to bill, when billable.
- Description
descriptiontext - What was done.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
TimeActivityobjecttimetext
Example output
{
"TimeActivity": {
"BillableStatus": "Billable",
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"Description": "Site visit",
"EmployeeRef": {
"name": "Emily Platt",
"value": "55"
},
"HourlyRate": 75,
"Hours": 3,
"Id": "260",
"ItemRef": {
"name": "Services",
"value": "1"
},
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"Minutes": 30,
"NameOf": "Employee",
"SyncToken": "0",
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks transfer
Move money between two of the company's accounts, such as checking to savings.
Inputs
- From account
from_account_idtextRequired - The account the money leaves.
- To account
to_account_idtextRequired - The account the money goes to.
- Amount
amountnumberRequired - How much to move.At least 0.
- Date
txn_datedate - The transaction's date. Defaults to today.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
Outputs
Transferobjecttimetext
Example output
{
"Transfer": {
"Amount": 500.0,
"FromAccountRef": {
"name": "Checking",
"value": "35"
},
"Id": "250",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"ToAccountRef": {
"name": "Savings",
"value": "36"
},
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks vendor
Add a vendor (supplier) you buy from and pay bills to.
Inputs
- Display name
display_nametextRequired - The name QuickBooks shows. It must be unique across all customers, vendors and employees, including inactive ones.
- First name
given_nametext - First name.
- Last name
family_nametext - Last name.
- Email
emailtext - Email address.
- Phone
phonetext - Main phone number.
- Company
company_nametext - Company name.
- Mobile
mobiletext - Mobile number.
- Website
websitetext - Website address.
- Address line 1
address_line1text - Billing address, first line.
- Address line 2
address_line2text - Billing address, second line.
- City
citytext - City.
- State
statetext - State, province or region code, such as CA.
- Postal code
postal_codetext - ZIP or postal code.
- Country
countrytext - Country.
- Account number
account_numbertext - Your account number with this vendor.
- Track for 1099
is_1099true/false - Whether the vendor gets a 1099 (US).
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Vendorobjecttimetext
Example output
{
"Vendor": {
"Active": true,
"Balance": 0,
"CompanyName": "Bob's Burger Joint",
"DisplayName": "Bob's Burger Joint",
"Id": "56",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PrimaryEmailAddr": {
"Address": "orders@bobs.example"
},
"SyncToken": "0",
"Vendor1099": false
},
"time": "2026-09-30T10:15:00.000-07:00"
}Create a QuickBooks vendor credit
Record a credit or refund a vendor owes you, which can be applied against their bills.
Inputs
- Vendor
vendor_idtextRequired - The vendor. Pick one, or use an Id from 'Create a QuickBooks vendor' or 'List QuickBooks vendors'.
- Amount
line_amountnumber - The line's total.At least 0.
- Category
expense_account_idtext - The category: the account the money went to, such as Office Supplies.
- Description
line_descriptiontext - What the line is for.
- Product/service
item_idtext - A product or service bought by the unit, instead of a category.
- Quantity
quantitynumber - How many, for a product or service.At least 0.
- Unit cost
unit_pricenumber - The cost of one, for a product or service.
- Line items (advanced)
line_itemslist - Several lines instead of the single line above, e.g. [{"account_id": "20", "amount": 45, "description": "Paper"}]. Keys: amount, description, account_id (a category), or item_id with quantity and unit_price; customer_id and billable, class_id, tax_code_id. A line in QuickBooks' own shape (with a DetailType) is sent as given.
- Date
txn_datedate - The transaction's date. Defaults to today.
- Ref no.
doc_numbertext - The vendor's credit note number.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
VendorCreditobjecttimetext
Example output
{
"VendorCredit": {
"Balance": 45.0,
"Id": "220",
"Line": [
{
"AccountBasedExpenseLineDetail": {
"AccountRef": {
"name": "Office Expenses",
"value": "15"
},
"BillableStatus": "NotBillable"
},
"Amount": 45.0,
"Description": "Printer paper",
"DetailType": "AccountBasedExpenseLineDetail",
"Id": "1"
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 45.0,
"TxnDate": "2026-09-30",
"VendorRef": {
"name": "Bob's Burger Joint",
"value": "56"
}
},
"time": "2026-09-30T10:15:00.000-07:00"
}Deactivate a QuickBooks customer
Make a customer inactive, which is how QuickBooks removes one: it disappears from lists and pickers, and its transactions stay on the books.
Inputs
- Customer
customer_idtextRequired - The customer. Pick one, or use an Id from 'Create a QuickBooks customer' or 'List QuickBooks customers'.
Outputs
Customerobjecttimetext
Example output
{
"Customer": {
"Active": true,
"Balance": 0,
"CompanyName": "Acme Corp",
"DisplayName": "Acme Corp",
"FamilyName": "Doe",
"GivenName": "Jane",
"Id": "58",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PrimaryEmailAddr": {
"Address": "ap@acme.example"
},
"PrimaryPhone": {
"FreeFormNumber": "(555) 555-0100"
},
"SyncToken": "0"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Deactivate a QuickBooks vendor
Make a vendor inactive, which is how QuickBooks removes one: it disappears from lists and pickers, and its transactions stay on the books.
Inputs
- Vendor
vendor_idtextRequired - The vendor. Pick one, or use an Id from 'Create a QuickBooks vendor' or 'List QuickBooks vendors'.
Outputs
Vendorobjecttimetext
Example output
{
"Vendor": {
"Active": true,
"Balance": 0,
"CompanyName": "Bob's Burger Joint",
"DisplayName": "Bob's Burger Joint",
"Id": "56",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PrimaryEmailAddr": {
"Address": "orders@bobs.example"
},
"SyncToken": "0",
"Vendor1099": false
},
"time": "2026-09-30T10:15:00.000-07:00"
}Delete a QuickBooks bill
Delete a bill permanently. Payments made against it must be deleted first.
Inputs
- Bill ID
bill_idtextRequired - The bill's Id, from 'Create a QuickBooks bill' or 'List QuickBooks bills'.
Outputs
Billobjectdeletedtrue/falseidtexttimetexttypetext
Example output
{
"Bill": {
"Id": "150",
"domain": "QBO",
"status": "Deleted"
},
"deleted": true,
"id": "150",
"time": "2026-09-30T10:15:00.000-07:00",
"type": "Bill"
}Delete a QuickBooks estimate
Delete an estimate permanently. An invoice made from it must be deleted first.
Inputs
- Estimate ID
estimate_idtextRequired - The estimate's Id, from 'Create a QuickBooks estimate' or 'List QuickBooks estimates'.
Outputs
Estimateobjectdeletedtrue/falseidtexttimetexttypetext
Example output
{
"Estimate": {
"Id": "170",
"domain": "QBO",
"status": "Deleted"
},
"deleted": true,
"id": "170",
"time": "2026-09-30T10:15:00.000-07:00",
"type": "Estimate"
}Delete a QuickBooks invoice
Delete an invoice permanently. Payments applied to it must be removed first.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's Id, from 'Create a QuickBooks invoice' or 'List QuickBooks invoices'.
Outputs
Invoiceobjectdeletedtrue/falseidtexttimetexttypetext
Example output
{
"Invoice": {
"Id": "130",
"domain": "QBO",
"status": "Deleted"
},
"deleted": true,
"id": "130",
"time": "2026-09-30T10:15:00.000-07:00",
"type": "Invoice"
}Delete a QuickBooks transaction
Delete any transaction, attachment or note permanently: a payment, expense, journal entry, deposit and so on. Transactions linked to others must be unlinked first. Customers, vendors, items and accounts can't be deleted, only deactivated.
Inputs
- Type
transaction_typetextRequired - The kind of record to delete.One of:
Invoice,Estimate,SalesReceipt(Sales receipt),CreditMemo(Credit memo),RefundReceipt(Refund receipt),Payment,Bill,BillPayment(Bill payment),Purchase(Expense),PurchaseOrder(Purchase order), and 6 more. - ID
transaction_idtextRequired - Its Id.
Outputs
The record deleted. QuickBooks' own reply also holds an Id and Deleted status under the record type's name.
deletedtrue/falseidtexttimetexttypetext
Example output
{
"deleted": true,
"id": "160",
"time": "2026-09-30T10:15:00.000-07:00",
"type": "Purchase"
}Download a QuickBooks attachment
Save a file attached in QuickBooks so later steps can use it.
Inputs
- Attachment ID
attachment_idtextRequired - The attachment's Id, from 'List QuickBooks attachments' or 'Attach a file in QuickBooks'.
Outputs
Attachableobjectcontent_typetextdocument_reftextdocumentslistfilenametextsize_bytesnumberurltext
Example output
{
"Attachable": {
"AttachableRef": [
{
"EntityRef": {
"type": "Invoice",
"value": "130"
},
"IncludeOnSend": false
}
],
"ContentType": "application/pdf",
"FileName": "receipt.pdf",
"Id": "5000000000000123456",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"Size": 48213,
"SyncToken": "0",
"TempDownloadUri": "https://intuit-qbo-prod-30.s3.amazonaws.com/receipt.pdf"
},
"content_type": "application/pdf",
"document_ref": "doc_7c6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d",
"documents": [
{
"content_type": "application/pdf",
"document_ref": "doc_7c6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d",
"filename": "receipt.pdf",
"size_bytes": 48213,
"url": "/actions/core/serve-document/doc_7c6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d"
}
],
"filename": "receipt.pdf",
"size_bytes": 48213,
"url": "/actions/core/serve-document/doc_7c6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d"
}Get a QuickBooks accounts payable aging report
What the company owes vendors, bucketed by how overdue it is: one row per vendor, or per open bill when detailed.
Inputs
- As of
report_datedate - The day to age balances as of. Defaults to today.
- Detailed
detailedtrue/false - List each open transaction instead of one total per name.Default:
false. - Days per period
aging_period_daysnumber - Detailed report only: days per aging bucket. Defaults to 30.At least 1.
- Number of periods
number_of_periodsnumber - Detailed report only: how many aging buckets. Defaults to 4.At least 1.
- Vendor
vendor_idtext - Only this vendor's transactions.
- Include raw report
include_rawtrue/false - Also return QuickBooks' original nested report under 'report'.Default:
false.
Outputs
columnslistcurrencytextend_periodtextgenerated_attextno_datatrue/falsereportobject- QuickBooks' original report, when include_raw is set.
report_basistextreport_nametextrowsliststart_periodtextsummarize_columns_bytexttotalsobject- Each section's total by its group, e.g. NetIncome.
Example output
{
"columns": [
"Vendor",
"Current",
"1 - 30",
"31 - 60",
"61 - 90",
"91 and over",
"Total"
],
"currency": "USD",
"end_period": "2026-09-30",
"generated_at": "2026-09-30T10:15:00-07:00",
"no_data": false,
"report_name": "AgedPayables",
"rows": [
{
"amount": 45.0,
"depth": 0,
"id": "56",
"kind": "data",
"label": "Bob's Burger Joint",
"values": {
"1 - 30": null,
"31 - 60": null,
"61 - 90": null,
"91 and over": null,
"Current": 45.0,
"Total": 45.0
}
}
],
"start_period": "2026-09-30",
"totals": {
"GrandTotal": 45.0
}
}Get a QuickBooks accounts receivable aging report
What customers owe, bucketed by how overdue it is: one row per customer, or per open invoice when detailed.
Inputs
- As of
report_datedate - The day to age balances as of. Defaults to today.
- Detailed
detailedtrue/false - List each open transaction instead of one total per name.Default:
false. - Days per period
aging_period_daysnumber - Detailed report only: days per aging bucket. Defaults to 30.At least 1.
- Number of periods
number_of_periodsnumber - Detailed report only: how many aging buckets. Defaults to 4.At least 1.
- Customer
customer_idtext - Only this customer's transactions.
- Include raw report
include_rawtrue/false - Also return QuickBooks' original nested report under 'report'.Default:
false.
Outputs
columnslistcurrencytextend_periodtextgenerated_attextno_datatrue/falsereportobject- QuickBooks' original report, when include_raw is set.
report_basistextreport_nametextrowsliststart_periodtextsummarize_columns_bytexttotalsobject- Each section's total by its group, e.g. NetIncome.
Example output
{
"columns": [
"Customer",
"Current",
"1 - 30",
"31 - 60",
"61 - 90",
"91 and over",
"Total"
],
"currency": "USD",
"end_period": "2026-09-30",
"generated_at": "2026-09-30T10:15:00-07:00",
"no_data": false,
"report_name": "AgedReceivables",
"rows": [
{
"amount": 300.0,
"depth": 0,
"id": "58",
"kind": "data",
"label": "Acme Corp",
"values": {
"1 - 30": null,
"31 - 60": null,
"61 - 90": null,
"91 and over": null,
"Current": 300.0,
"Total": 300.0
}
}
],
"start_period": "2026-09-30",
"totals": {
"GrandTotal": 300.0
}
}Get a QuickBooks balance sheet
Assets, liabilities and equity as of the end date, as rows and totals by section.
Inputs
- Start date
start_datedate - The first day to report on.
- End date
end_datedate - The last day to report on.
- Period
date_macrotext - A named period instead of start and end dates. Without either, QuickBooks reports this fiscal year to date.One of:
Today,Yesterday,This Week,Last Week,This Week-to-date,Last Week-to-date,Next Week,Next 4 Weeks,This Month,Last Month, and 13 more. - Accounting method
accounting_methodtext - Cash or accrual basis. Defaults to the company's own setting.One of:
Accrual,Cash. - Columns
summarize_bytext - Split the amounts into columns by month, customer and so on. Defaults to a single Total column.One of:
Total(Total only),Month(Months),Week(Weeks),Days,Quarter(Quarters),Year(Years),Customers,Vendors,Classes,Departments(Locations),Employees,ProductsAndServices(Products and services). - Customer
customer_idtext - Only this customer's transactions.
- Class
class_idtext - Only amounts tracked under this class.
- Location
department_idtext - Only amounts tracked under this location.
- Include raw report
include_rawtrue/false - Also return QuickBooks' original nested report under 'report'.Default:
false.
Outputs
columnslistcurrencytextend_periodtextgenerated_attextno_datatrue/falsereportobject- QuickBooks' original report, when include_raw is set.
report_basistextreport_nametextrowsliststart_periodtextsummarize_columns_bytexttotalsobject- Each section's total by its group, e.g. NetIncome.
Example output
{
"columns": [
"Account",
"Total"
],
"currency": "USD",
"end_period": "2026-09-30",
"generated_at": "2026-09-30T10:15:00-07:00",
"no_data": false,
"report_basis": "Accrual",
"report_name": "BalanceSheet",
"rows": [
{
"amount": 24742.44,
"depth": 0,
"group": "TotalAssets",
"kind": "total",
"label": "Total Assets",
"values": {
"Total": 24742.44
}
},
{
"amount": 24742.44,
"depth": 0,
"group": "TotalLiabilitiesAndEquity",
"kind": "total",
"label": "Total Liabilities and Equity",
"values": {
"Total": 24742.44
}
}
],
"start_period": "2026-01-01",
"summarize_columns_by": "Total",
"totals": {
"TotalAssets": 24742.44,
"TotalLiabilitiesAndEquity": 24742.44
}
}Get a QuickBooks bill
Retrieve a single bill by ID, including its open balance.
Inputs
- Bill ID
bill_idtextRequired - The bill's Id, from 'Create a QuickBooks bill' or 'List QuickBooks bills'.
Outputs
Billobjecttimetext
Example output
{
"Bill": {
"APAccountRef": {
"name": "Accounts Payable (A/P)",
"value": "33"
},
"Balance": 45.0,
"DocNumber": "INV-8812",
"DueDate": "2026-10-30",
"Id": "150",
"Line": [
{
"AccountBasedExpenseLineDetail": {
"AccountRef": {
"name": "Office Expenses",
"value": "15"
},
"BillableStatus": "NotBillable"
},
"Amount": 45.0,
"Description": "Printer paper",
"DetailType": "AccountBasedExpenseLineDetail",
"Id": "1"
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 45.0,
"TxnDate": "2026-09-30",
"VendorRef": {
"name": "Bob's Burger Joint",
"value": "56"
}
},
"time": "2026-09-30T10:15:00.000-07:00"
}Get a QuickBooks cash flow statement
Cash in and out over a period by operating, investing and financing activity, as rows and totals by section.
Inputs
- Start date
start_datedate - The first day to report on.
- End date
end_datedate - The last day to report on.
- Period
date_macrotext - A named period instead of start and end dates. Without either, QuickBooks reports this fiscal year to date.One of:
Today,Yesterday,This Week,Last Week,This Week-to-date,Last Week-to-date,Next Week,Next 4 Weeks,This Month,Last Month, and 13 more. - Columns
summarize_bytext - Split the amounts into columns by month, customer and so on. Defaults to a single Total column.One of:
Total(Total only),Month(Months),Week(Weeks),Days,Quarter(Quarters),Year(Years),Customers,Vendors,Classes,Departments(Locations),Employees,ProductsAndServices(Products and services). - Customer
customer_idtext - Only this customer's transactions.
- Vendor
vendor_idtext - Only this vendor's transactions.
- Class
class_idtext - Only amounts tracked under this class.
- Location
department_idtext - Only amounts tracked under this location.
- Include raw report
include_rawtrue/false - Also return QuickBooks' original nested report under 'report'.Default:
false.
Outputs
columnslistcurrencytextend_periodtextgenerated_attextno_datatrue/falsereportobject- QuickBooks' original report, when include_raw is set.
report_basistextreport_nametextrowsliststart_periodtextsummarize_columns_bytexttotalsobject- Each section's total by its group, e.g. NetIncome.
Example output
{
"columns": [
"Account",
"Total"
],
"currency": "USD",
"end_period": "2026-09-30",
"generated_at": "2026-09-30T10:15:00-07:00",
"no_data": false,
"report_name": "CashFlow",
"rows": [
{
"amount": 5000.0,
"depth": 0,
"group": "CashIncrease",
"kind": "total",
"label": "Net cash increase for period",
"values": {
"Total": 5000.0
}
}
],
"start_period": "2026-09-01",
"summarize_columns_by": "Total",
"totals": {
"CashIncrease": 5000.0
}
}Get a QuickBooks customer
Retrieve a single customer by ID from QuickBooks Online.
Inputs
- Customer
customer_idtextRequired - The customer. Pick one, or use an Id from 'Create a QuickBooks customer' or 'List QuickBooks customers'.
Outputs
Customerobjecttimetext
Example output
{
"Customer": {
"Active": true,
"Balance": 0,
"CompanyName": "Acme Corp",
"DisplayName": "Acme Corp",
"FamilyName": "Doe",
"GivenName": "Jane",
"Id": "58",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PrimaryEmailAddr": {
"Address": "ap@acme.example"
},
"PrimaryPhone": {
"FreeFormNumber": "(555) 555-0100"
},
"SyncToken": "0"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Get a QuickBooks estimate
Retrieve a single estimate by ID, including its status.
Inputs
- Estimate ID
estimate_idtextRequired - The estimate's Id, from 'Create a QuickBooks estimate' or 'List QuickBooks estimates'.
Outputs
Estimateobjecttimetext
Example output
{
"Estimate": {
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1038",
"EmailStatus": "NotSet",
"ExpirationDate": "2026-10-30",
"Id": "170",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30",
"TxnStatus": "Pending"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Get a QuickBooks estimate PDF
Save an estimate as the PDF a customer would receive. Later steps can attach or email the file.
Inputs
- Estimate ID
estimate_idtextRequired - The estimate's Id, from 'Create a QuickBooks estimate' or 'List QuickBooks estimates'.
Outputs
content_typetextdocument_reftextdocumentslistentitytextfilenametextidtextsize_bytesnumberurltext
Example output
{
"content_type": "application/pdf",
"document_ref": "doc_5a6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d",
"documents": [
{
"content_type": "application/pdf",
"document_ref": "doc_5a6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d",
"filename": "estimate-170.pdf",
"size_bytes": 41120,
"url": "/actions/core/serve-document/doc_5a6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d"
}
],
"entity": "Estimate",
"filename": "estimate-170.pdf",
"id": "170",
"size_bytes": 41120,
"url": "/actions/core/serve-document/doc_5a6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d"
}Get a QuickBooks invoice
Retrieve a single invoice by ID from QuickBooks Online.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's Id, from 'Create a QuickBooks invoice' or 'List QuickBooks invoices'.
Outputs
Invoiceobjecttimetext
Example output
{
"Invoice": {
"Balance": 300.0,
"BillEmail": {
"Address": "ap@acme.example"
},
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1037",
"DueDate": "2026-10-30",
"EmailStatus": "NotSet",
"Id": "130",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Get a QuickBooks invoice PDF
Save an invoice as the PDF a customer would receive, styled by the company's invoice template. Later steps can attach or email the file.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's Id, from 'Create a QuickBooks invoice' or 'List QuickBooks invoices'.
Outputs
content_typetextdocument_reftextdocumentslistentitytextfilenametextidtextsize_bytesnumberurltext
Example output
{
"content_type": "application/pdf",
"document_ref": "doc_4f6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d",
"documents": [
{
"content_type": "application/pdf",
"document_ref": "doc_4f6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d",
"filename": "invoice-130.pdf",
"size_bytes": 48213,
"url": "/actions/core/serve-document/doc_4f6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d"
}
],
"entity": "Invoice",
"filename": "invoice-130.pdf",
"id": "130",
"size_bytes": 48213,
"url": "/actions/core/serve-document/doc_4f6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d"
}Get a QuickBooks item
Retrieve a single product or service by ID, including its price, accounts and, for inventory, quantity on hand.
Inputs
- Product/service
item_idtextRequired - The product or service. Pick one, or use an Id from 'List QuickBooks items'.
Outputs
Itemobjecttimetext
Example output
{
"Item": {
"Active": true,
"FullyQualifiedName": "Services",
"Id": "1",
"IncomeAccountRef": {
"name": "Services",
"value": "1"
},
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"Name": "Services",
"SyncToken": "0",
"Taxable": false,
"Type": "Service",
"UnitPrice": 150
},
"time": "2026-09-30T10:15:00.000-07:00"
}Get a QuickBooks payment
Retrieve a single customer payment by ID, including the invoices it paid.
Inputs
- Payment ID
payment_idtextRequired - The payment's Id, from 'Create a QuickBooks payment' or 'List QuickBooks payments'.
Outputs
Paymentobjecttimetext
Example output
{
"Payment": {
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"Id": "140",
"Line": [
{
"Amount": 300.0,
"LinkedTxn": [
{
"TxnId": "130",
"TxnType": "Invoice"
}
]
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30",
"UnappliedAmt": 0
},
"time": "2026-09-30T10:15:00.000-07:00"
}Get a QuickBooks profit and loss report
Income, expenses and net income for a period, as rows a workflow can loop over and totals by section (Income, Expenses, NetIncome...).
Inputs
- Start date
start_datedate - The first day to report on.
- End date
end_datedate - The last day to report on.
- Period
date_macrotext - A named period instead of start and end dates. Without either, QuickBooks reports this fiscal year to date.One of:
Today,Yesterday,This Week,Last Week,This Week-to-date,Last Week-to-date,Next Week,Next 4 Weeks,This Month,Last Month, and 13 more. - Accounting method
accounting_methodtext - Cash or accrual basis. Defaults to the company's own setting.One of:
Accrual,Cash. - Columns
summarize_bytext - Split the amounts into columns by month, customer and so on. Defaults to a single Total column.One of:
Total(Total only),Month(Months),Week(Weeks),Days,Quarter(Quarters),Year(Years),Customers,Vendors,Classes,Departments(Locations),Employees,ProductsAndServices(Products and services). - Customer
customer_idtext - Only this customer's transactions.
- Class
class_idtext - Only amounts tracked under this class.
- Location
department_idtext - Only amounts tracked under this location.
- Include raw report
include_rawtrue/false - Also return QuickBooks' original nested report under 'report'.Default:
false.
Outputs
columnslistcurrencytextend_periodtextgenerated_attextno_datatrue/falsereportobject- QuickBooks' original report, when include_raw is set.
report_basistextreport_nametextrowsliststart_periodtextsummarize_columns_bytexttotalsobject- Each section's total by its group, e.g. NetIncome.
Example output
{
"columns": [
"Account",
"Total"
],
"currency": "USD",
"end_period": "2026-09-30",
"generated_at": "2026-09-30T10:15:00-07:00",
"no_data": false,
"report_basis": "Accrual",
"report_name": "ProfitAndLoss",
"rows": [
{
"amount": null,
"depth": 0,
"group": "Income",
"kind": "header",
"label": "Income",
"values": {
"Total": null
}
},
{
"amount": 2250.0,
"depth": 1,
"id": "82",
"kind": "data",
"label": "Design income",
"values": {
"Total": 2250.0
}
},
{
"amount": 2250.0,
"depth": 0,
"group": "Income",
"kind": "total",
"label": "Total Income",
"values": {
"Total": 2250.0
}
},
{
"amount": 1650.0,
"depth": 0,
"group": "NetIncome",
"kind": "total",
"label": "Net Income",
"values": {
"Total": 1650.0
}
}
],
"start_period": "2026-09-01",
"summarize_columns_by": "Total",
"totals": {
"Income": 2250.0,
"NetIncome": 1650.0
}
}Get a QuickBooks purchase order
Retrieve a single purchase order by ID, including whether it's still open.
Inputs
- Purchase order ID
purchase_order_idtextRequired - The purchase order's Id, from 'Create a QuickBooks purchase order' or 'List QuickBooks purchase orders'.
Outputs
PurchaseOrderobjecttimetext
Example output
{
"PurchaseOrder": {
"APAccountRef": {
"name": "Accounts Payable (A/P)",
"value": "33"
},
"DocNumber": "1005",
"EmailStatus": "NotSet",
"Id": "210",
"Line": [
{
"Amount": 90.0,
"DetailType": "ItemBasedExpenseLineDetail",
"Id": "1",
"ItemBasedExpenseLineDetail": {
"BillableStatus": "NotBillable",
"ItemRef": {
"name": "Pump",
"value": "11"
},
"Qty": 3,
"UnitPrice": 30
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"POEmail": {
"Address": "orders@bobs.example"
},
"POStatus": "Open",
"SyncToken": "0",
"TotalAmt": 90.0,
"TxnDate": "2026-09-30",
"VendorRef": {
"name": "Bob's Burger Joint",
"value": "56"
}
},
"time": "2026-09-30T10:15:00.000-07:00"
}Get a QuickBooks sales receipt
Retrieve a single sales receipt by ID.
Inputs
- Sales receipt ID
sales_receipt_idtextRequired - The sales receipt's Id, from 'Create a QuickBooks sales receipt' or 'List QuickBooks sales receipts'.
Outputs
SalesReceiptobjecttimetext
Example output
{
"SalesReceipt": {
"Balance": 0,
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DepositToAccountRef": {
"name": "Undeposited Funds",
"value": "4"
},
"DocNumber": "1039",
"Id": "180",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PaymentMethodRef": {
"name": "Cash",
"value": "1"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Get a QuickBooks sales receipt PDF
Save a sales receipt as the PDF a customer would receive. Later steps can attach or email the file.
Inputs
- Sales receipt ID
sales_receipt_idtextRequired - The sales receipt's Id, from 'Create a QuickBooks sales receipt' or 'List QuickBooks sales receipts'.
Outputs
content_typetextdocument_reftextdocumentslistentitytextfilenametextidtextsize_bytesnumberurltext
Example output
{
"content_type": "application/pdf",
"document_ref": "doc_6b6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d",
"documents": [
{
"content_type": "application/pdf",
"document_ref": "doc_6b6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d",
"filename": "sales-receipt-180.pdf",
"size_bytes": 39876,
"url": "/actions/core/serve-document/doc_6b6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d"
}
],
"entity": "SalesReceipt",
"filename": "sales-receipt-180.pdf",
"id": "180",
"size_bytes": 39876,
"url": "/actions/core/serve-document/doc_6b6f7b1c2d3e4a5b8c9d0e1f2a3b4c5d"
}Get a QuickBooks vendor
Retrieve a single vendor (supplier) by ID.
Inputs
- Vendor
vendor_idtextRequired - The vendor. Pick one, or use an Id from 'Create a QuickBooks vendor' or 'List QuickBooks vendors'.
Outputs
Vendorobjecttimetext
Example output
{
"Vendor": {
"Active": true,
"Balance": 0,
"CompanyName": "Bob's Burger Joint",
"DisplayName": "Bob's Burger Joint",
"Id": "56",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PrimaryEmailAddr": {
"Address": "orders@bobs.example"
},
"SyncToken": "0",
"Vendor1099": false
},
"time": "2026-09-30T10:15:00.000-07:00"
}Get QuickBooks company info
Read the connected company's name, legal name, address, contact details, country and fiscal year start.
Inputs
None.
Outputs
CompanyInfoobjecttimetext
Example output
{
"CompanyInfo": {
"CompanyAddr": {
"City": "San Pablo",
"CountrySubDivisionCode": "CA",
"Line1": "123 Sierra Way",
"PostalCode": "87999"
},
"CompanyName": "Craig's Design and Landscaping Services",
"Country": "US",
"Email": {
"Address": "noreply@quickbooks.com"
},
"FiscalYearStartMonth": "January",
"Id": "1",
"LegalName": "Craig's Design and Landscaping Services",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "4"
},
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks accounts
List accounts from the chart of accounts, optionally narrowed by type, classification or name. Returns one page; use start_position to get the next.
Inputs
- Limit
limitnumber - How many records to return, 1-1000. Defaults to 100.From 1 to 1000. Default:
100. - Start position
start_positionnumber - Which matching record to start from, counting from 1. For the next page, use the previous result's next_start_position.At least 1. Default:
1. - Account type
account_typetext - Only accounts of this type.One of:
Bank,Other Current Asset,Fixed Asset,Other Asset,Accounts Receivable,Equity,Expense,Other Expense,Cost of Goods Sold,Accounts Payable, and 5 more. - Classification
classificationtext - Only accounts in this group: Asset, Liability, Equity, Revenue or Expense.One of:
Asset,Liability,Equity,Revenue,Expense. - Name contains
name_containstext - Only records whose name contains this text (not case-sensitive).
- Include inactive
include_inactivetrue/false - Also return records that were made inactive. By default only active ones are listed.Default:
false. - Changed since
updated_sincedate and time - Only records created or changed at or after this moment.
Outputs
QueryResponseobjectcountnumber- How many records this page holds.
has_moretrue/false- True when the page came back full, so another may follow. It is also true when the last page happens to be exactly full; the next is then empty.
next_start_positionnumber- The start_position for the next page, or null on the last page.
start_positionnumber- The position of this page's first record, counting from 1.
timetext
Example output
{
"QueryResponse": {
"Account": [
{
"AccountSubType": "Checking",
"AccountType": "Bank",
"Active": true,
"Classification": "Asset",
"CurrencyRef": {
"name": "United States Dollar",
"value": "USD"
},
"CurrentBalance": 1201.0,
"FullyQualifiedName": "Checking",
"Id": "35",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"Name": "Checking",
"SyncToken": "0"
}
],
"maxResults": 1,
"startPosition": 1
},
"count": 1,
"has_more": false,
"next_start_position": null,
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks attachments
List the files and notes attached to one transaction or contact.
Inputs
- Record type
entity_typetextRequired - The kind of record.One of:
Invoice,Estimate,SalesReceipt(Sales receipt),CreditMemo(Credit memo),RefundReceipt(Refund receipt),Payment,Bill,BillPayment(Bill payment),Purchase(Expense),PurchaseOrder(Purchase order), and 9 more. - Record ID
entity_idtextRequired - That record's Id, such as an invoice Id.
- Limit
limitnumber - How many records to return, 1-1000. Defaults to 100.From 1 to 1000. Default:
100. - Start position
start_positionnumber - Which matching record to start from, counting from 1. For the next page, use the previous result's next_start_position.At least 1. Default:
1.
Outputs
QueryResponseobjectcountnumber- How many records this page holds.
has_moretrue/false- True when the page came back full, so another may follow. It is also true when the last page happens to be exactly full; the next is then empty.
next_start_positionnumber- The start_position for the next page, or null on the last page.
start_positionnumber- The position of this page's first record, counting from 1.
timetext
Example output
{
"QueryResponse": {
"Attachable": [
{
"AttachableRef": [
{
"EntityRef": {
"type": "Invoice",
"value": "130"
},
"IncludeOnSend": false
}
],
"ContentType": "application/pdf",
"FileName": "receipt.pdf",
"Id": "5000000000000123456",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"Size": 48213,
"SyncToken": "0",
"TempDownloadUri": "https://intuit-qbo-prod-30.s3.amazonaws.com/receipt.pdf"
}
],
"maxResults": 1,
"startPosition": 1
},
"count": 1,
"has_more": false,
"next_start_position": null,
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks bills
List bills from vendors, optionally narrowed by vendor, payment status or date. Returns one page; use start_position to get the next.
Inputs
- Limit
limitnumber - How many records to return, 1-1000. Defaults to 100.From 1 to 1000. Default:
100. - Start position
start_positionnumber - Which matching record to start from, counting from 1. For the next page, use the previous result's next_start_position.At least 1. Default:
1. - Vendor
vendor_idtext - Only this vendor's transactions.
- Status
statustext - Only unpaid (open balance), paid, or overdue (open and past due) bills.One of:
any,unpaid,paid,overdue. - From date
date_fromdate - Only transactions dated on or after this day.
- To date
date_todate - Only transactions dated on or before this day.
- Changed since
updated_sincedate and time - Only records created or changed at or after this moment.
Outputs
QueryResponseobjectcountnumber- How many records this page holds.
has_moretrue/false- True when the page came back full, so another may follow. It is also true when the last page happens to be exactly full; the next is then empty.
next_start_positionnumber- The start_position for the next page, or null on the last page.
start_positionnumber- The position of this page's first record, counting from 1.
timetext
Example output
{
"QueryResponse": {
"Bill": [
{
"APAccountRef": {
"name": "Accounts Payable (A/P)",
"value": "33"
},
"Balance": 45.0,
"DocNumber": "INV-8812",
"DueDate": "2026-10-30",
"Id": "150",
"Line": [
{
"AccountBasedExpenseLineDetail": {
"AccountRef": {
"name": "Office Expenses",
"value": "15"
},
"BillableStatus": "NotBillable"
},
"Amount": 45.0,
"Description": "Printer paper",
"DetailType": "AccountBasedExpenseLineDetail",
"Id": "1"
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 45.0,
"TxnDate": "2026-09-30",
"VendorRef": {
"name": "Bob's Burger Joint",
"value": "56"
}
}
],
"maxResults": 1,
"startPosition": 1
},
"count": 1,
"has_more": false,
"next_start_position": null,
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks changes
Everything of the chosen kinds created, changed or deleted since a moment in the last 30 days, in one call. Deleted records come back with status 'Deleted' and only their Id. Up to 1,000 records per kind.
Inputs
- Record types
entitiestextRequired - The kinds of record to report on.One or more of:
Account,Bill,BillPayment(Bill payment),Class,CreditMemo(Credit memo),Customer,Department(Location),Deposit,Employee,Estimate, and 13 more. - Changed since
changed_sincedate and timeRequired - The moment to report changes since, within the last 30 days.
Outputs
changed_sincetextchangesobject- The changed records of each chosen type, by type name, e.g. changes.Invoice. A deleted record has status Deleted.
countsobject- How many records changed, by type name.
timetext
Example output
{
"changed_since": "2026-09-29T00:00:00Z",
"changes": {
"Customer": [
{
"Id": "59",
"domain": "QBO",
"status": "Deleted"
}
],
"Invoice": [
{
"Balance": 300.0,
"BillEmail": {
"Address": "ap@acme.example"
},
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1037",
"DueDate": "2026-10-30",
"EmailStatus": "NotSet",
"Id": "130",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
}
]
},
"counts": {
"Customer": 1,
"Invoice": 1
},
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks credit memos
List credit memos, optionally narrowed by customer or date. Returns one page; use start_position to get the next.
Inputs
- Limit
limitnumber - How many records to return, 1-1000. Defaults to 100.From 1 to 1000. Default:
100. - Start position
start_positionnumber - Which matching record to start from, counting from 1. For the next page, use the previous result's next_start_position.At least 1. Default:
1. - Customer
customer_idtext - Only this customer's transactions.
- From date
date_fromdate - Only transactions dated on or after this day.
- To date
date_todate - Only transactions dated on or before this day.
- Changed since
updated_sincedate and time - Only records created or changed at or after this moment.
Outputs
QueryResponseobjectcountnumber- How many records this page holds.
has_moretrue/false- True when the page came back full, so another may follow. It is also true when the last page happens to be exactly full; the next is then empty.
next_start_positionnumber- The start_position for the next page, or null on the last page.
start_positionnumber- The position of this page's first record, counting from 1.
timetext
Example output
{
"QueryResponse": {
"CreditMemo": [
{
"Balance": 300.0,
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1040",
"Id": "190",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"RemainingCredit": 300.0,
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
}
],
"maxResults": 1,
"startPosition": 1
},
"count": 1,
"has_more": false,
"next_start_position": null,
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks customers
List customers, optionally narrowed by name, email or when they last changed. Returns one page; use start_position to get the next.
Inputs
- Limit
limitnumber - How many records to return, 1-1000. Defaults to 100.From 1 to 1000. Default:
100. - Start position
start_positionnumber - Which matching record to start from, counting from 1. For the next page, use the previous result's next_start_position.At least 1. Default:
1. - Name contains
name_containstext - Only records whose name contains this text (not case-sensitive).
- Email
emailtext - Only the customer with exactly this email address.
- Include inactive
include_inactivetrue/false - Also return records that were made inactive. By default only active ones are listed.Default:
false. - Changed since
updated_sincedate and time - Only records created or changed at or after this moment.
Outputs
QueryResponseobjectcountnumber- How many records this page holds.
has_moretrue/false- True when the page came back full, so another may follow. It is also true when the last page happens to be exactly full; the next is then empty.
next_start_positionnumber- The start_position for the next page, or null on the last page.
start_positionnumber- The position of this page's first record, counting from 1.
timetext
Example output
{
"QueryResponse": {
"Customer": [
{
"Active": true,
"Balance": 0,
"CompanyName": "Acme Corp",
"DisplayName": "Acme Corp",
"FamilyName": "Doe",
"GivenName": "Jane",
"Id": "58",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PrimaryEmailAddr": {
"Address": "ap@acme.example"
},
"PrimaryPhone": {
"FreeFormNumber": "(555) 555-0100"
},
"SyncToken": "0"
}
],
"maxResults": 1,
"startPosition": 1
},
"count": 1,
"has_more": false,
"next_start_position": null,
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks estimates
List estimates (quotes), optionally narrowed by customer or date. Returns one page; use start_position to get the next.
Inputs
- Limit
limitnumber - How many records to return, 1-1000. Defaults to 100.From 1 to 1000. Default:
100. - Start position
start_positionnumber - Which matching record to start from, counting from 1. For the next page, use the previous result's next_start_position.At least 1. Default:
1. - Customer
customer_idtext - Only this customer's transactions.
- From date
date_fromdate - Only transactions dated on or after this day.
- To date
date_todate - Only transactions dated on or before this day.
- Changed since
updated_sincedate and time - Only records created or changed at or after this moment.
Outputs
QueryResponseobjectcountnumber- How many records this page holds.
has_moretrue/false- True when the page came back full, so another may follow. It is also true when the last page happens to be exactly full; the next is then empty.
next_start_positionnumber- The start_position for the next page, or null on the last page.
start_positionnumber- The position of this page's first record, counting from 1.
timetext
Example output
{
"QueryResponse": {
"Estimate": [
{
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1038",
"EmailStatus": "NotSet",
"ExpirationDate": "2026-10-30",
"Id": "170",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30",
"TxnStatus": "Pending"
}
],
"maxResults": 1,
"startPosition": 1
},
"count": 1,
"has_more": false,
"next_start_position": null,
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks expenses
List expenses (checks, card charges and cash purchases), optionally narrowed by date. Returns one page; use start_position to get the next.
Inputs
- Limit
limitnumber - How many records to return, 1-1000. Defaults to 100.From 1 to 1000. Default:
100. - Start position
start_positionnumber - Which matching record to start from, counting from 1. For the next page, use the previous result's next_start_position.At least 1. Default:
1. - From date
date_fromdate - Only transactions dated on or after this day.
- To date
date_todate - Only transactions dated on or before this day.
- Changed since
updated_sincedate and time - Only records created or changed at or after this moment.
Outputs
QueryResponseobjectcountnumber- How many records this page holds.
has_moretrue/false- True when the page came back full, so another may follow. It is also true when the last page happens to be exactly full; the next is then empty.
next_start_positionnumber- The start_position for the next page, or null on the last page.
start_positionnumber- The position of this page's first record, counting from 1.
timetext
Example output
{
"QueryResponse": {
"Purchase": [
{
"AccountRef": {
"name": "Visa",
"value": "42"
},
"EntityRef": {
"name": "Bob's Burger Joint",
"type": "Vendor",
"value": "56"
},
"Id": "160",
"Line": [
{
"AccountBasedExpenseLineDetail": {
"AccountRef": {
"name": "Office Expenses",
"value": "15"
},
"BillableStatus": "NotBillable"
},
"Amount": 45.0,
"Description": "Printer paper",
"DetailType": "AccountBasedExpenseLineDetail",
"Id": "1"
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PaymentType": "CreditCard",
"SyncToken": "0",
"TotalAmt": 45.0,
"TxnDate": "2026-09-30"
}
],
"maxResults": 1,
"startPosition": 1
},
"count": 1,
"has_more": false,
"next_start_position": null,
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks invoices
List invoices, optionally narrowed by customer, payment status, date or number. Returns one page; use start_position to get the next.
Inputs
- Limit
limitnumber - How many records to return, 1-1000. Defaults to 100.From 1 to 1000. Default:
100. - Start position
start_positionnumber - Which matching record to start from, counting from 1. For the next page, use the previous result's next_start_position.At least 1. Default:
1. - Customer
customer_idtext - Only this customer's transactions.
- Status
statustext - Only unpaid (open balance), paid, or overdue (open and past due) invoices.One of:
any,unpaid,paid,overdue. - From date
date_fromdate - Only transactions dated on or after this day.
- To date
date_todate - Only transactions dated on or before this day.
- Invoice number
doc_numbertext - Only the invoice with this number.
- Changed since
updated_sincedate and time - Only records created or changed at or after this moment.
Outputs
QueryResponseobjectcountnumber- How many records this page holds.
has_moretrue/false- True when the page came back full, so another may follow. It is also true when the last page happens to be exactly full; the next is then empty.
next_start_positionnumber- The start_position for the next page, or null on the last page.
start_positionnumber- The position of this page's first record, counting from 1.
timetext
Example output
{
"QueryResponse": {
"Invoice": [
{
"Balance": 300.0,
"BillEmail": {
"Address": "ap@acme.example"
},
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1037",
"DueDate": "2026-10-30",
"EmailStatus": "NotSet",
"Id": "130",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
}
],
"maxResults": 1,
"startPosition": 1
},
"count": 1,
"has_more": false,
"next_start_position": null,
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks items
List products and services, optionally narrowed by type, name or SKU. Returns one page; use start_position to get the next.
Inputs
- Limit
limitnumber - How many records to return, 1-1000. Defaults to 100.From 1 to 1000. Default:
100. - Start position
start_positionnumber - Which matching record to start from, counting from 1. For the next page, use the previous result's next_start_position.At least 1. Default:
1. - Type
item_typetext - Only items of this type.One of:
Service,NonInventory(Non-inventory product),Inventory(Inventory product),Group(Bundle),Category. - Name contains
name_containstext - Only records whose name contains this text (not case-sensitive).
- SKU
skutext - Only the item with exactly this SKU.
- Include inactive
include_inactivetrue/false - Also return records that were made inactive. By default only active ones are listed.Default:
false. - Changed since
updated_sincedate and time - Only records created or changed at or after this moment.
Outputs
QueryResponseobjectcountnumber- How many records this page holds.
has_moretrue/false- True when the page came back full, so another may follow. It is also true when the last page happens to be exactly full; the next is then empty.
next_start_positionnumber- The start_position for the next page, or null on the last page.
start_positionnumber- The position of this page's first record, counting from 1.
timetext
Example output
{
"QueryResponse": {
"Item": [
{
"Active": true,
"FullyQualifiedName": "Services",
"Id": "1",
"IncomeAccountRef": {
"name": "Services",
"value": "1"
},
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"Name": "Services",
"SyncToken": "0",
"Taxable": false,
"Type": "Service",
"UnitPrice": 150
}
],
"maxResults": 1,
"startPosition": 1
},
"count": 1,
"has_more": false,
"next_start_position": null,
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks journal entries
List journal entries, optionally narrowed by date or number. Returns one page; use start_position to get the next.
Inputs
- Limit
limitnumber - How many records to return, 1-1000. Defaults to 100.From 1 to 1000. Default:
100. - Start position
start_positionnumber - Which matching record to start from, counting from 1. For the next page, use the previous result's next_start_position.At least 1. Default:
1. - From date
date_fromdate - Only transactions dated on or after this day.
- To date
date_todate - Only transactions dated on or before this day.
- Entry number
doc_numbertext - Only the entry with this number.
- Changed since
updated_sincedate and time - Only records created or changed at or after this moment.
Outputs
QueryResponseobjectcountnumber- How many records this page holds.
has_moretrue/false- True when the page came back full, so another may follow. It is also true when the last page happens to be exactly full; the next is then empty.
next_start_positionnumber- The start_position for the next page, or null on the last page.
start_positionnumber- The position of this page's first record, counting from 1.
timetext
Example output
{
"QueryResponse": {
"JournalEntry": [
{
"Adjustment": false,
"DocNumber": "JE-12",
"Id": "230",
"Line": [
{
"Amount": 100.0,
"Description": "September insurance",
"DetailType": "JournalEntryLineDetail",
"Id": "0",
"JournalEntryLineDetail": {
"AccountRef": {
"name": "Insurance",
"value": "11"
},
"PostingType": "Debit"
}
},
{
"Amount": 100.0,
"Description": "September insurance",
"DetailType": "JournalEntryLineDetail",
"Id": "1",
"JournalEntryLineDetail": {
"AccountRef": {
"name": "Checking",
"value": "35"
},
"PostingType": "Credit"
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TxnDate": "2026-09-30"
}
],
"maxResults": 1,
"startPosition": 1
},
"count": 1,
"has_more": false,
"next_start_position": null,
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks payments
List customer payments, optionally narrowed by customer or date. Returns one page; use start_position to get the next.
Inputs
- Limit
limitnumber - How many records to return, 1-1000. Defaults to 100.From 1 to 1000. Default:
100. - Start position
start_positionnumber - Which matching record to start from, counting from 1. For the next page, use the previous result's next_start_position.At least 1. Default:
1. - Customer
customer_idtext - Only this customer's transactions.
- From date
date_fromdate - Only transactions dated on or after this day.
- To date
date_todate - Only transactions dated on or before this day.
- Changed since
updated_sincedate and time - Only records created or changed at or after this moment.
Outputs
QueryResponseobjectcountnumber- How many records this page holds.
has_moretrue/false- True when the page came back full, so another may follow. It is also true when the last page happens to be exactly full; the next is then empty.
next_start_positionnumber- The start_position for the next page, or null on the last page.
start_positionnumber- The position of this page's first record, counting from 1.
timetext
Example output
{
"QueryResponse": {
"Payment": [
{
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"Id": "140",
"Line": [
{
"Amount": 300.0,
"LinkedTxn": [
{
"TxnId": "130",
"TxnType": "Invoice"
}
]
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30",
"UnappliedAmt": 0
}
],
"maxResults": 1,
"startPosition": 1
},
"count": 1,
"has_more": false,
"next_start_position": null,
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks purchase orders
List purchase orders, optionally narrowed by date. Returns one page; use start_position to get the next.
Inputs
- Limit
limitnumber - How many records to return, 1-1000. Defaults to 100.From 1 to 1000. Default:
100. - Start position
start_positionnumber - Which matching record to start from, counting from 1. For the next page, use the previous result's next_start_position.At least 1. Default:
1. - From date
date_fromdate - Only transactions dated on or after this day.
- To date
date_todate - Only transactions dated on or before this day.
- Changed since
updated_sincedate and time - Only records created or changed at or after this moment.
Outputs
QueryResponseobjectcountnumber- How many records this page holds.
has_moretrue/false- True when the page came back full, so another may follow. It is also true when the last page happens to be exactly full; the next is then empty.
next_start_positionnumber- The start_position for the next page, or null on the last page.
start_positionnumber- The position of this page's first record, counting from 1.
timetext
Example output
{
"QueryResponse": {
"PurchaseOrder": [
{
"APAccountRef": {
"name": "Accounts Payable (A/P)",
"value": "33"
},
"DocNumber": "1005",
"EmailStatus": "NotSet",
"Id": "210",
"Line": [
{
"Amount": 90.0,
"DetailType": "ItemBasedExpenseLineDetail",
"Id": "1",
"ItemBasedExpenseLineDetail": {
"BillableStatus": "NotBillable",
"ItemRef": {
"name": "Pump",
"value": "11"
},
"Qty": 3,
"UnitPrice": 30
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"POEmail": {
"Address": "orders@bobs.example"
},
"POStatus": "Open",
"SyncToken": "0",
"TotalAmt": 90.0,
"TxnDate": "2026-09-30",
"VendorRef": {
"name": "Bob's Burger Joint",
"value": "56"
}
}
],
"maxResults": 1,
"startPosition": 1
},
"count": 1,
"has_more": false,
"next_start_position": null,
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks sales receipts
List sales receipts (sales paid for on the spot), optionally narrowed by customer or date. Returns one page; use start_position to get the next.
Inputs
- Limit
limitnumber - How many records to return, 1-1000. Defaults to 100.From 1 to 1000. Default:
100. - Start position
start_positionnumber - Which matching record to start from, counting from 1. For the next page, use the previous result's next_start_position.At least 1. Default:
1. - Customer
customer_idtext - Only this customer's transactions.
- From date
date_fromdate - Only transactions dated on or after this day.
- To date
date_todate - Only transactions dated on or before this day.
- Changed since
updated_sincedate and time - Only records created or changed at or after this moment.
Outputs
QueryResponseobjectcountnumber- How many records this page holds.
has_moretrue/false- True when the page came back full, so another may follow. It is also true when the last page happens to be exactly full; the next is then empty.
next_start_positionnumber- The start_position for the next page, or null on the last page.
start_positionnumber- The position of this page's first record, counting from 1.
timetext
Example output
{
"QueryResponse": {
"SalesReceipt": [
{
"Balance": 0,
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DepositToAccountRef": {
"name": "Undeposited Funds",
"value": "4"
},
"DocNumber": "1039",
"Id": "180",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PaymentMethodRef": {
"name": "Cash",
"value": "1"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
}
],
"maxResults": 1,
"startPosition": 1
},
"count": 1,
"has_more": false,
"next_start_position": null,
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks time activities
List logged time, optionally narrowed by date or billing status. Returns one page; use start_position to get the next.
Inputs
- Limit
limitnumber - How many records to return, 1-1000. Defaults to 100.From 1 to 1000. Default:
100. - Start position
start_positionnumber - Which matching record to start from, counting from 1. For the next page, use the previous result's next_start_position.At least 1. Default:
1. - From date
date_fromdate - Only transactions dated on or after this day.
- To date
date_todate - Only transactions dated on or before this day.
- Billing status
billable_statustext - Only time that is billable, not billable, or already billed.One of:
Billable,NotBillable(Not billable),HasBeenBilled(Already billed). - Changed since
updated_sincedate and time - Only records created or changed at or after this moment.
Outputs
QueryResponseobjectcountnumber- How many records this page holds.
has_moretrue/false- True when the page came back full, so another may follow. It is also true when the last page happens to be exactly full; the next is then empty.
next_start_positionnumber- The start_position for the next page, or null on the last page.
start_positionnumber- The position of this page's first record, counting from 1.
timetext
Example output
{
"QueryResponse": {
"TimeActivity": [
{
"BillableStatus": "Billable",
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"Description": "Site visit",
"EmployeeRef": {
"name": "Emily Platt",
"value": "55"
},
"HourlyRate": 75,
"Hours": 3,
"Id": "260",
"ItemRef": {
"name": "Services",
"value": "1"
},
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"Minutes": 30,
"NameOf": "Employee",
"SyncToken": "0",
"TxnDate": "2026-09-30"
}
],
"maxResults": 1,
"startPosition": 1
},
"count": 1,
"has_more": false,
"next_start_position": null,
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}List QuickBooks vendors
List vendors (suppliers), optionally narrowed by name or when they last changed. Returns one page; use start_position to get the next.
Inputs
- Limit
limitnumber - How many records to return, 1-1000. Defaults to 100.From 1 to 1000. Default:
100. - Start position
start_positionnumber - Which matching record to start from, counting from 1. For the next page, use the previous result's next_start_position.At least 1. Default:
1. - Name contains
name_containstext - Only records whose name contains this text (not case-sensitive).
- Include inactive
include_inactivetrue/false - Also return records that were made inactive. By default only active ones are listed.Default:
false. - Changed since
updated_sincedate and time - Only records created or changed at or after this moment.
Outputs
QueryResponseobjectcountnumber- How many records this page holds.
has_moretrue/false- True when the page came back full, so another may follow. It is also true when the last page happens to be exactly full; the next is then empty.
next_start_positionnumber- The start_position for the next page, or null on the last page.
start_positionnumber- The position of this page's first record, counting from 1.
timetext
Example output
{
"QueryResponse": {
"Vendor": [
{
"Active": true,
"Balance": 0,
"CompanyName": "Bob's Burger Joint",
"DisplayName": "Bob's Burger Joint",
"Id": "56",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PrimaryEmailAddr": {
"Address": "orders@bobs.example"
},
"SyncToken": "0",
"Vendor1099": false
}
],
"maxResults": 1,
"startPosition": 1
},
"count": 1,
"has_more": false,
"next_start_position": null,
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}Pay a QuickBooks bill
Record paying a bill, by check from a bank account or with a credit card. Without an amount, the bill's whole open balance is paid.
Inputs
- Bill ID
bill_idtextRequired - The bill's Id, from 'Create a QuickBooks bill' or 'List QuickBooks bills'.
- Paid from
payment_account_idtextRequired - The bank account (for a check) or credit card it was paid from.
- Paid by
pay_typetext - Check for a bank account, CreditCard for a card. Defaults to Check.One of:
Check,CreditCard(Credit card). Default:Check. - Amount
amountnumber - How much was paid. Defaults to the bill's open balance.At least 0.
- Payment date
payment_datedate - When it was paid. Defaults to today.
- Check no.
doc_numbertext - The check number.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
BillPaymentobjecttimetext
Example output
{
"BillPayment": {
"CheckPayment": {
"BankAccountRef": {
"name": "Checking",
"value": "35"
}
},
"Id": "151",
"Line": [
{
"Amount": 45.0,
"LinkedTxn": [
{
"TxnId": "150",
"TxnType": "Bill"
}
]
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PayType": "Check",
"SyncToken": "0",
"TotalAmt": 45.0,
"TxnDate": "2026-09-30",
"VendorRef": {
"name": "Bob's Burger Joint",
"value": "56"
}
},
"time": "2026-09-30T10:15:00.000-07:00"
}Run a QuickBooks query
Run a query in QuickBooks' own query language, e.g. SELECT * FROM Invoice WHERE Balance > '0' ORDERBY DueDate MAXRESULTS 50. The matching records come back under 'records' whatever their kind; a SELECT COUNT(*) comes back under 'count'.
Inputs
- Query
querytextRequired - The query. Only SELECT is supported, and a page holds up to 1,000 records (STARTPOSITION and MAXRESULTS page through more).
Outputs
countnumberentitytext- The type of record the query returned, e.g. Invoice.
max_resultsnumberrecordsliststart_positionnumbertimetext
Example output
{
"count": 1,
"entity": "Invoice",
"max_results": 1,
"records": [
{
"Balance": 300.0,
"BillEmail": {
"Address": "ap@acme.example"
},
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1037",
"DueDate": "2026-10-30",
"EmailStatus": "NotSet",
"Id": "130",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
}
],
"start_position": 1,
"time": "2026-09-30T10:15:00.000-07:00"
}Run a QuickBooks report
Run any QuickBooks report by name, with its options as Intuit documents them, such as a trial balance, general ledger or sales by customer.
Inputs
- Report
report_nametextRequired - The report to run.One of:
ProfitAndLoss(Profit and loss),ProfitAndLossDetail(Profit and loss detail),BalanceSheet(Balance sheet),CashFlow(Cash flow),TrialBalance(Trial balance),GeneralLedger(General ledger),AgedReceivables(A/R aging summary),AgedReceivableDetail(A/R aging detail),AgedPayables(A/P aging summary),AgedPayableDetail(A/P aging detail), and 19 more. - Options
parametersobject - The report's options as Intuit names them, e.g. {"start_date": "2026-01-01", "end_date": "2026-03-31", "accounting_method": "Cash"}. Each report's reference page lists the ones it takes.
- Include raw report
include_rawtrue/false - Also return QuickBooks' original nested report under 'report'.Default:
false.
Outputs
columnslistcurrencytextend_periodtextgenerated_attextno_datatrue/falsereportobject- QuickBooks' original report, when include_raw is set.
report_basistextreport_nametextrowsliststart_periodtextsummarize_columns_bytexttotalsobject- Each section's total by its group, e.g. NetIncome.
Example output
{
"columns": [
"Account",
"Total"
],
"currency": "USD",
"end_period": "2026-09-30",
"generated_at": "2026-09-30T10:15:00-07:00",
"no_data": false,
"report_basis": "Accrual",
"report_name": "ProfitAndLoss",
"rows": [
{
"amount": null,
"depth": 0,
"group": "Income",
"kind": "header",
"label": "Income",
"values": {
"Total": null
}
},
{
"amount": 2250.0,
"depth": 1,
"id": "82",
"kind": "data",
"label": "Design income",
"values": {
"Total": 2250.0
}
},
{
"amount": 2250.0,
"depth": 0,
"group": "Income",
"kind": "total",
"label": "Total Income",
"values": {
"Total": 2250.0
}
},
{
"amount": 1650.0,
"depth": 0,
"group": "NetIncome",
"kind": "total",
"label": "Net Income",
"values": {
"Total": 1650.0
}
}
],
"start_period": "2026-09-01",
"summarize_columns_by": "Total",
"totals": {
"Income": 2250.0,
"NetIncome": 1650.0
}
}Send a QuickBooks credit memo
Email a credit memo to the customer from QuickBooks.
Inputs
- Credit memo ID
credit_memo_idtextRequired - The credit memo's Id, from 'Create a QuickBooks credit memo' or 'List QuickBooks credit memos'.
- Send to
email_totext - Send it to this address instead of the one on the form, which QuickBooks then updates to it.
Outputs
CreditMemoobjecttimetext
Example output
{
"CreditMemo": {
"Balance": 300.0,
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1040",
"Id": "190",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"RemainingCredit": 300.0,
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Send a QuickBooks estimate
Email an estimate to the customer from QuickBooks.
Inputs
- Estimate ID
estimate_idtextRequired - The estimate's Id, from 'Create a QuickBooks estimate' or 'List QuickBooks estimates'.
- Send to
email_totext - Send it to this address instead of the one on the form, which QuickBooks then updates to it.
Outputs
Estimateobjecttimetext
Example output
{
"Estimate": {
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1038",
"EmailStatus": "NotSet",
"ExpirationDate": "2026-10-30",
"Id": "170",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30",
"TxnStatus": "Pending"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Send a QuickBooks invoice
Email an invoice to the customer from QuickBooks, with a link to pay it online when the company takes online payments.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's Id, from 'Create a QuickBooks invoice' or 'List QuickBooks invoices'.
- Send to
email_totext - Send it to this address instead of the one on the form, which QuickBooks then updates to it.
Outputs
Invoiceobjecttimetext
Example output
{
"Invoice": {
"Balance": 300.0,
"BillEmail": {
"Address": "ap@acme.example"
},
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1037",
"DueDate": "2026-10-30",
"EmailStatus": "NotSet",
"Id": "130",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Send a QuickBooks purchase order
Email a purchase order to the vendor from QuickBooks.
Inputs
- Purchase order ID
purchase_order_idtextRequired - The purchase order's Id, from 'Create a QuickBooks purchase order' or 'List QuickBooks purchase orders'.
- Send to
email_totext - Send it to this address instead of the one on the form, which QuickBooks then updates to it.
Outputs
PurchaseOrderobjecttimetext
Example output
{
"PurchaseOrder": {
"APAccountRef": {
"name": "Accounts Payable (A/P)",
"value": "33"
},
"DocNumber": "1005",
"EmailStatus": "NotSet",
"Id": "210",
"Line": [
{
"Amount": 90.0,
"DetailType": "ItemBasedExpenseLineDetail",
"Id": "1",
"ItemBasedExpenseLineDetail": {
"BillableStatus": "NotBillable",
"ItemRef": {
"name": "Pump",
"value": "11"
},
"Qty": 3,
"UnitPrice": 30
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"POEmail": {
"Address": "orders@bobs.example"
},
"POStatus": "Open",
"SyncToken": "0",
"TotalAmt": 90.0,
"TxnDate": "2026-09-30",
"VendorRef": {
"name": "Bob's Burger Joint",
"value": "56"
}
},
"time": "2026-09-30T10:15:00.000-07:00"
}Send a QuickBooks sales receipt
Email a sales receipt to the customer from QuickBooks.
Inputs
- Sales receipt ID
sales_receipt_idtextRequired - The sales receipt's Id, from 'Create a QuickBooks sales receipt' or 'List QuickBooks sales receipts'.
- Send to
email_totext - Send it to this address instead of the one on the form, which QuickBooks then updates to it.
Outputs
SalesReceiptobjecttimetext
Example output
{
"SalesReceipt": {
"Balance": 0,
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DepositToAccountRef": {
"name": "Undeposited Funds",
"value": "4"
},
"DocNumber": "1039",
"Id": "180",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PaymentMethodRef": {
"name": "Cash",
"value": "1"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Update a QuickBooks bill
Change a bill's dates, number, terms, memo or lines. Only the fields you fill in change.
Inputs
- Bill ID
bill_idtextRequired - The bill's Id, from 'Create a QuickBooks bill' or 'List QuickBooks bills'.
- Due date
due_datedate - When payment is due.
- Date
txn_datedate - The transaction's date. Defaults to today.
- Bill no.
doc_numbertext - The vendor's bill or invoice number.
- Terms
terms_idtext - Payment terms, such as Net 30, which set the due date when none is given.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Replace lines (advanced)
line_itemslist - New lines, which replace all of the bill's current lines. Same format as 'Create a QuickBooks bill'.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Billobjecttimetext
Example output
{
"Bill": {
"APAccountRef": {
"name": "Accounts Payable (A/P)",
"value": "33"
},
"Balance": 45.0,
"DocNumber": "INV-8812",
"DueDate": "2026-10-30",
"Id": "150",
"Line": [
{
"AccountBasedExpenseLineDetail": {
"AccountRef": {
"name": "Office Expenses",
"value": "15"
},
"BillableStatus": "NotBillable"
},
"Amount": 45.0,
"Description": "Printer paper",
"DetailType": "AccountBasedExpenseLineDetail",
"Id": "1"
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 45.0,
"TxnDate": "2026-09-30",
"VendorRef": {
"name": "Bob's Burger Joint",
"value": "56"
}
},
"time": "2026-09-30T10:15:00.000-07:00"
}Update a QuickBooks customer
Change a customer's details. Only the fields you fill in change; the rest keep their values.
Inputs
- Customer
customer_idtextRequired - The customer. Pick one, or use an Id from 'Create a QuickBooks customer' or 'List QuickBooks customers'.
- Display name
display_nametext - A new display name, unique across customers, vendors and employees.
- First name
given_nametext - First name.
- Last name
family_nametext - Last name.
- Email
emailtext - Email address.
- Phone
phonetext - Main phone number.
- Company
company_nametext - Company name.
- Mobile
mobiletext - Mobile number.
- Website
websitetext - Website address.
- Address line 1
address_line1text - Billing address, first line.
- Address line 2
address_line2text - Billing address, second line.
- City
citytext - City.
- State
statetext - State, province or region code, such as CA.
- Postal code
postal_codetext - ZIP or postal code.
- Country
countrytext - Country.
- Notes
notestext - Private notes about the customer. Replaces the current notes.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Customerobjecttimetext
Example output
{
"Customer": {
"Active": true,
"Balance": 0,
"CompanyName": "Acme Corp",
"DisplayName": "Acme Corp",
"FamilyName": "Doe",
"GivenName": "Jane",
"Id": "58",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PrimaryEmailAddr": {
"Address": "ap@acme.example"
},
"PrimaryPhone": {
"FreeFormNumber": "(555) 555-0100"
},
"SyncToken": "0"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Update a QuickBooks estimate
Change an estimate, or mark it accepted, closed or rejected. Only the fields you fill in change.
Inputs
- Estimate ID
estimate_idtextRequired - The estimate's Id, from 'Create a QuickBooks estimate' or 'List QuickBooks estimates'.
- Status
statustext - The estimate's status.One of:
Pending,Accepted,Closed,Rejected. - Expiration date
expiration_datedate - When the estimate expires.
- Date
txn_datedate - The transaction's date. Defaults to today.
- Number
doc_numbertext - The document number. Leave blank to let QuickBooks number it, when the company numbers them automatically.
- Email to
email_totext - The customer's email address for this document (its Bill Email).
- Message to customer
memotext - A message to the customer, printed on the document.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Replace lines (advanced)
line_itemslist - New lines, which replace all of the estimate's current lines. Same format as 'Create a QuickBooks estimate'.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Estimateobjecttimetext
Example output
{
"Estimate": {
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1038",
"EmailStatus": "NotSet",
"ExpirationDate": "2026-10-30",
"Id": "170",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30",
"TxnStatus": "Pending"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Update a QuickBooks invoice
Change an invoice's dates, number, terms, messages or lines. Only the fields you fill in change.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's Id, from 'Create a QuickBooks invoice' or 'List QuickBooks invoices'.
- Due date
due_datedate - When payment is due.
- Date
txn_datedate - The transaction's date. Defaults to today.
- Number
doc_numbertext - The document number. Leave blank to let QuickBooks number it, when the company numbers them automatically.
- Email to
email_totext - The customer's email address for this document (its Bill Email).
- Terms
terms_idtext - Payment terms, such as Net 30, which set the due date when none is given.
- Message to customer
memotext - A message to the customer, printed on the document.
- Internal memo
private_notetext - An internal memo. Customers and vendors never see it.
- Replace lines (advanced)
line_itemslist - New lines, which replace all of the invoice's current lines. Same format as 'Create a QuickBooks invoice'.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Invoiceobjecttimetext
Example output
{
"Invoice": {
"Balance": 300.0,
"BillEmail": {
"Address": "ap@acme.example"
},
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1037",
"DueDate": "2026-10-30",
"EmailStatus": "NotSet",
"Id": "130",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Update a QuickBooks item
Change a product or service. Only the fields you fill in change. Set Active to No to retire the item, which is how QuickBooks removes one.
Inputs
- Product/service
item_idtextRequired - The product or service. Pick one, or use an Id from 'List QuickBooks items'.
- Name
nametext - A new name, unique among items.
- Sales description
descriptiontext - The description on sales forms.
- Sales price
unit_pricenumber - The sales price.
- Income account
income_account_idtext - The income account sales of it post to. Required for Service and Inventory items; an Inventory item's must have the Sales of Product Income detail type.
- Purchase description
purchase_descriptiontext - The description on purchase forms.
- Cost
purchase_costnumber - What it costs to buy.
- Expense account
expense_account_idtext - The expense account purchases of it post to (Cost of Goods Sold for inventory). Required for Inventory items.
- SKU
skutext - Its stock-keeping unit code.
- Taxable
taxabletrue/false - Whether sales tax applies to it (US).
- Active
activetrue/false - No makes the item inactive; Yes restores an inactive one.
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Itemobjecttimetext
Example output
{
"Item": {
"Active": true,
"FullyQualifiedName": "Services",
"Id": "1",
"IncomeAccountRef": {
"name": "Services",
"value": "1"
},
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"Name": "Services",
"SyncToken": "0",
"Taxable": false,
"Type": "Service",
"UnitPrice": 150
},
"time": "2026-09-30T10:15:00.000-07:00"
}Update a QuickBooks vendor
Change a vendor's details. Only the fields you fill in change; the rest keep their values.
Inputs
- Vendor
vendor_idtextRequired - The vendor. Pick one, or use an Id from 'Create a QuickBooks vendor' or 'List QuickBooks vendors'.
- Display name
display_nametext - A new display name, unique across customers, vendors and employees.
- First name
given_nametext - First name.
- Last name
family_nametext - Last name.
- Email
emailtext - Email address.
- Phone
phonetext - Main phone number.
- Company
company_nametext - Company name.
- Mobile
mobiletext - Mobile number.
- Website
websitetext - Website address.
- Address line 1
address_line1text - Billing address, first line.
- Address line 2
address_line2text - Billing address, second line.
- City
citytext - City.
- State
statetext - State, province or region code, such as CA.
- Postal code
postal_codetext - ZIP or postal code.
- Country
countrytext - Country.
- Account number
account_numbertext - Your account number with this vendor.
- Track for 1099
is_1099true/false - Whether the vendor gets a 1099 (US).
- Additional fields (advanced)
additional_fieldsobject - QuickBooks fields to send exactly as given, for anything the fields above don't cover, e.g. {"CurrencyRef": {"value": "EUR"}}. Names and shapes follow Intuit's API reference, and these win over the fields above.
Outputs
Vendorobjecttimetext
Example output
{
"Vendor": {
"Active": true,
"Balance": 0,
"CompanyName": "Bob's Burger Joint",
"DisplayName": "Bob's Burger Joint",
"Id": "56",
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PrimaryEmailAddr": {
"Address": "orders@bobs.example"
},
"SyncToken": "0",
"Vendor1099": false
},
"time": "2026-09-30T10:15:00.000-07:00"
}Void a QuickBooks invoice
Void an invoice: its amounts become zero and 'Voided' is added to its memo, but it stays on record, unlike deleting it.
Inputs
- Invoice ID
invoice_idtextRequired - The invoice's Id, from 'Create a QuickBooks invoice' or 'List QuickBooks invoices'.
Outputs
Invoiceobjecttimetext
Example output
{
"Invoice": {
"Balance": 300.0,
"BillEmail": {
"Address": "ap@acme.example"
},
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DocNumber": "1037",
"DueDate": "2026-10-30",
"EmailStatus": "NotSet",
"Id": "130",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}Void a QuickBooks payment
Void a payment: its amount becomes zero and the invoices it paid are open again. A payment that was already deposited can't be voided until the deposit is deleted.
Inputs
- Payment ID
payment_idtextRequired - The payment's Id, from 'Create a QuickBooks payment' or 'List QuickBooks payments'.
Outputs
Paymentobjecttimetext
Example output
{
"Payment": {
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"Id": "140",
"Line": [
{
"Amount": 300.0,
"LinkedTxn": [
{
"TxnId": "130",
"TxnType": "Invoice"
}
]
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30",
"UnappliedAmt": 0
},
"time": "2026-09-30T10:15:00.000-07:00"
}Void a QuickBooks sales receipt
Void a sales receipt: its amounts become zero and 'Voided' is added to its memo, but it stays on record.
Inputs
- Sales receipt ID
sales_receipt_idtextRequired - The sales receipt's Id, from 'Create a QuickBooks sales receipt' or 'List QuickBooks sales receipts'.
Outputs
SalesReceiptobjecttimetext
Example output
{
"SalesReceipt": {
"Balance": 0,
"CustomerRef": {
"name": "Acme Corp",
"value": "58"
},
"DepositToAccountRef": {
"name": "Undeposited Funds",
"value": "4"
},
"DocNumber": "1039",
"Id": "180",
"Line": [
{
"Amount": 300.0,
"Description": "Garden design",
"DetailType": "SalesItemLineDetail",
"Id": "1",
"LineNum": 1,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
},
"Qty": 2,
"UnitPrice": 150
}
}
],
"MetaData": {
"CreateTime": "2026-09-30T10:15:00-07:00",
"LastUpdatedTime": "2026-09-30T10:15:00-07:00"
},
"PaymentMethodRef": {
"name": "Cash",
"value": "1"
},
"SyncToken": "0",
"TotalAmt": 300.0,
"TxnDate": "2026-09-30"
},
"time": "2026-09-30T10:15:00.000-07:00"
}