Source vs Ledger

Digits has an "isolated bankfeed" architecture - Sources are merged to become the Ledger.

Overview

The Digits architecture separates raw financial data streams from the final merged Ledger by utilizing layers:

  • Sources: Raw financial data from external systems, maintained with original identifiers and relationships
  • Ledger: The unified accounting view created by merging and processing all Sources

This separation enables safe, scalable integrations while maintaining data integrity and supporting complex financial operations.

How It Works

Sources

Sources contain raw financial data as received from external systems. Each Source maintains:

  • Original external identifiers for all records
  • Idempotent operations based on external IDs (see identifiers)
  • Independent data storage separate from other Sources

Ledger

The Ledger is constructed by processing all Sources:

  • Classification: Applying categories, parties, departments, locations, and projects
  • Matching: Identifying the same economic events across multiple Sources
  • View Creation: Generating an immutable, unified accounting perspective

Processing Pipeline

There is a processing delay between Source writes and Ledger updates. This time enables:

  • Automated classification through ML models and algorithms
  • Cross-source matching and deduplication
  • Data validation and enrichment

Integration Patterns

📘

Digits is architected with Source-based integrations in mind

Source integrations are a different approach than classic ledger integrations!

In Digits, integrations receive isolated data storage. The Ledger manages merging data together, automatically matching transactions from multiple sources.

Instead of posting journal entries directly to the ledger, or to a manually-managed bank feed, Digits integration authors sync data into a source dedicated to their app, and Digits handles the rest.

Source Sync

Most integrations use the source:sync scope to:

  • Write data to their dedicated Source using original identifiers
  • Rely on Digits' processing pipeline to handle Ledger integration
  • Benefit from automatic matching and classification

Ledger Editing

The ledger:edit scope allows direct Ledger modifications but is reserved for:

  • Cross-source accounting workflows
  • Specialized financial operations

Key Concepts

  • External Identifiers: How original system IDs are preserved and used
  • Sources: Account structures within individual Sources
  • Matching: Cross-source event identification and deduplication

This architecture ensures that integrations can safely sync their data while Digits handles the complex task of creating a unified, accurate accounting ledger.