ErpLite · Foundation · Every edition
Set up the foundation — people, access, structure and the system itself
ERPlite Core is the one module every edition ships with and nobody can switch off. It holds the people who use the system and exactly what each of them may see, the branch structure every other module scopes its data against, the geography reference data, the media library, the notification engine and the whole system-administration surface. This manual walks the set-up in the order you actually do it, names the exact screen for every step, and separates what you decide from what the system handles for you. Do this once, properly, and every module you add afterwards inherits it.
Company identity
The name, logo and colours that appear on every screen, every PDF and every email you send.
Enter your company detailsبيانات الشركة
AdministratorSettings › Company Info/admin/settings/company-info
1) Enter the legal name in Arabic and English — both are used, so fill both.
2) Add the commercial registration and tax number: these print on invoices and are what the e-invoicing addon submits.
3) Set the head-office address, phone and email.
Uses these on every printed document, the email footer and the login screen — you never enter them a second time.

Upload your logo and pick your colourالهوية البصرية
AdministratorSettings › Branding, then Settings › Color System/admin/settings/branding
1) Upload the logo for the sidebar, the login screen and printed documents.
2) On Color System, set your primary colour once.
Derives the full light and dark palette from that one colour and applies it across every screen, badge and chart. Nothing is hard-coded, so changing it later re-themes the whole system.

Do this before you invite anyone
The first email a new user receives carries your logo, your colour and your company name. Setting branding after you have sent invitations means the first impression went out unbranded.
Geography & branches
Branches are not decoration — they are the structure every other module filters its data by.
Check the geography listsالدول والمحافظات والمدن
AdministratorCountries · States · Cities/admin/countries
Countries ship pre-loaded. Add the states and cities you actually operate in — every address field in the system (customers, vendors, branches, employees) picks from these lists, so an unlisted city cannot be selected later.
Each list has Import and Export. Download the template, fill it in a spreadsheet and upload — far quicker than typing dozens of cities one at a time.

Create your branchesالفروع
AdministratorBranches › New branch/admin/branches/create
1) Create one branch per real location — a shop, a warehouse site, a regional office.
2) Give each a name in both languages and an address.
3) If you will use attendance, drop the map pin and set the allowed radius: staff can then only check in from inside it.
Adds the branch to the switcher in the header and to every branch picker across the system. Records created from then on are stamped with the active branch.

Get the branch list right early
Every transaction, stock balance and permission scope hangs off a branch. Adding a branch later is easy; splitting a year of history across two branches after the fact is not.
Build roles before you create users
A user is only ever as useful as the role attached to them — so decide the roles first.
Why this order matters
Permissions live on roles, never on people. Creating twenty users first and then working out access means editing twenty records; creating four roles first means every new hire is one dropdown. It is also the difference between "the accountant left, who had her permissions?" and "she had the Accountant role" — the answer stays true after she goes.
Roles & the permission matrix
What a role may open, read, create, edit and delete — group by group.
Start from the roles that ship with the systemالأدوار
AdministratorRoles/admin/roles
Ships a set of ready roles covering the common jobs, so most installs never author a role from scratch. Super Admin bypasses every check by design and cannot be limited — keep it to the one or two people who genuinely need it.
Review them against how your organisation actually works, then duplicate and adjust rather than starting empty.

Tick the permission matrixالصلاحيات
AdministratorRoles › New role/admin/roles/create
1) Name the role in both languages.
2) Expand a module group and tick what the role may do. Each group splits into Operations (daily work) and Settings (configuration), so you can grant the work without granting the configuration.
3) Use "select all" on a group when a role genuinely owns that whole area, and the counter beside each group to check you granted what you meant to.
Shows only the groups belonging to modules this installation actually has. Install a module later and its group appears in the matrix on its own.

