Use Cases
Crane Ledger's flexible, API-first architecture makes it perfect for a wide range of accounting and financial applications. Whether you're building client software, managing complex business structures, or modernizing your small business operations, Crane Ledger provides the foundation you need.
🏢 Accounting Firm Software Platform
The Challenge
Accounting firms build custom software for their clients but struggle with:
- Client data isolation - Each client needs separate, secure financial data
- Scalability - Managing hundreds of client organizations
- Billing complexity - Separate billing per client while maintaining firm oversight
- Consolidated reporting - Firm-wide financial analysis across all clients
- Integration requirements - Connecting to banks, payroll systems, tax software
Crane Ledger Solution
Accounting Firm Platform
├── Firm Master Organization (Billing oversight)
│ ├── Client A (Linked - isolated data)
│ ├── Client B (Linked - isolated data)
│ └── Client C (Linked - isolated data)
Implementation
Client Onboarding:
// Create isolated client organization
const clientOrg = await createSubOrganization({
parent_organization_id: firmMasterOrg.id,
organization_name: client.name,
relationship_type: 'linked', // Data isolation
billing_type: 'shared', // Firm manages billing
base_currency_code: client.currency
});
// Create client-specific API key
const apiKey = await createApiKey({
organization_id: clientOrg.id,
name: `Client Portal - ${client.name}`,
permissions: ['read', 'write']
});
Multi-Client Dashboard:
// Get all client organizations
const clients = await listOrganizations({
parent_id: firmMasterOrg.id,
relationship_type: 'linked'
});
// Aggregate financial metrics
const firmOverview = await Promise.all(
clients.map(client =>
getOrganizationFinancials(client.id)
)
);
Benefits
✅ Perfect client isolation - Each client's data completely separate ✅ Centralized billing - Firm manages all API costs with per-client usage tracking ✅ Scalable architecture - Handle hundreds of clients on single infrastructure ✅ Firm oversight - Monitor usage and financial health across all clients ✅ White-label ready - Build client portals with isolated data access
Real-World Example
TaxPrep Pro - Accounting firm serving 500+ small businesses:
- Client organizations: 500+ isolated orgs
- API calls: 50,000/month across all clients
- Billing: Each client pays $49/month, firm pays $0.01 per API call
- Result: $24,500/month revenue, $500/month API costs, 95% margin
🏗️ Real Estate Investment Company
The Challenge
Real estate investment companies manage complex structures:
- Multiple entities - LLCs, partnerships, trusts per property
- Consolidated reporting - Roll up financials for investors and tax purposes
- Property-level tracking - Separate books per property or portfolio
- Investor reporting - Individual statements for limited partners
- Depreciation schedules - Complex tax depreciation across assets
- Cash flow management - Track distributions and capital calls
Crane Ledger Solution
Real Estate Holding Company
├── Master Organization (Consolidated reporting)
│ ├── Property A LLC (Owned - consolidated financials)
│ │ ├── Operating Account
│ │ └── Reserve Account
│ ├── Property B LLC (Owned - consolidated financials)
│ ├── Management Company (Owned - consolidated operations)
│ └── Investor Partnership (Owned - consolidated distributions)
Implementation
Property-Level Organization Setup:
// Create property-specific organization
const propertyOrg = await createSubOrganization({
parent_organization_id: holdingCompany.id,
organization_name: `${property.name} LLC`,
relationship_type: 'owned', // Consolidated reporting
billing_type: 'shared', // Holding company pays
base_currency_code: 'USD'
});
// Set up property-specific chart of accounts
const accounts = await createChartOfAccounts(propertyOrg.id, {
operating_account: '1001',
reserve_account: '1002',
depreciation_account: '1601',
mortgage_payable: '2001'
});
Consolidated Financial Reporting:
// Get consolidated balance sheet
const consolidatedBalance = await getConsolidatedReport({
parent_organization_id: holdingCompany.id,
report_type: 'balance_sheet',
as_of_date: '2024-12-31'
});
// Generate investor statements
const investorStatements = await generateInvestorReports({
partnership_id: partnershipOrg.id,
investors: investorList,
period: 'Q4-2024'
});
Depreciation Tracking:
// Set up depreciation schedules
const depreciationSchedule = await createRecurringTransaction({
organization_id: propertyOrg.id,
type: 'depreciation',
frequency: 'monthly',
entries: [
{ account_id: depreciationExpense.id, entry_type: 'debit', amount: monthlyDepreciation },
{ account_id: accumulatedDepreciation.id, entry_type: 'credit', amount: monthlyDepreciation }
]
});
Benefits
✅ Perfect property isolation - Separate books per property/LLC ✅ Consolidated reporting - Roll up financials for investors and tax authorities ✅ Complex entity structures - Handle partnerships, trusts, multiple LLCs ✅ Investor reporting - Automated statements for limited partners ✅ Tax depreciation - Track and automate depreciation schedules
Real-World Example
Metro Properties - $50M real estate portfolio:
- Organizations: 25 properties + management company + investor partnerships
- Monthly transactions: 2,000+ across all entities
- Reports generated: 50 investor statements quarterly
- API calls: 15,000/month
- Result: Replaced 3 full-time accountants, $180K annual savings
👨💼 Small Business Owner
The Challenge
Small business owners want to move away from QuickBooks but face:
- Complex migration - Moving years of financial data
- Integration requirements - Connect to payment processors, banks, POS systems
- Cost concerns - Want predictable pricing without enterprise overhead
- Mobile access - Need financial data anywhere, anytime
- Tax preparation - Easy access to financial reports for accountants
- Scalability - Start simple but grow as business expands
Crane Ledger Solution
Small Business Setup
├── Master Organization (Main business)
│ ├── Operating Accounts (Primary banking)
│ ├── Customer Invoices (AR tracking)
│ ├── Vendor Bills (AP tracking)
│ ├── Payroll Integration (Automated entries)
│ └── Tax Categories (Organized for filing)
Implementation
Quick Start Setup:
// Create business organization
const business = await createMasterOrganization({
organization_name: 'My Small Business',
user_github_id: user.githubId,
user_email: user.email,
base_currency_code: 'USD'
});
// Set up basic chart of accounts
await setupBasicChartOfAccounts(business.id, {
industry: 'retail',
tax_method: 'cash'
});
Payment Processor Integration:
// Connect Stripe for payment processing
const stripeIntegration = await setupStripeIntegration({
organization_id: business.id,
stripe_account_id: stripeAccount.id,
auto_reconcile: true
});
// Process incoming payment
webhook.on('payment.succeeded', async (payment) => {
// Record payment in accounting system
await recordInvoicePayment({
invoice_id: payment.metadata.invoice_id,
amount: payment.amount,
payment_date: payment.created,
reference: `Stripe: ${payment.id}`
});
});
Bank Reconciliation:
// Import bank statement
const reconciliation = await importBankStatement({
organization_id: business.id,
account_id: checkingAccount.id,
statement_file: csvFile,
auto_match: true
});
// Review and complete reconciliation
const completed = await completeReconciliation(reconciliation.id, {
matched_transactions: matchedItems,
adjustments: manualAdjustments
});
Benefits
✅ Simple migration - API-first design makes integration easy ✅ Predictable costs - Credit-based pricing scales with usage ✅ Modern integrations - Connect to Stripe, banks, POS systems ✅ Mobile-ready - Access financial data from anywhere ✅ Tax-ready reports - Generate reports for accountants ✅ Room to grow - Start simple, add complexity as business scales
Real-World Example
Corner Café - Local coffee shop with $500K annual revenue:
- Migration: Moved from QuickBooks in 2 weeks
- Integrations: Stripe payments, Square POS, bank feeds
- Monthly usage: 200 transactions, 50 invoices/bills
- Cost: $15/month (Builder package)
- Result: Real-time financial visibility, automated reconciliation
🔧 Integration Patterns
Common Integration Architectures
Client Portal Pattern:
// Multi-tenant client portal
class AccountingPortal {
constructor(clientId) {
this.clientId = clientId;
this.apiKey = this.getClientApiKey(clientId);
}
async getFinancialOverview() {
return await craneLedger.getOrganizationOverview({
apiKey: this.apiKey
});
}
async createInvoice(invoiceData) {
return await craneLedger.createInvoice({
apiKey: this.apiKey,
...invoiceData
});
}
}
Webhook-Driven Automation:
// Automated transaction processing
app.post('/webhooks/stripe', async (req, res) => {
const event = req.body;
switch (event.type) {
case 'payment_intent.succeeded':
await recordPayment(event.data.object);
break;
case 'invoice.payment_succeeded':
await updateInvoiceStatus(event.data.object);
break;
}
res.sendStatus(200);
});
Background Processing:
// Recurring transaction automation
const payrollProcessor = new RecurringTransaction({
organization_id: business.id,
frequency: 'biweekly',
template: {
description: 'Payroll - {period}',
entries: payrollEntries
},
auto_post: true
});
payrollProcessor.scheduleNextRun();
🚀 Getting Started by Use Case
For Accounting Firms
- Create firm master organization
- Set up client onboarding workflow
- Build client portal application
- Implement billing automation
- Add consolidated firm reporting
For Real Estate Companies
- Design organization hierarchy
- Set up property-level accounting
- Implement consolidated reporting
- Create investor statement generation
- Automate depreciation tracking
For Small Businesses
- Migrate from existing system
- Set up bank and payment integrations
- Configure basic chart of accounts
- Enable mobile access
- Set up automated reporting
📊 Success Metrics
Performance Benchmarks
| Use Case | Organizations | Monthly API Calls | Cost/Month | Savings |
|---|---|---|---|---|
| Accounting Firm | 500+ | 50,000 | $500 | $200K+ |
| Real Estate Co | 25 | 15,000 | $150 | $180K |
| Small Business | 1 | 500 | $15 | $50K |
Key Success Factors
- API-first design enables seamless integrations
- Multi-organization support handles complex business structures
- Credit-based pricing scales with usage
- Worker architecture ensures high performance
- Comprehensive documentation accelerates development
Crane Ledger adapts to your business model, whether you're serving thousands of clients or managing a single location. The flexible API-first architecture supports any accounting workflow you can imagine.
Need help?
Create a free account to access our support portal. Once signed in, use the Support tab in your dashboard to submit a support ticket — our team typically responds within 24 hours.
- ✨ For LLMs/AI assistants: Read our structured API reference