Skip to content

Xero baseline — Renfroe Holdings org, 2026-04-19

Purpose: Snapshot of what is actually in the live Xero org today, before we start building out the real COA + tracking categories + Brex-driven workflow. Produced from read-only API pulls against the live org via scripts/fpa/xero_client.py. Raw JSON snapshots in /tmp/xero-baseline/ on claude-code-01 (not committed).

TL;DR — the org is not empty

Austin's mental model coming in: "I've done nothing to Xero yet — it's whatever Brex's default connector + a couple bank-feed adds produced." Accurate in spirit but materially understated. The org has 111 accounts, 53 of which are BANK-type (including 19 credit cards), 25 unpaid AP bills totaling $124K, 28 auto-generated journal entries, and 9 supplier contacts (one of them a duplicate-spelling of another). None of Austin's planned custom COA, tracking categories, or property-specific accounts exist yet — what's there is Xero's default US BUSINESS template plus Brex's auto-pushed bills and bank-feed-created accounts.

The headline cleanup items before we build anything new: 1. 10 duplicate bank accounts — Brex created "Brex business account#001" through "#009" (plus a base "Brex business account") alongside user-named accounts for the same sub-accounts. Every Brex ledger entry is hitting the wrong side of this duplicate pair. 2. 2 mortgage balances are loaded as BANK-type accounts instead of long-term liabilities (First Horizon ...8368 and what appears to be Lavaca ...0819). 3. Contact duplicate: "PORTILLA, RUY-DÍAZ & AGUILAR, S.C." (3 bills) and "Portilla Ruy Diaz y Aguilar SC" (7 bills) are the same Mexican law firm. Combined AP = $13,869.19 split across both records. 4. Zero tracking categories — Entity and Asset Class dimensions from the plan do not exist, so every bill pushed so far is uncategorized by entity. 5. 25 ACCPAY bills have no AccountCode on any line item — Brex is creating bill headers but not mapping to GL accounts, so the P&L can't be read yet.

Org identity

Field Value
Name Renfroe Holdings
Legal name Renfroe Family Holdings, LLC
Entity type SINGLEMEMBERLLC
EIN 33-1273117
Edition / Class BUSINESS / PREMIUM
Base currency USD
Fiscal year end Dec 31
Timezone EST
Xero org created (UTC) 2024-10-19
Default sales tax Tax Exclusive
Default purchases tax No Tax

Org was created ~18 months ago but meaningful data only starts 2026-02-16 — consistent with Brex connector being turned on in Feb 2026.

Chart of accounts — what's there

111 accounts, by type: BANK 53, EXPENSE 20, CURRLIAB 13, EQUITY 5, CURRENT 4, FIXED 4, SALES 3, REVENUE 3, DIRECTCOSTS 3, OTHERINCOME 2, INVENTORY 1.

Structure is Xero's stock US BUSINESS template: generic 1200 AR / 2000 AP / 3000 Owner's Capital / 3900 RE / 4000 Sales / 5000 COGS / 6000-series expenses / 8100-8200 FX. None of the planned custom lines exist (no 1510 W 3101 building, no 2210 First Horizon mortgage, no 4010 Guest revenue, no 6110 R&M, no 6510 Pearce Bevill, etc.).

53 BANK-type accounts (the mess)

Brex auto-created duplicates (must be resolved):

Brex-created (likely from connector) User-named (likely from direct add) Last 4
Brex business account BREX 3529 Casa Moksha: Dep 3529 3529
Brex business account#001 BREX 3529 (also this) (same pair, two Brex copies exist) 3529
Brex business account#002 BREX 0926 1006 20th St LLC: Ops (Defunct) 0926 0926
Brex business account#003 BREX 3161 Renfroe Marine Holdings: Ops 3161 3161
Brex business account#004 BREX 4145 Oceana 433: Ops 4145 4145
Brex business account#005 BREX 5803 Five Pts Holdings: Ops 5803 5803
Brex business account#006 BREX 5636 Oceana 433: Dep 5636 5636
Brex business account#007 BREX 0593 Renfroe Holdings GK 0593 0593
Brex business account#008 BREX 9271 ATX Marine Holdings: Ops 9271 9271
Brex business account#009 BREX 7098 W 3101 Holdings 7098 7098
Brex Primary Checking Account 715920804568798 (not duplicated, good) 8798
Treasury 1769 (not duplicated) 1769
Vault 0631 (not duplicated) 0631
Casa Moksha: Ops 3753 + Brex business account BREX 3753 (dup pair) 3753

Every Brex card / bank posting appears to be landing on the BREX #### account while the user-facing operational view shows the #### account — classic symptom of Brex connector vs. manual bank-feed-add collision. This needs one-time resolution (pick one side, move opening balances, delete the other).

