Overview & Core Concepts
Cien ERP is a multi‑tenant Laravel application. Each company (tenant) has isolated data,
with role‑based access control layered on top of modules such as IT Support, Document Workflow,
Accounting, CRM, and more.
Laravel + MySQL backend with AdminLTE / Tailwind UI. Tenants are linked to users;
every request inside the app passes through tenant and
tenant.access middleware.
Fine‑grained permissions per module (e.g. it-support.tickets.view,
documents.verify, documents.approve) plus tenant and system admins.
IT Support, Document Workflow System, Accounting, POS, Inventory, CRM, HR, Call Center,
Marketing automation, and more.
- Start from the landing page, register a tenant, and log in to the dashboard.
- Assign roles and permissions via Settings → Roles & Permissions.
- Enable required integrations under Settings → Integration Keys.
Authentication & Tenancy
Access to backend modules is guarded by Laravel auth, email verification, and tenant middleware.
Public routes (like this documentation and careers) do not require authentication.
- User logs in via
/login with verified email.
- System checks
is_banned and is_approved flags.
- On success, user is redirected to Dashboard.
- Each user is attached to a
tenant_id (except some system admins).
- Core models (Documents, Tickets, Incidents, etc.) are scoped by
tenant_id.
- System admins can operate across tenants where required.
Middleware: auth, verified.nonadmins, tenant, tenant.access
IT Support Module
The IT Support area centralizes Tickets, Incidents, Service Requests, Assets, Problems,
Change Requests, and a Knowledge Base. All routes are under the /it-support prefix.
- Navigate to IT Support → Tickets to raise or manage support cases.
- Use Incidents for unplanned outages and Service Requests for standard changes.
- Link Tickets to Assets, Problems, and Change Requests for full traceability.
- Maintain people records from IT Support → Requesters / Technicians.
- Assign tickets or incidents to technicians based on skills or queues.
- Use Problems & Change Requests for root cause and planned remediation.
- Document fixes and SOPs in Knowledge Base articles.
- Relate KB articles to Problems and Incidents for faster resolution.
- Share articles internally per tenant.
Document Workflow System
The Document Workflow module manages document upload, verification, approval,
and archival with full version history and access control.
- Upload – Staff A uploads a document (initial status
DRAFT).
- Verification – Staff B moves it to the verification queue and either verifies or rejects.
- Approval – Staff C approves (status
ARCHIVED, locked) or rejects.
- Archive – Approved documents exit active queues and become read‑only.
- All actions (upload, update, status change, share) write entries to Document History.
- Each history record tracks version, actor, timestamps, and field‑level changes.
- Inline comments are stored with workflow decisions (verification / approval).
- Use Documents → Verification Queue to see items in review.
- Use Documents → Approval Queue for Staff C approval workload.
- Filter by name/description and workflow status; preview image/PDF files inline with zoom controls.
Locked when archived
View without download
Full history & comments
Accounting, POS & Inventory
Cien ERP ships with integrated finance, POS, and stock management. These modules are tenant‑scoped
and permission‑driven, and can be combined with logistics and CRM modules.
- Use Accounting → Transactions / General Ledger for double‑entry posting.
- Manage AR/AP via Accounts Receivable / Accounts Payable.
- Generate Profit & Loss, Balance Sheet, and Cash Flow under Financial Statements.
- Sales are captured in the POS module with options for card payments (e.g. Paystack).
- Supports held sales, returns, and receipt printing.
- Integrates with inventory and accounting for automatic stock and ledger updates.
- Manage products, items, stock movements, and adjustments from the Inventory module.
- Use alerts and physical stock takes to keep quantities accurate.
Notifications & Webhooks
The platform can send in‑app notifications and trigger external webhooks for events such as
shipments, marketing workflows, and call center events.
- Users receive notifications via the bell icon in the top navigation.
- Unread counts auto‑refresh; details are shown in a dropdown and in the notifications page.
- Inbound webhooks (e.g. call‑center providers) hit public endpoints under
/call-center/webhooks.
- Outbound marketing/webhooks are configured in Marketing → Webhooks.
Integration Keys & External Services
Instead of editing .env directly, system administrators can manage integration keys
in the UI using Settings → Integration Keys. Keys are stored in the database and
support separate test and live configurations.
- Log in as a system admin and go to Settings → Integration Keys.
- Select a provider (Paystack, SendGrid, EasyPost, Shippo, etc.).
- Paste your Test and Live keys in the corresponding panels.
- Toggle Active for the environments you want to use.
- The application maps Laravel
APP_ENV to the correct test/live configuration.
- Non‑production environments use test keys; production uses live keys.
Stored in DB
System admin only
Support & Troubleshooting
When something does not behave as expected, use these steps to quickly identify and resolve issues.
- Confirm the user has the correct role and permission for the module.
- Verify the tenant is active and not past due on subscription.
- Check any relevant integration keys are present and active.
- Permissions issues → Settings → Roles & Permissions.
- Payment/integration issues → Settings → Integration Keys or Billing.
- IT Support behaviour → relevant IT Support sub‑module (Tickets, Incidents, Problems, etc.).