How idempiere/idempiere works
iDempiere is a modular ERP, CRM, and supply-chain platform. Its user-facing workflow is to enter or import business data, validate it through model callouts, run business processes, and manage document actions; results can include operational records and formatted reports. The tree also shows inventory reservation and storage maintenance, database partition support, and extension management. Sampled excerpts confirm several SQL, document-event, report-layout, and storage-migration operations; unsampled subsystem links are kept broad rather than inferred as call chains.
Main entry points: process Business processes · RecreateStorageReservation.java Reservation repair · MigrateStorageProvider.java Storage migration · ReportEngine.java Report generation
Components 20
Business operations
- Model callouts
org.adempiere.base.callout/src/org/compiere/model - Business processes
org.adempiere.base.process/src/org/compiere/process - Data import
org.adempiere.base.process/src/org/compiere/process
ERP platform
- Document actions
org.adempiere.base/src/org/compiere/process/DocumentEngine.java - Event dispatch
org.adempiere.base/src/org/adempiere/base/AnnotationBasedEventManager.java - Service factories
org.adempiere.base/src/org/adempiere/base - Business records
- Database partitioning
org.compiere.db.postgresql.provider/src/org/adempiere/db/postgresql/partition/TablePartitionService.java
Inventory and storage
- On-hand stock
org.adempiere.base/src/org/compiere/model/MStorageOnHand.java - Reservation repair
org.adempiere.base/src/org/adempiere/process/RecreateStorageReservation.java - Storage cleanup
org.adempiere.base.process/src/org/compiere/process/StorageCleanup.java - Storage migration
org.adempiere.base.process/src/org/idempiere/process/MigrateStorageProvider.java - Storage providers
- Reservation records
Reporting and extensions
- Report generation
org.adempiere.base/src/org/compiere/print/ReportEngine.java - Report layout
org.adempiere.base/src/org/compiere/print/layout/LayoutEngine.java - Extension management
org.idempiere.extension.manager/src/org/idempiere/extension/manager/form/ExtensionBrowserService.java
Other components
- Business user
- ERP database
- Print destination
Connections 19
- Business user → Model callouts: edits fields
- Business user → Business processes: runs processes
- Business user → Data import: starts imports
- Business processes → Document actions: manages actions
- Document actions → Event dispatch: dispatches events
- Business processes → Business records: updates records
- Data import → Business records: loads records
- Reservation repair → ERP database: reads and rebuilds
- Reservation repair → Reservation records: recreates rows
- Storage cleanup → ERP database: cleans and moves
- On-hand stock → ERP database: queries and saves
- Storage migration → Storage providers: selects providers
- Storage migration → ERP database: updates metadata
- Report generation → Report layout: builds layout
- Report generation → Print destination: submits print job
- Report layout → ERP database: reads print data
- Database partitioning → ERP database: creates partitions
- Extension management → ERP database: checks and saves
- Extension management → Service factories: manages bundles