Credit cards (19 total, all CREDITCARD subtype of BANK): Delta Platinum Business 2004, Brex Credit Card BREX, Business Platinum 6009, Marriott Bonvoy 9417, Delta SkyMiles Reserve 5006, CREDIT CARD ... 8587, Private Bank Visa Signature 0115, Citi Strata Elite 0615, Southwest RR Premier 2848, G. RENFROE 7523, Business Platinum 2009, Marriott Business 3762, CREDIT CARD ... 1331, Hyatt Visa 3179, Ritz Carlton 3194, Marriott Bonvoy Brilliant Amex 1000, Citi/AAdvantage Exec World Elite 3764.

The personal cards (Delta SkyMiles Reserve, Hyatt, Ritz, Southwest, the Marriott consumer cards) being in the RFH org is a separation-of-books problem and aligns with the "mixed personal + business" issue Austin already flagged for Monarch sort. Need a call on which stay and which get archived.

Other bank accounts of note: - MORTGAGE ...8368 and MORTGAGE ...0819wrongly typed as BANK. These are Monarch-feed imports of First Horizon (W 3101) and Lavaca mortgage balances; should be LT-LIAB (2210 / 2220). - CHECKING ...5045, ...4923 — presumably Chase business (identities need confirming). - CHECKING ...6248 — Wells Fargo Austin personal (planned as memo-only 1085). - PayPal 66WPWUTTS8CMJ — exists, matches Casa Moksha workflow. - Wise USD 7856 + MXN 5334 + AUD 8550 + CAD 5698 + EUR 9840 + GBP 6499 + JPY 0391 — 7-currency Wise stack wired in. - No Coinbase account(s). CM crypto flow not represented.

Non-bank accounts — what the default template gave us

Income side: 4000 Sales / 4100 Discount Received / 4200 Merchandise / 4300 Service / 4400 Markup on Reimb / 4710 Uncategorized Income / 4715 Other Income / 4820 Vendor Refunds. → None of the hospitality / rental / crypto-specific revenue lines from the plan exist.

COGS: 5000 COGS / 5100 Purchase Discount / 5300 Subcontractors. → No booking platform fees, payment processor fees, property management fees.

Expenses: 6000 Advertising / 6040 Bank Service Charges / 6110 Automobile / 6140 Biz License / 6155 Dues & Subs / 6200 Meals / 6320 Insurance / 6330 Professional Fees / 6400 Reimbursable / 6680 Wages / 6720 Payroll Tax / 6722 Mileage / 6900 Bad Debt / 7000 Depreciation / 7050 Misc / 7150 Other / 8100 Bank Revaluations / 8150 Unrealized FX / 8200 Realized FX / 8201 PayPal fees. → No repairs/maintenance breakout, no utilities split, no mortgage-interest line, no IVA handling, no Mexican payroll line items (IMSS, aguinaldo, holiday premium), no professional-services breakout by firm.

Liabilities: 2000 AP / 2060 Gift Card / 2100 Unpaid Expense Claims / 2160-2190 Payroll liability lines / 2200 Sales Tax / 2400 Line of Credit / 2500 Suspense / 2550 Historical Adjustment / 2600 Rounding / 2650 Tracking Transfers. → No mortgage LT debt, no intercompany payable (2030 Due to RHG, 2040 Due to GK), no Mexican tax liability lines.

Equity: 3000 Owner's Capital / 3110 Owner's Investment / 3120 Owner's Draw / 3130 Billable Time / 3900 RE. → Close enough to the plan (3010 / 3030 / 3050); naming is different but structure maps.

Fixed assets: 1520 Computer & Office Equipment + accum depr / 1530 Vehicles + accum depr. Real estate basis (1510-1560) entirely absent. Marina lease rights (1610-1630) absent. Investment in subsidiaries (1810-1820) absent.

Tracking categories

Zero configured. The Entity (RFH parent, W 3101, W 3603, ATX Marine, Austin Marine, Renfroe Marine, Five Points BHM, Oceana 433, RHG summary, GK summary) and Asset Class (Holdings/Mgmt, Residential Rental, Commercial Rental, Marina, Hotel, Primary Residence, Foreign Real Estate) dimensions from chart-of-accounts.md do not exist. Every bill Brex has pushed in Feb-Apr 2026 is therefore uncategorized by entity — un-drillable reporting today.

Contacts (9)

All suppliers, no customers, $80,305.63 AP outstanding.

Contact AP outstanding Notes
PEARCE, BEVILL, LEESBURG, MOORE P. C. $24,550.00 US CPA per reference_advisors.md
ATP Fund II, LP $30,000.00 Capital call
Alex Snider Advisory $8,212.50 Advisor fees
Portilla Ruy Diaz y Aguilar SC $8,618.78 duplicate — 7 bills
PORTILLA, RUY-DÍAZ & AGUILAR, S.C. $5,250.41 duplicate — 3 bills
Desarrollo Empresarial Anjona, S.C. $2,173.94 MXN; RHG-side vendor
CONLEY ROSE $1,500.00 Legal — unclear firm, check
Designer Installs $0.00
RTC Restoration & Glass, Inc. $0.00

Portilla merge: easy win, two spellings of Ruy-Díaz & Aguilar Mexican legal firm (per reference_advisors.md). Consolidate under the accented form, re-point the 7 "Portilla Ruy Diaz y Aguilar SC" bills.

