Runbook: Drive ledger consolidation — Sheets-per-tab to single workbook
Task: Consolidate the MooseQuest financial ledger from multiple per-category Google Sheets files into the canonical single workbook (MooseQuest Ledger YYYY) with one tab per category.
When to use this runbook: When you find multiple standalone Google Sheets in the kris@moosequest.net Drive that hold ledger data (e.g., Expenses 2026, Subscriptions 2026, Revenue 2026 as separate files) and need to collapse them into the canonical workbook structure described in docs/finance/README.md.
Owner: Kristerpher Henderson (kris@moosequest.net) — requires Drive access.
Estimated time: 30-45 minutes for a typical year (< 200 rows across all sheets).
Prerequisites
- Google Drive access to
kris@moosequest.net - The target workbook (
MooseQuest Ledger 2026) exists or you will create it - Column schemas: see
docs/finance/README.mdanddocs/finance/chart-of-accounts.md
Step 1 — Inventory existing sheets
- Open drive.google.com signed in as
kris@moosequest.net. - Search for
Ledger 2026orExpenses 2026to find all financial sheets for the current tax year. - List every standalone spreadsheet that contains ledger data (Expenses, Revenue, Subscriptions, Mileage, Time Log, etc.).
- Confirm the target workbook name:
MooseQuest Ledger 2026. If it does not exist, create it now (blank spreadsheet).
Step 2 — Create tabs in the target workbook
The canonical tab structure (per docs/finance/README.md):
| Tab name | Purpose |
|---|---|
README |
One-paragraph orientation: owner, CPA viewer access, monthly close cadence |
Expenses |
All business expenses; columns: Date, Vendor, Description, Amount, Category, Payment Method, Receipt Link, Entity, Project Allocation |
Revenue |
Inbound payments; columns: Date, Source, Description, Amount, Payment Method |
Subscriptions |
Recurring SaaS/infra subscriptions; columns: Vendor, Plan, Amount, Billing Cycle, Next Renewal, Category, Notes |
Mileage & Travel |
Business miles and travel; columns: Date, From, To, Miles, Purpose, Reimbursable |
Time Log |
Billable hours if any; columns: Date, Client/Project, Hours, Rate, Notes |
Vendor Directory |
Per-vendor categorization decisions; columns: Vendor, Category, Notes (mirrors docs/finance/vendor-conventions.md) |
Monthly Summary |
Auto-computed rollups per category per month; use SUMIF formulas against Expenses |
Schedule C Summary |
Annual totals mapped to Schedule C line numbers; see chart-of-accounts.md for line mapping |
Create each tab in this order if it doesn't exist. Rename Sheet1 to README.
Step 3 — Copy data from source sheets
For each standalone source sheet:
- Open the source sheet.
- Select all data rows (skip the header if the target tab already has a header).
- Copy.
- In the target workbook, go to the matching tab (e.g.,
Expenses). - Paste into the first empty row below the header.
- Verify: column order matches the schema in step 2. If columns are out of order, reorder before pasting or paste into the correct columns individually.
- Check for formula cells in the source — copy as values only (
Edit > Paste special > Values only) to avoid broken cross-sheet references.
Repeat for all source sheets.
Step 4 — Reconcile and deduplicate
- In the
Expensestab, sort by Date (column A) ascending. - Scan for duplicate rows: same Date + Vendor + Amount appearing twice. Delete duplicates.
- Verify row count matches the sum of rows from all source sheets (minus duplicates).
- Spot-check 5 random rows against source sheets to confirm data integrity.
Step 5 — Add formulas (optional but recommended)
In Monthly Summary:
- Add a header row: Month | <Category 1> | <Category 2> | ... | Total
- For each month row: =SUMIFS(Expenses!$D:$D, Expenses!$A:$A, ">="&DATE(YEAR, MONTH, 1), Expenses!$A:$A, "<"&DATE(YEAR, MONTH+1, 1), Expenses!$E:$E, "<Category>")
- The exact formula pattern is at the bookkeeper's discretion; the CPA only needs the totals to be correct.
In Schedule C Summary:
- Map each category total to its Schedule C line per docs/finance/chart-of-accounts.md.
Step 6 — Clean up
- Rename each source standalone sheet to
ARCHIVED — merged into MooseQuest Ledger YYYY on YYYY-MM-DD. - Do NOT delete the source sheets yet. Keep them for 30 days as a reconciliation safety net.
- After 30 days (or after the next CPA review), move archived sheets to a
Finance/Archive/folder in Drive.
Step 7 — Verify CPA viewer access
If the CPA (per #152) had view access to any of the standalone source sheets, update their access to point at the consolidated workbook:
1. In the target workbook: Share > Add viewer: CPA email.
2. On each old archived sheet: revoke the CPA's access (they should only see the consolidated version going forward).
Done criteria
- [ ]
MooseQuest Ledger 2026workbook exists atkris@moosequest.netDrive root (or/Financefolder) - [ ] All tabs listed in Step 2 exist
- [ ] All rows from standalone source sheets are present in the matching tab
- [ ] No duplicate rows
- [ ] Source sheets are archived (renamed, not deleted)
- [ ] CPA viewer access updated if applicable
- [ ]
docs/finance/README.mdworkbook location note is accurate (update if the workbook moved to a subfolder)
Related
docs/finance/README.md— canonical workbook schema and division-of-concernsdocs/finance/chart-of-accounts.md— Schedule C category strings (must match exactly)docs/finance/vendor-conventions.md— per-vendor category decisions.claude/agents/bookkeeper.md— bookkeeper role charter- Issue
#152— CPA consult - Issue
#148— Business foundation epic