The Sync Log is the unified history of every journal entry that's reached (or attempted to reach) QuickBooks Online from this store — both automatic syncs and manually-approved entries, in one timeline.
One grid, both sync paths. The Source column tells you which one each row came from.
Who can use this: Admins only. The Manager, Shift Lead, Buyer, and Cashier roles don't have QuickBooks access.
Where to find it
From the sidebar: QuickBooks > Sync Log. Direct URL: /admin/{typeNum}/quickbooks/sync-log.
By default the page loads the last 30 days.
What "sync" means here — auto vs. manual
There are two ways a journal entry can land in QBO:
Source | Path | Logged as |
🔵 AUTO | Nightly cron job in Auto mode → direct post → success / failure record | A row in |
🟣 MANUAL | Daily close staged for approval → admin reviews + clicks Approve → post | A row in |
For a long time these had separate tables and the "Sync Log" only showed AUTO rows — so manual-mode stores saw an effectively empty Sync Log even though they were clearly approving entries through the queue.
The page now unifies both into one chronological history. The new Source column tells you at a glance which path produced each row.
MANUAL chip carries a faint accent tint (the "a human acted here" rows). AUTO chips stay neutral — they're the background hum of the cron.
Filters
Three filters compose at the top of the grid:
Filter | Default | Options |
From / To | Last 30 days | Any date range |
Source | All | All / Auto (cron) / Manual (approval) |
Status | All | All / Posted / Failed / Pending / Rejected / Voided |
Filters compose — Source: Manual + Status: Posted shows you every manually-approved entry that successfully posted.
Status meanings
After the unification, statuses are normalized across both sources:
Status | Auto path | Manual path |
| Successfully posted to QBO | Approved + posted to QBO |
| Cron tried and QBO rejected | (rare — manual posts that fail usually become rejected) |
| Auto job still processing (transient) | Waiting in the Approval Queue |
| (n/a) | Admin explicitly rejected the entry |
| (rare) | Previously posted, then voided in QBO |
Doc # is a QBO link
Every posted (or voided) row's DocNumber cell is a clickable link that opens the journal entry directly in QuickBooks Online — right page, right company, no searching.
Dotted underline + tiny external-link icon = clickable. Opens in a new tab.
Behind the scenes the link targets:
https://{sandbox.}qbo.intuit.com/app/journal?txnId=N&realmId=MThe same pattern works in the Dashboard activity feed and the Audit Log Details column — wherever a posted Doc # appears, it's a deep-link.
Smart per-row actions
Actions are state-specific — only what makes sense for each row, no busywork navigation:
Row state | Action |
Posted (any source) | (Doc # link IS the action — opens the JE in QBO) |
Voided | (Doc # link — view the voided state in QBO) |
Auto + Failed | Retry — re-runs the auto-sync for this date |
Manual + Rejected/Failed | Re-sync this date — creates a fresh staged entry for the approval queue |
Manual + Pending | Open in Queue — deep-link to the specific row in the Approval Queue with auto-scroll and highlight |
Tip: "Open in Queue" pulses the matching row's background for 2 seconds when you arrive, so you can spot the entry you came for even when the queue is long.
Retry vs Re-sync
Both call the same backend endpoint (manual sync for a date), but the use cases differ:
Retry (auto + failed): the nightly cron tried, QBO returned an error (period closed, token expired, mapping deleted). Fix the cause, then click Retry to re-run.
Re-sync (manual + rejected/failed): you rejected an entry because the DRS data was bad, or you fixed an underlying mapping that produced the rejection. Click Re-sync once the source data or mapping is corrected — a new pending entry appears in the queue.
In both cases the system creates a fresh qb_staged_entries row (or directly posts in auto mode) for the date. The old rejected/failed row is preserved as an audit record — never deleted.
How is this different from the Audit Log?
Sync Log = "what entries posted (or tried to post) to QBO?"
One row per business date
Shows the final state (posted / failed / pending / etc.)
Optimized for "did Tuesday's entry land?"
Audit Log = "every action that happened, in order"
Multiple rows per entry (one per event: staged, edited, approved, sync_posted, voided)
Append-only, immutable
Optimized for "who changed what, when?" — compliance and debugging
Use the Sync Log for daily operational checks. Use the Audit Log when you need to trace the full lifecycle of a specific entry or answer a "who/when?" question.
What's next
Audit Log — full event history, filterable + exportable.
Daily Approval Workflow — the source of the Manual rows.
Reconciliation — periodic check that posted totals match DRS source data.





