Core Module
The Core module is the foundational layer of Moon ERP. It provides the shared entities, services, and infrastructure that every other module depends on. All authentication, company configuration, master data management, and cross-cutting concerns live here.
Purpose
- Manage the company profile and its branches
- Handle user accounts, roles, and permissions
- Maintain business partners (customers and suppliers) with contacts, addresses, and debt tracking
- Organize products and services with categories, measurement units, and variants
- Provide auto-numbering sequences for documents across all modules
- Offer a key-value settings store for application configuration
- Supply a polymorphic attachment system for file uploads
- Deliver in-app notifications for system events
Sub-Features
| Feature | Description | Link |
|---|---|---|
| Companies | Company profile and configuration | companies |
| Branches | Multi-branch location management | branches |
| Users | User accounts and role assignment | users |
| Roles & Permissions | Role-based access control | roles-permissions |
| Settings | Key-value configuration store | settings |
| Sequences | Auto-numbering for documents | sequences |
| Categories | Product and partner categories | categories |
| Units | Unit groups and units of measure | units |
| Products | Product/service catalog with variants | products |
| Business Partners | Customers, suppliers, contacts, addresses | business-partners |
| Attachments | Polymorphic file attachment system | attachments |
| Notifications | In-app notification system | notifications |
Entity Relationship Overview
API Base Path
All Core module endpoints are prefixed with:
/api/core/Authentication is required via a Sanctum bearer token on every request. See Authentication for details.
Localization
Every request can include an Accept-Language header set to ar or en to control which language is returned in name fields. When set to ar, the API returns the Arabic value; otherwise it falls back to English.
Accept-Language: ar