CFO Associates
CFO Associates

Spyglass JE Generator

Spyglass Ventures PR LLC — Lukka → QuickBooks Online — Updated Jan 2026

Before you upload

Lukka pre-flight workflow

Do these 4 steps in Lukka first, then upload the resulting reports below.
1
Refresh sources & re-process In Lukka, refresh all data sources for the period and trigger a re-process so balances and lot matching are current.
2
Download Global Ledger Export the raw Global Ledger for the period. Use this to review every transaction before any reclassifications.
3
Make sub-ledger changes In Lukka, apply reclassifications, spam flags, internal-transfer matching, dividend tagging, and any manual price/cost adjustments.
4
Re-process & download reports Re-process in Lukka, then download the three required reports (Beta Loader, Closed Lots, Realized G/L) and upload them below.
Upload each Lukka report into the matching slot. Beta Income QB Loader, Closed Lots, and Realized Gain Loss are required. Optional files are skipped if blank — sections with no data won't appear in the JE.
Methodology Validation

Historical pivot reconciliation — proof tool matches Aug / Sep / Oct 2025

All Match
✓ Every Closed Lots aggregation the tool computes ties exactly to the values reported in the historical Lukka Closed Lots Pivot sheet for Aug, Sep, and Oct 2025. The Fee Wallet small deltas ($18–$26/month) are the deliberately-excluded Transfer-Fee rows (those go to the EXCHANGE FEES line instead). The Transit Wallet pivot reports a single combined total — the tool correctly splits it into Partners Distributions, Maple Loan Interest, and gas fees.
Attestant Staking — Expense-Disposal Ether (feeds Maple Reward Rights DR)
FieldAug 2025 PivotAug TOOLSep 2025 PivotSep TOOLOct 2025 PivotOct TOOLMatch
Cost Basis$1,093,944.77$1,093,944.77$1,100,291.79$1,100,291.79$1,056,032.02$1,056,032.02
Proceeds$1,095,500.50$1,095,500.50$1,102,987.56$1,102,987.56$1,053,617.67$1,053,617.67
Realized G/L$1,555.74$1,555.74$2,695.77$2,695.77−$2,414.35−$2,414.35
Fee Wallets (MEV) — Transfer-Disposal Ether (feeds Maple Reward Rights DR, fees excluded)
FieldAug 2025 PivotAug TOOLSep 2025 PivotSep TOOLOct 2025 PivotOct TOOLMatch
Cost Basis (pivot incl fees)$68,650.24$68,624.36$79,995.96$79,977.48$1,703,421.41$1,703,403.06
Proceeds (pivot incl fees)$71,172.26$71,145.73$79,486.66$79,468.21$1,642,713.12$1,642,694.93
Realized G/L$2,522.02$2,521.37−$509.31−$509.27−$60,708.29−$60,708.13
Note: tool excludes Transfer-Fee rows from Fee Wallet aggregation (small deltas of $18–$26 in cost/proc) — those rows go to the EXCHANGE FEES line per historical methodology.
Contra-revenue (Gnosis Safe nodeset) & ICP Distributions (DFINITY)
Account / FieldAug 2025 PivotAug TOOLSep 2025 PivotSep TOOLOct 2025 PivotOct TOOLMatch
Gnosis Safe — Cost$67,399.40$67,399.40$0$0$0$0
Gnosis Safe — Proceeds$67,399.40$67,399.40$0$0$0$0
DFINITY ICP — Cost$122,461.34$122,461.34$0$0$0$0
DFINITY ICP — Proceeds$122,461.34$122,461.34$0$0$0$0
Transit Wallet decomposition — pivot total = ethDistProc + mapleInt + Transit gas fees
MonthPivot Total ProceedsTool: ethDistProc (ETH)Tool: mapleInt (USDC)Tool: Transit FeesTool SumMatch
Aug 2025$3,928,445.43$3,781,950.32$146,492.20~$2.91$3,928,445.43
Sep 2025$2,820,597.35$2,678,854.41$141,738.30~$4.65$2,820,597.36
Oct 2025$3,086,710.13$2,940,229.53$146,477.55~$3.05$3,086,710.13
The historical pivot collapses Transit Wallet to one line. The tool correctly splits it into three JE rows: PARTNERS DISTRIBUTIONS (ETH leg), Maple Loan Interest (USDC leg), and EXCHANGE FEES (gas).
Maple Reward Rights — what each month produces under the deployed formula
MonthattProc + fwProc (DR)attCost + fwCost (CR ETH)Net G/L (to Capital section)
Aug 2025$1,166,646.23$1,162,569.13gain $4,077.10
Sep 2025$1,182,455.76$1,180,269.27gain $2,186.49
Oct 2025$2,696,312.60$2,759,435.08loss $63,122.48
Feb 2026$202,246.00$202,995.74loss $749.74
Reconciliation: the DR/CR difference each month equals attGain + fwGain (the realized G/L on those disposals) and flows to CAPITAL LOSS / CAPITAL GAIN. Magnitudes match Spyglass's historical pattern: ~$1.1M/month consensus from Attestant + $70K–$1.6M/month MEV from Fee Wallets.
How to reproduce these numbers yourself:
1. Open any monthly workbook in /Users/cfoakevin/Desktop/<NN>.25 Lukka Spyglass Activity.xlsx.
2. Open the Closed Lots Pivot sheet. The pivot labels rows "Maple Consensus rewards" (= Attestant Expense-Disposal) and "Maple Rewards payouts" (= Fee Wallet Transfer-Disposal).
3. Sum the Proceeds column for those two pivot rows. That sum equals the Maple Reward Rights DR the tool computes.
4. Sum the Cost Basis column for the same two rows. That sum equals the ETH credit the tool computes.
5. The difference between them is the realized G/L, which the tool routes to Capital Loss / Capital Gain rather than netting against Maple Reward Rights.
Reference

