Internal · Confidential
Weekly Financial Sync
Standard Operating Procedure · Bounce & Co
Overview
Every Monday morning, an automated cron job runs a comprehensive financial reconciliation for Bounce & Co: syncing Stripe and Bank of America transactions into Xero, auto-coding recurring expenses, flagging anything ambiguous for Darren's review, reconciling all balances, and emailing a weekly summary.
Status: Built, end-to-end tested, and live. First scheduled run: Monday, August 4, 2026 at 6:00 AM PT.
Prerequisites
Key Account Mappings
| Account | Code | Purpose |
|---|---|---|
| Bank of America | 1020 | Primary operating bank account |
| Stripe Clearing | 1015 | Cash-in-transit between Stripe and BofA (prevents double-counting) |
| Advertising | 6000 | Facebook & Google Ads |
| AI Tools | 6081 | Higgsfield and similar subscriptions |
| Insurance - Liability | 6170 | Progressive, IPFS Corp premium financing |
| Rent - Other | 6310 | Storage & misc rentals |
| Software & Web | 6340 | Render.com, Xero subscription |
| Bank Fees | 6030 | Wire transfer fees, verification micro-deposits |
| Capital — Darren Isaacs | 3100 | Member 1 |
| Capital — Itsik Bohbout | 3110 | Member 2 |
| Capital — Darryl Myers | 3120 | Member 3 |
The 7-Step Workflow
Stripe Sync
Pull new Stripe invoices/charges into Xero. Delegates to the existing production-tested
tools/xero-stripe-sync.js. Flags any Stripe line items that don't map to a Xero service item instead of silently dropping them.
BofA Bank Feed Check
Pull all Bank of America transactions from Xero and report status breakdown (Authorised / Reconciled / Deleted / Draft).
Allocate Recurring/Known Expenses
Auto-code predictable vendors (rent, insurance, software subscriptions, ad spend) using rules in
config/xero-expense-mappings.json, built from real coding decisions made this month.
Flag Unknown Allocations
Anything that doesn't match a known pattern is written to a full-detail report (date, amount, contact, description, suggested account, confidence) for Darren's review — never guessed and auto-posted.
Reconcile Stripe + BofA to Xero
Delegates to the existing production-tested
tools/xero-stripe-reconcile.js: applies invoice payments, rebuilds the Stripe cash ledger from balance transactions (source of truth), and records payouts as bank transfers.
Generate Financials
Pulls Profit & Loss and Balance Sheet for the trailing week directly from the Xero Reports API.
Email to Mailing List
Sends the weekly summary — reconciliation status, allocations, unknown items — to the configured recipient list via Graph API.
Guardrails
- Equity/capital accounts (3000–3999) are never auto-posted without explicit sign-off — member contributions always route to Darren for confirmation.
- Transactions over $150 that don't match a known recurring pattern are always flagged, never auto-allocated.
- Ambiguous vendor matches are flagged rather than guessed.
- Unmatched Stripe line items block the invoice sync loudly rather than silently under/over-stating a total.
Escalation
| Trigger | Action |
|---|---|
| Xero auth fails after token refresh | Pause job, alert Darren, do not email stale data |
| Stripe API fails | Skip Stripe steps, continue with BofA, alert Darren |
| Email send fails | Retry once, then save draft locally and alert Darren manually |
| Unknown allocations > 0 | Included in weekly email with full detail — no action needed unless Darren wants to respond |
Maintenance Cadence
Weekly
- Review any unknown allocations flagged in the email
- Confirm recurring expense mappings are still current
Monthly
- Audit recurring expense amounts against reality (rent, insurance, subscriptions)
- Verify member capital account balances match the equity section of the balance sheet
Quarterly
- Full reconciliation pass ahead of tax prep
- Re-verify chart of accounts still matches business needs
Related Files
tools/weekly-xero-sync.js— orchestrator scripttools/xero-stripe-sync.js,tools/xero-stripe-reconcile.js— underlying production sync/reconcile logicconfig/xero-expense-mappings.json— recurring vendor → account rulesconfig/xero-mailing-list.json— recipient configuration- Cron: Weekly Xero Financial Sync & Publish — Mondays 6:00 AM PT, runs on Sonnet
Technical implementation details
View Implementation SOP →