Quick Start
Welcome to Crane Ledger! This guide will get you up and running in minutes. We'll walk through creating your organization, setting up billing, and recording your first transaction.
Prerequisites
Before you start, you'll need:
- GitHub Account: For user authentication
- Email Address: For billing and notifications
- Basic Accounting Knowledge: Understanding of debits, credits, and double-entry bookkeeping
Step 1: Create Your Organization
Sign Up for Crane Ledger
Visit craneledger.ai and sign up using your GitHub account.
# This will be handled through the web interface
# You'll be redirected to GitHub for authentication
Create Master Organization
After authentication, create your master organization:
POST https://api.craneledger.ai/accounts/master
Content-Type: application/json
{
"organization_name": "My Business LLC",
"user_github_id": "12345678",
"user_email": "owner@mybusiness.com",
"base_currency_code": "USD",
"domain": "mybusiness.com",
"tax_number": "US123456789",
"fiscal_year_start": 1
}
Response:
{
"id": "org_1234567890abcdef",
"object": "organization",
"name": "My Business LLC",
"domain": "mybusiness.com",
"tax_number": "US123456789",
"fiscal_year_start": 1,
"base_currency": {
"code": "USD",
"name": "US Dollar",
"symbol": "$",
"decimal_places": 2
},
"is_root": true,
"parent_organization_id": null,
"stripe_customer_id": "cus_xxxxxxxxxxxxxxxx",
"created_at": "2024-01-15T10:30:00Z"
}
What you get:
- ✅ Organization ID:
org_1234567890abcdef(save this!) - ✅ 500 Free Credits: Enough for initial setup and testing
- ✅ Stripe Customer Account: For billing management
Step 2: Set Up Billing
Check Your Credits
Verify your credit balance:
GET https://api.craneledger.ai/organizations/org_1234567890abcdef/billing
Authorization: Bearer cl_test_your_test_key_here
Response:
{
"organization_id": "org_1234567890abcdef",
"credits_remaining": 500,
"credits_total": 500,
"auto_recharge_enabled": false,
"billing_email": "owner@mybusiness.com"
}
Purchase Credit Package
For production use, purchase a credit package:
POST https://api.craneledger.ai/api/billing/purchase-package
Authorization: Bearer cl_live_your_live_key_here
Content-Type: application/json
{
"package": "builder",
"organization_id": "org_1234567890abcdef"
}
This returns a Stripe checkout URL. Complete the payment to add 5,000 credits ($50.00).
Enable Auto-Recharge (Recommended)
Prevent service interruptions:
PUT https://api.craneledger.ai/organizations/org_1234567890abcdef/billing
Authorization: Bearer cl_live_your_live_key_here
Content-Type: application/json
{
"auto_recharge_enabled": true
}
Auto-recharge behavior:
- Triggers when credits drop below $4.00 (400 credits)
- Adds credits to reach $20.00 balance (2,000 credits)
- Sends email notification
- No service interruption
Step 3: Create API Keys
Generate Your API Key
Create an API key for programmatic access:
POST https://api.craneledger.ai/organizations/org_1234567890abcdef/api-keys
Authorization: Bearer cl_live_your_live_key_here
Content-Type: application/json
{
"name": "Production Application",
"permissions": ["read", "write"]
}
Response:
{
"id": "key_1234567890abcdef",
"organization_id": "org_1234567890abcdef",
"name": "Production Application",
"key_prefix": "cl_live_1a2b3c",
"permissions": ["read", "write"],
"created_at": "2024-01-15T10:35:00Z"
}
⚠️ Important: The full API key is only shown once! Save it securely.
Test Your API Key
Verify your key works:
GET https://api.craneledger.ai/organizations/org_1234567890abcdef
Authorization: Bearer cl_live_1a2b3c4d5e6f...
Expected Response:
{
"id": "org_1234567890abcdef",
"name": "My Business LLC",
"base_currency": {
"code": "USD",
"name": "US Dollar",
"symbol": "$",
"decimal_places": 2
}
}
Step 4: Set Up Chart of Accounts
Create Essential Accounts
Set up your basic chart of accounts:
# Cash Account
POST https://api.craneledger.ai/organizations/org_1234567890abcdef/accounts
Authorization: Bearer cl_live_1a2b3c4d5e6f...
Content-Type: application/json
{
"code": "1001",
"name": "Operating Cash",
"type": "asset",
"description": "Primary checking account"
}
# Accounts Receivable
POST https://api.craneledger.ai/organizations/org_1234567890abcdef/accounts
Authorization: Bearer cl_live_1a2b3c4d5e6f...
Content-Type: application/json
{
"code": "1101",
"name": "Accounts Receivable",
"type": "asset",
"description": "Money owed by customers"
}
# Sales Revenue
POST https://api.craneledger.ai/organizations/org_1234567890abcdef/accounts
Authorization: Bearer cl_live_1a2b3c4d5e6f...
Content-Type: application/json
{
"code": "4001",
"name": "Sales Revenue",
"type": "revenue",
"description": "Income from product sales"
}
Verify Account Creation
List your accounts:
GET https://api.craneledger.ai/organizations/org_1234567890abcdef/accounts
Authorization: Bearer cl_live_1a2b3c4d5e6f...
Response:
[
{
"id": "act_1234567890abcdef",
"code": "1001",
"name": "Operating Cash",
"type": "asset",
"balance": {
"debit": 0.00,
"credit": 0.00,
"net": 0.00
}
},
{
"id": "act_2345678901bcdef0",
"code": "1101",
"name": "Accounts Receivable",
"type": "asset",
"balance": {
"debit": 0.00,
"credit": 0.00,
"net": 0.00
}
},
{
"id": "act_3456789012cdef01",
"code": "4001",
"name": "Sales Revenue",
"type": "revenue",
"balance": {
"debit": 0.00,
"credit": 0.00,
"net": 0.00
}
}
]
Step 5: Record Your First Transaction
Cash Opening Balance
Record your starting cash balance:
POST https://api.craneledger.ai/organizations/org_1234567890abcdef/transactions
Authorization: Bearer cl_live_1a2b3c4d5e6f...
Content-Type: application/json
{
"description": "Opening cash balance",
"transaction_date": "2024-01-15",
"entries": [
{
"account_id": "act_1234567890abcdef",
"entry_type": "debit",
"amount": 10000.00
},
{
"account_id": "act_3456789012cdef01",
"entry_type": "credit",
"amount": 10000.00
}
]
}
Understanding this transaction:
- Debit Cash: Increases your cash balance (+$10,000)
- Credit Sales Revenue: Records the source of funds (+$10,000 revenue)
- Result: Balanced transaction (debits = credits)
Verify Transaction
Check that your transaction was recorded:
GET https://api.craneledger.ai/organizations/org_1234567890abcdef/transactions
Authorization: Bearer cl_live_1a2b3c4d5e6f...
Response:
[
{
"id": "txn_1234567890abcdef",
"description": "Opening cash balance",
"status": "posted",
"amount": 10000.00,
"total_debits": 10000.00,
"total_credits": 10000.00,
"entries": [
{
"account_id": "act_1234567890abcdef",
"entry_type": "debit",
"amount": 10000.00
},
{
"account_id": "act_3456789012cdef01",
"entry_type": "credit",
"amount": 10000.00
}
]
}
]
Check Account Balances
Verify balances updated:
GET https://api.craneledger.ai/organizations/org_1234567890abcdef/accounts
Authorization: Bearer cl_live_1a2b3c4d5e6f...
Response:
[
{
"id": "act_1234567890abcdef",
"code": "1001",
"name": "Operating Cash",
"type": "asset",
"balance": {
"debit": 10000.00,
"credit": 0.00,
"net": 10000.00
}
},
{
"id": "act_2345678901bcdef0",
"code": "1101",
"name": "Accounts Receivable",
"type": "asset",
"balance": {
"debit": 0.00,
"credit": 0.00,
"net": 0.00
}
},
{
"id": "act_3456789012cdef01",
"code": "4001",
"name": "Sales Revenue",
"type": "revenue",
"balance": {
"debit": 0.00,
"credit": 10000.00,
"net": 10000.00
}
}
]
Step 6: Generate Your First Report
Trial Balance
Check your accounting equation:
GET https://api.craneledger.ai/organizations/org_1234567890abcdef/reports/trial-balance
Authorization: Bearer cl_live_1a2b3c4d5e6f...
Response:
{
"generated_at": "2024-01-15T10:45:00Z",
"accounts": [
{
"account_code": "1001",
"account_name": "Operating Cash",
"debit_balance": 10000.00,
"credit_balance": 0.00,
"net_balance": 10000.00
},
{
"account_code": "4001",
"account_name": "Sales Revenue",
"debit_balance": 0.00,
"credit_balance": 10000.00,
"net_balance": -10000.00
}
],
"total_debits": 10000.00,
"total_credits": 10000.00,
"in_balance": true
}
Perfect! Your trial balance is in balance (debits = credits).
Step 7: Next Steps
Continue Building
Now that you have the basics set up:
- Add More Accounts: Create expense accounts, liability accounts, etc.
- Record Transactions: Log sales, expenses, payments
- Create Customers: Set up customer records for invoicing
- Generate Invoices: Bill your customers
- Bank Reconciliation: Match bank statements to transactions
Useful Resources
- API Reference: Complete endpoint documentation
- Core Concepts: Learn double-entry bookkeeping principles
- Guides: Integration patterns and best practices
- SDKs: Official client libraries for your language
Troubleshooting
Common Issues
"Authentication failed"
- Check your API key is correct and has proper permissions
- Ensure you're using the right key type (live vs test)
"Transaction does not balance"
- Verify debits equal credits
- Check account types are correct
- Ensure amounts are positive numbers
"Organization not found"
- Verify the organization ID in your API calls
- Check that you're using the correct organization
"Insufficient credits"
- Check your credit balance
- Purchase more credits or enable auto-recharge
- Use test keys for development
Congratulations! You've successfully set up Crane Ledger and recorded your first transaction. Your accounting system is now ready for business operations. 🚀
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