The four groups ERPlite Core itself contributes
| Group | Operations — daily work | Settings — configuration |
|---|---|---|
| Users & Authentication | Users, active sessions | Roles, allowed resources |
| Branches | — | Branches |
| System & Settings | Notifications, comments, activity log, sign-in history, AI runs | Settings, dashboards, backups, countries/states/cities, AI settings |
| Content & Media | Media library, announcements | — |
A permission is not a scope
Ticking "customers — read" says this role may open the customers screen. It does not say which customers. That second question is answered in section E, and forgetting it is the most common set-up mistake: a branch manager with the right permissions but no scope sees every branch.
Users & invitations
Now that roles exist, adding a person is one screen.
Create the userالمستخدمون
AdministratorUsers › New user/admin/users/create
1) Enter their name, email and mobile.
2) Attach the role — this is the whole access decision.
3) Set their branch, and mark the account active.
Emails an invitation so they set their own password — you never type or know a colleague's password. The invitation expires, so a stale one cannot be used months later.

Add many people at onceالاستيراد
OptionalUsers › Import/admin/users
Download the template, fill one row per person, upload. Import history shows exactly which rows succeeded and why any failed.

Deactivate rather than deleteإلغاء التفعيل
AdministratorUsers › open the user/admin/users
When someone leaves, switch the account to inactive. They can no longer sign in, and every document they created keeps their name on it.
Deleting a user who has posted invoices breaks the audit trail — you lose the answer to "who approved this?". Deactivation ends the access and keeps the history.

Who sees which records
Two separate controls, often confused: a data scope narrows by branch, an allowed resource is a hard whitelist.
Set the data scope on the roleنطاق البيانات
AdministratorRoles › open the role/admin/roles
For each area, choose how wide the role can see: only their own records, their branch, or everything. A branch manager is usually "branch"; a group financial controller is "all".
Applies the scope to every list, report and export in that area — including the totals. A scoped user does not see a branch total that includes rows they cannot open.

Restrict specific resources for one personالموارد المسموح بها
OptionalAllowed Resources/admin/allowed-resources
Name the exact branches, warehouses, cash boxes or bank accounts one user may touch. Leave it empty and the role's scope decides; fill it and it wins.
Use it for the exception, not the rule: a cashier trusted with one till, an accountant who may post to one bank account. If you find yourself filling it for everyone, the role is wrong.

How to test it in one minute
Create a throwaway user with the role, sign in as them in a private browser window and open the screens they will use. What they can see is the only proof that matters — a permission matrix that looks right and a list that shows too much are both very common.
Sign-in security
Who is signed in right now, from where, and how to end a session you do not recognise.
Watch the active sessionsالجلسات النشطة
AdministratorActive Sessions/admin/active-sessions
Every signed-in session across the system: who, which device and browser, which IP, and when it was last active.
End any session you do not recognise. The user is signed out immediately, and their "remember me" is invalidated too — so the device cannot silently sign itself back in.

Review the sign-in historyسجل تسجيل الدخول
AdministratorSign-in History/admin/login-activities
Successful and failed attempts alike, with time, IP and device. Repeated failures against one account, or a success from an unexpected country, are the two patterns worth acting on.

Sign out of your own other devicesجلساتي
Any userYour profile › Sessions/admin/users
Anyone can see their own sessions and sign out everywhere else — confirming with their password. Left a laptop signed in at home? Two clicks.
Changing a password also ends every other session automatically — the point of changing it.

Notifications
One place decides what the system tells people, through which channel, and to whom.
Connect a way of sendingالتكاملات
AdministratorSettings › Integrations/admin/settings/integrations
Configure at least email. Add SMS or WhatsApp if you will notify people who do not live in their inbox — field staff, customers, drivers.
Routes every outbound message through the one configured sender, so there is a single place to check when something does not arrive.

Choose what gets sent and to whomإدارة الإشعارات
AdministratorSettings › Notifications › Manage/admin/settings/notifications/manage
For each notification type: switch it on or off, pick the channels, and choose the recipients — named people, whole roles, or whole departments.
Address roles, not people. "Warehouse Manager" survives the person changing; a named recipient means the alerts stop the day they leave.

Edit the wordingقوالب الرسائل
OptionalSettings › Notifications › Manage › Templates/admin/settings/notifications/manage
Rewrite the title and body of any notification in Arabic and English. Useful when the default is technically right but does not sound like your organisation.

Media library
Every file anyone uploads anywhere lands here, and this is where you decide what the public may see.
Browse and manage filesالوسائط
AdministratorMedia/admin/media
Every image, video and document in the system, with what it is attached to. Search, filter by type, and remove what is no longer needed.
Generates web-optimised versions of images and streamable versions of video in the background, so pages stay fast without anyone resizing anything by hand.

