Official Documentation

FAIMS Web Portal

Fixed Assets & Inventory Management System — User Manual

Version: 3.0 Revised: April 2026

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

ComponentPlatformPurpose
FAIMS Web PortalWeb BrowserFull asset, inventory and reporting management
FAIMS Audit CompanionAndroidField-based QR/barcode asset auditing
ℹ️
FAIMS is optimised for use in Google Chrome or Microsoft Edge. Internet Explorer is not supported.

Table of Contents

User Roles & Permissions

Access within FAIMS is governed by eight roles. Each user is assigned exactly one role by an administrator.

RoleDescriptionKey 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
⚠️
Role assignment can only be performed by a Site Master or Local Admin. Contact your system administrator if you require a role change.

Signing In

FAIMS uses your official MNS email address and a system-assigned password for authentication.

  1. 1
    Open FAIMS in your browser Navigate to the FAIMS URL provided by your system administrator.
  2. 2
    Enter your credentials Type your official email address (e.g. [email protected]) and your password into the respective fields.
  3. 3
    Click 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 MessageMeaning / Action
Login Failed — check email or passwordCredentials do not match. Verify caps lock is off and try again.
Account does not exist or is lockedAccount may be locked after repeated failures. Contact your Local Admin to unlock.
ℹ️
The login page also provides direct links to the FAIMS Web Manual, the Audit App Manual, and the Android Audit Companion APK download (login required for APK).

Forgot / Reset Password

If you have forgotten your password, use the self-service reset feature:

  1. 1
    Click Forgot Password? on the login screen.
  2. 2
    Enter your registered email address and click Send Reset Link.
  3. 3
    Check your email for a temporary password. Use it to log in, then change it immediately via Settings → Change Password.
⚠️
If no email is received within 5 minutes, check your spam/junk folder or contact your Local Admin.

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.

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:

  1. 1
    Step 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.
  2. 2
    Step 2 — Identification Enter the asset number (government code), serial number, previous code (if migrating from a legacy system), and condition (Good / Fair / Poor).
  3. 3
    Step 3 — Location Select the branch and building, then pick the specific room/location. The location must be pre-registered under Settings → Location Management.
  4. 4
    Step 4 — Acquisition Details Enter the acquisition date, supplier, purchase price, and any relevant notes. The system auto-calculates depreciation based on settings.
  5. 5
    Step 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.
⚠️
Do not click Finish more than once. The system has duplicate-submission protection but rapid double-clicks can cause a delay. Wait for the confirmation screen.

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.

  1. 1
    Navigate to Fixed Asset → Batch Transfer.
  2. 2
    Search for assets by branch, category, or location. Select the assets to move by ticking their checkboxes.
  3. 3
    Select destination — choose the target branch, building, and location.
  4. 4
    Confirm transfer. All selected assets are moved and the transfer is recorded in each asset's History tab.
ℹ️
Batch Transfer is only available to Local Admin, Site Master, and MDA Admin roles.

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

  1. A Data Entry user flags an asset for BOS from the Asset Details page.
  2. An administrator reviews the asset in the BOS Pending tab.
  3. 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)

  1. Open the asset's detail page.
  2. Click Request Deactivation and provide a reason.
  3. 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
ℹ️
When a request is submitted, an automatic email notification is sent to the relevant administrator. The notification bell on the header shows the pending count.

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

CategoryReports
📍 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

  1. Select your organisation (MDA) from the dropdown at the top of the catalogue.
  2. Click the desired report from the left panel.
  3. Fill in the criteria (date range, branch, location, etc.).
  4. Click Generate Report.
  5. 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

FieldRequired?Description
BranchYesThe branch whose assets will have labels generated
Start DateYesAcquisition date range start
End DateYesAcquisition date range end
Location (grid)OptionalClick 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
Printing to a QR Label Printer: After generating the report, use the Telerik viewer's Print button. Select your label printer from the Windows print dialog. Recommended label size: 3” × 2” or 2” × 1” depending on your printer model (Zebra ZD series, Dymo, etc.).
ℹ️
SP Update Required for Location Filter: To enable the optional location filter, the database stored procedure 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)
⚠️
Items shown in red are below their minimum stock level. Automatic email alerts are sent to the store's notification email when stock falls below the threshold.

Goods Received Notes (GRN)

A GRN records goods received from a supplier into a store. Navigate via Stores → New GRN.

Creating a GRN

  1. Select the store and supplier.
  2. Enter the Purchase Order number (if applicable).
  3. Add line items: select the catalogue item, enter quantity received, batch number, and expiry date.
  4. Save as DRAFT to review later, or CONFIRM immediately.

GRN Statuses

