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
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
acctz/
├── ledger/ # Core ledger module (Spring Boot)
├── docs-site/ # Documentation (Docusaurus)
├── docker/ # Docker configuration
└── opt/ # Development scripts
Modules
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
- 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
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
| Service | URL |
|---|---|
| Ledger API | http://localhost:8080 |
| Health Check | http://localhost:8080/actuator/health |
| pgAdmin | http://localhost:5050 |
Documentation
- Getting Started - Setup and run the project
- Architecture Plan - Backend architecture and design principles
- Book of Record - Double-entry accounting concepts
- Feature Breakdown - Comprehensive feature list
- Documentation Server - Running the docs site
- Cursor AI Rules - AI coding assistant rules and prompts