Skip to content

Configuration

GeniusHRM provides a comprehensive admin settings panel accessible at /admin/settings. This panel lets you configure everything from branding and email to SMS, currency, and financial year — without touching any code.


Accessing System Settings

Navigate to Admin Panel → Settings in the sidebar, or go directly to /admin/settings. You must be logged in with the Admin role.

The settings panel is organised into the following tabs:

TabPurpose
GeneralApp name, logo, favicon, footer text
Email (SMTP)Outgoing email configuration
SMSSMS gateway setup (Twilio)
FinanceFinancial year, currency, number format
Date & TimeTimezone, date format, week start day
AppearanceTheme colour, login page background

General / Appearance Settings

The General tab controls branding elements visible across the entire application.

FieldDescription
Application NameDisplayed in the browser tab and top navigation
LogoUploaded image shown in the header (SVG or PNG, max 2 MB)
FaviconBrowser tab icon (ICO or PNG, 32×32 px recommended)
Footer TextText displayed in the application footer
Login Page BackgroundImage shown on the authentication screens

Steps to update the logo:

  1. Go to Settings → General
  2. Click Choose File next to the Logo field
  3. Select an SVG or PNG file (recommended size: 200×60 px)
  4. Click Save Settings
  5. Hard-refresh your browser (Ctrl+Shift+R / Cmd+Shift+R)

SMTP Email Setup

GeniusHRM uses Laravel's mail system. Configure SMTP credentials in the Email tab so the system can send password resets, leave notifications, payslips, and other automated emails.

Gmail SMTP

Gmail App Passwords

Gmail requires an App Password if 2-Factor Authentication is enabled. Do not use your Google account password directly.

  1. Go to your Google Account Security
  2. Enable 2-Step Verification if not already enabled
  3. Generate an App Password (select "Mail" and "Other device")
  4. Enter the following in Settings → Email:
FieldValue
Mail Hostsmtp.gmail.com
Mail Port587
Encryptiontls
Mail Usernameyour.email@gmail.com
Mail PasswordYour 16-character App Password
From Addressyour.email@gmail.com
From NameGeniusHRM

Mailgun SMTP

FieldValue
Mail Hostsmtp.mailgun.org
Mail Port587
Encryptiontls
Mail Usernamepostmaster@mg.your-domain.com
Mail PasswordYour Mailgun SMTP password
From Addressnoreply@your-domain.com

Mailtrap (Development / Testing)

Mailtrap is ideal for development — it captures all outgoing emails without actually delivering them.

  1. Create a free account at mailtrap.io
  2. Go to Inboxes → SMTP Settings
  3. Copy the credentials into Settings → Email:
FieldValue
Mail Hostsmtp.mailtrap.io
Mail Port2525
Encryptiontls
Mail UsernameYour Mailtrap username
Mail PasswordYour Mailtrap password

After saving, use the Send Test Email button to verify the connection.


SMS Setup (Twilio)

GeniusHRM integrates with Twilio for SMS notifications (e.g., leave approval alerts, OTPs).

Prerequisites

  1. Create a Twilio account
  2. Purchase a phone number with SMS capability
  3. Note your Account SID, Auth Token, and Phone Number

Configuration Steps

  1. Go to Settings → SMS
  2. Toggle Enable SMS to on
  3. Fill in the Twilio credentials:
FieldValue
SMS ProviderTwilio
Account SIDYour Twilio Account SID (starts with AC)
Auth TokenYour Twilio Auth Token
From NumberYour Twilio phone number (e.g., +15551234567)
  1. Click Save
  2. Enter a test phone number and click Send Test SMS

TIP

SMS credits are consumed from your Twilio balance. Monitor usage in the Twilio dashboard to avoid running out of balance.


Financial Year Configuration

The financial year setting affects payroll runs, leave balance resets, and report date ranges.

  1. Go to Settings → Finance
  2. Set the Financial Year Start Month (e.g., January for a Jan–Dec year, or April for an Apr–Mar year)
  3. Set the Financial Year Start Day (usually 1)
  4. Click Save

WARNING

Changing the financial year after payroll runs have been processed can cause discrepancies in historical reports. Set this before processing any payroll.


Timezone and Date Format

FieldRecommended Values
TimezoneUTC, Asia/Dhaka, America/New_York, etc.
Date FormatY-m-d, d/m/Y, m/d/Y
Time FormatH:i (24-hour) or h:i A (12-hour)
Week Starts OnMonday or Sunday
  1. Go to Settings → Date & Time
  2. Select your timezone from the dropdown
  3. Choose a date format (a preview shows the current date in the selected format)
  4. Save changes

TIP

Use the same timezone in your PHP php.ini (date.timezone) and your server OS to avoid date drift issues.


Currency Settings

FieldDescription
Currency CodeISO 4217 code (e.g., USD, BDT, GBP)
Currency SymbolSymbol displayed in the UI (e.g., $, , £)
Symbol PositionBefore or after the amount
Decimal Separator. (period) or , (comma)
Thousands Separator, (comma) or . (period)
Decimal PlacesUsually 2

These settings affect salary displays, payslips, and all financial reports.


Caching Configuration

After making changes to system settings, clear Laravel's cache to apply them immediately:

bash
php artisan config:clear
php artisan cache:clear

Or use the Clear Cache button available in Settings → General (Admin panel).

Released under the MIT License.