Skip to content
Back to skills

Quickbooks Api

ASecurity

Access QuickBooks Online API for invoices, payments, customers, and bills. Covers OAuth token auto-refresh, API queries, and Supabase ingest. Use when: checking invoice status, reconciling payments, querying expenses. Skip when: expense data already in PIL (check supabase first).

  • 4 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 12, 2026
businesspythongobashsqlgitapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add aibot88/sec_skill_store --skill quickbooks-api --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Quickbooks Api?

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

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

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-api
description: >
  Access QuickBooks Online API for invoices, payments, customers, and bills.
  Covers OAuth token auto-refresh, API queries, and Supabase ingest.
  Use when: checking invoice status, reconciling payments, querying expenses.
  Skip when: expense data already in PIL (check supabase first).
---

# QuickBooks API

> [!IMPORTANT]
> **GFV-Adapted Skill** — This skill runs within the GetFresh Ventures infrastructure.

### GFV Infrastructure Integration

**Credentials**:
```bash
# OAuth tokens (auto-refreshing)
cat ~/.gfv_qb_tokens.json
# Contains: access_token, refresh_token, realm_id, expires_at

# Refresh helper
[STUB AVOIDED] Execute qb_auth.py via available MCP/agent tools rather than a missing local script refresh
```

**Data Sources** — Check PIL FIRST:
- Supabase `entity_embeddings` where `source = 'quickbooks'`
- `gfv-expense-management` skill for organized expense tracking

---

## Overview

Queries QuickBooks Online via REST API with OAuth2 auto-refresh. Covers invoices, payments, customers, vendors, and bills. Used primarily for GFV expense management and client billing reconciliation.

## Authentication

```python
import json, requests, subprocess

# Load tokens
with open(os.path.expanduser('~/.gfv_qb_tokens.json')) as f:
    tokens = json.load(f)

# Auto-refresh if expired
if time.time() >= tokens['expires_at']:
    subprocess.run(['python3', 
        os.path.expanduser('~/Documents/Code/gfv-brain/scripts/qb_auth.py'), 
        'refresh'])
    with open(os.path.expanduser('~/.gfv_qb_tokens.json')) as f:
        tokens = json.load(f)

headers = {
    'Authorization': f"Bearer {tokens['access_token']}",
    'Accept': 'application/json',
    'Content-Type': 'application/json'
}
BASE_URL = f"https://quickbooks.api.intuit.com/v3/company/{tokens['realm_id']}"
```

## Core Endpoints

### Invoices

```bash
# Query invoices
GET /v3/company/{realmId}/query
  ?query=SELECT * FROM Invoice WHERE TxnDate > '2026-01-01' ORDERBY TxnDate DESC MAXRESULTS 100

# Get single invoice
GET /v3/company/{realmId}/invoice/{invoiceId}

# Key fields: TxnDate, DueDate, TotalAmt, Balance, CustomerRef, Line items
```

### Payments

```bash
# Query payments
GET /v3/company/{realmId}/query
  ?query=SELECT * FROM Payment WHERE TxnDate > '2026-01-01'

# Key fields: TotalAmt, CustomerRef, PaymentMethodRef, TxnDate
```

### Bills (Expenses)

```bash
# Query bills
GET /v3/company/{realmId}/query
  ?query=SELECT * FROM Bill WHERE TxnDate > '2026-01-01'

# Key fields: VendorRef, TotalAmt, DueDate, TxnDate, Line (expense details)
```

### Customers

```bash
# Query customers
GET /v3/company/{realmId}/query
  ?query=SELECT * FROM Customer WHERE Active = true
```

### Vendors

```bash
# Query vendors (for expense tracking)
GET /v3/company/{realmId}/query
  ?query=SELECT * FROM Vendor WHERE Active = true
```

## Common Queries

```sql
-- Monthly spend by vendor
SELECT * FROM Bill WHERE TxnDate >= '2026-04-01' AND TxnDate <= '2026-04-30'

-- Outstanding invoices
SELECT * FROM Invoice WHERE Balance > '0'

-- Payments received this month
SELECT * FROM Payment WHERE TxnDate >= '2026-04-01'

-- Tech subscriptions (by vendor name)
SELECT * FROM Bill WHERE VendorRef = '{vendorId}'
```

## Supabase Ingest

```
QuickBooks API → pil_quickbooks_sync.py → Supabase entity_embeddings (source='quickbooks')
                                         → ont_facts (invoice/payment records)
```

## Rate Limits

| Tier | Limit |
|---|---|
| Standard | 500 requests / minute |
| Throttle | 10 concurrent requests |

## Anti-Patterns
- ❌ Creating invoices without the Executive's approval
- ❌ Modifying payment records
- ❌ Ignoring token refresh (will get 401s)
- ❌ Not reconciling with bank statements

## Related Skills
- **gfv-expense-management**: Organizes QB data by category
- **perplexity-invoice-pull**: Cross-references with Perplexity invoices
- **pandadoc-api**: Contract amounts should match QB invoices
- **google-workspace-access**: Invoice PDFs stored in Google Drive

## References
- **API Docs**: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities
- **Token File**: `~/.gfv_qb_tokens.json`
- **Refresh Script**: `~/Documents/Code/gfv-brain/scripts/qb_auth.py`


<verification_gate>
# Delivery Gate

STOP AND VERIFY BEFORE DECLARING THIS TASK COMPLETE.

1. Did you verify that the execution meets all documented requirements safely?
2. Ensure you have not bypassed any "requires_human_approval" constraints.
</verification_gate>

---

<gxd_footer>

> **Growth by Design™** — This skill is part of the [CEO AI Kit](https://github.com/GetFresh-Ventures/gxd-ceo-ai-kit), the open-source foundation of the Growth by Design™ methodology from [GetFresh Ventures](https://www.getfreshventures.com).
>
> 🔍 **Hitting a ceiling?** The kit gives you the foundation. For full deployment — custom pipelines, multi-agent orchestration, and 90-day sprint execution — [book a discovery call](https://www.getfreshventures.com/contact).
>
> 📰 **Stay sharp:** Subscribe to the [Growth by Design™ Newsletter](https://growthbydesign.substack.com/) for operator-written playbooks on AI-powered GTM.

</gxd_footer>

Files in this skill

  • SKILL.md5.1 KB
  • source.json790 B

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.