Awesome-claude-skills QuickBooks Automation

QuickBooks Automation: manage invoices, customers, accounts, and payments in QuickBooks Online for streamlined bookkeeping

install
source · Clone the upstream repo
git clone https://github.com/ComposioHQ/awesome-claude-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComposioHQ/awesome-claude-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/composio-skills/quickbooks-automation" ~/.claude/skills/composiohq-awesome-claude-skills-quickbooks-automation && rm -rf "$T"
manifest: composio-skills/quickbooks-automation/SKILL.md
source content

QuickBooks Automation

Automate QuickBooks Online operations including creating invoices, managing customers, querying accounts, and listing invoices for financial reporting.

Toolkit docs: composio.dev/toolkits/quickbooks


Setup

This skill requires the Rube MCP server connected at

https://rube.app/mcp
.

Before executing any tools, ensure an active connection exists for the

quickbooks
toolkit. If no connection is active, initiate one via
RUBE_MANAGE_CONNECTIONS
.


Core Workflows

1. Create an Invoice

Create a new invoice for a customer with line items.

Tool:

QUICKBOOKS_CREATE_INVOICE

Key Parameters:

  • customer_id
    (required) -- ID of the customer (CustomerRef.value)
  • lines
    (required) -- Array of line item objects. Each must include:
    • DetailType
      -- e.g.,
      "SalesItemLineDetail"
    • Amount
      -- Line item total
    • SalesItemLineDetail
      -- Object with
      ItemRef
      containing
      value
      (item ID)
  • minorversion
    -- Optional API version parameter

Example:

Tool: QUICKBOOKS_CREATE_INVOICE
Arguments:
  customer_id: "21"
  lines: [
    {
      "DetailType": "SalesItemLineDetail",
      "Amount": 150.00,
      "SalesItemLineDetail": {
        "ItemRef": {"value": "1", "name": "Services"}
      }
    }
  ]

Prerequisites: Resolve the customer ID using

QUICKBOOKS_READ_CUSTOMER
or create one with
QUICKBOOKS_CREATE_CUSTOMER
. Resolve item/account IDs using
QUICKBOOKS_QUERY_ACCOUNT
.


2. Manage Customers

Create and read customer records.

Tools:

  • QUICKBOOKS_CREATE_CUSTOMER
    -- Create a new customer
  • QUICKBOOKS_READ_CUSTOMER
    -- Read a customer by ID

Key Parameters for

QUICKBOOKS_CREATE_CUSTOMER
:

  • display_name
    -- Display name (must be unique across customers, vendors, employees; max 500 chars)
  • given_name
    -- First name (max 100 chars)
  • family_name
    -- Last name (max 100 chars)
  • middle_name
    -- Middle name (max 100 chars)
  • title
    -- Title, e.g.,
    "Mr."
    ,
    "Dr."
    (max 16 chars)
  • suffix
    -- Name suffix, e.g.,
    "Jr."
    (max 16 chars)

At least one of

display_name
,
title
,
given_name
,
middle_name
,
family_name
, or
suffix
is required.

Key Parameters for

QUICKBOOKS_READ_CUSTOMER
:

  • customer_id
    (required) -- ID of the customer to read

Example:

Tool: QUICKBOOKS_CREATE_CUSTOMER
Arguments:
  display_name: "Acme Corporation"
  given_name: "John"
  family_name: "Doe"

3. Query and Read Accounts

Retrieve account information for use in invoice line items and financial reporting.

Tools:

  • QUICKBOOKS_QUERY_ACCOUNT
    -- Execute a query against accounts
  • QUICKBOOKS_READ_ACCOUNT
    -- Read a specific account by ID

Key Parameters for

QUICKBOOKS_QUERY_ACCOUNT
:

  • query
    (required) -- SQL-like query string, e.g.,
    "SELECT * FROM Account WHERE AccountType = 'Income'"

Example:

Tool: QUICKBOOKS_QUERY_ACCOUNT
Arguments:
  query: "SELECT * FROM Account WHERE AccountType = 'Income' MAXRESULTS 10"

4. List and Filter Invoices

Retrieve invoices with optional pagination and filtering.

Tool:

QUICKBOOKS_LIST_INVOICES

Steps:

  1. Call
    QUICKBOOKS_LIST_INVOICES
    with pagination parameters
  2. Use
    start_position
    and
    max_results
    to page through results
  3. Filter by specific criteria as needed

Recommended Execution Plan

  1. Resolve the customer using
    QUICKBOOKS_READ_CUSTOMER
    (if you have a customer ID) or create one with
    QUICKBOOKS_CREATE_CUSTOMER
  2. Resolve item/revenue accounts using
    QUICKBOOKS_QUERY_ACCOUNT
    and
    QUICKBOOKS_READ_ACCOUNT
    to get account or item IDs for invoice line items
  3. Create the invoice using
    QUICKBOOKS_CREATE_INVOICE
    with the resolved
    customer_id
    and well-formed line items
  4. Verify creation using
    QUICKBOOKS_LIST_INVOICES
    to locate the new invoice by ID or DocNumber

Known Pitfalls

PitfallDetail
Invalid references
QUICKBOOKS_CREATE_INVOICE
fails if
customer_id
or
ItemRef.value
point to non-existent or inactive records. Always resolve IDs first.
Line item validationIncorrect
DetailType
or missing
SalesItemLineDetail
fields cause schema/validation errors during invoice creation.
Pagination
QUICKBOOKS_LIST_INVOICES
uses
start_position
and
max_results
. Incomplete pagination settings can miss invoices in larger books.
Sync tokensAny later edits require the latest
SyncToken
from a fresh invoice read. Stale sync tokens cause update rejections.
Rate limitsQuickBooks enforces per-minute and daily API caps. High-volume runs should include backoff to avoid throttling errors.
DisplayName uniquenessCustomer
display_name
must be unique across all Customer, Vendor, and Employee objects. Duplicates cause creation failures.

Quick Reference

Tool SlugDescription
QUICKBOOKS_CREATE_INVOICE
Create a new invoice with line items
QUICKBOOKS_READ_CUSTOMER
Read a customer record by ID
QUICKBOOKS_CREATE_CUSTOMER
Create a new customer record
QUICKBOOKS_QUERY_ACCOUNT
Query accounts with SQL-like syntax
QUICKBOOKS_READ_ACCOUNT
Read a specific account by ID
QUICKBOOKS_LIST_INVOICES
List invoices with pagination

Powered by Composio