> For the complete documentation index, see [llms.txt](https://docs.eesel.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eesel.ai/integrations/e-commerce/quickbooks.md).

# QuickBooks

Invite your AI teammate into QuickBooks and it answers invoice and payment questions from your accounting records. A customer asks whether their invoice was paid, what they owe, or for a copy. Your agent finds the customer, reads their invoices and payments, and sends the invoice when you allow it.

You stay in control the whole way. Every write action asks you first until you change that. Reads run on their own.

If QuickBooks is missing from your **Integrations** gallery, message us in the in-app chat or email <hi@eesel.app> and we will turn it on.

## Quick start

{% stepper %}
{% step %}

### Ask your agent to connect QuickBooks

Open the chat in your dashboard and ask it to connect QuickBooks. It points you at your **Integrations** page and lists what it will be able to do once connected.

Open **Integrations > QuickBooks** in the left sidebar. **Connect** is in the top right. If QuickBooks is not in the list, it has not been turned on for your workspace yet. Ask us first.
{% endstep %}

{% step %}

### Sign in to QuickBooks

**Connect** opens a window from Pipedream, the service that holds the connection. **Continue** hands you to Intuit's sign-in. Sign in, pick the company, and accept the permissions. You can remove the connection at any time.

A person does this step in the browser.
{% endstep %}

{% step %}

### Confirm the connection

Intuit sends you back, and the window confirms the company is connected.

**Check it worked.** The integration page header reads **Connected**, and the left sidebar lists QuickBooks. From a terminal, `eesel status` lists QuickBooks as connected.
{% endstep %}

{% step %}

### Try it on a real customer

Ask your agent in the chat to find a customer by name and list their open invoices. It reads live from QuickBooks and reports each invoice's balance, its due date and whether a payment against it has been recorded.

Then ask it to send one of those invoices to the customer. The action asks you first, so the request appears as an approval in the chat and on your **Activity** page. Approve it and QuickBooks emails the invoice.
{% endstep %}

{% step %}

### Put it to work

QuickBooks has no event that wakes your agent on its own, so it does its QuickBooks work inside the conversations it already handles. Tell it in its [instructions](/instructions-and-memory/instructions-and-memory.md) how to handle invoice questions, and it uses these actions when a customer asks in your helpdesk, in Slack or on your site. For routine checks, such as a weekly list of past-due invoices, a [schedule](/automations-and-schedules/automations-and-schedules.md) runs the same work on a clock.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**From Claude Code, Cursor or a terminal.** `eesel login`, then `eesel integrations connect quickbooks` prints the connect link for a person to open, and `eesel status` shows the connection. `eesel integrations quickbooks actions` lists every action available on your workspace with its approval setting. A held action returns an approval link that a person opens. Full command reference: [The eesel CLI](/apis-and-developer-resources/cli.md). From Claude Code or another MCP client: [Claude Code and MCP clients](/apis-and-developer-resources/claude-code-and-mcp-clients.md).
{% endhint %}

## Sources, triggers and actions

### Sources

QuickBooks adds no knowledge source. Your agent reads customers, invoices and payments live, at the moment it is asked, and answers from everything else you have connected.

### Triggers

QuickBooks has no triggers. Nothing in QuickBooks wakes your agent. It acts on QuickBooks when a customer asks in a connected channel, or on a [schedule](/automations-and-schedules/automations-and-schedules.md).

### Actions

Actions are what it can do. Each runs on its own, asks you first, or stays off. Read actions run on their own from the start. Write actions ask you first until you change that. The most used ones:

|                 | Action                                                                  | What it does                                                                        |
| --------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| **Look up**     | Search customers                                                        | Finds a customer by name                                                            |
|                 | Search invoices / Get invoice                                           | Finds a customer's invoices, and reads one in full                                  |
|                 | List open invoices                                                      | Lists unpaid invoices, and which are past due                                       |
|                 | Get payment / Get sales receipt / Get estimate                          | Reads one payment, receipt or estimate                                              |
| **Invoices**    | Create invoice / Update invoice                                         | Drafts or edits an invoice                                                          |
|                 | Send invoice                                                            | Emails the invoice to the customer                                                  |
|                 | Void invoice                                                            | Cancels an invoice. It stays in the ledger as voided                                |
| **Records**     | Create payment                                                          | Records a payment as received                                                       |
|                 | Create sales receipt                                                    | Records a sale paid at the time                                                     |
|                 | Create customer / Update customer                                       | Creates or edits a customer record                                                  |
|                 | Create estimate / Update estimate / Send estimate                       | Drafts, edits or emails an estimate                                                 |
| **Back office** | Create bill / Create purchase / Create purchase order / Delete purchase | Bills and purchases the company itself pays. For your finance team, not for support |

QuickBooks offers more actions than fit here. `eesel integrations quickbooks actions` from a terminal lists every one available on your workspace.

Two things your agent has been taught about QuickBooks:

* **The books hold more than the customer's own records.** Balance sheets, profit and loss, cash flow, vendors and payroll are all readable, and none of it is a customer's business. Your agent answers a customer from that customer's records only, and never surfaces the company's finances in a customer conversation.
* **Balance, due date and recorded payment are three different facts.** Your agent says which one it is reporting, and does not turn "a payment was received" into "your account is settled" unless the balance says so.

Also worth knowing: voiding an invoice changes what the company has billed. Like every write it asks you first, and your agent only proposes it when someone on your team asks for it, never on a customer's say-so.

## Troubleshooting

<details>

<summary>QuickBooks is not in my Integrations gallery?</summary>

Message us in the in-app chat or email <hi@eesel.app> and we will turn QuickBooks on for your workspace.

</details>

<details>

<summary>The action says it is waiting?</summary>

Write actions ask you first on a fresh connection. The request is on your **Activity** page with Approve, Always allow and Deny. Choose **Always allow** to let that action run on its own from then on.

</details>

<details>

<summary>Your agent found the wrong customer?</summary>

It searches by name, and names repeat. Give it more to go on, such as the company on the invoice or the invoice number, and it narrows the search.

</details>

## FAQ

<details>

<summary>Can my agent record a payment?</summary>

Yes, but it asks you first. Recording a payment that did not arrive corrupts the ledger and the customer's balance, so this is one to keep behind an approval.

</details>

<details>

<summary>Can it read my financial reports?</summary>

It can, and it will if you ask it to in the dashboard chat. It is taught never to bring them into a customer conversation.

</details>

<details>

<summary>How is this billed?</summary>

Pay-as-you-go. A conversation your agent handles is one task, however many QuickBooks actions it takes in it. Chats you run yourself from the eesel dashboard are free. See [Pricing](/pricing/overview.md).

</details>

## Related pages

* [Stripe](/integrations/e-commerce/stripe.md) for payments and refunds
* [Helpdesk](/use-cases/helpdesk.md) for the job your teammate takes on in a ticket queue
* [Actions and Approvals](/instructions-and-memory/actions-and-approvals.md) for setting each action to run on its own, ask you first, or stay off
* [Set up from Claude Code or the terminal](/getting-started/set-up-from-a-coding-agent.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.eesel.ai/integrations/e-commerce/quickbooks.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