StatusMeaning
DRAFTCreated but not yet confirmed. Stock has NOT been added.
CONFIRMEDStock has been added to the inventory balance.
VOIDGRN was cancelled. Stock was NOT added (or was reversed).
ℹ️
When a GRN is confirmed, the system automatically checks for items nearing expiry and sends an email alert to the store's notification email.

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)

  1. Navigate to Stores → Requisition Queue.
  2. Click New Request.
  3. Select items and required quantities.
  4. Submit. The request appears in the queue for a Store Clerk to process.

Processing a Requisition (Store Clerk / Admin)

  1. Open Stores → Requisition Queue to see all pending requests.
  2. Review the request and either approve (issue items) or reject.
  3. 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).

LevelExampleDescription
BranchNCB BuildingA physical site or campus
BuildingMain BlockA building within a branch
LocationRoom 204 — Server RoomA 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
ℹ️
The location code is used as the QR code data when scanning locations with the Audit Companion app. Ensure codes are unique and meaningful (e.g. 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

  1. Click Create User.
  2. Enter first name, last name, email address, and select their role.
  3. Select the MDA they belong to.
  4. 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)
🚨
Deleting a user is irreversible. Consider locking the account instead if the user may need to be reinstated.

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
ℹ️
On first login, you are automatically redirected to the Change Password page. You cannot access any other part of the system until the initial password change is completed.

Downloads

The following resources are available from the FAIMS login page:

ResourceFormatAuthentication Required
FAIMS Web User Manual HTML (this document) No — publicly accessible from login page
FAIMS Audit App User Manual PDF 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

  1. Sign in to the FAIMS web portal.
  2. Click Android Audit Companion on the login page to download the APK.
  3. On your Android device, enable Install from Unknown Sources in your security settings.
  4. Transfer the APK to your device and tap to install.
  5. Log in using the same FAIMS credentials. The app connects to the same server as the web portal.
⚠️
Only install the APK obtained from this official FAIMS portal. Do not install APK files from unofficial sources.

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.

i
This guide targets Windows Server 2019 / 2022 with an existing SQL Server instance. The Audit API runs on plain HTTP over the local network — not intended to be exposed to the public internet.

1. Prerequisites

RequirementNotes
.NET 8 ASP.NET Core RuntimeInstall 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 presentFAIMS_Core must exist. Each organisation also needs its own FAIMS_{oCode} database (e.g. FAIMS_MNS).
Dedicated SQL loginFAIMS_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:

  1. In SSMS: right-click the server → PropertiesSecurity
  2. Select SQL Server and Windows Authentication mode
  3. 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\.

i
Use --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
  }
}
KeyNotes
ServerChange to match your SQL Server instance name (e.g. SERVER01\SQLEXPRESS or just SERVER01 for the default instance).
PasswordMust match the FAIMS_User password set in Section 2.
Jwt:KeyUse a strong secret (32+ characters). Keep it consistent — changing it will invalidate all active tokens.
Urls0.0.0.0:5000 binds to all network interfaces. Change 5000 for a different port.
!
Do not commit the production 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).

ActionCommand
Startsc start FaimsAuditApi
Stopsc stop FaimsAuditApi
Restartsc stop FaimsAuditApi && sc start FaimsAuditApi
Removesc 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"}'
ResponseLikely Cause
200 with tokenAll good
401Credentials wrong or user not in FAIMS_Core
500Database 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

  1. Publish a new build on the development machine (see Section 3).
  2. Stop the service: sc stop FaimsAuditApi
  3. Replace files in C:\Services\FaimsAuditApi\keep the existing appsettings.json, do not overwrite it.
  4. Start the service: sc start FaimsAuditApi

Setup Checklist

  • ☐ .NET 8 ASP.NET Core Runtime installed on server
  • FAIMS_User SQL login with access to FAIMS_Core and all org databases
  • 0001_add_auditLog_table.sql executed on each org database
  • ☐ SQL Server and Windows Authentication mode enabled
  • ☐ API files copied to C:\Services\FaimsAuditApi\
  • appsettings.json configured 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 baseUrl updated and new APK distributed to auditors

Appendix — Glossary

TermDefinition
APKAndroid Package Kit — the installation file for Android applications
Asset NumberThe unique government-assigned identifier for a fixed asset (e.g. MNS-2024-001)
BOSBoard of Survey — the formal government process for reviewing assets for disposal
BranchA physical site or campus belonging to an MDA
GRNGoods Received Note — document recording stock received into a store
ICTSBInformation & Communications Technology Services Branch
MDAMinistry, Department or Agency — a government organisation registered in FAIMS
MNSMinistry of National Security and Peace, Government of Jamaica
OCodeOrganisation Code — unique numeric identifier for each MDA in FAIMS
QR CodeQuick Response code — 2D barcode used for asset identification and auditing
SPStored 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.