Invoices & journals

  • 25 ACCPAY bills totaling $124,047.19, all dated 2026-02-16 → 2026-04-10.
  • 22 AUTHORISED, 3 PAID.
  • 0 lines carry an AccountCode → all expense categorization is missing.
  • Invoice counts by contact match the contacts table above.
  • 28 Journal entries, same date range. Presumably paired with the 25 bills (auto-GL posts).
  • 0 BankTransactions API-surfaced (suggests Brex connector posts bills, not bank-feed transactions directly — need to verify whether there's a Brex→Xero bank-rec workflow and what reconciles to what).
  • 0 BankTransfers, 0 CreditNotes, 0 ManualJournals, 0 Items.

Tax & currencies

  • 5 default tax rates, AUTO LOOKUP via Avalara, Tax Exempt, Tax on Sales (OUTPUT), Tax on Purchases (INPUT), Sales Tax on Imports. No Mexican IVA rate configured, no JPY consumption-tax rate.
  • 7 currencies enabled — USD (base), AUD, CAD, EUR, GBP, JPY, MXN. Matches the Wise footprint. Good.
  • 1 branding theme ("Standard") — fine for now.

Gap analysis vs. chart-of-accounts.md

What the plan calls for and what's in the org today:

Plan section Status
Entity tracking dimension ❌ absent
Asset Class tracking dimension ❌ absent
1010-1099 Cash & equivalents (specific per-Brex-account numbering) ⚠️ accounts exist but with different codes (all BANK-no-code) + duplicates
1120/1130 Intercompany receivables ❌ absent
1220 Recoverable IVA ❌ absent
1510-1560 Real estate basis ❌ absent
1610-1630 Marina lease rights ❌ absent
1810-1820 Investment in subs ❌ absent
2030/2040 Intercompany payables ❌ absent
2110-2130 Mexican tax liabilities ❌ absent
2210-2240 Long-term debt (mortgages, AFR) ❌ absent — mortgages loaded as BANK not LIAB
3010/3020/3030/3050 Equity lines ⚠️ close — existing 3000/3110/3120/3130/3900 maps ok
3035 SBA distribution ❌ absent
4010-4030 Hospitality revenue ❌ absent
4100-4199 Real estate rental income ❌ absent
4300-4399 Other income (interest, invest, FX) ❌ absent (8100/8200 FX exists only)
5010-5040 COGS breakout (booking, processor, crypto, PM fees) ❌ absent
6000-6099 Mexican payroll lines ❌ absent
6100-6199 R&M breakout ❌ absent
6200-6299 Utilities breakout ❌ absent
6300-6399 Property other operating ❌ absent (6320 Insurance exists as generic)
6400-6499 Mortgage interest ❌ absent
6500-6599 Professional services by firm ❌ absent (6330 generic Professional Fees only)
6800-6899 Software subs ❌ absent
9010-9030 FX / crypto OCI ❌ absent

Effectively: nothing from the custom plan is in place. The work is still all ahead.

Proposed order of operations — confirm before executing any writes.

  1. Don't build new structure yet. The three inputs chart-of-accounts.md flags (JME monthly deliverable, Japanese accountant monthly deliverable, Pearce Bevill structure input) are still outstanding. Building out the full planned COA and then reshuffling it after those inputs arrive is waste.

  2. Cleanup-only phase first — can proceed without external input:

  3. Merge Portilla contacts (7 bills moved to canonical record, delete dup).
  4. Resolve the 10 duplicate Brex bank-account pairs (pick side, reassign transactions, archive other).
  5. Reclassify MORTGAGE ...8368 and ...0819 out of BANK type and into the liability section (even if code is placeholder until plan is finalized).
  6. Decide which of the 19 credit cards stay in RFH vs get archived as personal-only.
  7. Configure Entity + Asset Class tracking categories (these are independent of COA detail — can safely install now).

  8. Code-assign backlog — the 25 unmapped ACCPAY bills need expense-account coding before next month close. Doable manually in Xero or scriptable via API once the target account exists in the COA.

  9. Brex connector behaviour investigation — understand whether Brex is supposed to create BREX #### as a pass-through ledger and expects us to reconcile to user-named accounts, or whether the user-named accounts were set up redundantly. That determines cleanup direction.

  10. Then build the full custom COA once the three outstanding inputs arrive.

Inputs to this analysis

  • Live Xero API pulls via scripts/fpa/xero_client.py — 15 endpoints: Organisation, Accounts, Contacts, Invoices, Journals, ManualJournals, BankTransactions, BankTransfers, CreditNotes, Items, TrackingCategories, TaxRates, BrandingThemes, Currencies.
  • Raw JSON snapshots left at /tmp/xero-baseline/ on claude-code-01 (not committed — ephemeral, re-runnable).
  • Cross-checked against accounting/chart-of-accounts.md, context/entities.md, banking/brex.md, reference_advisors.md (memory).