Skip to main content

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