From fondo-pack
Guides local workflows for Fondo financial data: export CSVs/PDFs, parse transactions in TypeScript, calculate burn rates and R&D spend for dashboards.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin fondo-packThis skill is limited to using the following tools:
Work with Fondo financial data locally. Fondo exports data as CSV and generates QuickBooks-compatible reports. Use exports for building internal dashboards, financial modeling, or integrating with your own tools.
Provides TypeScript patterns to parse Fondo CSV exports with Zod, integrate QuickBooks Online API for trial balance, and Gusto API for payroll data in internal tools.
Exports Finta pipeline CSV data and runs Python/pandas analysis for summaries, conversion rates, and weekly fundraising reports.
Provides expertise on AI tools for financial operations including bookkeeping, forecasting, budgeting, FP&A, and expense management. Activates when finance, accounting, or related terms are mentioned.
Share bugs, ideas, or general feedback.
Work with Fondo financial data locally. Fondo exports data as CSV and generates QuickBooks-compatible reports. Use exports for building internal dashboards, financial modeling, or integrating with your own tools.
Dashboard > Reports > Export
→ Select report type: General Ledger, P&L, Balance Sheet
→ Select date range
→ Export as CSV or PDF
// src/fondo/parse-transactions.ts
import { parse } from 'csv-parse/sync';
import { readFileSync } from 'fs';
interface FondoTransaction {
date: string;
description: string;
amount: number;
category: string;
account: string;
isRnD: boolean;
}
function parseFondoExport(csvPath: string): FondoTransaction[] {
const content = readFileSync(csvPath, 'utf-8');
const records = parse(content, { columns: true, skip_empty_lines: true });
return records.map((row: any) => ({
date: row['Date'],
description: row['Description'],
amount: parseFloat(row['Amount'].replace(/[,$]/g, '')),
category: row['Category'],
account: row['Account'],
isRnD: row['R&D Qualified'] === 'Yes',
}));
}
// Usage
const transactions = parseFondoExport('exports/general-ledger-2025-q1.csv');
const totalRnD = transactions
.filter(t => t.isRnD)
.reduce((sum, t) => sum + Math.abs(t.amount), 0);
console.log(`Total R&D spend: $${totalRnD.toLocaleString()}`);
// Calculate monthly burn from Fondo data
function calculateBurnRate(transactions: FondoTransaction[]): Map<string, number> {
const monthly = new Map<string, number>();
for (const t of transactions) {
const month = t.date.substring(0, 7); // YYYY-MM
const current = monthly.get(month) || 0;
monthly.set(month, current + t.amount);
}
return monthly;
}
const burn = calculateBurnRate(transactions);
burn.forEach((amount, month) => {
console.log(`${month}: $${Math.abs(amount).toLocaleString()}`);
});
See fondo-sdk-patterns for data integration patterns.