How it works — JE line-by-line breakdown

Every line in the QBO journal entry is computed from one specific filter against one specific Lukka report. Click any section below to see the formula, source file, and the prior-month pivot that ties out to it. Use this when investigating a number that looks off, or when training a new team member on the workflow.
1. Staking & Income Recognition
DIGITAL ASSETS:ETH Debit
stakingTtl = Beta Loader Debit where Asset Code = "ETH" (or Asset Name = "Ether")
Source: Beta Income QB Loader → ETH row, Debit column. FMV-priced gross ETH income for the month (Staking + Staking Earned + Other — all subtypes pre-aggregated).
Why Beta Loader instead of All Income & Expense: the raw Lukka Income CSV ships with $0 USD on most ETH rows (Lukka doesn't apply FMV pricing on the base export). The Beta Loader re-prices ETH at month-end FMV. Feb 2026 example: raw CSV = $82K, Beta Loader = $1,598,703.03 — only the Beta value is bookable.
DIGITAL ASSETS:EigenLayer Debit
eigen = Beta Loader Debit where Asset Code starts with "EIGEN" OR Asset Name = "EigenLayer"
Prior-month tie-out: equals the Income PIVOT "Staking (EigenLayer)" column total — EIGEN doesn't need re-pricing since Lukka tracks it in USD directly.
DIGITAL ASSETS:FIL Debit
fil = Beta Loader Debit where Asset Code = "FIL" OR Asset Name = "Filecoin"
Prior-month tie-out: equals Income PIVOT "Other Income (Filecoin)" column with FMV re-pricing applied by the Beta Loader.
DIGITAL ASSETS:USDC Debit (only when present)
usdcIncome = Beta Loader Debit where Asset Code = "USDC" OR Asset Name = "USD Coin"
Source: Beta Loader USDC interest row. Tiny amounts in most months ($30 in Feb 2026) but real revenue — line only appears when > $0.
STAKING INCOME / INTEREST INCOME Credit
stakingTtl → STAKING INCOME   |   eigen → STAKING INCOME (sep line)   |   fil → INTEREST INCOME   |   usdcIncome → INTEREST INCOME (sep line)
Source: revenue side. Mirrors the asset debits so gross income posts to P&L. The Beta Loader's "Staking Income" credit row equals the sum of the four debits.
EXCHANGE FEES Debit & DIGITAL ASSETS:ETH Credit
exchFees = SUM(Closed Lots.Cost Basis) WHERE Disposal Type ∈ {"Trade - Fee","Transfer - Fee"}
Source: Closed Lots. All gas/network fee cost basis disposed during the period.
Prior-month tie-out: Closed Lots Pivot → "Exchange Fees" label section. Historical: $3–$30/month.
2. Capital Gains / Losses
CAPITAL LOSS Debit
capLoss = MAX(0, -derivLoss) + MAX(0, -fwGain) + MAX(0, -attGain) + MAX(0, -contraGain) + MAX(0, ethDistCost - ethDistProc) + MAX(0, icpDistCost - icpDistProc)
Source components from Closed Lots:
derivLoss = G/L where Account contains "Blockfills" AND Type = "Derivative Trade - Disposal"
fwGain = G/L where Account contains "Fee Wallets" AND Type ≠ "Transfer - Fee"
attGain = G/L where Type = "Expense - Disposal" AND Account contains "Attestant"
contraGain = G/L where Type = "Expense - Disposal" AND Account does NOT contain "Attestant"
• ETH/ICP distribution G/L = (proceeds − cost) on Transit-Ether and DFINITY-ICP Transfer-Disposals
CAPITAL GAIN Credit
capGain = MAX(0, spotGain) + MAX(0, derivLoss) + MAX(0, fwGain) + MAX(0, attGain) + MAX(0, contraGain) + MAX(0, ethDistProc - ethDistCost) + MAX(0, icpDistProc - icpDistCost)
Source: mirror of capLoss but positive side. Same components, opposite direction.
PARTNERS DISTRIBUTIONS Debit
ethDistProc = SUM(Closed Lots.Proceeds) WHERE Disposal Account contains "Transit" AND Type = "Transfer - Disposal" AND Asset Name = "Ether"
Prior-month tie-out: the "Dividend and JS Payment" sheet in each monthly workbook is the Closed Lots pivot for exactly this filter. Sum of Proceeds equals this line. Historical: $2.7M–$3.8M/month (Aug–Oct 2025).
⚠️ If this line is blank, no ETH left Transit this month. Confirm on-chain (Etherscan) that Spyglass Transit Wallet had zero outbound ETH transfers before assuming the JE is correct — blank may indicate (a) genuine pause, or (b) Lukka reconciliation still pending.
DIGITAL ASSETS:ETH Credit (Partners Distributions offset)
ethDistCost = SUM(Closed Lots.Cost Basis) for the same Transit-Ether-Transfer-Disposal filter
PARTNERS DISTRIBUTIONS (ICP) Debit & DIGITAL ASSETS:ICP Credit
icpDistProc / icpDistCost where Disposal Account contains "DFINITY" AND Type = "Transfer - Disposal"
Contra-revenue Debit & DIGITAL ASSETS:ETH Credit
contraProc / contraCost where Type = "Expense - Disposal" AND Account does NOT contain "Attestant"
Source: Gnosis Safe (nodeset) Expense-Disposals. Separate from Maple because nodeset is a different validator product.
3. Maple Loan & Rewards
Maple Loan Interest Debit
mapleInt = SUM(Closed Lots.Proceeds) WHERE Disposal Account contains "Transit" AND Type = "Transfer - Disposal" AND Asset Name = "USD Coin"
Prior-month tie-out: in the monthly workbook, filter Closed Lots on the same criteria. Historical: $140K–$150K/month when active.
Maple Reward Rights Debit
mapleDR = attProc + fwProc
  attProc = SUM(Closed Lots.Proceeds) WHERE Disposal Type = "Expense - Disposal" AND Disposal Account contains "Attestant"
  fwProc  = SUM(Closed Lots.Proceeds) WHERE Disposal Account contains "Fee Wallets" AND Disposal Type ≠ "Transfer - Fee"
Source: Closed Lots. Two streams: (1) Attestant Expense-Disposals = base validator consensus rewards, (2) Fee Wallet Transfer-Disposals = MEV + priority fee channel.
Prior-month tie-out: open the Closed Lots Pivot sheet. The pivot tags Attestant Expense-Disposal-Ether as "Maple Consensus rewards" and Fee Wallet Transfer-Disposal-Ether as "Maple Rewards payouts". Sum the Proceeds column for those two pivot rows. Historical magnitudes: ~$1.1M/month (Attestant) + $70K–$1.6M/month (Fee Wallet MEV).
DIGITAL ASSETS:ETH Credit (Maple offset)
mapleCR = attCost + fwCost (cost-basis side of the same disposals)
Source: Closed Lots cost basis for the same two filters. Removes the ETH cost basis from the balance sheet because it's now reclassified to the Maple Reward Rights asset account. The realized G/L (proceeds − cost) flows to Capital Loss / Capital Gain in Section 2.
4. FIL Storage Provider Collateral
FIL Collateral Increase / Decrease pair
tf = SUM(All Transfers.Base Amount) WHERE Base Asset Code = "FIL" AND Type = "Deposit"
Source: All Transfers CSV. Filecoin deposited into Balance Custodial Wallet (Storage Provider Collateral). Booked as paired DR/CR entries.
Prior-month tie-out: filter the All Transfers sheet to Base Asset Code = "FIL" AND Type = "Deposit". Denominated in FIL quantity, not USD.
If a number doesn't look right:
1. Open the matching prior-month workbook in /Users/cfoakevin/Desktop/<NN>.25 Lukka Spyglass Activity.xlsx.
2. Find the equivalent pivot sheet (e.g. "Dividend and JS Payment" for Partners Distributions, "Closed Lots Pivot" for Maple Reward Rights, "Income PIVOT" for staking income).
3. Re-run the filter described in the formula above against this month's source CSV. If your manual sum matches the JE: data is correct. If it differs: check whether the wrong file was uploaded to the wrong slot, or whether Lukka has finished reconciling.

Common gotchas:
Blank Partners Distributions means zero rows match the Transit-Ether-Transfer-Disposal filter. Confirm on-chain before assuming the JE is wrong.
Closed Lots ending mid-month: Lukka only matches lots once reconciled. If the latest Disposal Date in the file is well before month-end, re-export with a later cutoff date.
Spyglass Ventures

Spyglass Ventures PR LLC

Upload individual Lukka report files

Required — the three canonical Lukka exports
Beta Income QB Loader
FMV-priced income (ETH, EIGEN, FIL, USDC)
📋
Closed Lots
Capital, Maple, distributions, fees
📈
Realized Gain Loss
1-row total G/L validation cross-check
Optional — leave blank if no activity this month
🔄
All Trades
ETH/USDC swaps
optional
📈
All Derivative Trades
Options, futures
optional
↔️
All Transfers
FIL collateral, deposits
optional

✓ Journal entries ready

↓ Download QBO Workbook