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

# Work a bank or card statement

> Import a statement, check what is already in QuickBooks, and prepare the remaining transactions for review.

Use this guide when you have a month of bank or credit-card activity to enter
in QuickBooks Desktop. You will work in your AI chat and use the local
console to inspect the transactions.

<div className="zeno-outcome">
  <p><strong>The result:</strong> transactions already in the books are linked, the entries you approved are posted, and unresolved lines remain available to work on.</p>
</div>

## Before you start

* [Set up the company](/docs/quickbooks-desktop/setup-companies) and connect your AI client.
* Download a CSV, OFX, QFX, or `.qbo` statement from the bank.
* Know which bank or credit-card account in QuickBooks the statement belongs to.
* Check the company and statement dates before importing.

A downloaded statement works without a live bank connection. If you use the
optional [live connection](#a-live-bank-connection), start with the transactions
it has already collected and continue at [working the queue](#working-the-queue).

## Setting up an account

Do this once for each bank or card account. Tell your assistant the company,
the feed name, and the matching QuickBooks account:

> Set up the Amex Platinum feed for Ridgeline. Its transactions belong to the
> Amex Platinum credit-card account in QuickBooks. Show me the mapping.

Check the mapping before continuing. It determines the bank or card account
used by the posting plan. If the feed already exists, ask your assistant to
show its mapping rather than create another one.

## Importing a statement

Ask for a preview first:

> Preview this statement for Ridgeline's Amex Platinum feed. Show me the date,
> description, and amount columns, the date range, and any rows that would be skipped.
> Do not import it yet.

<Steps>
  <Step title="Check the preview">
    Compare a few rows with the original statement, including a charge and a
    refund if there is one. Check the date format, amounts, and skipped rows.
    Previewing does not add transactions to the queue or post to QuickBooks.
  </Step>

  <Step title="Correct any mapping problems">
    Tell your assistant which columns to use if the preview is wrong. Preview
    again before importing; do not assume an incorrectly read amount will be
    corrected later.
  </Step>

  <Step title="Import the checked statement">
    Ask the assistant to import using the mapping you checked. Zeno stages
    the transactions and applies saved rules. Importing does not post
    them to QuickBooks.
  </Step>
</Steps>

<Note>
  Zeno checks bank transaction identifiers, content, and reference details for
  lines already in the queue. An overlapping import should skip those lines.
  You still need to check for transactions someone entered directly in
  QuickBooks, as described below.
</Note>

## Working the queue

Open **Bank feed** in the [local console](/docs/quickbooks-desktop/console#the-bank-feed),
or ask your assistant to show the imported lines.

| Tab | What you do next |
| - | - |
| **All pending** | Everything still to decide. |
| **Needs a category** | Check for an existing transaction, then ask your assistant for a category. |
| **Suggested** | A rule or a card's default proposed a value. Have it set; a suggestion does not post. |
| **Ready to plan** | Check the category and include the line in a posting plan. |
| **In a plan** | Open the plan and review it. |
| **Linked** | No new posting is needed; the line is linked to an existing transaction. |
| **Excluded** | Check the recorded reason if the exclusion looks wrong. |
| **Posted** | Check the run if you need the posting details. |

Each line shows its **Payee**, **Category** and **Class** in their own columns. A suggested value is greyed and tagged *suggested* until somebody sets it.

Give the assistant the decision in plain language:

> Code the Ridgeline Supply charges to Repairs & Maintenance. Show me any
> lines where the payee or account is uncertain.

Setting a category changes the proposed work in Zeno. It does not change QuickBooks.
If a line should be excluded, give the reason so the record explains why it
was left out. Follow your firm's policy for personal charges rather than
assuming they should always be excluded.

## What is already in the file

Before posting, ask your assistant to compare the lines against the company:

> Check these Amex lines for transactions already in QuickBooks. Show me the
> proposed matches so I can check them before you accept any.

Compare the amount, date, account, and payee. Accept a match only when the
line represents the same transaction. Zeno records the link and leaves that
line out of new postings; accepting a match does not create another entry.

The comparison uses Zeno's [local copy of the books](/docs/quickbooks-desktop/questions).
If a recently entered transaction is missing, refresh that copy before
concluding that a new posting is needed.

## Posting what is left

Ask for a plan of the coded lines:

> Plan the remaining coded Amex lines for Ridgeline for March. Show me the
> total, proposed accounts, warnings, and any lines that cannot post.

Review the company, date range, amounts, payees, and coding. Resolve warnings
and blocked entries, or leave those lines out. Then approve the work you
want applied. [Prepare and review a batch](/docs/quickbooks-desktop/first-batch)
walks through the approval table and posting result.

<Warning>
  Applying the approved plan creates real transactions in QuickBooks. A reversal
  usually voids posted transactions. Funds transfers must be removed manually
  in QuickBooks; check the [transfer limit](/docs/quickbooks-desktop/limits#transfers-are-a-one-way-door)
  before approving one.
</Warning>

### Check the result

Open the run in the console and compare its posted total and entry count
with what you approved. Check any failed or skipped lines and confirm the
entries in the QuickBooks register.

Feed lines that posted move to **Posted**. Lines returned by a rejected plan
or a failed posting become **Ready to plan** again, where you can correct
and re-plan them. Check the recorded result before retrying.

A completed queue is not a completed reconciliation. Reconcile the account
in QuickBooks and investigate any remaining difference.

## A live bank connection

A live connection uses the **Desktop connectors add-on**, held on a Zeno
account. It brings transactions into the same queue as statement imports.
The workstation needs a network connection for this part of the workflow.
See [add-on pricing and trial details](/docs/quickbooks-desktop/plans#the-desktop-connectors-add-on).

Linking the computer does not move its company files into the hosted
workspace or change its Desktop licence. The local licence still determines
what the workstation can post.

Open **Bank feed** in the local console:

<Steps>
  <Step title="Connect the computer to Zeno">
    Choose **Connect to Zeno**. In the browser, sign in or create a Zeno
    account, then approve **Connect this computer**. The local console
    detects the connection. The add-on's 14-day trial starts when the
    computer is linked.
  </Step>

  <Step title="Connect the bank">
    Choose **Connect a bank**. The person with banking access completes the
    bank's sign-in in the new tab. Banking credentials do not pass through
    the workstation.
  </Step>

  <Step title="Select and map the accounts">
    Tick the accounts you intend to work on and choose the matching
    QuickBooks account for each. The displayed price updates as you select
    accounts; selected accounts determine billing.
  </Step>

  <Step title="Review what arrives">
    The page pulls new transactions when opened. Continue with
    [working the queue](#working-the-queue). Statement import remains
    available as a link on the page.
  </Step>
</Steps>

### From the chat

Link the computer from the console first. You can then ask your assistant to
connect a bank, choose accounts, or sync the feed. Specify a start date when
you need a particular period of bank history.

<Accordion title="Choose or change the history start date">
  The connection's `syncFromDate` requests bank history and filters out
  transactions before that date. Without a date, the request defaults to the
  last 90 days. The bank may provide up to two years, but decides the available
  history when the login is connected.

  Ask the assistant to change the feed start date if needed. Moving it earlier
  re-reads available history without restaging existing lines, but cannot reach
  past the history the bank originally supplied.
</Accordion>

If a feed is unexpectedly empty, ask your assistant to check the bank
connection's status. An expired login can return no new transactions without
a sync error. Reconnect it before treating an empty feed as a quiet month.

Disconnecting stops future collection. Transactions already staged remain in
the queue with their history.

### The bank balance beside the books

Ask your assistant to compare the bank's reported balance with QuickBooks.
Check the bank snapshot's date, the currency, and any lines still uncoded or
waiting in a plan. Outstanding checks and activity outside the feed's date
range can also explain a difference.

Use this comparison to investigate the gap. Finish reconciliation in QuickBooks.

### When the add-on lapses

You cannot add new accounts. Existing connections keep syncing for 30 days,
then their bank logins are removed. Zeno sends email before each step.
Statement imports and the existing local work history remain available.

## Where the queue lives

The queue is saved in the [run journal](/docs/quickbooks-desktop/shared-journal).
Rebuilding the local copy of QuickBooks does not discard your imported or
partly coded statement. With a shared journal, a colleague can review work
imported from another workstation.

## Tool reference

<Accordion title="Tools your assistant uses for this workflow">
  | Job | Tools |
  | - | - |
  | Inspect the feed and its mapping | `qb_feed_accounts`, `qb_feed_lines` |
  | Preview and import | `qb_preview_statement`, `qb_import_statement` |
  | Code or exclude lines | `qb_code_feed_lines`, `qb_exclude_feed_line` |
  | Propose and accept matches | `qb_match_feed`, `qb_accept_feed_match` |
  | Prepare and post a plan | `qb_plan_feed`, `qb_apply_batch` |
  | Set up a live connection | `qb_connect_bank`, `qb_select_bank_accounts` (after linking the computer in the console) |
  | Manage a live connection | `qb_sync_bank_feed`, `qb_set_feed_start`, `qb_bank_connections`, `qb_disconnect_bank` |
  | Compare balances or trace a posting | `qb_bank_balance`, `qb_explain_transaction` |

  A feed line's content hash becomes its posting's `sourceRef`, preserving the
  link back to the imported evidence. See the [Desktop tool reference](/docs/quickbooks-desktop/tools)
  for the full surface.
</Accordion>


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