multi-period-workflow
Running a multi-period cleanup
Step-by-step procedure for a bookkeeper running a cleanup engagement that spans 2 or more monthly (or quarterly) periods. Covers the engagement-level upload flow introduced alongside the cross-period report reuse release.
See also: the Multi-period engagements help article for the concepts, and the supported QBO reports for export instructions per report type.
Prerequisites
- You are on Solo, Firm, or have an unused Single Cleanup credit.
- You have access to the client's QuickBooks Online file (direct login, Accountant invite, or exports the client sends you).
- You have decided the period boundaries up front (usually monthly or quarterly) — adding a period later is fine, but you will want the list to start with at least 2 so combined exports are available as soon as scans finish.
Step 1: Create the engagement and add periods
- From /dashboard, click Add engagement.
- Fill in the client name, review period dates (start and end of the first period only), fiscal year end, and whether the client has A/R and A/P.
- Save. You land on the project upload page.
- From the group page (Projects → Periods of [client name]), use Add period to add each additional period with its own start/end dates. Leave the period label blank to get the auto-derived month/quarter label, or set a custom one.
You now have a group with N periods, each showing Upload files pending.
File format: export as Excel (.xlsx)
Before you export anything: in QuickBooks, choose Export to Excel
(.xlsx) for every report except Bank Feed - For Review and
Reconciliation Summary, which export as CSV. The Trial Balance,
Balance Sheet, Profit & Loss, Account List, Transaction List,
General Ledger, and A/R + A/P Aging reports are all read as .xlsx
only; a CSV of one of those is rejected at upload with a message
telling you to re-export as Excel. Do this once up front so you are
not re-downloading reports in the wrong format after the fact.
Step 2: Upload engagement-level files (once for the whole engagement)
These five reports apply to every period, so you upload them once
(export as Excel .xlsx, except where noted):
- Account List — the full chart of accounts.
- Transaction List by Date — export with the widest date range that covers every period in the engagement (usually the whole fiscal year, or year-to-date).
- General Ledger — same: full engagement window.
- Bank Feed - For Review — current state of each account's For Review queue. QBO exports up to 300 rows per file, so use the gear icon to set rows per page and run multiple exports per account if there are more than 300 items waiting. LedgerClean accumulates rows across uploads at the engagement level.
- Reconciliation Summary — full history; LedgerClean filters per period at scan time.
On the group page, expand the Engagement uploads card at the top and drag each file into the drop zone. Confirmation shows up as a green check on each slot. Every period card below flips the matching slots to "From engagement upload" automatically.
Not sure where a report lives in QuickBooks? Open How to find each report in QBO inside the card. It lists the click path for each of the five slots, the same helper the single-engagement upload page shows.
Step 3: Upload per-period files (for each period)
For each period, expand its card and upload the remaining reports
(all export as Excel .xlsx):
- Trial Balance — as of the period-end date.
- Balance Sheet — as of the period-end date.
- Profit & Loss — for the period's date range.
- A/R Aging Summary — as of the period-end date (only if the client has A/R).
- A/P Aging Summary — as of the period-end date (only if the client has A/P).
QBO rebuilds these at each period-end; you have to re-export per period because the underlying reports have no per-row date.
Each period card also carries How to find each report in QBO, collapsed under the file-format note, with the click path for every slot on that card.
Step 4: Run the scan for each period
Once a period card shows every required slot as green, click Run Diagnostic Scan in that card. The scan usually finishes in 30-60 seconds and the card collapses to a summary with a health score and a link to the full report.
The Next step strip at the top of the engagement page tracks this for you: it names the earliest period still waiting on a scan and its button opens that period's card. Once every period is scanned it moves on to fix procedures, then to the combined downloads. See The next-step strip.
Repeat for each period. Single Cleanup credit-backed engagements carry unlimited scans per period; Free Preview scans count against the monthly cap.
Step 5: Review findings per period
- Click View full report on any period card.
- Work the checklist: mark items Resolved, add notes, add client- facing notes.
- Generate fix procedures and JE memos if your plan includes them. On the engagement page, Generate for N periods (or Regenerate all) runs one period at a time and each period takes a few minutes. The Fix procedures card shows which period is running, how many categories have finished, the last category completed, and how long the run has been going. Keep the tab open until it reports done; if a period fails, the card names the error.
- Once you've made fixes, click the Re-scan button on the period row to verify the score moved. The previous scan is retained, so the report shows a before-vs-after delta.
Step 6: Combine and deliver
Once 2 or more periods are scanned, the group page shows Download combined buttons. You can pull:
- Report PDF — every period's diagnostic report concatenated.
- Assessment PDF — shorter client-facing assessment across periods.
- Proposal PDF — combined pricing proposal (owner/admin only).
- Checklist XLSX — one spreadsheet per period plus a summary sheet.
- JE memos CSV — SaasAnt or QBO format.
- Everything ZIP — the four artifact types above bundled.
Combined exports read per-period scan records, so they always reflect the latest scans on file.
Common patterns
Replacing an engagement-level file mid-cleanup
You uploaded a year-long General Ledger, scanned all 12 periods, then the client sent you a corrected GL. What to do:
- Open Engagement uploads, click the X next to General Ledger to remove the old file.
- Drag the corrected GL into the same slot.
- The group page surfaces a yellow banner: "N periods scanned before the latest engagement upload." Click Re-scan N periods to refresh every stale period in one pass; scans run serially and the banner shows progress. You can also re-scan periods individually from each row's Re-scan button.
One period needs a different file than the others
Uncommon, but it happens — say November's Transaction List was exported with a filter mistake and you need to redo just that one. Upload the corrected Transaction List directly to November's period card (expand it, drag into the Transaction List slot). The per-period file shadows the engagement-level one for November only; the other 11 periods keep using the engagement-level file.
Adding a new period after engagement uploads already exist
New periods automatically inherit every engagement-level upload. No extra action. You still need to upload the per-period files (Trial Balance, Balance Sheet, P&L, agings) for the new period.
Switching from per-period-only to engagement-level mid-cleanup
If you've already uploaded files per-period for several periods and now want to move to the engagement-level flow, you can: drop the shared files into the Engagement uploads card. For periods that still have per-period copies, the per-period copy continues to shadow the engagement copy. To fully switch a period over, remove the per-period file from that period card.
Troubleshooting
- "This report type must be uploaded to a specific period" — you tried to upload a Tier 3 report (TB, BS, P&L, AR/AP aging) to the engagement card. Those five have no per-row date; QBO has to rebuild them at each period-end. Upload them to the period card instead.
- A period shows "Required" on a slot I already uploaded at engagement level — refresh the page. If the badge still does not appear, confirm the engagement upload succeeded (green check, not a red X) and that the period card shows the same report type. If a per-period file was previously uploaded, it may still be shadowing the engagement-level upload; remove the per-period copy from the period card to fall back to the engagement copy.
- Scan results seem off for one period — open the period's full
report, then check the debug snapshot at the bottom of the
analysis payload (dev tools). Tier 1 reports that came from
engagement scope carry a
filterStatsblock showingkept,dropped, andunparseablerow counts. Ifunparseableis high, the engagement-level file may have data-quality issues (header rows, malformed dates) that QBO exports cleanly per period but mangles on a full-year export.