FAIMS Web Portal
Fixed Assets & Inventory Management System — User Manual
Introduction
The Facilities, Assets & Inventory Management System (FAIMS) is a web-based asset and inventory management platform developed and maintained by the Information & Communications Technology Services Branch (ICTSB) of the Ministry of National Security and Peace (MNSP), Government of Jamaica.
FAIMS enables Ministries, Departments and Agencies (MDAs) to:
- Record, track and manage all fixed assets from acquisition to disposal
- Manage inventory stock across stores and branches
- Generate official reports and printable QR/barcode asset labels
- Conduct asset audits using the complementary Android Audit Companion app
- Maintain a full lifecycle record of all government assets
System Components
| Component | Platform | Purpose |
|---|---|---|
| FAIMS Web Portal | Web Browser | Full asset, inventory and reporting management |
| FAIMS Audit Companion | Android | Field-based QR/barcode asset auditing |
Table of Contents
User Roles & Permissions
Access within FAIMS is governed by eight roles. Each user is assigned exactly one role by an administrator.
| Role | Description | Key Permissions |
|---|---|---|
| Site Master | System-wide administrator | Full access across all MDAs, user management, all reports, settings |
| Local Admin | MDA-level administrator | Full access within their MDA, approve/reject deactivation requests |
| Data Entry | Asset data entry operator | Add/edit assets, submit deactivation requests, view reports |
| Auditor | Read-only asset auditor | View assets and reports; used with the Audit Companion app |
| MDA Admin | Ministry-level administrator | Manage MDAs, full asset access, approve deactivations |
| Store Admin | Stores administrator | Manage stock, approve requisitions, manage GRNs |
| Requestor | Stock requestor | Submit stock requisition requests |
| Store Clerk | Stores clerk | Process issued requisitions, update stock levels |
Signing In
FAIMS uses your official MNS email address and a system-assigned password for authentication.
-
1Open FAIMS in your browser Navigate to the FAIMS URL provided by your system administrator.
-
2Enter your credentials Type your official email address (e.g. [email protected]) and your password into the respective fields.
-
3Click Sign In If credentials are correct you will be taken to the Dashboard. On first login, you will be redirected to the Change Password screen.
Login Errors
| Error Message | Meaning / Action |
|---|---|
| Login Failed — check email or password | Credentials do not match. Verify caps lock is off and try again. |
| Account does not exist or is locked | Account may be locked after repeated failures. Contact your Local Admin to unlock. |
Forgot / Reset Password
If you have forgotten your password, use the self-service reset feature:
-
1Click Forgot Password? on the login screen.
-
2Enter your registered email address and click Send Reset Link.
-
3Check your email for a temporary password. Use it to log in, then change it immediately via Settings → Change Password.
Dashboard
After login you are taken to the Dashboard, which provides a high-level overview of the asset and inventory position for your MDA.
Dashboard Widgets
- Total Assets — Count of all registered assets in your organisation
- Active Assets — Assets currently in service
- Deactivated Assets — Assets removed from service
- Pending BOS — Assets flagged for Board of Survey review
- Low Stock Alerts (stores roles) — Items below minimum stock level
Navigation Sidebar
All navigation is through the left sidebar. The sections visible depend on your role:
- Fixed Asset — Asset management, BOS, deactivation, reports
- Stores — Inventory, GRN, requisitions, adjustments, reports
- Settings — Password, user management, supplier management
Notification Bell
Administrators (Site Master, Local Admin, MDA Admin) see a notification count on the bell icon in the top right. This count shows the number of pending deactivation requests that require attention. Click to navigate directly to the Deactivation Requests queue.
Asset Search
The Asset Search page (Fixed Asset → Asset Search) allows you to locate any registered asset in your MDA.
Search Filters
| Filter | Description |
|---|---|
| Asset Number | The unique government-assigned asset identifier |
| Serial Number | Manufacturer serial number |
| Category | Asset category (ICT, Furniture, Fleet, etc.) |
| Item Type | Specific item within a category (Laptop, Desk, etc.) |
| Branch | Branch (physical site) the asset is assigned to |
| Location | Room or specific location within the branch |
| Status | Active / Inactive / All |
Search Results Grid
Results are displayed in a paginated grid. Right-click any row for the context menu:
- View Asset — Opens the full asset detail record
- Transfer Asset — Moves the asset to a new location/branch
- Print Label — Generates a QR label for the asset
Adding a New Asset
Only users with the Data Entry, Local Admin, Site Master, or MDA Admin roles can add new assets.
Navigate to Fixed Asset → Add New Asset. The form is organised as a multi-step wizard:
-
1Step 1 — Classification Select the asset category (e.g. ICT) and then the specific item type (e.g. Laptop) and make/model. These values are drawn from the global asset catalogue managed by the Site Master.
-
2Step 2 — Identification Enter the asset number (government code), serial number, previous code (if migrating from a legacy system), and condition (Good / Fair / Poor).
-
3Step 3 — Location Select the branch and building, then pick the specific room/location. The location must be pre-registered under Settings → Location Management.
-
4Step 4 — Acquisition Details Enter the acquisition date, supplier, purchase price, and any relevant notes. The system auto-calculates depreciation based on settings.
-
5Step 5 — Review & Save Review all entered details and click Finish to save the asset. A QR code is auto-generated and linked to the asset record.
Asset Details
The Asset Details page shows the complete record of a single asset including its classification, location history, financial information, audit trail, and attachments.
Tabs
- Details — Core identification and location data
- Financial — Acquisition cost, depreciation schedule, book value
- History — Full transfer/movement history with timestamps
- Attachments — Supporting documents (purchase orders, invoices, photos)
Quick Actions
- Edit — Modify asset data (requires Data Entry role or higher)
- Transfer — Move asset to another location or branch
- Flag for BOS — Submit for Board of Survey review
- Request Deactivation — Initiate the disposal/deactivation workflow
- Print QR Label — Generate a printable label for this asset
Batch Transfer
The Batch Transfer feature allows multiple assets to be moved to a new location in a single operation.
-
1Navigate to Fixed Asset → Batch Transfer.
-
2Search for assets by branch, category, or location. Select the assets to move by ticking their checkboxes.
-
3Select destination — choose the target branch, building, and location.
-
4Confirm transfer. All selected assets are moved and the transfer is recorded in each asset's History tab.
Board of Survey (BOS)
The Board of Survey process is the formal workflow for reviewing assets recommended for disposal, write-off, or reclassification.
BOS Tabs
- Pending — Assets flagged for BOS but not yet formally reviewed
- Confirmed — Assets formally confirmed by the Board (filterable by year)
BOS Workflow
- A Data Entry user flags an asset for BOS from the Asset Details page.
- An administrator reviews the asset in the BOS Pending tab.
- On confirmation, the asset moves to the Confirmed tab and a Form 7C can be generated for official records.
Exporting BOS Records
Both the Pending and Confirmed tabs support Export to Excel and Export to PDF directly from the card header.
The Form 7C is a formal government BOS document generated from confirmed items. Click the Generate Form 7C button in the Confirmed tab.
Deactivation Requests
When an asset is to be permanently removed from service (lost, destroyed, donated, sold), a formal deactivation request is raised.
Raising a Request (Data Entry)
- Open the asset's detail page.
- Click Request Deactivation and provide a reason.
- Submit — the request is sent to the administrator queue.
Processing Requests (Admin)
Navigate to Fixed Asset → Deactivation Requests. The queue shows all pending requests. Administrators can:
- Approve — Asset is marked Inactive and removed from active reports
- Reject — Request is dismissed; asset remains Active
- View Asset — Open the full record before deciding
Fixed Asset Reports
Navigate to Fixed Asset → Reports. Reports are organised into categories in the left panel. Select an MDA, then choose a report.
Report Categories
| Category | Reports |
|---|---|
| 📍 Location & Distribution | Location Report, Distribution Report |
| 🏛 Registry | Branch Asset, Division Asset, Master, Individual, Computer |
| 💰 Financial & Valuation | Branch Value, Division Value, Portfolio |
| 🔄 Lifecycle | BOS, Deactivation, Collection |
| 📦 Acquisition | Supplier Report, Label Report |
| ⚙️ Custom | Report Builder (ad-hoc queries) |
How to Generate a Report
- Select your organisation (MDA) from the dropdown at the top of the catalogue.
- Click the desired report from the left panel.
- Fill in the criteria (date range, branch, location, etc.).
- Click Generate Report.
- The report renders inline. Use the toolbar to Print, Export to PDF, or Export to Excel.
Label Report
The Label Report generates printable QR code asset labels for a selected branch and date range. It is found under Fixed Asset → Reports → Acquisition → Label Report.
Criteria
| Field | Required? | Description |
|---|---|---|
| Branch | Yes | The branch whose assets will have labels generated |
| Start Date | Yes | Acquisition date range start |
| End Date | Yes | Acquisition date range end |
| Location (grid) | Optional | Click a row in the location grid to filter labels to a specific room/location. Leave unselected for all locations in the branch. |
Label Layout
Each label contains two panels side by side:
- Left panel (text): Branch Name, Item & Type, Location Name, Asset Number, Serial Number
- Right panel (QR): QR code image encoding the Asset Number, plus the encoded value displayed as text below the QR for visual confirmation
dbo.LabelReport must be updated to accept @locationId INT = NULL with the additional WHERE clause: AND (@locationId IS NULL OR ad.locationId = @locationId). Contact your DBA to apply this change.
Inventory (Stores)
The Stores module manages consumable inventory across one or more store locations. Navigate via Stores → Inventory.
Inventory Grid
The main inventory view shows all items across your stores. Each item displays:
- Item name and category
- Current balance (quantity on hand)
- Minimum stock level (restock threshold)
- Stock status (In Stock / Low Stock / Out of Stock)
- Expiry date (for perishable items)
Goods Received Notes (GRN)
A GRN records goods received from a supplier into a store. Navigate via Stores → New GRN.
Creating a GRN
- Select the store and supplier.
- Enter the Purchase Order number (if applicable).
- Add line items: select the catalogue item, enter quantity received, batch number, and expiry date.
- Save as DRAFT to review later, or CONFIRM immediately.
GRN Statuses
| Status | Meaning |
|---|---|
| DRAFT | Created but not yet confirmed. Stock has NOT been added. |
| CONFIRMED | Stock has been added to the inventory balance. |
| VOID | GRN was cancelled. Stock was NOT added (or was reversed). |
GRN History
All GRNs are accessible via Stores → GRN History. You can filter by store, date range, or status and view the full line details of any GRN.
Requisition Queue
Staff with the Requestor role can submit stock requests. The Store Admin or Store Clerk processes them.
Submitting a Requisition (Requestor)
- Navigate to Stores → Requisition Queue.
- Click New Request.
- Select items and required quantities.
- Submit. The request appears in the queue for a Store Clerk to process.
Processing a Requisition (Store Clerk / Admin)
- Open Stores → Requisition Queue to see all pending requests.
- Review the request and either approve (issue items) or reject.
- On issue, the system deducts the quantity from the store balance and checks for low stock, sending an alert if triggered.
Stock Adjustments
Stock adjustments are used to correct inventory discrepancies found during physical stock counts. Navigate via Stores → Adjustments.
Each adjustment records the item, quantity variance (positive or negative), the reason, and the date. Adjustments are permanent and cannot be deleted — they form part of the audit trail.
Stock / Stores Reports
Navigate via Stores → Reports. Available stock reports include:
- Stock Valuation Report — Total value of inventory on hand
- Low Stock Report — Items below minimum threshold across all stores
- GRN Summary — Goods received over a date range by supplier
- Requisition History — All issued requisitions over a period
- Expiry Alert Report — Items expiring within a configurable window
Location Management
FAIMS uses a three-tier physical location hierarchy: Branch → Building → Location (Room).
| Level | Example | Description |
|---|---|---|
| Branch | NCB Building | A physical site or campus |
| Building | Main Block | A building within a branch |
| Location | Room 204 — Server Room | A specific room or area. Assets are assigned at this level. |
Manage these via the left sidebar navigation links (visible to Admins):
- Branch management: add, edit, view branches and their notification email
- Building management: add buildings linked to branches
- Location management: add location codes and descriptions within buildings
NCB-MAIN-204).MDA Management
Site Masters and MDA Admins can manage the list of registered Ministries, Departments and Agencies (MDAs). Navigate via Fixed Asset → MDA Management.
Each MDA record includes the organisation name, short code (OCode), and its administrative division. The OCode is used to segregate data across the system — each MDA has its own isolated database schema.
Supplier Management
Navigate via Settings → Supplier Management (Site Master / Local Admin / MDA Admin).
Suppliers are maintained in a shared catalogue used across all MDAs. Each supplier record contains the company name, contact information, and registration details. Suppliers are selected when recording asset acquisitions and GRNs.
User Management
Navigate via Settings → User Management (Local Admin, Site Master only).
Creating a User
- Click Create User.
- Enter first name, last name, email address, and select their role.
- Select the MDA they belong to.
- Submit — the system auto-generates a temporary password and sends it to the user's email.
Managing Users
- Edit — Update name, role, or MDA assignment
- Lock / Unlock — Temporarily prevent a user from logging in
- Reset Password — Generate and email a new temporary password
- Delete — Permanently remove the user account (use with caution)
Changing Your Password
Navigate via Settings → Change Password. You will be prompted to enter your current password and then your new password twice.
Password requirements:
- Minimum 8 characters
- Must differ from the previous password
- Stored passwords are hashed — never stored in plain text
Downloads
The following resources are available from the FAIMS login page:
| Resource | Format | Authentication Required |
|---|---|---|
| FAIMS Web User Manual | HTML (this document) | No — publicly accessible from login page |
| FAIMS Audit App User Manual | No — publicly accessible from login page | |
| FAIMS Android Audit Companion APK | APK (Android) | Yes — you must be logged in to download the APK |
Installing the Android Audit Companion
- Sign in to the FAIMS web portal.
- Click Android Audit Companion on the login page to download the APK.
- On your Android device, enable Install from Unknown Sources in your security settings.
- Transfer the APK to your device and tap to install.
- Log in using the same FAIMS credentials. The app connects to the same server as the web portal.
API Server Setup
The FAIMS Audit API is an ASP.NET Core 8 REST service that the FAIMS Android mobile app communicates with. It runs as a Windows Service on port 5000 and must be hosted on the same Windows Server that runs the FAIMS SQL Server databases.
This section covers the complete setup process for IT administrators deploying the server component for the first time.
1. Prerequisites
| Requirement | Notes |
|---|---|
| .NET 8 ASP.NET Core Runtime | Install the ASP.NET Core Runtime 8.x from the Microsoft .NET download page (Run server apps column). Not just the base runtime. |
| SQL Server (Express or higher) | The existing FAIMS installation already provides this. Confirm the instance name (e.g. SQLEXPRESS or MSSQLSERVER). |
| FAIMS databases present | FAIMS_Core must exist. Each organisation also needs its own FAIMS_{oCode} database (e.g. FAIMS_MNS). |
| Dedicated SQL login | FAIMS_User — see Section 2 below. |
Verify .NET 8 after installation:
dotnet --list-runtimes
You should see a line containing Microsoft.AspNetCore.App 8.x.x.
2. SQL Server Preparation
2a. Create the SQL Login
Open SQL Server Management Studio (SSMS) or sqlcmd and run:
-- Create login
CREATE LOGIN FAIMS_User WITH PASSWORD = 'YourStrongPassword!';
-- Grant access to FAIMS_Core
USE FAIMS_Core;
CREATE USER FAIMS_User FOR LOGIN FAIMS_User;
ALTER ROLE db_datareader ADD MEMBER FAIMS_User;
ALTER ROLE db_datawriter ADD MEMBER FAIMS_User;
-- Repeat for each organisation database, e.g. FAIMS_MNS
USE FAIMS_MNS;
CREATE USER FAIMS_User FOR LOGIN FAIMS_User;
ALTER ROLE db_datareader ADD MEMBER FAIMS_User;
ALTER ROLE db_datawriter ADD MEMBER FAIMS_User;
If FAIMS_User already exists from the legacy FAIMS web application, skip CREATE LOGIN and only create the database user mapping.
2b. Run the Audit Log Migration
The API requires a TblAuditLog table not present in the base FAIMS schema. Execute the migration script against each organisation database:
sqlcmd -S localhost\SQLEXPRESS -d FAIMS_MNS -U FAIMS_User -P YourStrongPassword! -i "0001_add_auditLog_table.sql"
Script location: sql/migrations/0001_add_auditLog_table.sql
2c. Enable SQL Server Authentication
Ensure the instance is set to SQL Server and Windows Authentication mode:
- In SSMS: right-click the server → Properties → Security
- Select SQL Server and Windows Authentication mode
- Restart the SQL Server service if you change this setting
3. Publish and Deploy
On your development machine, open a terminal in the faims_audit_api/ folder and run:
dotnet publish -c Release -r win-x64 --self-contained false -o ./publish
Transfer the entire publish/ folder to the server at C:\Services\FaimsAuditApi\.
--self-contained true if the server does not have .NET 8 installed — creates a larger standalone bundle that needs no runtime pre-installed.Open appsettings.json in the deployed folder and update:
{
"Urls": "http://0.0.0.0:5000",
"ConnectionStrings": {
"CoreDb": "Server=localhost\\SQLEXPRESS;Database=FAIMS_Core;User ID=FAIMS_User;Password=YourStrongPassword!;TrustServerCertificate=True;Encrypt=False;"
},
"Jwt": {
"Key": "ReplaceWithALongRandomSecretAtLeast32CharactersHere!",
"Issuer": "faims-audit-api",
"Audience": "faims-audit-mobile",
"ExpiryMinutes": 480
}
}
| Key | Notes |
|---|---|
Server | Change to match your SQL Server instance name (e.g. SERVER01\SQLEXPRESS or just SERVER01 for the default instance). |
Password | Must match the FAIMS_User password set in Section 2. |
Jwt:Key | Use a strong secret (32+ characters). Keep it consistent — changing it will invalidate all active tokens. |
Urls | 0.0.0.0:5000 binds to all network interfaces. Change 5000 for a different port. |
appsettings.json to source control. Keep it on the server only.4. Windows Service
Open Command Prompt as Administrator on the server and run:
sc create FaimsAuditApi binPath= "C:\Services\FaimsAuditApi\FaimsAuditApi.exe" start= auto DisplayName= "FAIMS Audit API"
sc description FaimsAuditApi "REST API for the FAIMS mobile audit application"
sc start FaimsAuditApi
Verify: sc query FaimsAuditApi — STATE should show RUNNING.
Logs appear in Event Viewer under Windows Logs → Application (source: FaimsAuditApi).
| Action | Command |
|---|---|
| Start | sc start FaimsAuditApi |
| Stop | sc stop FaimsAuditApi |
| Restart | sc stop FaimsAuditApi && sc start FaimsAuditApi |
| Remove | sc stop FaimsAuditApi && sc delete FaimsAuditApi |
5. Firewall and Smoke Test
Open port 5000 for inbound TCP connections:
netsh advfirewall firewall add rule name="FAIMS Audit API" dir=in action=allow protocol=TCP localport=5000
From any machine on the same network, open a browser at:
http://<server-ip>:5000/swagger
You should see the FAIMS Audit API Swagger UI. Test a login:
curl -X POST http://<server-ip>:5000/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"testuser","password":"testpass"}'
| Response | Likely Cause |
|---|---|
200 with token | All good |
401 | Credentials wrong or user not in FAIMS_Core |
500 | Database connection misconfigured — check Event Viewer |
Update the mobile app baseUrl to http://<server-ip>:5000 before distributing a new APK. Use the server's static IP address (not a hostname) to avoid DNS issues on government networks.
6. Updating the API
- Publish a new build on the development machine (see Section 3).
- Stop the service:
sc stop FaimsAuditApi - Replace files in
C:\Services\FaimsAuditApi\— keep the existingappsettings.json, do not overwrite it. - Start the service:
sc start FaimsAuditApi
Setup Checklist
- ☐ .NET 8 ASP.NET Core Runtime installed on server
- ☐
FAIMS_UserSQL login with access toFAIMS_Coreand all org databases - ☐
0001_add_auditLog_table.sqlexecuted on each org database - ☐ SQL Server and Windows Authentication mode enabled
- ☐ API files copied to
C:\Services\FaimsAuditApi\ - ☐
appsettings.jsonconfigured with connection string and JWT key - ☐ Windows Service created, set to Automatic start, and running
- ☐ Firewall rule added for port 5000
- ☐ Swagger UI reachable from a test device on the network
- ☐ Mobile app
baseUrlupdated and new APK distributed to auditors
Appendix — Glossary
| Term | Definition |
|---|---|
| APK | Android Package Kit — the installation file for Android applications |
| Asset Number | The unique government-assigned identifier for a fixed asset (e.g. MNS-2024-001) |
| BOS | Board of Survey — the formal government process for reviewing assets for disposal |
| Branch | A physical site or campus belonging to an MDA |
| GRN | Goods Received Note — document recording stock received into a store |
| ICTSB | Information & Communications Technology Services Branch |
| MDA | Ministry, Department or Agency — a government organisation registered in FAIMS |
| MNS | Ministry of National Security and Peace, Government of Jamaica |
| OCode | Organisation Code — unique numeric identifier for each MDA in FAIMS |
| QR Code | Quick Response code — 2D barcode used for asset identification and auditing |
| SP | Stored Procedure — a pre-compiled SQL routine in the database |
FAIMS v3.0 — Ministry of National Security and Peace, Government of Jamaica — ICTSB
Document revised April 2026. For support, contact your Local Admin or the ICTSB helpdesk.