Skip to content
Back to skills

Quickbooks Automation

ASecurity

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

  • 626 stars
  • 0 votes
  • 0 copies
  • 7 views
  • Added May 27, 2026
data-aisqlapi

Works with

  • api
  • mcp

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add openteams-lab/openteams --skill quickbooks-automation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Quickbooks Automation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Quickbooks Automation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/openteams-lab-quickbooks-automation/badge)](https://www.skillsdirectory.com/skills/openteams-lab-quickbooks-automation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: QuickBooks Automation
description: "QuickBooks Automation: manage invoices, customers, accounts, and payments in QuickBooks Online for streamlined bookkeeping"
requires:
  mcp: [rube]
---

# 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](https://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

| Pitfall | Detail |
|---------|--------|
| **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 validation** | Incorrect `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 tokens** | Any later edits require the latest `SyncToken` from a fresh invoice read. Stale sync tokens cause update rejections. |
| **Rate limits** | QuickBooks enforces per-minute and daily API caps. High-volume runs should include backoff to avoid throttling errors. |
| **DisplayName uniqueness** | Customer `display_name` must be unique across all Customer, Vendor, and Employee objects. Duplicates cause creation failures. |

---

## Quick Reference

| Tool Slug | Description |
|-----------|-------------|
| `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](https://composio.dev)*

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.