Decide where files are storedإعدادات التخزين
AdministratorSettings › Storage/admin/settings/storage
Keep files on the server, or point storage at cloud storage. Set the maximum upload size and which file types are accepted.

Share a file with someone outsideرابط المشاركة
OptionalMedia › open the file/admin/media
Generate a share link. Anyone with the link can view that one file without an account — and you can revoke it later.

Private by default
Uploaded files are not reachable without permission — a document attached to an employee record cannot be opened by guessing its address. Only files you deliberately publish, or share with a link, leave that boundary.
Day-to-day administration
The screens you open when someone asks "who changed this?" or "did everyone see the announcement?".
Trace a changeسجل النشاطات
AdministratorActivity Log/admin/activity-logs
Who created, edited or deleted what, when, and from which address — with the before and after values of each changed field. Filter by person, by record type or by date.
Most records carry their own history tab, so you can answer the question from the record itself rather than searching the global log.

Tell everyone somethingالإعلانات
AdministratorAnnouncements/admin/announcements
Publish an announcement to everyone, to particular roles, or to particular branches — a holiday, a policy change, planned downtime.
Shows it in each recipient's inbox and tracks who has read it, so "nobody told me" has an answer.

Change a word the system usesالترجمات
OptionalSettings › Translations/admin/settings/translations
Search for any label and override it. If your organisation says "client" rather than "customer", or uses a particular Arabic term, change it once and it changes everywhere.
Every override can be reset back to the shipped wording — you are never stuck with an edit.

Take a backupالنسخ الاحتياطية
AdministratorSettings › Backups/admin/settings/backups
Take a backup on demand — always before a major change — and download it. Past backups are listed with their date and size.
A backup you have never downloaded and never restored is a hope, not a backup. Download one and check it opens.

Keeping the system healthy
For the person who looks after the installation itself.
Check the health reportوحدة تحكم النظام
AdministratorSystem Console › Health/admin/system-console/health
One page covering the application, security posture, PHP, extensions, filesystem, database, queue, scheduler, cache and logs — each check green, amber or red with what to do about it.
This area needs developer mode switched on for your own account as well as the permission. A super admin without developer mode is refused — deliberately, because these screens expose the machine, not the business.

Add or update a moduleالوحدات والتحديثات
AdministratorSettings › Modules, Settings › Updates/admin/settings/modules
See what is installed and what your licence entitles you to, enable or disable a module, and apply an available update.
Refuses to remove a module another installed module depends on, and tells you which one — so you cannot break the system by tidying it.

Check scheduled work is runningالمجدول
AdministratorSettings › Scheduler/admin/settings/scheduler
Every recurring job — reminders, digests, imports, cleanups — with its frequency and when it last ran. A task that has never run is the usual reason a nightly email stopped arriving.

A sensible monthly routine
Open the health report, skim the sign-in history for anything odd, confirm the scheduler is running, take and download a backup, and review the active user list against who actually still works here. Twenty minutes, once a month.
What ERPlite Core contains
One module, five former ones — merged so there is a single foundation to learn, licence and support.
Everything the foundation gives you
| Area | What it covers | Where |
|---|---|---|
| People & access | Users, roles, the permission matrix, invitations and one-time passwords | Users · Roles |
| Sign-in security | Active sessions, sign-in history, remote sign-out | Active Sessions · Sign-in History |
| Structure | Branches, branch membership, data scopes, allowed resources | Branches · Allowed Resources |
| Geography | Countries, states and cities behind every address field | Countries · States · Cities |
| Media | Images, video, documents, optimisation and share links | Media |
| Notifications | Email, in-app, SMS and WhatsApp with editable templates | Settings › Notifications |
| Administration | Settings, branding, translations, activity log, announcements, backups | Settings · Activity Log · Announcements |
| The installation itself | Health checks, modules and updates, the scheduler, logs | System Console · Settings › Modules |
Why it is one module
These capabilities used to be five separate modules that always shipped together and could never be chosen apart. Nobody could buy one without the others, so presenting them as five products only made the catalogue harder to read. They are now one foundation, with one name, one licence line and one manual — this one.