> ## Documentation Index
> Fetch the complete documentation index at: https://itemstores.com/help/llms.txt
> Use this file to discover all available pages before exploring further.

# QuickBooks Online

> Post sales, fees and payouts into QuickBooks

Connecting QuickBooks lets you push your Itemstores activity into your books, so
you are not re-entering it.

## Connecting

**Connect** on the QuickBooks card in
[Integrations](/help/knowledge-base/settings/integrations) sends you to Intuit to
authorize the company. Only the owner and admins can connect it, and it requires
a Full or Enterprise license.

Two things about the company you pick are checked before anything is stored:

* It must be a US company. Other countries are refused.
* Its home currency must match your Stripe settlement currency.

Once connected, the card shows the date posting starts from. Select the date to
change it. Money that settled before it never posts.

<Frame>
  <img src="https://mintcdn.com/itemstores/NKxbkTQVGBJEMZsc/images/knowledge-base/quickbooks-card.png?fit=max&auto=format&n=NKxbkTQVGBJEMZsc&q=85&s=f90c021c7dbb1d8a55f26db718f57db2" alt="The connected QuickBooks card with Custom fields, Account mapping and Disconnect, its start date picker and the count of transactions already posted" width="1966" height="320" data-path="images/knowledge-base/quickbooks-card.png" />
</Frame>

<Warning>
  Finish **Account mapping** before you expect anything to post. Until every
  required account is mapped, the card is badged Setup incomplete and nothing can
  be posted.
</Warning>

## Nothing posts on its own

Itemstores does not sync in the background. Every posting is something you
choose to do, order by order or in bulk, and it only ever flows from Itemstores
into QuickBooks. Nothing in QuickBooks changes anything in Itemstores.

New controls appear elsewhere in Itemstores once you connect:

| Where | What appears |
| - | - |
| [Orders](/help/knowledge-base/orders) | **Post to QuickBooks** on an order and on the bulk toolbar, a sync badge per order, and a **Needs QBO sync** filter |
| [Payouts](/help/knowledge-base/payouts) and [Reports](/help/knowledge-base/reports) | **Post expenses**, which sends payout fees to QuickBooks |

None of that exists before you connect.

Posting the same order twice is safe. Each piece of an order is recorded when it
posts, so a repeat only sends what has not gone across yet.

An overpaid order cannot be posted until you refund the difference.

**Clear posting history**, shown to the owner beside the posted count, makes
every order postable again. Nothing in QuickBooks is deleted, so posting again
to the same company creates duplicates.

## Which customer an order posts to

**Post to QuickBooks** opens a dialog with a **QuickBooks customer** picker. Leave
it on Auto to post each order to the QuickBooks customer it is linked to. The
first time a customer or organization posts, Itemstores links it to a QuickBooks
customer of the same name, and creates one if there is none.

To post to someone else, pick another customer. Your pick becomes the default for
that customer or organization from then on. Orders that already posted keep their
original customer.

<Frame>
  <img src="https://mintcdn.com/itemstores/NKxbkTQVGBJEMZsc/images/knowledge-base/quickbooks-post-customer.png?fit=max&auto=format&n=NKxbkTQVGBJEMZsc&q=85&s=04684bebc0bc9ff387307d4a272634a1" alt="The Post order to QuickBooks dialog with the QuickBooks customer on Auto and the order's custom field values" width="1012" height="1026" data-path="images/knowledge-base/quickbooks-post-customer.png" />
</Frame>

## Custom fields

**Custom fields** on the QuickBooks card fills your QuickBooks invoice custom
fields on each new order invoice. Type a template for each field, or leave it
blank to skip it.

<Frame>
  <img src="https://mintcdn.com/itemstores/NKxbkTQVGBJEMZsc/images/knowledge-base/quickbooks-custom-fields.png?fit=max&auto=format&n=NKxbkTQVGBJEMZsc&q=85&s=437fb394beae6fef91c6e59070b820ac" alt="The QuickBooks invoice custom fields dialog with templates for Sales Rep, Contact and Description" width="1142" height="940" data-path="images/knowledge-base/quickbooks-custom-fields.png" />
</Frame>

Insert order details from the `{}` menu, such as `{assignee}` or `{source}`.

<Frame>
  <img src="https://mintcdn.com/itemstores/NKxbkTQVGBJEMZsc/images/knowledge-base/quickbooks-custom-field-variables.png?fit=max&auto=format&n=NKxbkTQVGBJEMZsc&q=85&s=654bb46af68e3483febaeee3841727e0" alt="The order details you can insert, each with a short description" width="598" height="680" data-path="images/knowledge-base/quickbooks-custom-field-variables.png" />
</Frame>

Only active **Text and number** custom fields ticked on every sales form
appear, up to three. Dropdown fields can't be filled.

When you post one order, the **Post to QuickBooks** dialog shows that order's
values, and you can edit them before posting. QuickBooks keeps the first 31
characters of each. When you post several orders, each one fills the templates
with its own details.

Each new invoice also carries the buyer's email and shipping address. Pickup
orders get no shipping address. Invoices already in QuickBooks don't change.

## Account mapping

**Account mapping** tells Itemstores which QuickBooks account each kind of money
belongs in. **Refresh accounts** re-reads your chart of accounts if you have
just added one, and **Save mapping** stores your choices. For a required item
where you have no eligible account at all, Itemstores offers to create one.

### Profit and loss

Every item here is required except the last.

| Item | What it holds |
| - | - |
| Subtotal | Revenue from product sales |
| Shipping | Revenue from shipping |
| Discounts | Contra-revenue for discounts |
| Fees | Stripe and Itemstores fees |
| Refunds | Contra-revenue for refunds |
| Services and surcharges | Optional. Falls back to the Subtotal account when unmapped |

<Note>
  Changing an income account later does not move revenue that already posted, and
  mostly does not affect future postings of existing products either. QuickBooks
  keeps the account each product was created with, so a remap applies to products
  created from then on. Discounts are the exception and follow the mapping right
  away. To move existing revenue, edit the product in QuickBooks.
</Note>

### Balance sheet

**Stripe clearing** is required. It holds Stripe money until a payout lands, so
funds in transit reconcile.

<Note>
  Create a Stripe Clearing bank account in QuickBooks for this. An Other Current
  Asset account also works and keeps the float out of cash.
</Note>

**Undeposited funds** is optional, and is for cash and check quote payments. A
cash or check payment is skipped rather than posted while it is unmapped.

<Frame>
  <img src="https://mintcdn.com/itemstores/UwXex-HRiO-r4iYj/images/knowledge-base/quickbooks-mapping.png?fit=max&auto=format&n=UwXex-HRiO-r4iYj&q=85&s=c4b47b3579db92374680e8b8c43a33aa" alt="The QuickBooks account mapping dialog, with the profit and loss accounts above the balance sheet" width="1344" height="1374" data-path="images/knowledge-base/quickbooks-mapping.png" />
</Frame>

## Disconnecting

**Disconnect** stops orders posting. Nothing already posted is removed. The
dialog asks you to tick an acknowledgement before the button becomes available,
because what happens next depends on which company you reconnect.

| You reconnect | What happens |
| - | - |
| The same company | Your account mapping, custom fields and start date are kept, and it picks up where it left off |
| A different company | A new start date is set, and every order already posted counts as unposted again |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.