Skip to main content

Purchasing & AP

Tool types for the accounts-payable side of QuickBooks: vendors, bills, bill payments, and purchase orders.

Every type on this page requires a QuickBooks connector; connectorId is the ID of that connector. Bill payments here are accounting records (check or credit-card entries in the ledger) — QuickBooks' Payments API on the Payments page is receivables-only and plays no role in paying vendors. See the QuickBooks overview for connector setup and sandbox behavior.

Create vendor TOOLQUICKBOOKS_CREATE_VENDOR​

Creates a vendor (supplier) record. Only displayName is required and it must be unique across customers, vendors, and employees. Set vendor1099 and taxIdentifier for contractors that need 1099 reporting; if the vendor may already exist, prefer QUICKBOOKS_GET_OR_CREATE_VENDOR on the Workflows page.

Example​

Tool config
{
"toolType": "QUICKBOOKS_CREATE_VENDOR",
"connectorId": "V1StGXR8Z5",
"displayName": "@@{vendorName}",
"companyName": "@@{vendorCompany}",
"primaryEmailAddr": "@@{vendorEmail}",
"vendor1099": false
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    displayName
    Type
    string
    Description
    Required
  • Name
    givenName
    Type
    string
    Description
    Required string value.
  • Name
    familyName
    Type
    string
    Description
    Required string value.
  • Name
    companyName
    Type
    string
    Description
    Required string value.
  • Name
    primaryEmailAddr
    Type
    string
    Description
    Required string value.
  • Name
    primaryPhone
    Type
    string
    Description
    Required string value.
  • Name
    mobile
    Type
    string
    Description
    Required string value.
  • Name
    billAddr
    Type
    object
    Description
    Billing address
  • Name
    webAddr
    Type
    string
    Description
    Required string value.
  • Name
    taxIdentifier
    Type
    string
    Description
    Tax ID for 1099 reporting
  • Name
    acctNum
    Type
    string
    Description
    Account number
  • Name
    vendor1099
    Type
    boolean
    Description
    Is 1099 vendor

Update vendor TOOLQUICKBOOKS_UPDATE_VENDOR​

Updates an existing vendor identified by vendorId — contact details, addresses, 1099 status, or account number. Setting active to false soft-deletes the vendor while preserving its transaction history.

Example​

Tool config
{
"toolType": "QUICKBOOKS_UPDATE_VENDOR",
"connectorId": "V1StGXR8Z5",
"vendorId": "@@{vendorId}",
"primaryEmailAddr": "@@{newEmail}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    vendorId
    Type
    string
    Description
    Required
  • Name
    displayName
    Type
    string
    Description
    Required string value.
  • Name
    givenName
    Type
    string
    Description
    Required string value.
  • Name
    familyName
    Type
    string
    Description
    Required string value.
  • Name
    companyName
    Type
    string
    Description
    Required string value.
  • Name
    primaryEmailAddr
    Type
    string
    Description
    Required string value.
  • Name
    primaryPhone
    Type
    string
    Description
    Required string value.
  • Name
    mobile
    Type
    string
    Description
    Required string value.
  • Name
    billAddr
    Type
    object
    Description
    Billing address
  • Name
    webAddr
    Type
    string
    Description
    Required string value.
  • Name
    taxIdentifier
    Type
    string
    Description
    Required string value.
  • Name
    acctNum
    Type
    string
    Description
    Required string value.
  • Name
    vendor1099
    Type
    boolean
    Description
    Required boolean value.
  • Name
    active
    Type
    boolean
    Description
    Required boolean value.

Get vendors TOOLQUICKBOOKS_GET_VENDORS​

Lists vendors with pagination, an optional SQL-like whereClause, and an orderBy. This is how an agent discovers the vendorId the bill and purchase-order tools need; QUICKBOOKS_SEARCH_VENDOR_BY_NAME on the Workflows page handles fuzzy name lookups.

Example​

Tool config
{
"toolType": "QUICKBOOKS_GET_VENDORS",
"connectorId": "V1StGXR8Z5",
"maxResults": 50,
"startPosition": 1,
"activeOnly": true
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    maxResults
    Type
    integer
    Description
    Required integer value.
  • Name
    startPosition
    Type
    integer
    Description
    Required integer value.
  • Name
    whereClause
    Type
    string
    Description
    Required string value.
  • Name
    orderBy
    Type
    string
    Description
    Required string value.
  • Name
    activeOnly
    Type
    boolean
    Description
    Required boolean value.

Get vendor by ID TOOLQUICKBOOKS_GET_VENDOR_BY_ID​

Fetches a single vendor's full record — contact details, balance owed, 1099 status, and the SyncToken updates require. Use it to confirm details before entering bills against the vendor.

Example​

Tool config
{
"toolType": "QUICKBOOKS_GET_VENDOR_BY_ID",
"connectorId": "V1StGXR8Z5",
"vendorId": "@@{vendorId}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    vendorId
    Type
    string
    Description
    Required string value.

Create bill TOOLQUICKBOOKS_CREATE_BILL​

Enters a bill (a vendor invoice you owe) into accounts payable. lines is an array of expense lines — use DetailType of AccountBasedExpenseLineDetail with an AccountRef to book against an expense account, or ItemBasedExpenseLineDetail for item purchases. Creating a bill doesn't pay it; that's QUICKBOOKS_CREATE_BILL_PAYMENT.

Example​

Tool config
{
"toolType": "QUICKBOOKS_CREATE_BILL",
"connectorId": "V1StGXR8Z5",
"vendorId": "@@{vendorId}",
"lines": [
{
"DetailType": "AccountBasedExpenseLineDetail",
"Amount": 1200.00,
"Description": "@@{expenseDescription}",
"AccountBasedExpenseLineDetail": {
"AccountRef": { "value": "7" }
}
}
],
"dueDate": "@@{dueDate}",
"docNumber": "@@{billNumber}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    vendorId
    Type
    string
    Description
    Required - VendorRef
  • Name
    lines
    Type
    array<object>
    Description
    Required - Line items
  • Name
    txnDate
    Type
    string
    Description
    Transaction date
  • Name
    dueDate
    Type
    string
    Description
    Due date
  • Name
    docNumber
    Type
    string
    Description
    Bill number/reference
  • Name
    privateNote
    Type
    string
    Description
    Internal memo
  • Name
    apAccountId
    Type
    string
    Description
    Accounts Payable account

Update bill TOOLQUICKBOOKS_UPDATE_BILL​

Updates an existing bill identified by billId — due date, line items, memo, or vendor reference. Supplying lines replaces the whole line array, so include every line the bill should end up with.

Example​

Tool config
{
"toolType": "QUICKBOOKS_UPDATE_BILL",
"connectorId": "V1StGXR8Z5",
"billId": "@@{billId}",
"dueDate": "@@{newDueDate}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    billId
    Type
    string
    Description
    Required
  • Name
    vendorId
    Type
    string
    Description
    Required string value.
  • Name
    lines
    Type
    array<object>
    Description
    Bill line items
  • Name
    txnDate
    Type
    string
    Description
    Required string value.
  • Name
    dueDate
    Type
    string
    Description
    Required string value.
  • Name
    docNumber
    Type
    string
    Description
    Required string value.
  • Name
    privateNote
    Type
    string
    Description
    Required string value.

Delete bill TOOLQUICKBOOKS_DELETE_BILL​

Permanently deletes a bill. Requires the bill's current syncToken (fetch it with QUICKBOOKS_GET_BILL_BY_ID first) for QuickBooks' optimistic locking, and fails if bill payments are already linked to the bill.

Example​

Tool config
{
"toolType": "QUICKBOOKS_DELETE_BILL",
"connectorId": "V1StGXR8Z5",
"billId": "@@{billId}",
"syncToken": "@@{syncToken}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    billId
    Type
    string
    Description
    Required
  • Name
    syncToken
    Type
    string
    Description
    Required for delete

Get bills TOOLQUICKBOOKS_GET_BILLS​

Lists bills with pagination, filtered by vendor, transaction-date range, or a raw whereClause (e.g. Balance > '0' for unpaid bills). Use it to find what's outstanding before scheduling payments.

Example​

Tool config
{
"toolType": "QUICKBOOKS_GET_BILLS",
"connectorId": "V1StGXR8Z5",
"maxResults": 50,
"startPosition": 1,
"whereClause": "Balance > '0'"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    maxResults
    Type
    integer
    Description
    Required integer value.
  • Name
    startPosition
    Type
    integer
    Description
    Required integer value.
  • Name
    whereClause
    Type
    string
    Description
    Required string value.
  • Name
    vendorId
    Type
    string
    Description
    Required string value.
  • Name
    startDate
    Type
    string
    Description
    Required string value.
  • Name
    endDate
    Type
    string
    Description
    Required string value.

Get bill by ID TOOLQUICKBOOKS_GET_BILL_BY_ID​

Fetches one bill in full: line items, balance, linked payments, and the SyncToken a delete requires. For the bill plus its vendor's contact details in one call, use QUICKBOOKS_GET_BILL_WITH_VENDOR on the Workflows page.

Example​

Tool config
{
"toolType": "QUICKBOOKS_GET_BILL_BY_ID",
"connectorId": "V1StGXR8Z5",
"billId": "@@{billId}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    billId
    Type
    string
    Description
    Required string value.

Create bill payment TOOLQUICKBOOKS_CREATE_BILL_PAYMENT​

Records a payment against one or more bills. payType is Check (requires bankAccountId) or CreditCard (requires creditCardAccountId), and linkedBills allocates the total across specific bills by TxnId. This books the ledger entry only — it doesn't print checks or move funds.

Example​

Tool config
{
"toolType": "QUICKBOOKS_CREATE_BILL_PAYMENT",
"connectorId": "V1StGXR8Z5",
"vendorId": "@@{vendorId}",
"totalAmt": 1200.00,
"payType": "Check",
"bankAccountId": "35",
"linkedBills": [
{ "TxnId": "@@{billId}", "Amount": 1200.00 }
]
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    vendorId
    Type
    string
    Description
    Required - VendorRef
  • Name
    totalAmt
    Type
    number
    Description
    Required - Total amount
  • Name
    payType
    Type
    string
    Description
    Required - "Check" or "CreditCard"
  • Name
    bankAccountId
    Type
    string
    Description
    Required for Check payments
  • Name
    checkNum
    Type
    string · optional
    Description
    Check number (optional)
  • Name
    creditCardAccountId
    Type
    string
    Description
    Required for CreditCard payments
  • Name
    txnDate
    Type
    string
    Description
    Transaction date
  • Name
    privateNote
    Type
    string
    Description
    Internal memo
  • Name
    linkedBills
    Type
    array<object>
    Description
    Bills to pay with amounts

Get bill payments TOOLQUICKBOOKS_GET_BILL_PAYMENTS​

Lists bill-payment records with pagination, filtered by vendor, date range, or a raw whereClause. Useful for reconciling what has already been paid to a vendor over a period.

Example​

Tool config
{
"toolType": "QUICKBOOKS_GET_BILL_PAYMENTS",
"connectorId": "V1StGXR8Z5",
"maxResults": 50,
"startPosition": 1,
"vendorId": "@@{vendorId}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    maxResults
    Type
    integer
    Description
    Required integer value.
  • Name
    startPosition
    Type
    integer
    Description
    Required integer value.
  • Name
    whereClause
    Type
    string
    Description
    Required string value.
  • Name
    vendorId
    Type
    string
    Description
    Required string value.
  • Name
    startDate
    Type
    string
    Description
    Required string value.
  • Name
    endDate
    Type
    string
    Description
    Required string value.

Get bill payment by ID TOOLQUICKBOOKS_GET_BILL_PAYMENT_BY_ID​

Fetches a single bill payment, including the bills it was applied to, the payment type, and the account it was drawn from. Use it to answer "how and when was this bill paid?"

Example​

Tool config
{
"toolType": "QUICKBOOKS_GET_BILL_PAYMENT_BY_ID",
"connectorId": "V1StGXR8Z5",
"billPaymentId": "@@{billPaymentId}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    billPaymentId
    Type
    string
    Description
    Required string value.

Create purchase order TOOLQUICKBOOKS_CREATE_PURCHASE_ORDER​

Creates a purchase order to send to a vendor. Line items use the same expense-line shapes as bills (ItemBasedExpenseLineDetail for goods, AccountBasedExpenseLineDetail for services); vendorMemo appears on the PO the vendor sees. POs are non-posting — they don't hit the ledger until converted to a bill.

Example​

Tool config
{
"toolType": "QUICKBOOKS_CREATE_PURCHASE_ORDER",
"connectorId": "V1StGXR8Z5",
"vendorId": "@@{vendorId}",
"lines": [
{
"DetailType": "ItemBasedExpenseLineDetail",
"Amount": 500.00,
"Description": "@@{itemDescription}",
"ItemBasedExpenseLineDetail": {
"ItemRef": { "value": "19" },
"Qty": 10,
"UnitPrice": 50.00
}
}
],
"expectedDate": "@@{expectedDate}",
"vendorMemo": "@@{vendorMemo}"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    vendorId
    Type
    string
    Description
    Required - VendorRef
  • Name
    lines
    Type
    array<object>
    Description
    Required - Line items
  • Name
    txnDate
    Type
    string
    Description
    Transaction date
  • Name
    expectedDate
    Type
    string
    Description
    Expected delivery date
  • Name
    docNumber
    Type
    string
    Description
    PO number
  • Name
    vendorMemo
    Type
    string
    Description
    Memo for vendor
  • Name
    privateNote
    Type
    string
    Description
    Internal memo
  • Name
    shipAddr
    Type
    object
    Description
    Ship to address
  • Name
    apAccountId
    Type
    string
    Description
    Accounts Payable account

Update purchase order TOOLQUICKBOOKS_UPDATE_PURCHASE_ORDER​

Updates an existing purchase order — line items, expected date, memos, or ship-to address. Set poStatus to Closed once the order is fulfilled so it stops counting as open.

Example​

Tool config
{
"toolType": "QUICKBOOKS_UPDATE_PURCHASE_ORDER",
"connectorId": "V1StGXR8Z5",
"purchaseOrderId": "@@{purchaseOrderId}",
"poStatus": "Closed"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    purchaseOrderId
    Type
    string
    Description
    Required
  • Name
    vendorId
    Type
    string
    Description
    Required string value.
  • Name
    lines
    Type
    array<object>
    Description
    PO line items
  • Name
    txnDate
    Type
    string
    Description
    Required string value.
  • Name
    expectedDate
    Type
    string
    Description
    Required string value.
  • Name
    docNumber
    Type
    string
    Description
    Required string value.
  • Name
    vendorMemo
    Type
    string
    Description
    Required string value.
  • Name
    privateNote
    Type
    string
    Description
    Required string value.
  • Name
    shipAddr
    Type
    object
    Description
    Ship to address
  • Name
    poStatus
    Type
    string
    Description
    Open, Closed

Get purchase orders TOOLQUICKBOOKS_GET_PURCHASE_ORDERS​

Lists purchase orders with pagination, filtered by vendor, date range, poStatus (Open or Closed), or a raw whereClause. Use it to review outstanding orders before receiving goods or entering the matching bill.

Example​

Tool config
{
"toolType": "QUICKBOOKS_GET_PURCHASE_ORDERS",
"connectorId": "V1StGXR8Z5",
"maxResults": 50,
"startPosition": 1,
"poStatus": "Open"
}
This tool type requires a connected external account. Pass the connector's ID as connectorId in the tool configuration.

Configuration fields

  • Name
    connectorId
    Type
    string (ID)
    Description
    Required string (ID) value. References a connector by ID.
  • Name
    maxResults
    Type
    integer
    Description
    Required integer value.
  • Name
    startPosition
    Type
    integer
    Description
    Required integer value.
  • Name
    whereClause
    Type
    string
    Description
    Required string value.
  • Name
    vendorId
    Type
    string
    Description
    Required string value.
  • Name
    startDate
    Type
    string
    Description
    Required string value.
  • Name
    endDate
    Type
    string
    Description
    Required string value.
  • Name
    poStatus
    Type
    string
    Description
    Open, Closed