B-ERP System
DjangoPythonSQLiteBootstrap 4jQuerySelect2
Overview
B-ERP is a comprehensive Enterprise Resource Planning system developed in Django, designed primarily for Ukrainian-speaking businesses. The system focuses on warehouse management and sales operations, providing core functionality for inventory tracking, product management, and order processing for small to medium-sized enterprises.
Objectives
- ▸ Provide comprehensive warehouse management with multi-warehouse support
- ▸ Enable efficient product catalog management with multiple product types
- ▸ Streamline order processing with workflow stages
- ▸ Integrate with Nova Poshta API for delivery management
- ▸ Track inventory through consignment registers
Architecture
Django MVT architecture with modular app structure: warehouse/, sales/, bp/ modules. Database follows consistent naming conventions with ct_ (catalog), reg_ (register), and doc_ (document) prefixes. Uses inline formsets for complex data entry and AJAX for real-time updates.
Key Features
- ▸ Product catalog with 5 types: Goods, Services, Materials, Fixed Assets, Packaging
- ▸ Multi-warehouse stock management with tracking
- ▸ Client management for legal entities and individuals
- ▸ Order processing with status workflow (Created, Zone 1-3, Completed)
- ▸ Nova Poshta API integration for delivery tracking
- ▸ Goods receipt documentation
- ▸ Receivables and cash order management
- ▸ Real-time stock updates via AJAX
Challenges
- ▸ Implementing consistent database naming conventions across modules
- ▸ Managing complex inline formsets for product packs and order items
- ▸ Integrating external Nova Poshta API for warehouse data
- ▸ Ensuring data consistency with @transaction.atomic for multi-table operations
Outcomes
- ▸ Built functional ERP foundation for SME operations
- ▸ Implemented warehouse and sales modules with 15+ Django models
- ▸ Established patterns for catalog, register, and document data separation