ADR-002: ERPNext Boundary
Status: Accepted Date: May 2026
Context
BayanCore extends ERPNext v15+ but must maintain a clear boundary to allow for upgrades and avoid fork maintenance burden.
Decision
ERPNext serves as the kernel for core business logic. BayanCore layers provide:
- Custom UI/UX (Experience Layer)
- AI assistants (Intelligence Layer)
- Compliance validation (Compliance Layer)
- Integration adapters
Rules:
- Do not modify ERPNext core code
- Use hooks and custom apps for extensions
- Maintain upgrade path for ERPNext patches
Consequences
- Positive: Clean upgrade path, reduced maintenance burden
- Trade-offs: Some features require workarounds
- Risks: ERPNext breaking changes may require adaptation
Alternatives Considered
- Full Fork: Maximum control but high maintenance cost
- Build from Scratch: Complete freedom but re-implements proven functionality