QBO sync & reconciliation
I6Nightly export (02:00) · daily reconciliation (06:00) · rows freeze after export · errors surface, never implicit.
assumption— shape settles with the Angie recording
Last export
07-20 02:00
1 invoice, 1 payment · clean (run AR-2)
Reconciliation Δ
$0.00
to the cent · 07-20 06:00
Open sync errors
1
surfaced in-app + task auto-created
Daily reconciliation report
clean · 07-20 06:00| Metric | XOS | QBO | Δ |
|---|---|---|---|
| AR outstanding (open invoices) | $18,575 | $18,575 | $0.00 |
| Payments received MTD | $18,985 | $18,985 | $0.00 |
| Sub bills paid MTD | $5,600 | $5,600 | $0.00 |
Runs daily whether anyone looks or not. A non-zero delta raises a flag (H1) and a task — discrepancies surface as flags, not surprises (SS§6). 06:00 snapshot — today's INV-904 deposit (J-1044, posted after this morning's signing) lands in tonight's run.
Export-run history
Inngest — visible history, retry, dead-letter| Run | Items | Result |
|---|---|---|
| 07-20 02:00 | 1 invoice, 1 payment | clean run AR-2 — INV-901 + PMT-1203 |
| 07-19 02:00 | 1 invoice, 2 payments | 1 error PMT-1202 duplicate QBO customer — surfaced + task created, rest committed |
| 07-18 02:00 | 2 invoices | clean |
| 07-17 02:00 | no changes | clean |
Per-row sync state
observable, never implicit (MD§4.8)| Entity | Ref | Direction | State | Detail |
|---|---|---|---|---|
| Invoice | INV-901 | XOS → QBO | synced | qbo_id 4471 · last sync 07-20 02:00 |
| Invoice | INV-903 | XOS → QBO | synced | exported 07-16 → edits FROZEN in XOS · qbo_id 4462 |
| Payment | PMT-1203 | XOS → QBO | synced | $2,800 → INV-901 (qbo 4471) · synced 07-20 02:00 |
| Bill (sub) | SUB-911 | XOS → QBO | synced | $5,600 · Peak One Contracting |
| Invoice | INV-902 | XOS → QBO | pending | queued for tonight's export (02:00) |
| Payment | PMT-1202 | XOS → QBO | error | QBO rejected: customer “Grant & Ellie Moss” matches TWO QBO customer records (duplicate name). Parked by idempotency key — merge in QBO, then retry. Task auto-created for Angie. idempotency key prevents the duplicate JN was famous for |
| Payment | QBO-PMT-88 | QBO → XOS | synced | check recorded directly in QBO against INV-903 → synced back 07-17 |
Money rows freeze in XOS after export — post-export edits happen in QBO and sync back on the next run. Nothing fails silently: every error lands here, in the digest, and as a task.