From qbo-integration
Contains verified QBO API reconciliation patterns (TrialBalance endpoint queries, OBE validation checks, pre-opening transaction detection), multi-year reconstruction workflows (summary JE vs transaction-level vs .QBB Desktop conversion), and retained earnings mechanics (automatic year-end close, OBE-to-RE clearing, prior-period adjustments). Catch-up bookkeeping, historical data entry, bank reconciliation, opening balances, period locking, bulk JE import (CSV format, SaaSAnt, Transaction Pro), CPA adjusting entries, closing date passwords, sub-account colon notation. Consult when reconstructing prior-year books in QBO, entering historical journal entries, reconciling bank statements for backlog periods, zeroing out Opening Balance Equity, fixing retained earnings mismatches, importing bulk JEs via CSV or API, locking or unlocking closed periods, converting QB Desktop backups to QBO, or running post-reconstruction validation checks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/qbo-integration:qbo-bookkeepingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
QBO-specific procedures for catch-up bookkeeping, multi-year historical reconstruction,
QBO-specific procedures for catch-up bookkeeping, multi-year historical reconstruction,
bank reconciliation, and validation. This skill covers the QuickBooks Online platform
mechanics — for platform-agnostic bookkeeping concepts, invoke bookkeeping:transaction-processing.
Choose based on the client scenario. These are mutually exclusive per historical period.
Option A — Summary JE per period (recommended for closed prior years) Post one journal entry per fiscal year (or per month for the most recent year) containing net debit/credit amounts per account derived from a trial balance. No bank reconciliation needed — entries go in as final, reconciled amounts. Yields trend-capable P&L and balance sheet without transaction-level detail.
Option B — Transaction-level entry (for full-detail reconciliation) Import or manually enter individual transactions. Entry order matters to prevent balance errors: (1) past sales and AR, (2) past vendor bills and AP, (3) bank and credit card transactions. Reconcile each account month-by-month before advancing. QBO bank feeds only provide 90 days of downloads — older data requires CSV/QBO file import or manual entry.
Option C — Convert from QB Desktop backup
If a prior bookkeeper used QuickBooks Desktop, request the .QBB backup file. Restore in
a QB Desktop trial instance, then convert to QBO. Most efficient when the data already exists
in Desktop format.
Set to the earliest date you intend to enter data. In QBO Simple Start, the start date chosen during setup cannot be changed — a new company file may be required if the wrong date was selected.
Build the complete COA before entering any transactions or opening balances. All accounts
referenced in journal entries must exist in QBO before import. Invoke
qbo-integration:qbo-coa for QBO-specific account creation and detail type requirements.
Invoke accounting-foundation:chart-of-accounts for COA design principles and numbering
conventions.
Turn account numbers OFF before importing journal entries via CSV — account numbers cause import failures. Re-enable after import is complete.
Use colon notation with no spaces: ParentAccount:SubAccount.
Enter the opening balance sheet as a single JE dated on the earliest start date:
This is preferred because it forces balance and keeps OBE at zero from the start.
Entering opening balances directly in individual account settings auto-creates an Opening Balance Equity offset. Results in a non-zero OBE that requires cleanup. Accountants generally discourage this approach.
OBE is a temporary clearing account. After setup it must reach $0:
For C-corporations, OBE clears to Retained Earnings or Paid-in Capital. Leaving OBE non-zero distorts the balance sheet and raises red flags during tax filing, audits, and loan applications.
This is a critical QBO-specific mechanic that differs from textbook accounting.
QBO does NOT create an actual journal entry at year-end. The close is:
The Retained Earnings register shows a QuickReport with computed "Closing Entry" line items per year. These are not clickable transactions — they are calculated values.
Do NOT create a JE to move net income to Retained Earnings at year-end. QBO handles this automatically. A manual closing JE will double-count and corrupt retained earnings across all subsequent periods.
Since QBO blocks direct opening balance entry for RE, use one of these workarounds:
Run P&L for the full date range (company inception to present). Sum all net income figures. That total should equal the Retained Earnings balance on the balance sheet.
If a previously filed tax year needs an RE correction:
Gear > Account and Settings > Advanced > Accounting > "Close the books" (toggle on). Set a closing date and optionally a password. Any attempt to create or edit a transaction on or before the closing date will warn the user or require the password.
After completing each year in a historical reconstruction:
Setting a closing date does NOT trigger any year-end close — the automatic RE close is driven purely by the fiscal year boundary and happens at report time regardless of locking.
The only valid reason to unlock a closed period after tax filing: entering CPA adjusting journal entries. Temporarily clear the closing date, enter the AJEs, then re-lock.
The native CSV JE import is unavailable in the US version of QBO (available in Canada/UK). It may be accessible in QBO Advanced or QBO Accountant, but availability is inconsistent.
When available (Settings > Import Data > Journal Entries):
ParentAccount:SubAccount formatThe QBO Accounting API supports back-dated journal entries via the TxnDate field (defaults
to server date if omitted). Rate limits: 500 requests/minute per realm ID, 10 concurrent
requests, 40 batch operations/minute, HTTP 429 on exceed. For API patterns and
implementation, invoke qbo-integration:qbo-api.
For each bank/credit card account, each month:
Bank reconciliation verification can be performed programmatically by querying the TrialBalance report endpoint with a custom date range and comparing account balances against statement data. See the reference file for the full API pattern including report parsing logic.
Run after completing catch-up bookkeeping for each period:
For API-based validation patterns (querying OBE, running trial balance reports, checking transaction dates programmatically), see the catchup-reconciliation reference file.
Complete CPA-reviewed workflow for historical catch-up:
When reconstructing books that span COA changes:
For full COA design guidance, invoke accounting-foundation:chart-of-accounts. For
QBO-specific account operations, invoke qbo-integration:qbo-coa.
qbo-integration:qbo-api for API patterns, rate limits, and programmatic operationsqbo-integration:qbo-coa for QBO account creation, detail types, and tax-line mapping within QBOqbo-integration:qbo-reporting for QBO report generation and exportaccounting-foundation:chart-of-accounts for COA design principles and numbering conventionsaccounting-foundation:categorization-rules for transaction-to-account routing logicbookkeeping:transaction-processing for platform-agnostic bookkeeping conceptsRead these for implementation-level detail:
references/catchup-reconciliation.md — Python code patterns for QBO API-based bank reconciliation, year-end closing entry generation, and validation checks (OBE balance, trial balance, pre-opening transaction detection). Read when implementing automated reconciliation or building validation scripts against the QBO API.references/qbo-multi-year-reconstruction.md — Comprehensive knowledge base covering reconstruction method selection, opening balance handling, retained earnings behavior, period locking, bulk JE import mechanics, COA evolution, and common pitfalls with sourced citations. Read when planning or executing a multi-year historical reconstruction engagement.npx claudepluginhub aeyeops/aeo-basis-plugin-marketplace --plugin qbo-integrationRecords Japanese journal entries (shiwake), imports transactions from CSV/receipts/invoices via CLI, manages ledger with init/search/update/delete. For bookkeeping workflows.
Provides QuickBooks Online API patterns for OAuth2 authentication, REST endpoints, Intuit query language, pagination, rate limiting, error handling, minor versions, base URLs, and sandbox/production setups.