QuickBooks — Reconciliation Reference

Use the Profit and Loss report via the QuickBooks connector: - Date range: first day to last day of target month - Accounting method: Accrual unless the user has told you they run cash-basis - Include all accounts

SKILLExtensions & PluginsGITHUBVSCODE

Markdown

QuickBooks — Reconciliation Reference

Reports to pull

Profit & Loss (P&L)

Use the **Profit and Loss** report via the QuickBooks connector:

  • Date range: first day to last day of target month
  • Accounting method: **Accrual** unless the user has told you they run cash-basis
  • Include all accounts

Key fields used downstream: | Field | Notes | |---|---| | `TotalRevenue` | Top-line revenue | | `GrossProfit` | Revenue minus COGS | | `GrossProfitMargin` | Compute as GrossProfit / TotalRevenue | | `NetIncome` | Bottom line | | `TotalExpenses` | Operating expenses subtotal |

Transaction Register

Pull the **Transaction List by Date** report or equivalent for the target month. This is the line-item detail used for uncategorized flagging and duplicate detection.

Key fields: | Field | Notes | |---|---| | `TxnDate` | Transaction date (not posting date) | | `TxnType` | Invoice, Payment, Expense, Deposit, etc. | | `Amount` | Positive = income, negative = expense in most QB exports | | `AccountRef.name` | The GL account category | | `EntityRef.name` | Vendor or customer name | | `Memo` | Free-text description | | `AttachmentCount` | > 0 means a receipt is attached in QB |

Identifying uncategorized transactions

Flag a transaction as uncategorized if `AccountRef.name` is any of:

  • "Uncategorized Income"
  • "Uncategorized Expense"
  • "Uncategorized Asset"
  • blank / null
  • "Ask My Accountant" (QB's built-in "I don't know" category)

Pagination

The QB API returns a maximum of 1,000 rows per request. For businesses with high transaction volumes, paginate using `startPosition` and `maxResults` parameters. Request in 500-row batches to stay safely under the limit.

Common data issues

**Split transactions** — a single purchase split across multiple categories appears as multiple rows with the same date and vendor but different amounts. These are NOT duplicates. Before flagging duplicates, group rows by `TxnID` — rows sharing an ID are splits of one transaction.

**Bank feeds vs. manual entries** — bank-feed transactions have `PrivateNote` set to "bank feed" or similar. Manual entries often lack a memo. Neither is a signal of a problem on its own, but it helps explain why a transaction might lack a receipt.

**PayPal transactions already in QB** — if the user has the PayPal-QB auto-sync enabled, PayPal transactions will already appear in the register. Don't double-count them during reconciliation (Step 3). Check whether the QB deposit lines have "PayPal" in the account or memo before matching.

**Retainer / deposit transactions** — a customer deposit is not revenue until the work is delivered. If the user is on cash-basis accounting this distinction matters less, but flag any large Deposit-type transactions without a matching Invoice for their awareness.