Enterprise-Grade Ledger

Built for modern financial infrastructure

A standalone, double-entry general ledger engine supporting ISO standards, hash-chain integrity, config-driven posting rules, and full audit trail.

Core Engine

Double-Entry Accounting

Formula-based posting rules that automatically enforce balanced entries. Define movement definitions once and let the engine handle the rest.

  • Config-driven posting rules — zero code changes for new transaction types
  • Recursive descent formula parser — safe evaluation without eval()
  • Automatic balance enforcement: total debits always equal total credits
  • Template variables resolved at posting time (e.g. {{entity_account}})
  • Decimal(38,18) precision for all monetary amounts
{
  "name": "Payment Received",
  "eventType": "payment.received",
  "lines": [
    {
      "accountCode": "1100",
      "direction": "DEBIT",
      "formula": "{{amount}}"
    },
    {
      "accountCode": "4100",
      "direction": "CREDIT",
      "formula": "{{amount}}"
    }
  ]
}
Currency

Multi-Currency Support

Unified currency registry supporting fiat, cryptocurrencies, stablecoins, and commodities. Built on ISO 4217 and ISO 24165-1:2025 standards.

  • ISO 4217 fiat currencies (USD, EUR, GBP, etc.)
  • ISO 24165-1:2025 digital token identifiers (BTC, ETH, etc.)
  • Stablecoin and commodity support out of the box
  • FX rate snapshots with historical conversion
  • Configurable decimal precision per currency

Fiat (ISO 4217)

USD, EUR, GBP, JPY

Crypto (ISO 24165)

BTC, ETH, SOL

Stablecoins

USDT, USDC, DAI

Commodities

XAU, XAG

Precision

Decimal(38,18)

FX Snapshots

Historical rates

Accounts

Chart of Accounts

Hierarchical chart of accounts with IFRS/GAAP classification metadata. Five standard account types with unlimited depth.

  • ASSET, LIABILITY, EQUITY, REVENUE, EXPENSE account types
  • IFRS and GAAP classification metadata on every account
  • Hierarchical parent-child relationships with unlimited depth
  • Active/inactive status management
  • Bulk import and template support
Account Types
├── ASSET
│   ├── 1000  Cash & Equivalents
│   ├── 1100  Accounts Receivable
│   └── 1200  Digital Assets
├── LIABILITY
│   ├── 2000  Accounts Payable
│   └── 2100  Accrued Expenses
├── EQUITY
│   └── 3000  Retained Earnings
├── REVENUE
│   ├── 4000  Service Revenue
│   └── 4100  Transaction Fees
└── EXPENSE
    ├── 5000  Operating Expenses
    └── 5100  Cost of Revenue
Reporting

Financial Reports

Real-time financial reporting with trial balance, profit & loss, and balance sheet generation. Export to CSV, PDF, and Excel.

  • Trial balance with period filtering
  • Profit & Loss statement with comparative periods
  • Balance sheet with IFRS/GAAP grouping
  • Scheduled report generation with email delivery
  • Export in CSV, PDF, and XLSX formats

Trial Balance

Real-time DR/CR totals

Profit & Loss

Period comparison

Balance Sheet

IFRS/GAAP grouped

Scheduling

Cron-based delivery

Export Formats

CSV, PDF, XLSX

Templates

Custom report configs

Events

Event-Driven Architecture

Webhooks, event streaming, and a dead letter queue for reliable event delivery. Never miss a financial event.

  • Webhook endpoints with configurable event type filters
  • Automatic retry with exponential backoff
  • Dead letter queue for failed deliveries
  • Event streaming for real-time consumers
  • HMAC signature verification on all deliveries
POST /api/v2/webhooks
{
  "url": "https://app.example.com/hooks/gl",
  "eventTypes": [
    "event.posted",
    "event.reversed",
    "balance.threshold"
  ]
}

// Delivery payload
{
  "id": "wh_abc123",
  "type": "event.posted",
  "timestamp": "2026-03-28T12:00:00Z",
  "data": {
    "eventId": "evt_xyz",
    "eventKey": "payment-001",
    "status": "POSTED"
  }
}
API

RESTful API

Comprehensive REST API with OpenAPI specification, auto-generated SDKs, and an interactive playground. Build integrations in minutes.

  • Full OpenAPI 3.0 specification with Swagger UI
  • Idempotent event ingestion — safe retries guaranteed
  • JWT and API key authentication
  • Rate limiting with configurable per-key limits
  • SDKs for TypeScript, Python, and Go
// TypeScript SDK example
import { GlClient } from '@glsystem/sdk';

const gl = new GlClient({
  apiKey: 'glk_live_...',
  baseUrl: 'https://api.glsystem.io',
});

// Post an event (idempotent)
const event = await gl.events.create({
  eventKey: 'payment-001',
  eventType: 'payment.received',
  currencyCode: 'USD',
  payload: {
    amount: '1500.00',
    entity_account: '1100',
  },
});

console.log(event.status); // "POSTED"
Security

Audit Trail & Integrity

SHA-256 hash chain provides blockchain-equivalent immutability for your accounting records. Every entry is tamper-evident.

  • SHA-256 hash chain linking every ledger entry
  • Immutable event log — no edits, only corrections via reversals
  • Full rebuild capability: truncate and replay from events
  • Queryable audit trail with user, IP, and change tracking
  • Genesis hash verification for chain integrity
Hash Chain Verification

Entry #1 (Genesis)
  hash: sha256("0000...0000" + data₁)
  → a1b2c3d4e5f6...

Entry #2
  hash: sha256("a1b2c3d4e5f6..." + data₂)
  → f7e8d9c0b1a2...

Entry #3
  hash: sha256("f7e8d9c0b1a2..." + data₃)
  → 3c4d5e6f7a8b...

✓ Chain intact — all hashes verified
✓ Tamper-evident — any change
  breaks the chain downstream
Platform

Multi-Tenant SaaS

Enterprise-grade multi-tenancy with schema isolation, usage metering, and integrated billing. Scale from one tenant to thousands.

  • Schema-level tenant isolation in PostgreSQL
  • Usage metering with per-event counting
  • Stripe-integrated billing with plan management
  • Per-tenant API keys with independent rate limits
  • Admin dashboard for tenant provisioning and monitoring

Isolation

Schema per tenant

Metering

Per-event usage

Billing

Stripe integration

API Keys

Scoped per tenant

Rate Limits

Per-key RPM

Admin

Full dashboard

Ready to get started?

Create your free account and start posting entries in minutes. No credit card required.