KB-212 — Accounting Engine Architecture¶
BLACK ERP Engineering Knowledge Base
Reference Manual
Version: 1.0
Status: Released
Applies To: ADempiere 3.9.4
Overview¶
KB-212 documents the internal architecture of the ADempiere Accounting Engine as studied during the BLACK ERP implementation project.
Unlike traditional functional documentation, this Knowledge Base was produced through:
- Source Code Inspection
- Runtime Analysis
- Database Analysis
- Deployment Validation
- Engineering Experience
Its purpose is to provide developers with a comprehensive understanding of how accounting transactions are processed inside the ADempiere Core.
Objectives¶
After reading this Knowledge Base, a developer should understand:
- How accounting documents are processed.
- How accounting entries are generated.
- How accounts are resolved.
- How persistence works.
- How transactions are managed.
- How the database layer operates.
- How object caching works.
- How cache administration is implemented.
- How to safely extend the Accounting Engine.
Target Audience¶
This document is intended for:
- ERP Developers
- Technical Architects
- Solution Architects
- Technical Consultants
- BLACK ERP Engineering Team
- Advanced ADempiere Developers
Knowledge Base Structure¶
| Chapter | Topic |
|---|---|
| Chapter 01 | Introduction |
| Chapter 02 | Accounting Engine Fundamentals |
| Chapter 03 | Document Processing |
| Chapter 04 | Accounting Documents (Doc) |
| Chapter 05 | Fact Generation |
| Chapter 06 | FactLine Processing |
| Chapter 07 | Account Resolution |
| Chapter 08 | Accounting Metadata |
| Chapter 09 | Persistence Framework |
| Chapter 10 | Transaction Management |
| Chapter 11 | Database Layer |
| Chapter 12 | Persistent Objects (PO) |
| Chapter 13 | Transaction Framework (Trx) |
| Chapter 14 | Database Services (DB) |
| Chapter 15 | CCache Architecture |
| Chapter 16 | CacheMgt Architecture |
| Chapter 17 | Architectural Review & Engineering Reference |
Core Architecture¶
Business Document
↓
Document Engine
↓
Accounting Engine
↓
Doc
↓
Fact
↓
FactLine
↓
MAccount
↓
Persistence Framework
↓
PO
↓
Transaction Manager
↓
Trx
↓
Database Layer
↓
DB
↓
PostgreSQL
↓
Cache Layer
↓
CCache
↓
CacheMgt
This execution flow represents the architectural foundation documented throughout KB-212.
Engineering Methodology¶
The documentation follows the methodology adopted by the BLACK ERP Engineering Team.
Requirement
↓
Architecture Analysis
↓
Source Code Inspection
↓
Development
↓
Compilation
↓
Deployment
↓
Validation
↓
Documentation
↓
Knowledge Base
↓
Git Repository
This methodology ensures that documentation reflects the actual implementation rather than assumptions.
Engineering Principles¶
The following principles guided the preparation of this Knowledge Base.
- Validate architectural assumptions using source code.
- Preserve ADempiere Core whenever possible.
- Prefer extension over modification.
- Keep localization isolated.
- Maintain deployment discipline.
- Document every significant engineering decision.
- Treat documentation as part of the software lifecycle.
Related Knowledge Bases¶
| KB | Description |
|---|---|
| KB-206 | Development Environment |
| KB-207 | Build & Compilation |
| KB-208 | Core Development Lifecycle |
| KB-209 | Deployment Process |
| KB-210 | Packaging & Distribution |
| KB-211 | Troubleshooting & Recovery |
Future documentation:
- KB-300 — BLACK ERP Architecture
- KB-301 — REST API Architecture
- KB-302 — CFDI Engine
- KB-303 — SAT Localization
- KB-304 — BlackNet Integration
- KB-305 — AI Integration Framework
Release Information¶
| Property | Value |
|---|---|
| Knowledge Base | KB-212 |
| Title | Accounting Engine Architecture |
| Version | 1.0 |
| Status | Released |
| Platform | ADempiere 3.9.4 |
| Project | BLACK ERP |
License¶
This document is part of the BLACK ERP Engineering Knowledge Base.
It is intended exclusively for engineering, maintenance, support and development activities related to the BLACK ERP platform.
BLACK ERP Engineering Knowledge Base
Building knowledge to build better software.