Skip to main content

Acctz Ledger

Acctz is a multi-module Spring Boot project designed to create a general ledger and book of record for accounting applications.

Table of Contents


Overview

↑ Back to top

This project implements a modular-first backend architecture for financial data management, featuring:

  • Double-entry bookkeeping with append-only ledger entries
  • Bank feed integration for transaction imports
  • Reconciliation workflows with period locking
  • Financial reporting (P&L, Balance Sheet, Trial Balance)
  • Full audit trail for compliance and traceability

Project Structure

↑ Back to top

acctz/
├── ledger/ # Core ledger module (Spring Boot)
├── docs-site/ # Documentation (Docusaurus)
├── docker/ # Docker configuration
└── opt/ # Development scripts

Modules

↑ Back to top

Ledger Module

The ledger module is the core accounting engine, providing:

  • Chart of Accounts management
  • Journal entry creation and posting
  • Transaction normalization and categorization
  • Bank reconciliation
  • Period management and closing

Architecture Principles

↑ Back to top

  • Modular-first, service-ready boundaries
  • Single transactional system of record
  • Append-only financial data (corrections are new entries)
  • Strong tenant isolation
  • Explicit auditability

Getting Started

↑ Back to top

Prerequisites

  • Java 17+
  • Docker & Docker Compose
  • PostgreSQL (via Docker)

Quick Start

# Start infrastructure (PostgreSQL, pgAdmin)
source opt/docs-manager.sh
acctz start-infra

# Run the application locally
./gradlew :ledger:bootRun

# Or run in Docker
acctz build
acctz start-app

Access Points

ServiceURL
Ledger APIhttp://localhost:8080
Health Checkhttp://localhost:8080/actuator/health
pgAdminhttp://localhost:5050

Documentation

↑ Back to top