Skip to content

ILS Portal โ€” End User Manual

Table of Contents

  1. Introduction
  2. Getting Started
  3. Navigation Overview
  4. Dashboard & Analytics
  5. OMS โ€” Order Management System
  6. WMS โ€” Warehouse Management System
  7. TMS โ€” Transport Management System
  8. Returns Management
  9. CRM โ€” Customer Relationship Management
  10. Tools & Utilities
  11. Inventory Management
  12. Parts Management
  13. Shipping Management
  14. Invoice Management
  15. CMS โ€” Customer Management System
  16. OOMS โ€” Omnichannel Order Management
  17. Advanced Search (EasyQuery)
  18. User Activity & Audit Logs
  19. Settings & Administration
  20. Reports & Exports
  21. Multi-Language Support
  22. Troubleshooting & FAQ
  23. Glossary

1. Introduction

What is ILS Portal?

ILS Portal (Integrated Logistics Solution) is a comprehensive warehouse management and logistics platform designed for third-party logistics (3PL) providers and e-commerce fulfillment centers. It manages the complete supply chain lifecycle โ€” from inbound receiving to outbound shipping โ€” including inventory management, order processing, multi-carrier shipping, EDI integration, returns, and billing.

Who Should Use This Manual?

This manual is written for end users of the ILS Portal:

Role Typical Responsibilities
Warehouse Staff Inbound receiving, put-away, picking, packing, shipping via barcode scan
Warehouse Managers KPI monitoring, inventory oversight, staff management
Operations Managers Order processing, carrier selection, workflow management
Customer Service Order status inquiries, return processing
Administrators User management, system configuration, API credentials, roles
Accounting/Finance TMS/WMS transactions, billing, cost reports, carrier bill reconciliation
Sales/CRM Users Sales inquiries (SI forms), quotations, booking management

Key Capabilities at a Glance

  • Inbound Management โ€” Receiving, put-away, lot/serial tracking, inspection, container/on-water tracking
  • Outbound Management โ€” Picking, packing, shipping, shipment tracking, BOL/certificate/invoice generation
  • Inventory Control โ€” Real-time tracking, three-tier bin management, cycle counting, balance reconciliation
  • Multi-Carrier Shipping โ€” FedEx, UPS, USPS, DHL, Canada Post, Purolator, and 20+ more via a unified rate engine
  • EDI Integration โ€” EDI 850, 855, 856, 810, 940, 943, 944
  • Marketplace Integration โ€” Amazon, Shopify, eBay, Temu, TikTok Shop, WooCommerce, ShipStation, and more
  • Returns Management โ€” QC scanning, return receiving, 12-point inspection, role-gated disposal workflow
  • Real-Time Dashboard โ€” Live KPI monitoring via SignalR (AG Grid + Chart.js)
  • Advanced Search โ€” Ad-hoc visual query builder (EasyQuery) over the live database

How This Manual Is Organized

This manual follows the Diรกtaxis framework: - Tutorials / Getting Started (ยง2โ€“ยง3) โ€” get a newcomer logged in and oriented. - How-to Guides โ€” embedded as numbered step-by-step workflows inside each module section. - Reference (ยง5โ€“ยง19) โ€” per-screen descriptions of every module: navigation, purpose, key fields/columns, buttons/actions, status values, and gotchas. - Explanation (ยง22โ€“ยง23, plus cross-cutting workflow notes) โ€” troubleshooting, glossary, and the "why" behind cross-module flows (e.g. the adjustment-requestโ†’approve lifecycle, the returns disposal ladder).


2. Getting Started

2.1 Accessing the Portal

  1. Open your web browser (Chrome, Edge, or Firefox recommended)
  2. Navigate to your organization's ILS Portal URL:
  3. Production: https://ils.live
  4. Beta/Testing: https://beta.ils.live
  5. You will be redirected to the Google OAuth login page
  6. Sign in with your authorized Google account
  7. Upon first login, an administrator must grant you access to specific modules and assign a role

2.2 Supported Browsers

Browser Supported Versions
Google Chrome Latest 2 versions
Microsoft Edge Latest 2 versions
Mozilla Firefox Latest 2 versions

2.3 User Roles & Permissions

Your access is determined by your assigned UserRoleType. The role ladder, from most to least privileged:

Role Scope Notes
SuperAdmin / ILSAdmin Global Full access; can edit/delete system-default roles; sees 3PL company dropdown on Warehouse; can batch-update Customer Code
ILSCompanySuperAdmin / ILSCompanyAdmin Company Company-scoped administration
ILSWarehouseAdmin Warehouse Warehouse-scoped admin; sees "Batch Inbound" in Returns via isBatchInbound
TMSAdmin TMS TMS-scoped admin; sees customer filter on User Permission; sees Company dropdown on Price Level
ILSCustomerAdmin Customer Customer-scoped admin; sees "Batch Req. Dis." in Returns
ILSCustomer Customer Customer end-user
ILSCustomerViewOnly Customer (read-only) Disables all inputs on the customer form
Accounting Financial Transactions, Adjustments, Carrier Bills

Menu items you lack permission for are omitted entirely at render time โ€” you never see them. Page-level buttons (Create/Update/Delete/Export) render only when your role has the matching permission key.

2.4 Multi-Language Support

The ILS Portal supports seven languages:

  • English (en-US) โ€” Default
  • ็ฎ€ไฝ“ไธญๆ–‡ (zh-CN)
  • ็น้ซ”ไธญๆ–‡ (zh-TW)
  • Espaรฑol (es-US)
  • ํ•œ๊ตญ์–ด (ko-KR)
  • ๆ—ฅๆœฌ่ชž (ja-JP)
  • เคนเคฟเคจเฅเคฆเฅ€ (hi-IN)

To change your language, add ?culture=xx-XX to the URL (e.g., ?culture=zh-CN for Simplified Chinese), or set your browser's preferred language.


3. Navigation Overview

3.1 Main Navigation Menu

The left sidebar contains the main navigation menu, organized by functional area. The menu is data-driven โ€” defined in nav.json, parsed at startup, and rendered through a shared partial with role-based visibility checks. You will only see sections you have permission to access.

3.2 Menu Structure

Menu Section Icon Purpose
Parts ๐Ÿ“ฆ Part types, original parts, product parts
Inventory ๐Ÿ“‹ Inventory lists, product specs, PO reservations
Invoice ๐Ÿ“„ Invoice management and duplicate checking
Shipping ๐Ÿšข Shipping serials, carriers, quotes, packing rules
CMS ๐Ÿ‘ฅ Customer management, service, case management
OMS ๐Ÿ“ฆ Order management โ€” the main operations hub
TMS ๐Ÿ’ฐ Transport management โ€” shipping labels, billing
Returns โ†ฉ๏ธ Return processing, QC, approvals
WMS ๐Ÿญ Warehouse operations โ€” scanning, picking, packing
CRM ๐Ÿ‘ฅ Sales inquiries, bookings
Tools ๐Ÿ”ง Utilities, EDI, barcodes, scheduler
OOMS โฌ†๏ธ Omnichannel order management

3.3 Page Layout

Each page follows a consistent layout:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Top Bar: User info, notifications, logout   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚        โ”‚                                     โ”‚
โ”‚  Nav   โ”‚         Page Content Area           โ”‚
โ”‚  Menu  โ”‚                                     โ”‚
โ”‚        โ”‚   - Filters / Search Bar            โ”‚
โ”‚        โ”‚   - Data Grid (DataTables/ag-Grid)  โ”‚
โ”‚        โ”‚   - Action Buttons                  โ”‚
โ”‚        โ”‚   - Pagination                      โ”‚
โ”‚        โ”‚                                     โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Footer: Version info, support links         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

3.4 Common UI Elements

Element Description
Data Grid Sortable, filterable table of records (jQuery DataTables or AG Grid)
Search Bar Text search with column-specific filters
Action Buttons Add, Edit, Delete, Export, Import buttons at top of grids
Status Filters Dropdown or tab filters for order/inventory status
Pagination Page navigation at the bottom of data grids
Modal Dialogs Pop-up forms for creating/editing records
Toast Notifications Success (green) / error (red) messages top-right
Handsontable Spreadsheet-style grid used for bulk imports and mappings
SecureContent Role-gated wrapper that hides buttons/sections you lack permission for

3.5 Scan-Screen Conventions (WMS)

Every WMS scan screen follows a common pattern. Learning it once makes every scan screen familiar:

  • Blue input box = the field waiting for your next scan/entry; the cursor parks here.
  • LookUp (green button) = same as pressing Enter on a scanned value.
  • C (small button) = Clear the field to its left and start over.
  • Red border / red flash on a field = the scan failed validation; the field clears and the cursor returns.
  • Toastr pop-ups = success (green) or error (red) messages at the top. Most scan screens also play a success/fail sound (SuccessSound.play() / FailedSound.play()) so outcomes are audible in a noisy warehouse.
  • LabelPrinter setting controls how labels print: 1 = open PDF in a new tab; 2 = direct to a network printer; 3 = push via a local WebSocket print service. The behavior is automatic after a successful scan that generates a label.
  • Camera scanner โ€” some screens expose an orange S button that opens a device-camera scanner (Html5Qrcode) for tablet scanning.
  • Read-only mode โ€” when a document is closed/received/verified or you lack Update/Create permission, scan inputs lock and LookUp/C/Drop buttons disable. You can view but not scan.

4. Dashboard & Analytics

4.1 Main Dashboard

Navigation: OMS โ†’ Dashboard

The main dashboard provides an overview of key operational metrics: order volume trends, inbound/outbound summaries, warehouse KPI metrics, and customer balance alerts.

4.2 WMS Live Operations Dashboard (Real-Time)

Navigation: WMS โ†’ WMS Live Operations

A real-time operational dashboard for supervisors, built with AG Grid Community 35.1.0 and Chart.js 4.4.7, with live updates via SignalR.

Top filter bar: From date (defaults to today), To date (defaults to today), Apply, Reset, Refresh.

Cards/grids: 1. Inbound grid 2. Outbound grid 3. TMS Orders grid 4. Online Users grid 5. Req2Ship KPI grid 6. Warehouse KPI grid 7. TMS KPI grid 8. Inbound Port Summary grid 9. Charts: OMS Quantity Shipped, OMS Outbound Created, TMS Quantity Created, Quantity Received

Typical workflow: 1. Open the dashboard at the start of shift. 2. Set From/To dates and click Apply. 3. Scan the Inbound/Outbound/TMS grids for exceptions. 4. Drill into Req2Ship and Warehouse KPIs for SLA breaches. 5. Review the charts for volume trends. 6. Click Refresh to re-fetch all grids without reloading the page.

Customer-code cells link through to the customer record when you have ILS Customer permission.

4.3 Charts

Navigation: OMS โ†’ Charts

Three chart views: Inbound (receiving trends/volumes), Outbound (shipping trends/volumes), and Shipping Label Service (label generation statistics by carrier/service).

4.4 Power BI Reports

Navigation: OMS โ†’ Charts โ†’ PowerBI (if configured)

Embedded Power BI reports for advanced business intelligence and data visualization.


5. OMS โ€” Order Management System

The OMS section is the primary operations hub for managing products, orders, inventory, and shipments.

5.1 Products

Navigation: OMS โ†’ Products

View and manage your product catalog. The product grid displays SKU, Product Name (English/Chinese), Weight, Dimensions (Lร—Wร—H), UPC, Brand, Model, Hazmat status, Active/Inactive status, and Serial Scan Required / Lot Number Required flags.

Actions: Search (filter by SKU, name, or product type); Edit (modify dimensions, weight, hazmat status); Export (download product list to Excel).

5.2 External Product Map

Navigation: OMS โ†’ External Product Map

Map external marketplace SKUs to internal ILS product SKUs. Essential for store integrations (Amazon, Shopify, etc.).

5.3 Inbound Management

Navigation: OMS โ†’ Inbound

The Inbound section manages goods coming into the warehouse.

5.3.1 Inbound InYard

Navigation: OMS โ†’ Inbound โ†’ Inbound InYard

View containers/trailers that have arrived at the yard but not yet been received. Status tracking from yard arrival through receiving.

5.3.2 Inbound Transfer Order

Navigation: OMS โ†’ Inbound โ†’ Inbound Transfer Order

Manage inter-warehouse transfer orders. Track goods moving between warehouse locations.

5.3.3 Inbound AIO (All-In-One)

Navigation: OMS โ†’ Inbound โ†’ Inbound AIO

Comprehensive inbound order view with all statuses. Filter, search, and manage all inbound shipments from a single screen.

Key Fields: Inbound Code, Container No, BOL (Bill of Lading), Warehouse, Status, ETA/ETD, Export Port, Discharge Port, Total/Received Pallets, Cartons, Quantity.

5.3.4 Inbound Detail

Navigation: OMS โ†’ Inbound โ†’ Inbound Detail

Drill-down view of individual inbound shipments with line-item details.

5.3.5 Inbound Lot Report

Navigation: OMS โ†’ Inbound โ†’ Inbound Lot Report

Track lot numbers associated with inbound shipments for traceability.

5.3.6 Consolidated Pallets

Navigation: OMS โ†’ Inbound โ†’ Consolidated Pallets

Manage consolidated pallets โ€” groups of items received together on a single pallet.

5.3.7 Pallets

Navigation: OMS โ†’ Inbound โ†’ Pallets

Individual pallet tracking and management.

5.3.8 OnWater Tracking

Navigation: OMS โ†’ Inbound โ†’ OnWater Tracking

Track containers while they are in transit via ocean freight. Monitor vessel progress from origin port to destination.

5.3.9 Inter Warehouse History

Navigation: OMS โ†’ Inbound โ†’ Inter Warehouse History

View the history of inventory movements between warehouses.

5.4 Outbound Management

Navigation: OMS โ†’ Outbound

The Outbound section manages orders being shipped to customers. The outbound order flows through a status machine:

Status Meaning
Draft Being prepared, not yet submitted
New Newly created, awaiting processing
MstCrtd Master pick list created
Picking Currently being picked
Picked Picking complete
Packing Currently being packed
Packed Packed and ready for shipping
Shipped Shipped to customer
ReqCancel Cancellation requested
Cancelled Cancelled
WReqC Warehouse request to cancel
Hold On hold
AddFault Address validation fault
AWLabel Awaiting shipping label
Exception Exception / problem
BackOrder Back-ordered
OutOfStock Cannot fulfill โ€” insufficient stock
AssignWhse Awaiting warehouse assignment

Channel types: Parcel (1), PO Bulk (4), Manual (6), DropShip (7), TransLoad (8), Transfer (9).

5.4.1 Outbound InYard

Navigation: OMS โ†’ Outbound โ†’ Outbound InYard

View outbound shipments staged in the yard awaiting carrier pickup.

5.4.2 OB Shipping Plan

Navigation: OMS โ†’ Outbound โ†’ OB Shipping Plan

Plan and schedule outbound shipments. Assign carriers, select shipping methods, and organize shipping waves. Supports bulk import via a Handsontable grid (Excel template).

5.4.3 Outbound AIO (All-In-One)

Navigation: OMS โ†’ Outbound โ†’ Outbound AIO

The primary outbound order management screen. Filter by status (see table above).

Key Fields: Outbound Code, Customer Order No, Tracking No, Status, Warehouse, Shipping Method, Carrier, Service, Total Rate, Boxes, Labels, Weight, Shipped Date, Added By/Date.

Key actions (per-row and batch, role-gated): - Approve / Disapprove โ€” batch approve/disapprove selected orders (BatchApproveDisApprove). - Generate Tracking No โ€” obtain carrier tracking (GenerateTrackNo). - Print Label / Batch Print Label โ€” print parcel labels (printer modes 1/2/3). - Export Pre-Gen Labels โ€” export pre-generated label data. - Marked As Shipped โ€” mark a shipped outbound. - Request Cancel โ€” request cancellation (ReqCancelOutboundDetails); warehouse-side cancel via WReqCancelIAROutboundDetails. - Switch To Dropship โ€” change channel to Dropship. - Transfer Warehouse โ€” reassign warehouse (TransferWH). - Outbound Return โ€” create a return from the outbound. - Close Outbound โ€” close by finish document (CloseOutboundByFinishDoc). - Stamp As Ship (Pick Bulk) โ€” bulk stamp shipped. - Export โ€” export outbound details or serials to Excel.

5.4.4 Outbound EC (E-Commerce / PO Bulk)

Navigation: OMS โ†’ Outbound โ†’ Outbound EC

The Outbound EC (End-Customer / Parcel-Bulk) module is the manual and bulk-import entry point for parcel-channel e-commerce outbound orders.

Features: - Order List โ€” Data-grid view of e-commerce outbounds, scoped to your ILS customer, company, and 3PL warehouse. Supports filtering and Excel export. - PO Bulk EC Import โ€” Bulk import parcel orders from an Excel template (PO Bulk format). - Add PO Bulk EC โ€” Create a single parcel outbound order: choose warehouse, end customer, SKU, ship method, and carrier/channel. The system validates duplicate customer order numbers and stock availability before creating the order. - Status Tracking โ€” New orders are created with New status and Parcel channel type.

Cost Rollup: Each outbound line carries a unit price; the outbound header's net price is automatically summed from its lines (UnitPrice ร— Qty) when the order is saved.

5.4.5 Outbound Detail

Navigation: OMS โ†’ Outbound โ†’ Outbound Detail

Detailed view of an individual outbound order. From here you can: - View/ediโ€‹โ€‹t line items, addresses, and shipping details. - Generate BOLs, Master BOLs, Certificates of Origin, and Commercial Invoices as PDFs (GetBOLPDF, GetMasterBOLPDF, GetCertificateOriginalPDF, GetCommercialInvoicePDF). - Print parcel labels (PrintLabelIfParcelOrder, BatchPrintLabelIfParcelOrder). - Mark as shipped, request cancel, switch to dropship, transfer warehouse, or create a return.

5.4.6 Shipped History

Navigation: OMS โ†’ Outbound โ†’ Shipped History

Historical view of all shipped orders with tracking and delivery confirmation.

5.4.7 Certificate

Navigation: OMS โ†’ Outbound โ†’ Certificate

Generate and manage certificates of origin, compliance certificates, and other shipping documentation (PDF, populated from templates via iTextSharp).

5.4.8 Box History

Navigation: OMS โ†’ Outbound โ†’ Box History

View the box/packaging history for outbound shipments, including box dimensions and contents.

5.5 Outbound 3rd Party Integrations

Navigation: OMS โ†’ Outbound 3rd Party

Manage orders imported from external marketplaces and EDI trading partners.

Integration Description
EDI Import Orders received via EDI (X12 850, 940)
Store Import Orders from all connected stores
Newegg Newegg marketplace orders
ShipStation ShipStation integrated orders
Shopify Shopify store orders
Odoo Odoo ERP integrated orders
WooCommerce WooCommerce orders and products
Teapplix Teapplix shipping integration

Note: NetSuite ERP integration has been retired and removed from the platform.

5.6 Transload

Navigation: OMS โ†’ Transload

Manage transload operations โ€” transferring cargo from one transportation mode to another (e.g., container to truck).

5.7 Documents

Navigation: OMS โ†’ Document

Central document repository for shipping documents, labels, invoices, and certificates.

5.8 In-Out Report

Navigation: OMS โ†’ In-Out Report

Generate inbound/outbound activity reports for a specified date range.

5.9 End Customers

Navigation: OMS โ†’ End Customers

Manage end-customer information including shipping addresses and contact details.

5.10 Container Tracking

Navigation: OMS โ†’ Container Tracking

Track shipping containers from origin to warehouse receipt.

Features: CRUD operations on container records; Excel bulk import; status tracking; AG Grid interface (sort/filter/paginate); inbound integration.

Key Fields: Container Number, BOL, Vessel Name, Origin Port, Discharge Port, ETD, ETA, Status, Seal Number, Carrier.


6. WMS โ€” Warehouse Management System

The WMS section provides the tools for day-to-day warehouse floor operations. The scan-driven screens are Inbound Scan, Inbound Put Away Scan, Scan Picking, Scan Picking PO Bulk, Transload Picking, Scan MP Sort, Scan Packing, Inventory Scan, Inventory Count Scan, QC Scan, Return Scan, and Return Batch. The remaining screens (Process Parcel/DropShip/Bulk, Master Pick List, MP Sort Report, MRP, Shipping Closure, and the four WMS Admin screens) are management/audit/reporting views.

A floating shortcut bar provides one-tap access to the most-used scan screens: Inbound Scan, Inventory Scan, Scan Picking, Scan Picking PO Bulk, Scan MP Sort, Return Scan, and Master Pick List.

6.1 WMS Live Operations

Navigation: WMS โ†’ WMS Live Operations โ€” see ยง4.2.

6.2 Inbound Operations

6.2.1 Inbound Scan

Navigation: WMS โ†’ Inbound โ†’ Inbound Scan

Receive an inbound container/load by scanning its LPN and the SKUs/serials on it; create pallets (LPNs) and print LPN labels; close the receive session.

Scan sequence: 1. Inbound#/Container# (blue). Scan or type the inbound/container code; press Enter or LookUp. - If Seal# is required: an alertify.prompt("Enter Seal#") appears; type the seal number and confirm. Empty seal โ†’ error toast. - On success: field becomes read-only, panels appear, and the SKU field gets focus. A Close button appears if a receive session is open. - On failure: field flashes red, clears, and shows an error toast. 2. SKU# / UPC#. Scan the SKU/UPC barcode; press Enter. - If the SKU is new to this inbound, you may be prompted to verify dimensions (Lร—Wร—H). - If the SKU requires serial scanning, you are prompted to create an LPN and scan serials into it via the Pallet Serial Scan modal. - For non-serial SKUs, the Scan Confirm modal appears with a Qty field. Received qty cannot exceed ordered qty (unless over-receive is allowed). - Bin Location (optional, auto-complete): assign a put-away bin at receive time.

Key buttons: LookUp (validate), C (clear), Close (close the receive session โ€” confirm dialog), Upload (attach photos/docs).

Tables: InboundLine List (RQty/Qty); Receive LPN Scan History (per LPN with row actions: Edit Serial Scan, Delete, Reprint); Consolidated Pallets (when palletize mode is on โ€” select LPNs and Consolidate Pallet).

Typical workflow: Scan inbound โ†’ scan SKU โ†’ (create LPN / scan serials / confirm qty) โ†’ repeat for each SKU โ†’ click Close when fully received.

6.2.2 Inbound Put Away Scan

Navigation: WMS โ†’ Inbound โ†’ Inbound Put Away Scan

Move received (un-slotted) inventory from the receive dock into permanent bin locations. Records a movement history entry per put-away.

Scan sequence: 1. InboundCode# / InboundId# (blue). Scan inbound code; Enter โ†’ validates. On success, Inbound Items and Put Away History tables appear. 2. SKU# / UPC# (blue). Scan SKU/UPC; Enter โ†’ validates. On success: Movement HistId appears, Qty gets focus, Unslotted Qty shows. 3. Type/scan the qty to move, then scan/type the Bin Location (auto-complete; selecting shows current BinQty). 4. Click Confirm. - On success: success sound + "Inv. Bin Putaway successfully". - Errors: "Bin Location not found in Inventory Bin Master.", "Qty is not Negative", "Qty is not greater than Unslotted Qty".

Tables: Inbound Items (Qty [field totalQty]/RcvQty/UnslottedQty); Inbound Item Put Away History (Sku/BinCode/Qty/AddedBy/AddedDate).

6.3 Outbound Operations

6.3.1 Process Parcel

Navigation: WMS โ†’ Outbound โ†’ Process Parcel

Manage parcel (small-package) outbound orders โ€” group them into a Master Pick List, pre-generate labels, batch-cancel, or delete. This is a management screen; actual picking happens in Scan Picking.

Key columns: Batch, OBCode, CustOrder#, Carrier, ReqDate, OB Date. PickId, CompanyName, PickedDate, PickedBy, and ShipDate exist as columns but are hidden by default (visible via the column chooser). Row-selection checkboxes appear for non-LTL orders.

Action buttons (role-gated): - Batch Request Cancel (admins) - Batch Pregen โ€” pre-generate shipping labels for selected orders - Append Pending Label SKU (ILSAdmin only) - Batch Delete (ILSAdmin only) - GetBins โ€” assign sort bins (confirm dialog) - Create Master โ€” build a Master Pick batch from selected orders (confirm dialog shows the order count); on success prints the pick list

Typical workflow: Select parcel orders โ†’ Create Master to build a Master Pick batch โ†’ print the MP list โ†’ switch to Scan Picking to pick it.

6.3.2 Process DropShip

Navigation: WMS โ†’ Outbound โ†’ Process DropShip

Same structure as Process Parcel but filtered to drop-ship orders. Actions: Create Master, GetBins, Create Zip (DropShip-specific), and Batch Delete (ILSAdmin). Batch Pregen and Batch Request Cancel are not available on DropShip.

6.3.3 Process Bulk

Navigation: WMS โ†’ Outbound โ†’ Process Bulk

Same management grid as Process Parcel/DropShip but for bulk/LTL outbounds. LTL-without-docs orders still show row checkboxes on the Bulk grid (checkbox suppression occurs on the Parcel grid, not Bulk). Picking happens in Scan Picking PO Bulk or Transload Picking.

6.3.4 Master Pick List

Navigation: WMS โ†’ Outbound โ†’ Master Pick List

View all Master Pick batches generated from Process Parcel/DropShip/Bulk; open, print, reset, or jump to scan picking.

Panel-level action: Process MP (open the Process MP modal). Per-row actions: MP Outbound (expand), MP Products (expand), Reprint pick list, Scan (jump to Scan Packing scoped to this MP), Reset MP (delete the batch โ€” confirm dialog).

6.3.5 MP Sort Report

Navigation: WMS โ†’ Outbound โ†’ MP Sort Report

Read-only report view of Master Pick sorting activity (MP Created, Sort Start, and Sort End timestamps, plus Sorted By, Qty Sorted/Min, Qty Sorted/Hour). Used by supervisors to audit sort progress.

6.3.6 Scan Picking

Navigation: WMS โ†’ Outbound โ†’ Scan Picking

Pick items from their bin locations into a Master Pick batch by scanning the MP batch ID and then each pallet/serial.

Scan sequence: 1. MasterPickBatch# (blue). Scan MP ID; Enter / LookUp โ†’ validates. - On success: Movement HistId shows; field becomes read-only; MP Products and Picked History tables load; cursor moves to Pallet#/Serial#. If the screen is read-only, all inputs and the Drop button lock. - On failure: red flash, clear, error toast. 2. Pallet# / Serial#. If numeric โ†’ validates as a pallet. If non-numeric โ†’ treated as a serial, resolved to its pallet, then re-validated. - On success: opens the Confirm Scan Picking modal pre-filled with SKU, BinLocation, OrdQty, PltQty, RemainQty, and an editable PickedQty. 3. In the modal, type the Pick Qty and click Save. - Validations: empty/0 โ†’ "Pick Qty dosen't not allow 0 or empty" (toast title; body is "Scan Picking"); > PltQty or > RemainQty โ†’ "Pick Qty is not greater than Plt Qty or Remain Qty".

Buttons: LookUp, C (clear), Drop (red โ€” opens the Confirm Drop modal to drop the MP batch when picking is complete; disabled when read-only).

6.3.7 Scan Picking PO Bulk

Navigation: WMS โ†’ Outbound โ†’ Scan Picking PO Bulk

Pick PO/Bulk MP batches that require a picked-bin destination (sort bin) and a qty per scan.

Scan sequence (four fields, in order): 1. Outbound# (blue) โ†’ validates. 2. SKU# / UPC# โ†’ validates; populates a Bin LookUp table showing suggested bins. 3. Bin# โ†’ confirms the bin you're picking from. 4. Qty (default 1) โ†’ press Enter or click Add to save the scan.

Buttons: LookUp / C per field; Add (submit qty); Batch Delete (confirm dialog).

6.3.8 Transload Picking

Navigation: WMS โ†’ Outbound โ†’ Transload Picking

Pick transload outbounds (cross-dock) by scanning the OB code and then each pallet.

Scan sequence: 1. OBCode (blue). Scan outbound code; Enter / LookUp โ†’ validates. 2. Pallet#. Scan; Enter / LookUp โ†’ validates. - On success: "Pallet# Picked Successfully"; clears and refocuses for the next pallet.

6.3.9 Scan MP Sort

Navigation: WMS โ†’ Outbound โ†’ Scan MP Sort

After picking, sort scanned items into outbound totes/bins per the Master Pick. This screen drives the consolidation step.

Scan sequence: 1. MasterPickBatch# (blue) โ†’ validates. On success: Outbound Type (and the Close button) appears; Consolidate Status / Outbound Status exist in markup but are not displayed on this screen. Cursor moves to SKU/UPC. 2. SKU# / UPC# (no-paste) โ†’ validates. If NonMPSortScanBin is enabled, cursor moves to Bin#; otherwise to Qty. 3. Bin# (only when NonMPSortScanBin is on). 4. Qty (default 1) โ†’ Enter or Add โ†’ saves. - On success: "scan successfully"; tables refresh; the Sort Bin / Tote # indicator blinks to show which tote to drop the item into. If remaining qty = 0 the SKU field clears; otherwise the bin field clears for the next scan. - Validations (One/All print modal only): "Qty Can't > Remain Qty (<n>)" and "Qty Required" appear only inside the One/All print-confirmation modal (when IsAllOption is on and the SKU's remain qty > 1), not in the plain Add path.

Buttons: Close (confirm dialog โ†’ closes the sort); LookUp / C per field; Add.

6.3.10 Scan Packing

Navigation: WMS โ†’ Outbound โ†’ Scan Packing

Pack scanned picked items into outbound cartons/boxes; generate shipping labels, assign boxes, print labels, handle hazmat, and close the outbound.

Scan sequence: 1. MasterPickBatch# / OB# (blue) with an orange S camera-scanner button. Scan/Enter โ†’ validates; on success Outbound Type, Consolidate MPOB Code, Consolidate Status, and Outbound Status populate; Sort Bin field and the outboundScanToggleForBox switch appear. 2. Sort Bin# โ€” scan the sort bin; LookUp/C buttons. 3. SKU# / UPC# โ€” scan the SKU/UPC being packed. 4. Serial# โ€” scan the serial; press Enter or Add. On the first scan for an OB the screen prompts to Create Box (Yes) or Create Label (No). For non-serial SKUs a Pallet# prompt appears.

Key buttons/actions: Add (add scanned serial to box); SLU (Serial LookUp); Print (OB pallet report); One / All (print one label vs all labels for the current box); Assign Box modal (assign/adjust box qty); Acknowledge (hazmat dangerous-goods label acknowledgment). Row actions: delete serial, reprint tracking label, reprint DG label file.

Real-time: This screen subscribes to the /ItemScanned hub's ItemScanned SignalR event; when picking completes an MP elsewhere, the MP grid auto-refreshes so the next tote to pack appears without a manual refresh.

Typical workflow: Scan MP/OB โ†’ scan sort bin โ†’ scan each SKU/serial โ†’ create box โ†’ print label โ†’ repeat until the outbound is packed and shipped.

6.4 Inventory Operations

6.4.1 Inventory Scan

Navigation: WMS โ†’ Inventory โ†’ Inventory Scan

Move existing inventory between bins or put it away into a bin. Handles SKU, Pallet (P#), QC pallet (QC# / QP#), Return (R# / RP#), and Consolidated (C# / CP#) barcodes โ€” all in one screen.

Top field: SKU# / UPC# / P# / QC# / QP# / R# / RP# / C# / CP#.

Action radio buttons: Put Away (default) or Movement โ€” switches the save endpoint.

Scan sequence: 1. SKU/UPC/etc. (blue) โ†’ validates. If nothing to put away โ†’ "there's nothing to Put Away for this SKU". On success: Customer dropdown, Qty, Unslotted Qty fields appear. 2. Customer, Qty, Unslotted Qty (read-only), optional To Warehouse (for cross-warehouse transfer). 3. Bin Location (auto-complete) and, for a Movement, Bin Location 1 (destination bin); optional LotNumber. 4. Click Confirm. - On success: success sound + "Inv. Bin Putaway successfully" or "Inv. Bin Movement successfully". - Errors: "Bin Location not found in Inventory Bin Master.", "FromBin & ToBin Location not found...", "FromBin Location not found...", "ToBin Location not found...", "Qty is not greater than Unslotted Qty", "Qty is not Negative".

Batch Scan panel (always visible in the right column): Put Away batch offers two sub-modes โ€” Put Away and PutAway + SKU/UPC (each with a Validate step) โ€” and Movement has its own Batch Scan; each shows an Are you sure to batch scan? confirm dialog and success/fail sound.

6.4.2 Inventory Count Batch

Navigation: WMS โ†’ Inventory โ†’ Inventory Count Batch

Cycle-count inventory by batch. A batch is created, an operator scans counts bin-by-bin, then a supervisor verifies and adjusts.

Batch list columns: InventoryCountBatchId, WarehouseCode, Memo, AddedBy/AddedDate, BinCount, Skucount, Quantity, StartedBy/StartedDate, EndedBy/EndDate. Verified/Adjusted state is shown via the Verify and Adjustment action buttons (not dedicated columns).

Row actions: Scan (opens the scan screen โ€” read-only unless the batch is open and you started it); Verify (appears when ended but not verified); Adjustment (appears when verified but not adjusted).

Scan screen: 1. Inventory Batch # (blue, read-only โ€” populated from the list). Click LookUp โ†’ validates. If closed or read-only, all inputs disable and Close hides. 2. Bin Location (required โ€” red border if blank). 3. Quantity (default 1) with + / โˆ’ buttons. 4. Lot/PO (optional). 5. SKU# / UPC# โ€” orange s button opens the camera scanner. Scan/Enter โ†’ validates. - On success: "created successfully"; SKU field clears; history and bin-SKU tables refresh. - On failure: error toast; bin/qty required errors show red borders.

Close (red) โ€” confirm dialog โ†’ closes the batch (becomes read-only). Delete row โ€” confirm dialog.

6.5 QC Scan (Quality Containment)

Navigation: WMS โ†’ QC Scan (screen titled "Quality Containment"; saves to /QualityContainment/SaveQCScan)

Receive a returned or quarantined unit, inspect it, and print a QC label. Reduces available inventory by 1 per scan; if available qty is insufficient the save is blocked.

Entry sequence (tab order): SKU (required, auto-complete) โ†’ UPC โ†’ Description โ†’ Customer Code โ†’ Warehouse Code (read-only, pre-set from your default โ€” if blank the save buttons hide and an error shows) โ†’ SN (parses embedded-QR serials and auto-fills SKU/UPC/Model from the original outbound) โ†’ InboundSite (text), BoxCondition (No Box/Bad/Good/New), UnitCondition (Very Bad/Bad/Worn/Good/Excellent), HandleBar/Charger/Stem (Yes/No dropdowns) โ†’ Remarks โ†’ Upload Document.

Buttons: Save & Close (โ†’ QC History), Save & Next (fresh form).

On save: If EnoughQty == 1: prints the QC label (PDF/direct/WebSocket per LabelPrinter) + success toast. If EnoughQty != 1: "Not Enough Available Inventory" and buttons re-enable.

Enter key is suppressed so a scanner carriage-return submits the field, not the form.

6.6 Return Scan

Navigation: WMS โ†’ Return Scan

Record an inbound return: capture tracking, serial, SKU, condition, customer/warehouse, original-outbound reference, photos/docs, and save (optionally into a return batch).

Fields (tab order): Tracking, SN, UPC, SKU (required), Description/Model, OOB Code, OCust OrdNo, Customer Code (required dropdown), Warehouse Code (required dropdown), InboundSite, Condition (required), ReturnType (required dropdown), BoxCondition, UnitCondition, HandleBar, Charger, Stem, Remarks, RMA, RMA PN, Scan Photo/Upload Document, plus read-only audit fields (AddedBy/Date, ApprovedBy/Date, EditedBy/Date, InspectedBy/Date, DepartedBy/Date, DisposedBy/Date, ReqDisposalBy/Date, DisposalApprovedBy/Date, BinCodeUpdatedBy/Date). Right column captures receiver name/address/city/state/zip/phone/email/purchased date.

Buttons: Save & Close, Save & Next (clear form), Save & Dupe (keep most fields pre-filled), View Document.

Title shows (Scan To RP# <RP>) when opened scoped to a Return Pallet.

6.7 Return Batch

Navigation: WMS โ†’ Return Batch

Add multiple returns to a single Return Pallet batch (RP#). Return Batch uses a simplified single-column layout: Tracking, BOL, UPC, SKU, Product Description, Customer Code, Warehouse Code, InboundSite (dropdown), Quantity, Overstock, Remarks, Scan Photo/Upload Document, AddedBy/AddedDate, EditedBy/EditedDate โ€” plus hidden fields for SN/Condition/BoxCondition/UnitCondition/HandleBar/Charger/Stem/RMA/RMA PN and ApproveBatchId.

Buttons: Save & Close, Save & Next (reload for the next item in the same batch), Save & Dupe. Tracking focusout auto-completes SKU/customer/warehouse from the original outbound (Return Batch has no visible Serial field, so only Tracking triggers this).

6.8 MRP

Navigation: WMS โ†’ MRP

Maintain Material Requirements Planning master records per SKU/customer/warehouse. Read/write datatables grid (not a scan screen).

Columns: Mrp# (hidden), Sku, Sku2, Note, WarehouseCode, CustomerCode, Company#, Status (Active/Inactive badge), CreatedBy, CreatedDate, EditedBy, EditedDate.

Actions: Create (modal), Edit (modal), Expand (inline MRP Details). No barcode scanning.

6.9 Shipping Closure

Navigation: WMS โ†’ Shipping Closure

Create daily shipment-closure batches (manifests) and audit HazMat / Manifest document counts. Read-only datatables + a pending-orders side panel; not a per-item scan screen.

Layout: Left column shows Pending Orders; right column shows the Shipment Closure History grid.

History columns: SCHID, CreatedDate, CustomerCode, Warehouse(s), Carrier, HazMat# (red link to the cert PDF if count > 0 and the file exists), Manifest# (red link to the manifest PDF), CreatedBy, ModifiedBy, ModifiedDate. Row expand lists the orders in that closure.

Typical workflow: Review pending orders โ†’ create a new closure (assign carrier/warehouse) โ†’ the new SCHID appears in history โ†’ click HazMat#/Manifest# links to audit the generated PDFs.

6.10 WMS Admin

6.10.1 Storage Fee History

Navigation: WMS โ†’ Admin โ†’ Storage Fee History

Audit daily storage-fee postings per customer/warehouse/SKU. Toggled by the Summary View switch: - Summary View ON: IlscustomerCode, WarehouseCode, StorageFee. - Summary View OFF (default): StorageFeeId, PostingDate, IlscustomerCode, WarehouseCode, InboundCode, ContainerNo, Sku, LengthIn, WidthIn, HeightIn, RemainingQty, StorageFee, Aging, InboundDate, BillingRate, Cft.

Filter accepts warehouse, customer, fromDate URL params (the WMS Transactions grid links here with those params).

6.10.2 WMS Transactions

Navigation: WMS โ†’ Admin โ†’ WMS Transactions

Ledger of every WMS billing event (storage, inbound, outbound SPD, etc.) with running balance, deduction, recharge, and references back to the originating order.

Columns: TransactionId, Customer, Warehouse (links to Storage Fee History filtered by that warehouse/customer/date), Category, ServiceType, SystemNo, OrderRef (links to Outbound AIO or Inbound AIO by billingType), CustomerRef, Tracking (links to ShippingLabelService), Service, TransactionTime, Balance, Deduction, Recharge, CreditLimit, Memo, TransactionSerial, AccountType, L/W/H/Weight, Sku, ShippingCost, ShippingApicost, ShippingZone, CreatedBy.

Expand: Rows whose Category is Storage/Inbound/Outbound Services(SPD) expand to show the per-transaction cost breakdown.

Action buttons (ILSAdmin / ILSCompanySuperAdmin only): Recalc Deduction Rate, Recalc Balance (each opens a customer-picker modal).

6.10.3 WMS Price Level

Navigation: WMS โ†’ Admin โ†’ WMS Price Level

Maintain customer-level price plans and their online/offline status. A tri-state switch (online / both / offline) at the top re-filters the grid. Row actions: Edit, Clone, Delete.

6.10.4 WMS Cost Break Down

Navigation: WMS โ†’ Admin โ†’ WMS Cost Break Down. (Expanding a WMS Transactions row opens a reduced inline cost-breakdown partial โ€” _WMSBreakdown for Inbound/Outbound Services, _StorageFeeBreakdown for Storage Services โ€” showing only the rate-component columns; the full WMS Cost Break Down page with header/qty/dimension columns is this separate Admin page.)

Detailed per-transaction breakdown showing every billing-rate component that contributed to a charge. Columns include TransactionId, Customer, Warehouse, Category, OrderRef, SKU, Qty, L/W/H, ActualWeight, DimWeight, BillingWeight, then 22+ rate-component columns (ByBox, ByContainer, ByLabel, ByModel, ByPackage, ByPallet, BySku, ByVolume, ByWeightUnit, TotalRate, RatePerQty, etc.). Pure audit/breakdown view โ€” no scan inputs.


7. TMS โ€” Transport Management System

The TMS section manages shipping labels, carrier billing, and transportation costs.

7.1 TMS Label Service โ€” Label List

Navigation: TMS โ†’ TMS Label Service

List, search, and act on shipping labels created through the TMS Label Service. Source of truth for label status and lifecycle.

Key columns (visible by default): TMS# (Label#), Cust.Ord#, To Name, Ship Carrier, Shipping Channel, Status, Charge, ItemTotalCost, Tracking#, Quote Date/Time, RefNo4. Warehouse, SKU, dims (Lร—Wร—H), Weight, and Created By exist as columns but are hidden by default (visible via the column chooser); the ILS CustCode is also hidden (the visible "To Name" is the ship-to).

Label Status badges: - Draft (1) โ€” warning (yellow) - Printed (2) โ€” green - Deleted (5) โ€” red - Voided (6) โ€” red - AddFault (7) โ€” warning

Actions (toolbar + per-row): - Create New / Create New (Single Qty Item) โ€” opens the label-create form. - LABEL (detail form) โ€” generate + print the label when no tracking exists yet; printing uses modes 1/2/3. - Reprint (per-row, detail form) โ€” tracking present and not voided (no explicit Status check; batch Reprint additionally requires Status=Printed). - Void (per-row) โ€” tracking present and not voided (batch Void additionally requires Status=Printed); moves label to Voided. - Delete (per-row) โ€” only when Status=Draft or Voided, and the label has no warehouse assignment (batch Delete is restricted to Status=Draft only). - Recalc API Rate (ILSAdmin only) โ€” batch re-quotes the carrier API rate. - Batch Label Create โ€” selected Draft, non-voided rows; a Channel picker modal (Auto Select / specific channel / no change) appears before processing.

Step-by-step (create + print): 1. Click Create New (or Create New (Single Qty Item)). 2. Fill customer, warehouse, carrier, service, package dims/weight, SKU. 3. Click Get All Rate (Quote Comparison tab) for a live quote. 4. Click LABEL โ€” label generates, status moves Draft โ†’ Printed. 5. Use Reprint to print again; Void to cancel the carrier shipment.

7.2 TMS Label Service โ€” Create/Edit Form

Navigation: TMS โ†’ TMS Label Service โ†’ Create Label (or row Edit)

Key fields: Customer Code (required), Warehouse (required, cascades from customer), Carrier (required), Service (cascades from carrier), Package Type, Length/Width/Height (cm/in toggle), Weight (kgs/lbs toggle), SKU, Qty, Declared Value, Insurance, Signature options, Reference / PO # / RMA, Ship-To address block.

Buttons: SAVE (Draft only), LABEL (generate + print label when no tracking), LABEL+BL (AIS only), Get All Rate (live quote, Quote Comparison tab), Get Rates (ILSAdmin only, RateShop tab), Close (panel X).

7.3 TMS Master Products

Navigation: TMS โ†’ TMS Master Products

Parent/product-template records that child TMS Products inherit dims/weight from. Fields: ItemName (required), ParentSku (required), WarehouseCodes, Channel, Lengthร—Widthร—Height (cm/in), Weight (kgs/lbs), IsActive.

7.4 TMS Products

Navigation: TMS โ†’ TMS Products

SKU-level products used on TMS labels. Fields: ItemName, Sku, Unit, dims/weight, and toggles: MultiPackage, IsDocument, IncludeBattery, NonCardboardBox, InsuredDeclared (reveals InsuredDeclaredValue), Codservice (reveals CodserviceValue).

7.5 TMS Price Group

Navigation: TMS โ†’ TMS Price Group

Define a pricing/billing plan with optional per-channel API surcharges; assigned to customers to drive TMS billing. Only TMSAdmin sees the Company dropdown; others get a hidden preset.

Type / BillingType: - Type 1 (Plan-based): shows "Price Level Plan(s)" multi-select (required). - Type 2 (Surcharge %): shows API Surcharge % field + optional per-channel surcharges grid. - Type 3 (Surcharge % + Additional Fee): also shows "API Additional Fee".

ApisurchargeByChannel toggles between a single % and a per-channel grid (Channel, API Surcharge %, Additional Charges). Other fields: Name, ChineseName, Code, Status, Currency, Deposite, IsDefault.

7.6 TMS Transaction

Navigation: TMS โ†’ Transaction

Read/audit log of TMS billing transactions generated when labels are created/voided; one row per financial event. Columns: TMS# (Label#), Customer, ServiceType, CustomerRef, Tracking, Sku, TransactionTime, Balance, Deduction, Recharge, Memo, Channel, CreatedBy. (Admins only: Recalc Deduction Rate and Recalc Balance toolbar actions.) View detail / Export โ€” no inline edit (system ledger).

7.7 Shipping Log

Navigation: TMS โ†’ Shipping Log

Read/audit list of every shipped label (label-level tracking history). Visible columns: Cust.OrdNo, SystemId, Sku, Channel, Tracking#, Date, Insurance Declared, Weight, Length, Width, Height, Zone, BaseRate, ResChg, FuelSrChg, DelSrChg, ServiceFee, AdditionalHandling, RemoteAreaSurcharge, NonProcessSurcharge, LargePackageSurcharge, PeakSurcharge, ExtraCharge, OtherSurcharge, RatePerQty, TotalCost. (Customer, Warehouse, Service, Status columns are hidden by default.) Actions: Filter (Status: All/Printed/Voided), Export, Import.

7.8 Shipping Log Import

Navigation: TMS โ†’ Shipping Log Import

Bulk-import carrier-charge rows via Excel template (/templates/TMSShippingLog.xlsx). The form label is "Carrier Charge file:" and the submit button is Import. Download Template โ†’ choose file โ†’ Import. (Exact template column set is defined in the xlsx template itself.)

7.9 Carrier Bills

Navigation: TMS โ†’ Carrier Bills

Per-batch carrier-charge reconciliation view. Columns: Batch#, Expand, Ref, Ref2, Tracking#, Tra.Amt, Net.Amt, Ship Date, Dev. Date, Actual Weight, Rated Weight, Meter#, Length, Width, Height, RecipientName, ShipperName, ZoneCode. Actions: Import, Export, Expand (per-batch charge detail โ€” Description + AmountDescription lines).

7.10 Adjustment

Navigation: TMS โ†’ Adjustment

Per-tracking charge reconciliation view comparing system cost to carrier-billed net cost (showing the Difference). Columns: FileName, Cust.Code, Tracking#, Length, Width, Height, Weight, ActLength, ActWidth, ActHeight, RtdWeight, Charged, NetCharge, Difference, ZoneC, ZoneA. Actions: Filter, Export, Expand (carrier-bill detail).

7.11 Shipping Fee Calculator

Navigation: TMS โ†’ Shipping Fee Calculator

Stand-alone multi-carrier rate-shop โ€” enter origin zip + dims + weight and compare carrier rates side-by-side without creating a label.

Fields: Shipping from (Warehouse dropdown), ZipCode (required), Length/Width/Height (In unit labels), Weight (Lbs), CmInSwitch toggle (In/Lbs vs CM/Kg โ€” converts entered values when toggled).

Results panel: One column-pair per available carrier (UPS, FedEx, USPS, Stamps, DHL, DHL Express, OnTrac, FurtherTry, ShipStation, Shipmax, Eccang, Shiphooray, Amazon, GLS Group, Neighbour, BatchShip, Passport, Shipber, IOTEasy, Mofang, etc.), each showing channel name + $ rate. Carriers that failed appear in an Errors accordion with response time in ms.

Step-by-step: 1. Pick warehouse, enter destination zip. 2. Enter package dims + weight; toggle CM/Kg if needed. 3. Click Calculate Shipping. 4. Compare rates; failed carriers appear in the Errors accordion.


8. Returns Management

Navigation: Returns

The Returns section manages the complete reverse logistics workflow. Every screen is driven by the returns status lifecycle:

Status Name Badge
1 Created primary
2 Received secondary
3 Inspected info
4 Departed warning
5 Request Dispose warning
6 Dispose Approved primary
7 Disposed danger

ReturnCondition (DB-driven labels): NA, New, Rework, Repair, Other, Scrap. ReturnTypes: 1=Over Stock (OverStock), 2=RTS, 3=Other.

8.1 Return History (List)

Navigation: Returns โ†’ Return History

Master list of all return records; entry point for batch actions and the disposal workflow.

Key columns: Checkbox (batch), Return #, Tracking, SKU, Model, UPC, Customer, Warehouse, Qty, Status badge, ReturnType, Condition, Added Date/By, Departed Date/By, Aging, SF (posted-to-Salesforce flag). (BOL is available in the row data but not shown as a column.) Filters: Deleted tri-state (Active/All/Inactive), SF tri-state. Expand action opens return documents for the row.

Row actions: Edit, Reprint Label, Open Document, Delete (Delete permission required), Expand.

Batch actions (role-gated): - Batch Inbound โ€” admins with isBatchInbound permission (even without a customer code). - Batch Req. Dis. โ€” customer users; rows where status < 5. - Batch App. Dis. โ€” admins; rows where status = 5 (RequestDispose). - Batch Disposal โ€” admins; rows where status = 6 (DisposeApproved). - Batch Return-to-Inbound โ€” rows where status โ‰  7 and no InboundCode.

Note: A "Batch Send" (Salesforce) action exists in the server code but its UI (column + button) is commented out and not exposed.

Disposal workflow (the core returns flow): 1. Customer user selects rows in the Batch Req. Dis. column โ†’ status moves to 5 (RequestDispose). 2. Admin switches to Batch App. Dis. โ†’ selects status=5 rows โ†’ status moves to 6 (DisposeApproved). 3. Admin uses Batch Disposal โ†’ selects status=6 rows โ†’ status moves to 7 (Disposed).

8.2 Return Receive

Navigation: Returns โ†’ Return Receive

Scan-receive a returned unit at the warehouse; creates a return record at status=Received (status=2) and prints a return label. Requires a warehouse user (user.WarehouseID > 0).

Key fields: Sku (required, auto-complete), Model, Color, UPC, SerialNo, OOB Code (OriginalOutboundCode), IlscustomerCode (required), WarehouseCode (required, read-only, cascaded), Condition (required), ErrorCode, Remarks, Address block (CompanyName, City, StateCode, Address1/2, ZipCode, Telephone, Email, PurchasedDate), Scan Photo / Upload Document.

Buttons: Save & Close (โ†’ Return History), Save & Next (fresh form). Label printing via modes 1/2/3.

Auto-populate: focusout on Serial (and SKU) โ†’ fills Sku/Model/UPC/OOB Code from the original outbound (Return Receive has no Tracking field).

8.3 Return Batch

Navigation: Returns โ†’ Return Batch

Create multiple return units against a common tracking/BOL (bulk-return scenario) without per-unit serial entry. Fields: Tracking, BOL, UPC, Sku (required), Product Description (Model), IlscustomerCode (required), WarehouseCode (required, defaults to your default WH), InboundSite, Quantity, Overstock checkbox, Remarks, file upload.

Buttons: Save & Close, Save & Next, Save & Dupe (clears ReturnId and SerialNo, keeps other fields).

8.4 Return Inspection

Navigation: Returns โ†’ Return Inspection

Inspect a returned unit (12-point pass/fail) and record condition outcome; advances status to Inspected.

Fields: "Return/SN#" lookup (blue-bg) with LookUp + C (clear) buttons; read-only after lookup: Sku, Model, Color, SerialNo, IlscustomerCode, WarehouseCode. 12 Pass/Fail radio groups: AppConnect (Yes/No), MotorPart, ControllerPart, BatteryPart, DisplayPart, ChargerPart, WiringPart, ThrottlePart, BrakesPart, LightPart, ChargeInPart, FramePart.

Step-by-step: 1. Scan/enter Return# or SN#; click LookUp โ€” read-only product fields populate. 2. Mark each of the 12 component groups Pass/Fail. 3. Save โ€” record advances to Inspected (status 3).

8.5 Return Import

Navigation: Returns โ†’ Return Import

Bulk-import returns via Handsontable grid (Excel paste or template upload). Columns: Tracking, SN, SKU (mandatory), UPC, Description, OBCode, Customer Code (mandatory), Warehouse Code (mandatory), InboundSite, BoxCondition, UnitCondition, HandleBar, Charger, Stem, Remarks, RMA, RMA PN.

Actions: Download Template (/templates/ReturnImport.xlsx), Import Excel, Save (with duplicate-serial check). Auto-populate via SKU/Tracking/SN focusout.

8.6 Return Aging

Navigation: Returns โ†’ Return Aging

Age-bucket analysis of returns to flag units sitting too long before disposal.

View modes (toggle via URL returnViewType): - Summary โ€” per-return rows: Return#, Status, Sku, Condition, Qty, Aging, ReturnType, Warehouse, Customer, dates, disposal approvals. - Aging โ€” per-SKU/warehouse/customer bucket rows: L60days, B60t89days, B90t120days, L120days, O120days, B120t180days, B180t360days, O360days, GrandTotal.

Step-by-step: Pick Summary or Aging โ†’ filter by Customer / Warehouse / Date range โ†’ review buckets (anything in B90t120days or above is a candidate for expedited disposal).

8.7 QC Scan / QC Batch / QC History / QC Pallets

Navigation: Returns โ†’ QC Scan / QC Batch / QC History / QC Pallets

QC scan workstation (scan units into QC batches), batch review, audit history, and pallet consolidation.

QC Scan fields: SKU (auto-complete), Description (Model), Customer Code, Warehouse Code (read-only), SN (no Tracking field), BoxCondition, UnitCondition, HandleBar/Charger/Stem/Remarks. (There is no Condition dropdown, Pass/Fail prompt, or Pallet # assignment on this screen; the only batch-related field is a hidden IsQcbatch.)

QC Scan workflow: 1. Open the QC scan page. 2. Scan/enter the SN โ€” system resolves SKU/Model/Customer/Warehouse from the original outbound. 3. Click Save & Close (โ†’ QC History) or Save & Next (fresh form).

8.8 Return Approval / Return Inventory / Return Pallets

Navigation: Returns โ†’ Return Approval / Return Inventory / Return Pallets

  • Return Approval โ€” approval workflow for return requests (review reason/condition, approve or reject, authorize refund/replacement).
  • Return Inventory โ€” inventory of returned items by status and condition.
  • Return Pallets โ€” manage pallets used for return shipments.

9. CRM โ€” Customer Relationship Management

Navigation: CRM

9.1 Create Sales Inquiry (SI Form)

Navigation: CRM โ†’ Create Sales Inquiry

Create a new sales inquiry (SI) for potential logistics services. The SI Form is also available as a public/anonymous page (the "Pelican Solutions" form) so external prospects can submit inquiries without logging in.

Header Information: Delivery date, Warehouse (ship-from, scoped to the user's company), Sales rep (assign from the Sales team), Order type โ€” Spot or Contract, Is bulk order flag, Carrier preference and special requirements, Get Quotation โ€” request a FedEx rate quote (with surcharge markups) directly from the form.

Ship-To Information: Customer name, email, phone, shipping address (address, city, state, zip), bill-to address (or "Same as Ship To").

Line Items: SKU/product code, Weight (metric tons) โ€” quantity is auto-calculated from weight (bags or totes per ton), Price per ton, Sales rep per line.

Output on submission: 1. Saves the sales inquiry to the database (flagged as a Pelican Solutions inquiry). 2. Generates a flattened PDF with all details. 3. Emails the PDF to the configured sales and/or operations notification recipients, with the inquirer's email appended. 4. Optionally redirects to the authenticated Sales Inquiry list.

Upload SI PDF: An uploaded carrier PDF can be parsed to auto-populate booking information.

9.2 Sales Inquiry

Navigation: CRM โ†’ Sales Inquiry

View and manage all sales inquiries. Filter by status, date range, or customer.

9.3 SI List

Navigation: CRM โ†’ SI List

Alternative sales inquiry list view with different filtering and display options.

9.4 Booking

Navigation: CRM โ†’ Booking

Manage freight bookings: - Create new bookings from approved sales inquiries - Track booking status - Link bookings to inbound shipments - Import bookings from external sources - Booking Order Deliver Excel โ€” Export a "Deliver Order / BK#" Excel sheet for a carrier booking. The export includes BOL #, REF #, shipper/forwarder, vessel details (shipping line, vessel name, voyage no., port of loading, destination, ETA, last free day), and a Load Schedule grid (Item, Lot, Container #, Totes, Commodity, Pallets) with totals. Available from the Inbound AIO screen for CRM users when a booking number is present.


10. Tools & Utilities

Navigation: Tools

10.1 ILS API

Navigation: Tools โ†’ ILS API

API testing and documentation interface for developers integrating with the ILS API.

10.2 Scheduler Dashboard (Hangfire)

Navigation: Tools โ†’ Scheduler Dashboard

Access the Hangfire job scheduler dashboard at /jobs. Shows Recurring Jobs (next execution time), Succeeded Jobs, Failed Jobs, Processing Jobs, and Queues.

Typically restricted to administrators.

10.3 Special Operations

Navigation: Tools โ†’ Special Operations

Advanced operational tools for special warehouse processes.

10.4 Generate Barcode Label

Navigation: Tools โ†’ Generate Barcode Label

Generate and print barcode labels for Products/SKUs, Bin locations, Pallets, and Shipments.

10.5 SignBOL POBulk

Navigation: Tools โ†’ SignBOL POBulk

Generate signed Bills of Lading for bulk purchase orders.

10.6 Shipping Fee Calculator

Navigation: Tools โ†’ Shipping Fee Calculator

(See ยง7.11 for the full multi-carrier rate-shop description.)

10.7 EDI Tools

10.7.1 940 Warehouse Shipping Order

Navigation: Tools โ†’ EDI โ†’ 940 Warehouse Shipping Order

View and manage EDI 940 (Warehouse Shipping Order) documents.

10.7.2 944 Warehouse Stock Transfer Receipt

Navigation: Tools โ†’ EDI โ†’ 944 Warehouse Stock Transfer Receipt

View and manage EDI 944 (Warehouse Stock Transfer Receipt) documents.

10.8 Inbound Quotation

Navigation: Tools โ†’ Inbound Quotation

Create and manage inbound freight quotations.

10.9 Shipping Quotation

Navigation: Tools โ†’ Shipping Quotation

Create and manage outbound shipping quotations.


11. Inventory Management

Navigation: Inventory

The Inventory section provides comprehensive inventory visibility and control โ€” 22 screens covering live state, history, bin management, adjustments, reserves, serials, counts, and valuation.

11.1 Inventory Product Now

Navigation: Inventory โ†’ Inventory Product Now

Live, current-state view of inventory by SKU. Shows what is on hand, received, shipped, reserved, in QC, and available right now. Four sub-views via a dropdown: Inventory / Lot / Bin+Lot / Aging.

Key columns: Customer, Sku (link to Products), UPC, Description, Type badge (P/S/A/C/M/F), Status (Active/Inactive), Warehouse, InBound (link), QtyRcvd, OnHand (modal link), InvBin, Unslotted, Serials (link to Serial Tracking), Outbound (link to OutboundAIO), QtyAdj (link to InventoryAdjustment), Rsvd (link to InventoryReserve), QC (link to QCHistory), ReqCncl (link to Outbound), Avail (modal link), Returns (link to ReturnInventory), QtyShpd, OrdShpd.

Filters/buttons: View dropdown, Avail toggle (Yes/All/No), Active/Inactive toggle, Filter, Export to Excel, Column chooser, Refresh. A Create Inventory Adjustment button appears inline when qtyAvail < 0 AND you have Approve permission.

Typical tasks: 1. Open Inventory Product Now. 2. (Optional) Use the View dropdown to switch sub-views. 3. Use the Avail toggle to filter to rows with available qty. 4. Click a SKU link to open the Product record; click OnHand/Avail numbers to open detail modals. 5. If a row shows negative available qty and you have approval rights, click "Create Inventory Adjustment". 6. Export to Excel for offline review.

11.2 Inventory Product AIO

Navigation: Inventory โ†’ Inventory Product AIO

All-In-One inventory snapshot combining current qty with rolling receive/ship rates per Day/Week/Month/Year. Used by analysts to see velocity alongside on-hand. Disabled for company Id == 7 (FDW).

Key columns: Customer, Sku, UPC, Description, QR/D (Qty Received per Day), QR/W, QR/M, QR/Y, QtyRcvd, OnHand, InvBin, Unslotted, Serials, Outbound, Adj, Rsvd, QC, ReqCncl, Avail, Returns, QS/D (Qty Shipped per Day), QS/W, QS/M, QS/Y, QtyShpd, OrdShpd, L30days, B60t31days, B90t61days, etc.

Drill-through links (Outbound โ†’ OutboundAIO, Rsvd โ†’ InventoryReserve, QC โ†’ QCHistory) open filtered views in new tabs.

11.3 Inventory Summary

Navigation: Inventory โ†’ Inventory Summary

High-level roll-up of on-hand qty grouped by Customer ร— Warehouse ร— Product Type. Click a QuantityOnHand value โ€” the column is a plain total (no drill-through link in the current view).

11.4 Inventory Product History

Navigation: Inventory โ†’ Inventory Product History

"As-of" historical inventory report. Reconstructs OnHand, Avail, Rcvd, Outbound, Adj, and QC quantities as they were at a user-specified date/time.

Key columns: SKU (link to Products), UPC, Dimension, WeightLbs, Description, Qty Inbound, Qty Rcvd, Qty OnHand (modal link), Qty Avail (modal link), Qty Outbound, Qty Adj, Qty QC, Customer, Warehouse.

Filter modal fields: Inventory as of Date/Time (defaults to today 23:59), Customer (multi-select), Warehouse (multi-select), numeric operators (eq/neq/lt/lte/gt/gte) for Inbound/Rcvd/OnHand/Avail/Outbound/Adj, SKU list (Handsontable grid for pasting multiple SKUs).

Click Qty OnHand or Qty Avail โ†’ opens a transaction-level detail modal (Type, TransCode, CustomerRefNo, TransDateTime, Qty, Remaining Qty), exportable to Excel.

11.5 Inventory Transaction History

Navigation: Inventory โ†’ Inventory Transaction History

Summary of inventory movements (received, shipped, adjusted) per SKU over a date range. Defaults to a 2-month range ending the last day of the previous month.

Key columns: Expand button, SKU, Warehouse, Customer, Total Qty, Received Qty, Shipped Qty, Adjustment Qty. Summary/Detail dropdown โ€” Detail opens in a new tab (per-transaction lines). Expand a row to see per-transaction line detail.

11.6 Inventory Bin (Bin Master)

Navigation: Inventory โ†’ Inventory Bin

Top tier of the three-tier Bin Management system (InventoryBinMaster โ†’ InventoryBin โ†’ InventoryBinLine). Manage bin locations per warehouse/customer, including bin type (Pick/Bulk/Area/Shelf), SKU count, and total qty.

Key columns: WarehouseCode, BinLocation (clickable link), Action Edit, BinTypeName, IlscustomerCode, Skus# (count), TotalQty (sum), Created/Modified by/date.

Buttons: Create (modal), Edit, Qty toggle (>0/All/0), Export Excel, Column chooser, Refresh. Click a BinLocation โ†’ opens child InventoryBin records.

11.7 Inventory Bin SKU

Navigation: Inventory โ†’ Inventory Bin SKU

Middle tier โ€” manage SKU-to-Bin assignments, including min/max qty per bin and bin type. The main screen for slotted inventory management.

Key columns: WH, batch-delete checkbox, Customer, SKU, Bin (link), BinType (Pick/Bulk/Area/Shelf), Action (Edit Min/Max Qty, Delete), CQty (current qty), MinQty, MaxQty, Line# (line count), Aging# (days), Created/Modified by/date.

Buttons: Create (modal), Batch Delete (confirm dialog โ€” "will delete BinMaster and all binline history"), Edit Min/Max Qty (modal โ†’ UpdateMinMaxQty), Qty toggle (Yes/All/No), Export Excel, Column chooser, Refresh. Click a Bin โ†’ opens line-level history.

11.8 Inventory Bin SKU Line

Navigation: Inventory โ†’ Inventory Bin SKU Line

Bottom tier all-in-one view of every InventoryBinLine event (initial, put-away, pick-from, pick-to, move, adjustment, scanned-out) across all bins/SKUs. The audit trail for bin movements.

Key columns: InventoryBinId, WarehouseCode, CustomerCode, Sku, BinLocation, Pallet#, BinLine Qty, Aging#, CreatedBy, CreatedDate, InventoryBinLineId, OutboundBatchPickId (MP#), Outbound/Inbound# (link), Type (Outbound/Inbound/MP Delete), BinLine AddedDateTime, BinLine AddedBy. The Outbound/Inbound# links open the source transaction in a new tab.

11.9 Inventory Snapshot

Navigation: Inventory โ†’ Inventory Snapshot

Capture point-in-time inventory snapshots for later comparison/reconciliation. On create, runs sp_sys_TakeInventorySnapshot to write current state into the snapshot tables.

Columns: InventorySnapshotId, CompanyName, WarehouseCode, Inv. Pivote link (to pivot view), Inv. Bin link (to bin snapshot view), Description, AddedBy, AddedDate.

Buttons: Create (modal โ€” Warehouse + Description), Delete (hard / permanent), Inv. Pivote, Inv. Bin, Export Excel, Column chooser, Refresh.

11.10 Aging Details

Navigation: Inventory โ†’ Aging Details

Aging of received inventory โ€” how long each received batch has been sitting, qty remaining, last outbound date. Identifies slow-moving stock.

Key columns: InboundCode, Sku (link to Products), Action button (per-row export), ContainerNo, Qty, QtyRemaining, Aging (days), TransactionDate, LastOutboundDate, Customer, Warehouse.

Filter fields: FilterDate, Warehouse, Customer, skuVal, ExcludeZeroRemainQty. Buttons: Filter, Export Excel (whole grid), per-row Export Aging Report by SKU, Column chooser, Refresh.

11.11 Inventory Adjustment Request โญ (Key Workflow โ€” Request Side)

Navigation: Inventory โ†’ Inventory Adjustment Request

Submit inventory adjustment requests (positive or negative) for approval. Approvers can batch-approve or batch-disapprove. Email notifications are sent on submission, approval, and disapproval. Approved requests are converted to actual InventoryAdjustment records.

Key columns: Checkbox (non-approved rows only), Action (Delete, Attachments paperclip), Sku, UPC, ASIN, CustomerCode (dropdown filter), Description, AdjQty, WarehouseCode (dropdown filter), AdjReason, PostingDate, Status (badge: Requested=info, Approved=success, Disapproved=danger), AddedBy/Date, EditedBy/Date, ApprovedBy/Date, DisApprovedBy/Date, DeletedBy/Date.

Buttons: Create (Save modal), Edit, Delete (confirm โ†’ soft delete), Batch Approve (only if you have the Approve permission), Batch DisApprove, Attachments (paperclip โ†’ image gallery), Filter, Export Excel, Column chooser, Refresh.

Save modal fields: SKU (auto-complete), WarehouseCode (dropdown), AdjQty, AdjReason (textarea, required), Attachments (multi-file โ€” images only, max 10MB each). Batch grid section: Handsontable (SKU / Cust.Code / WHCode / AdjQty / AdjReason) with a Batch Adjust button.

Validation on submit: - SKU must exist; warehouse must be applicable to that customer. - For positive adjustments without prior inbound: an InboundInitial chain is auto-created at approval time (the batch path rejects the row at submit; single-add skips the inbound check). - For negative adjustments: current available qty must be โ‰ฅ adj qty.

Specific error toasts: "Invalid SKU", "Warehouse not applicable to the Customercode", "Not Enough Available Inventory", "Current Available Qty is X cannot be less than Adjustment Qty Y.".

Email notification: On submit, an email is sent to approvers with deep links to approve/disapprove.

Typical tasks (single adjust): 1. Open Inventory Adjustment Request. 2. Click Create. 3. Type the SKU (autocomplete suggests matches); select the warehouse. 4. Enter AdjQty (positive for additions, negative for removals). 5. Enter a clear AdjReason (required). 6. (Optional) Attach photo evidence (damaged stock, mis-counts) โ€” multiple images up to 10MB each. 7. Click Save. The request appears with Status=Requested; approvers receive an email.

Typical tasks (batch adjust): 1. In the Save modal, scroll to "Batch Inv. Request Adjust". 2. Paste or type multiple rows into the Handsontable grid. 3. Click Batch Adjust โ€” each row validates independently; errors show as toasts.

11.12 Inventory Adjustment Approve โญ (Key Workflow โ€” Approve Side)

Navigation: Inventory โ†’ Inventory Adjustment Approve

Shows approved/effective inventory adjustments โ€” the result of approvals from the Request screen, plus any direct entries with auto-approve. Each row is the actual adjustment applied to inventory.

Key columns: Expand button (only if inventoryRequestAdjustmentId is set โ€” expands to show the original request row), InventoryAdjustmentId, Sku, UPC, ASIN, CustomerCode, Description, AdjQty, WarehouseCode, AdjReason, PostingDate, AddedBy/Date, RequestedBy/Date, ApprovedSource (badge: FrontEnd=info, Email=secondary).

Buttons: Create (auto-approve path), Edit, Delete (soft delete), Filter, Export Excel, Column chooser, Refresh.

Quick-create from Inventory Product Now: CreateAdjustmentFromInventoryProduct(productId, warehouseCode, qty) creates an adjustment with reason "Adjustment from Inventory Product" using Math.Abs(qty).

11.13 Inventory Balance Reconcile โญ (Key Workflow โ€” Reconcile)

Navigation: Inventory โ†’ Inventory Balance Reconcile

Detect discrepancies between Computed quantities (calculated from transactions) and Balance quantities (stored in the balance tables) for OnHand, OutBound, and Reserved. ILS staff (users with no IlscustomerCode) can apply a fix that overwrites the balance to match the computed values.

Key columns: ProductId (hidden), SKU, Warehouse, Computed OnHand, Balance OnHand, Discrepancy, Computed OutBound, Balance OutBound, OutBound Discrepancy, Computed Reserved, Balance Reserved, Reserved Discrepancy, Status (NEEDS_FIX=red danger badge, OK=success badge โ€” an orange row-background CSS class exists in the view but is dead code and is not applied).

Buttons: Apply Fix (visible only if ViewBag.IsAdmin == True โ€” ILS staff), Export Excel, Column chooser, Refresh. Apply Fix requires a confirm dialog then POSTs with the antiforgery token. Non-admin users receive "Only ILS staff can apply inventory balance fixes."

Typical tasks: 1. Open Inventory Balance Reconcile โ€” the grid auto-loads all discrepancies. 2. Filter/sort by Status=NEEDS_FIX to see only rows with discrepancies (marked with a red danger badge โ€” the orange row-background class is dead code and not applied). 3. Compare Computed vs Balance columns for each discrepancy type. 4. If you are ILS staff, click Apply Fix and confirm โ€” all NEEDS_FIX rows are corrected and re-loaded as OK. 5. Customer users who need a fix must contact ILS staff. 6. Export to Excel to document the discrepancy review for audit.

11.14 Inventory Reserve

Navigation: Inventory โ†’ Inventory Reserve

Hold inventory for specific purposes (customer hold, damage quarantine, pending shipment) by reducing available qty without removing on-hand. Reserve qty can be positive (reserve) or negative (release).

Columns: InventoryReserveId (hidden), ProductId (hidden), Sku, UPC (hidden), ASIN (hidden), Description, ReserveQty, WarehouseCode, ReserveReason, PostingDate, AddedBy/Date, EditedBy/Date.

Save modal fields: SKU (auto-complete โ€” validates via GetProductIdPerSKU), WarehouseCode, ReserveQty (required), PostingDate (defaults to today, read-only), ReserveReason (textarea, required).

Validation: For negative reserve qty, the sum cannot go below zero. For positive reserve qty, enough available inventory must exist (VwQtyAvailable0ByIds, or VwInventoryCombos for combo users). Failure โ†’ "Not Enough Available Inventory".

11.15 D2C Allocation

Navigation: Inventory โ†’ D2C Allocation

Direct-to-Consumer inventory allocations โ€” earmark stock for D2C channels. Functions similar to Inventory Reserve but is a separate bucket for D2C reporting.

Columns: D2callocationId (hidden), ProductId (hidden), Sku, Description, AllocationQty, WarehouseCode, AllocationReason, PostingDate, AddedBy/Date, EditedBy/Date.

Save modal fields: SKU (auto-complete), WarehouseCode, AllocationQty, PostingDate (defaults to today), AllocationReason. Validation mirrors Inventory Reserve (negative sums can't go below zero; positive needs sufficient available inventory).

11.16 Serial Tracking

Navigation: Inventory โ†’ Serial Tracking

Track every individual serialized unit from receipt to shipment. Each row is one serial code with its full lifecycle.

Key columns: SerialCode, SKU, Customer, Warehouse, Description, IBCode (link to InboundAIO), IlspalletId, ContainerNo, Rcvd Date, Type, OBCode (link to OutboundAIO), Cust.OrderNo, OBChannel, Shipped Date.

Filter: Warehouse, Customer (multi-selects). Initial page load does NOT fetch data โ€” you must apply a filter (or arrive via a deep link with sku, whcode, custcode, onhand query params; onhand=true shows only unshipped serials).

11.17 BlackList Serial

Navigation: Inventory โ†’ BlackList Serial

Maintain a blacklist of serial numbers that should not be received/shipped (counterfeit, warranty-voided, recalled). Supports single-add and Excel bulk import.

Columns: Batch Active checkbox (only on inactive rows), Batch Inactive checkbox (only on active rows), Serial#, Inactive (toggle โ€” calls UpdateInActiveSerial), InactiveBy, InactiveDate.

Buttons: Add (single), Import (Excel โ€” duplicates within the file are returned in an ErrorList), Batch Active / Batch Inactive (toggle for selected), Filter (Inactive: Yes/No/All), Export Excel, Column chooser, Refresh.

Validation: Single-add rejects duplicates with "Record already exist! Please try again with different values." Import skips duplicates and returns them in an ErrorList, showing a "Duplicate Found : โ€ฆ" success toast.

11.18 Create Pallet Label

Navigation: Inventory โ†’ Create Pallet Label

Generate pallet labels (PDF or direct-print to a WebSocket printer) for a SKU/UPC. For serialized products, opens a Handsontable grid to scan/enter serial codes per carton. Can merge into an existing pallet or create new.

Key fields: SKU# / UPC# (input + LookUp), ProductName (read-only), Received Date, Pallet Qty (# of Cartons), Bin#, Priority (checkbox, default on), Labels (# of labels to generate).

Buttons: LookUp (validates SKU/UPC โ€” populates ProductName, PalletQty, IsSerial flag, InboundCode, RemainPalletQty), Generate, Clear, Reprint (per-row in InvPallet History), Batch Delete.

Handsontable (for serial products): Columns Serial Code / Condition / Pallet#. Serial Code accepts QR codes (extracts serial via GetSerialNumberFromEmbeddedQR); Pallet# auto-populates for existing serials. Validates alphanumeric-only serials and duplicate-within-batch. Prompts to consolidate if all serials are from existing pallets.

Typical tasks: 1. Type a SKU or UPC and press Enter (or click LookUp). 2. Verify ProductName populates and PalletQty defaults from the product master. 3. Adjust Received Date, Pallet Qty, Bin#, Priority, and Labels count. 4. For serialized products: enter/scan serial codes into the Handsontable grid. 5. Click Generate. For non-serialized: confirm the alertify dialog. For serialized: the Pallet Confirm modal appears โ€” enter an existing Pallet# to merge, or leave blank for a new pallet. 6. The PDF opens (or auto-prints to the WebSocket printer if LabelPrinter == 3). 7. Review the InvPallet History sub-table; use Reprint if a label was lost.

11.19 Product Serial OnHand

Navigation: Inventory โ†’ Product Serial OnHand

List every serial currently on hand (or disposed) with its current bin location, pallet, and container. Used by warehouse staff to locate individual serialized units.

Key columns: SKU, batch dispose checkbox, SerialCode, ContainerNo, InboundCode (link), WhCode, CustCode, ReceivedDate, PalletId (link to PalletInfo), BinCurrent (link to InventoryBinSKU), BinCreated, BinPrevious, DisposedBy/Date (hidden by default).

Buttons: Batch Dispose (marks selected serials as disposed), Disposed toggle filter (yes/no), Filter, Export Excel, Column chooser, Refresh.

11.20 Inventory Movement History

Navigation: Inventory โ†’ Inventory Movement History

Audit trail of all picking movement sessions (MP = Movement Pick). Each row is one picking session started by a warehouse user โ€” what was picked, when, and when it was dropped at the destination.

Key columns: HistId, Action (Drop button โ€” only if not yet dropped AND has an OutboundBatchPickId), MPId (link to Scan Picking), Warehouse, MovementType, BinEventType, Skus, Description, MPQty, PickedQty, AddedBy, Added Date, DroppedBy, Dropped Date.

Filter: FromDate, ToDate (defaults to current month). Click the Drop action to open the ConfirmDrop modal and complete the drop; click MPId to open Scan Picking for that session in a new tab.

11.21 Inventory Count History

Navigation: Inventory โ†’ Inventory Count History

History of all inventory count events (cycle counts, full counts). Each row is one counted line.

Key columns: InventoryCountId, InventoryBatchId (hidden), WarehouseCode, CustomerCode, Sku, BinLocation, Quantity, Lot, CreatedBy (batch), CreatedDate (batch), CountLine AddedDateTime, CountLine AddedBy.

Filter: SKU, BinCode (passed via ViewBag from deep-links). Compare CountLine AddedDateTime against the batch AddedDate to see how long the batch took. Export to Excel for variance analysis.

11.22 Inventory Cost Report

Navigation: Inventory โ†’ Inventory Cost Report

Value inventory at cost as of a chosen posting date. Three report types: On Hand (0), Avail (1), On Water (2). Detail view shows individual on-hand records; Summary view (/InventoryOnHand/Summary) rolls them up. Uses stored procedure SPCalculateQtyCost if no rows exist for the given date/reportType.

Key columns (Detail): Expand button, Sku, UPC, IlscustomerCode, WarehouseCode, OnHandQty, TotalCost (currency). Summary: rolled up via VwInventoryOnHandSummaryReports.

Toolbar controls: PostingDate date-picker (defaults to today), QtyType dropdown (On Hand / Avail / On Water), View toggle (โœ“ Qty > 0, โ—ฏ All, โœ• Qty โ‰ค 0), NoCost toggle (โœ“ cost-only, โœ• all), ReportType dropdown (Total / Detail โ€” Detail opens Summary in a new tab).

Buttons: Expand (opens cost-breakdown partial), Filter, Export Excel, Column chooser, Refresh.


Cross-Cutting Workflow A โ€” Inventory Adjustment Request โ†’ Approve

The primary mechanism for correcting inventory quantities:

Step 1 โ€” Submit Request (Inventory Adjustment Request screen): Create a request (SKU + Warehouse + AdjQty + AdjReason, optional photos). On Save the system validates (SKU exists, warehouse applicable, positive needs prior inbound or will auto-create it on approval, negative needs sufficient available qty). The request saves with Status=Requested; approvers receive an email with deep links.

Step 2 โ€” Approve/Disapprove (same screen, Approve permission required): Filter to Status=Requested, tick checkboxes, click Batch Approve or Batch DisApprove. On approval each request is converted via ToInventoryAdjustment(); for positive adjustments without prior inbound an InboundInitial auto-creates the full inbound chain (Inbound + InboundLine + InboundReceive + InboundReceiveLine + WMS rate transaction); for negative adjustments AdjQty is capped at available qty; ApprovedBy/Date and ApprovedSource=FrontEnd are stamped; zero-qty adjustments are removed; if ReqCancel=true the linked Outbound is set to Cancelled.

Step 3 โ€” Review Effective Adjustment (Inventory Adjustment Approve screen): The approved adjustment appears with ApprovedSource=FrontEnd (or Email if approved via email link). Click Expand to see the originating request. The AdjQty is now reflected in Inventory Product Now's OnHand and Avail columns.

Alternative โ€” Direct Create: Users with the right permission can create an adjustment directly on the Approve screen (auto-approve path). Quick-create from Inventory Product Now: when qtyAvail < 0 and you have Approve permission, the "Create Inventory Adjustment" button calls CreateAdjustmentFromInventoryProduct.

Cross-Cutting Workflow B โ€” Inventory Balance Reconcile

Used when computed (transaction-derived) quantities disagree with stored balance quantities.

  1. Review Discrepancies โ€” the grid auto-loads all discrepancies; NEEDS_FIX rows are orange.
  2. Apply Fix (ILS staff only โ€” the button only renders when ViewBag.IsAdmin == True). Confirm โ†’ POSTs to ApplyFix โ†’ ReconcileBalanceAsync(fix: true). All NEEDS_FIX rows become OK.
  3. Document for Audit โ€” export the grid to Excel before and after the fix; attach both to the audit trail for SOX/internal compliance.

12. Parts Management

Navigation: Parts

12.1 Part Type

Navigation: Parts โ†’ Part Type โ€” Define and manage part type categories.

12.2 Original Parts

Navigation: Parts โ†’ Original Parts โ€” Manage original equipment manufacturer (OEM) parts catalog.

12.3 Product Parts

Navigation: Parts โ†’ Product Parts โ€” Define which parts make up which products (Bill of Materials).

12.4 Part Products

Navigation: Parts โ†’ Part Products โ€” View products by their component parts.


13. Shipping Management

Navigation: Shipping

13.1 Shipping Item Serial

Navigation: Shipping โ†’ Shipping Item Serial โ€” Track serial numbers for shipped items.

13.2 Shipping Carriers

Navigation: Shipping โ†’ Shipping Carriers โ€” View and manage carrier configurations.

13.3 Shipping Quote

Navigation: Shipping โ†’ Shipping Quote โ€” Create and compare shipping quotes from multiple carriers.

13.4 Packing Rule

Navigation: Shipping โ†’ Packing Rule โ€” Define packing rules for standard and cold storage shipments: box selection logic, weight limits, dimensional (DIM) factor rules, hazardous material handling rules.

13.5 Cold Storage Packing Rules

Navigation: Shipping โ†’ Cold Storage Packing Rules โ€” Specialized packing rules for cold chain/refrigerated shipments.


14. Invoice Management

Navigation: Invoice

14.1 Invoice

Navigation: Invoice โ†’ Invoice โ€” View and manage invoices generated by the system.

14.2 Check Dupe

Navigation: Invoice โ†’ Check Dupe โ€” Check for duplicate invoices before processing.


15. CMS โ€” Customer Management System

Navigation: CMS

15.1 Customer Name

Navigation: CMS โ†’ Customer Name โ€” View and manage customer records.

15.2 Customer Type

Navigation: CMS โ†’ Customer Type โ€” Define customer type categories.

15.3 Customer Service

Navigation: CMS โ†’ Customer Service โ€” Customer service case management.

15.4 Case One

Navigation: CMS โ†’ Case One โ€” Individual case management and tracking.

15.5 Product Registration

Navigation: CMS โ†’ Product Registration โ€” Register products for warranty and support tracking.


16. OOMS โ€” Omnichannel Order Management

Navigation: OOMS

16.1 Customers

Navigation: OOMS โ†’ Customers โ€” Omnichannel customer management across all sales channels.

16.2 Products

Navigation: OOMS โ†’ Products โ€” Omnichannel product catalog management.

16.3 OVendors

Navigation: OOMS โ†’ OVendors โ€” Vendor/supplier management for purchase orders.

16.4 PO (Purchase Orders)

Navigation: OOMS โ†’ PO โ€” Create and manage purchase orders to suppliers.

16.5 SO (Sales Orders)

Navigation: OOMS โ†’ SO โ€” Create and manage sales orders from customers.

16.6 Invoice

Navigation: OOMS โ†’ Invoice โ€” Omnichannel invoice management.


17. Advanced Search (EasyQuery)

Navigation: /AdvancedSearch (accessible from within the authenticated portal)

The Advanced Search feature, powered by EasyQuery, provides an ad-hoc query builder that lets you construct complex database queries through a visual interface โ€” no SQL knowledge required.

17.1 Features

  • Visual Query Builder โ€” Drag-and-drop columns, conditions, and sorting
  • Entity Framework Integration โ€” Queries run against the live database
  • SQL Manager โ€” Direct SQL query execution for advanced users
  • Export โ€” Export query results to Excel/CSV
  • Saved Queries โ€” Save frequently used queries for later use

17.2 How to Use

  1. Navigate to the Advanced Search page
  2. Select the data entity you want to query (e.g., Outbound, Inventory, Products)
  3. Drag columns into the query builder
  4. Add conditions (filters) โ€” e.g., "Status equals Shipped"
  5. Add sorting if needed
  6. Click Execute to run the query
  7. View results in the data grid
  8. Export results if needed

17.3 Example Queries

Use Case Query Setup
Find all shipped orders this month Entity: Outbound, Condition: Status = Shipped AND ShippedDate > [first of month]
Low stock alert Entity: Inventory, Condition: QtyAvailable < SafetyStockQty
Customer order history Entity: Outbound, Condition: CustomerId = [select customer]
Products without dimensions Entity: Product, Condition: Weight IS NULL OR Length IS NULL

18. User Activity & Audit Logs

18.1 User Activity

Navigation: Settings โ†’ User Permission โ†’ (user) โ†’ View Activity History (โ†’ /UserActivity/Index/{userName})

The User Activity page displays a log of user actions within the system using an AG Grid data grid: timestamp of each action, user, action type and description, affected records, IP address.

18.2 API Audit Log

Navigation: (Admin access required)

Complete audit trail of all API requests: controller and action called, HTTP method and request URI, request and response bodies, status code, timestamp and duration, client IP address and user agent.


19. Settings & Administration

19.1 Company Settings

Navigation: Settings โ†’ Company

Top-level company record โ€” system access flags, addresses, 2FA, scan config, product config, Mars token.

Key fields: CompanyName, LegalCompanyName, Phone, Email, LabelName, CompanyWebSite, DateBegin/DateEnd, TmsvoidCreditHoldDays, TmsvoidWaitDays (TMS credit-hold policy).

System Access toggles: SysIls (OMS), SysTms, SysX, SysCms, SysCrm โ€” license modules.

Addresses: Company Address (Addr1-3, City, State, PostalCode, Country); chkSameAddress copies to Legal + Customer addresses; Company Legal Address block; Company Address for Customer block.

2FA Configuration: TwoFamandatory toggle โ†’ reveals a list of unverified-email users (GetUnverifiedEmailUserByCompany โ†’ /Company/ErrorLog modal).

Scan Configuration toggles: WeightAutoCalc, AllowAll, OutboundScanOfSorted; AutoMpdeductBin dropdown; MpsplitSc toggle.

Product Configuration: CustomerProductDimensionLock, ProdSpecVerify.

General Configuration toggles: AutoSelectOutboundShipCarrier, AutoSelectObwarehouseByZone, AutoSelectInsurance, AutoSelectSignature, AllowInterWarehouseBinTransfer, AllowComboProducts, PalletActive, AutoInventoryAdjustment, Qc, Returns, IsMpsort, IsPicking, PwcomplexRequirement, Serials. DaszipTypeIds multiselect, InboundReceiveDefault, Returnstep.

Mars Configuration: MarsToken (readonly) + Generate Token.

Step-by-step: 1. Open Company; verify Name + Contact info. 2. Toggle the System Access flags to license modules. 3. Configure Scan/Product/General toggles per operating policy. 4. If enabling 2FA, review the unverified-email user list before enforcing.

19.2 Customer Management (ILSCustomer)

Navigation: Settings โ†’ Customer Management

Edit a customer record across 4 tabs.

Tab 1 โ€” Customer Details & Configuration: IlscustomerCode (editable on create, readonly on edit; ILSAdmin/ILSCompanySuperAdmin get a batch-update icon โ†’ BatchUpdateCustomerCode), Name, FullName, Phone, Email, AccountNumber, BusinessNumber, EdiAccountId, OpenBalance/Balance (readonly), LowBalance, CreditLimit, PatentIlscustomerCode, LabelPreLoad, DateBegin/DateEnd, PrintPackingSlip, ObcodeNum, RcvQtyOverInbQty, DisableExport. Toggles: IbscanReq, InboundFECreate, ObscanReq, OutboundFECreate, OutboundScanFifo, EbayMerchant, SerialEnabled, Palletize, AllowDecimalQty, Status, ApicreateOverride, CustomerApienable, DropShipDirect, SplitTransaction, PreferredShippingChannel, OutboundParcelAddressValidate, DefaultMetric, AllowNegativeAvail, InOutReport, CancelApproval. Billing Address, HAZMAT Emergency Contact, Shipping Address (with UseShipAddressAsParcelSender). Tmsonly dropdown, FedexSignature, Upssignature, PriceLevelId, WmspriceLevelD dropdowns. ApiselectionType, IsAutoSelectChannel. Channels multi-checkbox (Select All). Warehouses multi-checkbox (Select All).

Tab 2 โ€” Auto Emails: EmailPerTransaction, UseSendGrid, EmailListPerTransaction, RcvDailyReport, RcvDailyReportEmail.

Tab 3 โ€” Transaction History: CustomerTransaction (read-only ledger).

Tab 4 โ€” Store Configuration: โ†’ /CustomerStoreSetup/IndexPerCustomer (see ยง19.7).

ILSCustomerViewOnly disables all inputs.

Step-by-step: 1. Open the customer; confirm code + name + contact. 2. Set credit limit + low balance + billing/shipping addresses. 3. Toggle scan/split/serial/palletize behavior per contract. 4. Assign Channels + Warehouses (Select All per contract). 5. Move to Tab 2 for email reporting, Tab 4 for Store Profiles.

19.3 API Credentials

Navigation: Settings โ†’ API Credentials

Manage integration credentials used by external callers. Save form fields: Name, Company, Customer, Warehouse(s) multi-select, ClientId (masked, readonly, eye toggle), ClientSecret (masked, readonly, eye toggle), LoggingType, OperationType, IsProduction, IsActive, DisableAutoHomeDelivery. Index grid columns: IsProduction, IsActive, Name, CustomerCode, CustomerName, CompanyName, Warehouse, AddedBy/Date, EditedBy/Date. Actions: Edit, Regenerate (โ†’ RegenerateCredential), Delete, Save.

19.4 Carrier Management

Navigation: Settings โ†’ Carrier Management

Maintain the carrier master record (minimal: CarrierName + Description). The carrier is referenced by channels, labels, and rate-shop.

19.5 Channel Management

Navigation: Settings โ†’ Channel Management

Define a shipping channel that binds a Carrier + Service + API Profile + billing rules; channels drive label creation and rate-shop.

Key fields: Name, Code, CompanyId (disabled), CarrierId (required, cascade source), CarrierServiceId (cascade), ApiprofileIds (multi-select cascade), ServiceType, Currency, WrapperWeight, WrapperWeightUnit, BillingWeightUnit, BillingDimentionUnit, MinTransitDay, MaxTransitDay. Toggles: MultiPackages, VolumeRequest, InstantPay, DglabelAck, Active, ValidatePhone, ValidateAddress. LogisticProviderUrl, PackagingRules, Notes.

Step-by-step: 1. Click Add. 2. Select Carrier โ†’ Service cascades; pick API Profile(s). 3. Set ServiceType, Currency, transit day range, toggles. 4. Save โ€” channel is available to TMS label creation and rate-shop.

19.6 Warehouse Management

Navigation: Settings โ†’ Warehouse Management

Maintain a warehouse record โ€” codes, type, time zone, address, sort/MP behavior, and Box-Close rate-shop channels.

Key fields: Name, WarehouseCode (editable on create only), WarehouseCode4 (4-char, auto-derived from WarehouseCode first 4 chars on focusout), WarehouseCodeC, ChineseName, TimeZoneId, Description, WarehouseType (shows CnfreightId only when Domestic), Status, MpsortOrder, CompanyIds3Pl (disabled unless ILSAdmin). Toggles: AutoSelect, MpautoCreateBySchedular, DisableConsolidatedMpcheck, MpautoDeductWarehouse, BoxCloseRateShop (reveals ChannelIds multi-select), IsVirtual, AllowAll (only visible when the parent company's AllowAll flag is already on). ContactName, AddressLine1/2/3, City, State (filtered by Country via GetStatePerCountry), Country, Zip, Zip4, Phone, Email.

Step-by-step: 1. Click Add; enter Name + WarehouseCode (4-char code auto-fills). 2. Pick WarehouseType + TimeZone; set sort order. 3. Configure MP/Sort toggles; if BoxCloseRateShop is checked, select the Channels used for rate-shop on box close. 4. Enter address; State dropdown re-filters when Country changes. 5. Save.

19.7 Store Profiles (incl. Store Channel Mapping + Fallback Customer)

Navigation: Settings โ†’ Customer Management โ†’ (customer) โ†’ Store Configuration tab, or Settings โ†’ Store Profiles

Configure each external store (eBay, Shopify, ShipStation, etc.) โ€” credentials, sync toggles, channel mapping, fallback customer, order/invoice sync.

Key sections: - Customer (dropdown, readonly if preset), Name, StoreType (drives field visibility + labels via HideShowByStoreType). - Store Credentials: ClientId, ClientSecret (eye toggle), Token (eye toggle), RefreshToken (eye toggle), StoreId, Merchant (BestBuy/HomeDepot). - Visible toggles: IsActive, MatchSplitQty. (IsValidated is a hidden field set by the Validate button โ†’ ValidateStoreProfile.) - Store Integration Settings toggles: ProductSync, InventorySync, OrderSync, OrderAcknowledge, RequestLabel, ShipmentStatusSync. ShipConfirmDelayHrs, InventorySyncThresholdQty. - Store Channel Mappings Handsontable: Id, External Channel Code, Channel (dropdown), End Customer (dropdown), Added/Modified By/Date. - Fallback Customer Handsontable: ILS Customer Code column (dropdown) โ€” comma-joined into ExtProductIlsCustomerIdsData. - Order Sync Settings (visible when OrderSync checked): OrderType (OMS/TMS), OrderChannel (Parcel/Dropship/POBulk), DefaultWarehouse, ShippingMethod, PreGenEnabled toggle. - Invoice Sync Settings (NetSuite/TrueCommerce only): AccountName, AccountNumber.

StoreProviderType list (each drives which credential fields show/hide): ShipStation, EBay, WooCommerce, CommerceHub, TrueCommerce, Shopify, Eccang, Temu, NetSuite, Teapplix, Veeqo, AmazonSellingPartner, AmazonVendorDirect, Odoo.

Step-by-step: 1. Open a customer; go to Store Configuration tab; click Add Store Profile. 2. Choose StoreType โ€” credential fields re-label based on provider. 3. Fill ClientId/Secret/Token; click Validate to confirm the API connection. 4. Toggle which syncs to enable (Product/Inventory/Order/Acknowledge/Label/ShipmentStatus). 5. In the Channel Mappings grid, map each External Channel Code to an internal Channel + End Customer. (Consumed by scheduler jobs โ€” Amazon, Temu โ€” during outbound creation; unmapped codes fall back to the store's configured shipping method. AMZ store profiles support sales-channel-specific end-customer selection.) 6. In the Fallback Customer grid, list ILS Customer Codes used when the product can't be resolved directly (resolved to IDs at save time). 7. If OrderSync is on, set OrderType + OrderChannel + DefaultWarehouse + ShippingMethod. 8. Save.

19.8 EDI Profiles

Navigation: Settings โ†’ EDI Profiles

Configure EDI X12 connection (credentials, host paths for 850/855/856/810/940/943/944) per customer.

Key fields: Customer (readonly if preset), ProfileName, EdiConnectionType, IsActive, Host, Port, Username, Password (eye toggle), SenderId, ReceiverId. EDI Path Settings Handsontable: Process Type (dropdown โ€” duplicate validator), Path (required), Archive Path, Active checkbox, Added/Edited By/Date. Validate button โ†’ ValidateEdiProfile. Order Sync Settings: OrderType (OMS/TMS), OrderChannel (Parcel/Dropship/POBulk), DefaultWarehouse, ShippingMethod.

Step-by-step: 1. Click Add; pick customer + name the profile. 2. Enter Host/Port/User/Password + SenderId/ReceiverId. 3. In the Path grid, add one row per Process Type (850, 855, 856, 810, 940, 943, 944); set Path + Archive Path. 4. Click Validate to test the connection. 5. Save.

19.9 Enum Management

Navigation: Settings โ†’ Enum Management

Create a new enum type used as a dropdown source elsewhere. Fields: EnumName. Save โ€” the enum appears in Enum Values management to add the individual enum rows.

19.10 Alert Configuration

Navigation: Settings โ†’ Alert Configuration

Define an in-app alert (banner) with Title (textarea), Message (textarea), Url, IsActive checkbox. Tick IsActive to display; Save.

19.11 Asana Integration

Navigation: Settings โ†’ Asana Integration

Maintain Asana profiles used for task sync. Columns: ProfileName, AuthToken, Client Secreate (code field ClientSecreate), ClientToken, IsActive, AddedBy, AddedDate. Edit the active profile; paste AuthToken/Client Secret/ClientToken from Asana; set IsActive; Save.

19.12 User Management (Access)

Navigation: Settings โ†’ User Permission

Manage user accounts โ€” create/edit/clone/delete, view activity, assign roles, company, warehouse, customer.

Key columns: UserName, FirstName, LastName, Action: Edit (GetUserInfo โ†’ UpdateDetail), Delete (only when lastLoggedInActivity == null), View Activity History (โ†’ /UserActivity/Index/{userName}), Clone. Roles (link โ†’ RoleActionHierarchy modal), CompanyName, WHCode (link), ILSCustomerCode (link), LastLoggedInActivity, CreatedDate, CreatedBy, DefaultPageStr, DefaultPrinterStr, User Status (Active=success / Inactive=danger badge), IsOnline (Online / Offline badge).

Filters: ddILSCustomerForUserPermission dropdown (visible to ILSAdmin / ILSCompanyAdmin / TMSAdmin), Status tri-switch (Active / All / Inactive). Loadout opens SplitView or PopupView modal (PageLayoutType).

Step-by-step: 1. Open User Permission; use the customer filter + Status filter to narrow the list. 2. Click Edit to open the user detail modal โ€” set Name, Email, Roles, Company, Warehouse, Customer, DefaultPage, DefaultPrinter. 3. For a new hire, click Clone on a similar user; rename and adjust roles. 4. Delete is only available if the user has never logged in (lastLoggedInActivity is null). 5. Click View Activity History to audit login/page activity.

19.13 Roles & Permissions

Navigation: Settings โ†’ Role Permission

Maintain roles and the roleโ†’action hierarchy that drives menu visibility and page permissions.

Key columns: Name, Action: Role Action (โ†’ RoleActionHierarchy modal), Clone (โ†’ CreateDuplicateRoleName prompt), Edit, Delete. Edit/Delete are only available when (row.isSystemDefault AND ILSAdmin/SuperAdmin) OR !row.isSystemDefault; otherwise a View (eye) icon is shown. User# (link to /Access/Index?id={id} โ€” lists users in that role).

Step-by-step: 1. Open Role Permission. 2. To customize a role: click Role Action to open the hierarchy modal; tick/untick actions per controller. 3. To start from an existing role: click Clone; enter a new role name. 4. Edit/Delete of system-default roles is restricted to ILSAdmin / SuperAdmin; non-system-default roles can be edited by anyone with permission.


20. Reports & Exports

20.1 Available Reports

Report Location Description
In-Out Report OMS โ†’ In-Out Report Inbound/outbound activity summary
Inventory Cost Report Inventory โ†’ Inventory Cost Report Inventory valuation (On Hand / Avail / On Water)
Aging Details Inventory โ†’ Aging Details Days-in-stock analysis
Inbound Lot Report OMS โ†’ Inbound โ†’ Inbound Lot Report Lot traceability
Shipped History OMS โ†’ Outbound โ†’ Shipped History Completed shipments
Storage Fee History WMS โ†’ Admin โ†’ Storage Fee History Storage charges
WMS Cost Break Down WMS โ†’ Admin โ†’ WMS Cost Break Down Detailed cost analysis (22+ rate components)
WMS Transactions WMS โ†’ Admin โ†’ WMS Transactions WMS billing ledger
Return History Returns โ†’ Return History Return transactions
Return Aging Returns โ†’ Return Aging Return resolution time / age buckets
Carrier Bills TMS โ†’ Carrier Bills Carrier invoice reconciliation
Shipping Log TMS โ†’ Shipping Log Label activity log
Serial Tracking Inventory โ†’ Serial Tracking Per-serial lifecycle (receipt โ†’ shipment)
Product Serial OnHand Inventory โ†’ Product Serial OnHand On-hand serials by bin/pallet

20.2 Exporting Data

Most data grids support exporting to Excel: 1. Apply desired filters to the data grid. 2. Click the Export or Excel button. 3. The file downloads automatically to your browser.

20.3 Power BI Integration

If configured, Power BI reports are available at OMS โ†’ Charts โ†’ PowerBI.


21. Multi-Language Support

The ILS Portal supports seven languages. The interface automatically adapts based on your preference.

21.1 Changing Language

Method 1 โ€” URL Parameter: Add ?culture=xx-XX to any URL: - ?culture=zh-CN โ€” Simplified Chinese - ?culture=zh-TW โ€” Traditional Chinese - ?culture=es-US โ€” Spanish - ?culture=ko-KR โ€” Korean - ?culture=ja-JP โ€” Japanese - ?culture=hi-IN โ€” Hindi

Method 2 โ€” Browser Setting: Set your browser's preferred language. The portal detects this automatically.

21.2 What Gets Translated

Navigation menu labels, page titles and headings, button labels and form fields, status labels and messages, data grid column headers.

Customer-entered data (product names, addresses, notes) is NOT automatically translated.


22. Troubleshooting & FAQ

22.1 Common Issues

Issue Solution
Cannot log in Verify you're using an authorized Google account. Contact your administrator.
Page shows "Access Denied" Your role may not have permission. The menu item is hidden entirely if you lack access โ€” contact your administrator.
Data grid is empty Check your filters. Try clearing all filters and searching again. Some screens (Serial Tracking) require a filter before loading.
Export not working Check your browser's pop-up blocker. Allow pop-ups for the ILS Portal.
Slow page loading Large data sets may take time. Try narrowing your date range or filters.
Label not generating Verify the order has a valid shipping address and the carrier/channel is configured. Check LabelPrinter setting.
Scan screen fields locked The underlying document (inbound, MP batch, count batch) is closed/received/verified, or you lack Update/Create permission โ€” the screen is read-only.
"Not Enough Available Inventory" On Inventory Reserve, D2C Allocation, or QC Scan โ€” available qty is insufficient for the requested qty.
Inventory discrepancy Use Inventory Balance Reconcile to detect and (ILS staff) fix discrepancies.
Real-time dashboard not updating Check your internet connection. The dashboard requires a stable connection for SignalR.
Scanner submits the form On QC Scan the Enter key is intentionally suppressed so a scanner carriage-return submits the field, not the form.

22.2 Frequently Asked Questions

Q: How do I reset my password? A: The ILS Portal uses Google OAuth. Password resets are handled through your Google account.

Q: Can I use the portal on my phone or tablet? A: Yes, the portal is responsive. Barcode scanning works best on desktop with a physical scanner, but several scan screens expose a camera-scanner button (Html5Qrcode) for tablet scanning.

Q: How do I void a shipping label? A: TMS โ†’ TMS Label Service, find the label (Status=Printed), click Void. Not available for all carriers or after a certain time period.

Q: How often is inventory updated? A: Inventory is updated in real-time for most operations. The WMS Dashboard updates via live SignalR feed.

Q: Can I import data from Excel? A: Yes โ€” Container Tracking, FedEx Bills, Return Import, Shipping Log Import, OB Ship Plan, PO Bulk EC, BlackList Serial, Inventory Adjustment (batch grid), and Store/EDI Profile mappings all support Excel import.

Q: How do I get access to a new module? A: Contact your system administrator. Module access is controlled by your user role.

Q: Why can't I see the "Batch Approve" / "Batch DisApprove" buttons on Inventory Adjustment Request? A: Those buttons render only if you have the Approve permission for that controller. Without it, the buttons are hidden by SecureContent.

Q: Why can't I apply an inventory balance fix? A: The Apply Fix button only renders for ILS staff (users with no IlscustomerCode). Customer users must contact ILS staff to apply a fix.

Q: What should I do if I find a bug? A: Report the issue to your system administrator with: the page URL, steps to reproduce, screenshots, and any error messages.


23. Glossary

Term Definition
3PL Third-Party Logistics โ€” A provider of outsourced logistics services
AIO All-In-One โ€” A comprehensive view combining all statuses/filters
ASN Advance Shipping Notice โ€” EDI 856 document notifying of incoming shipment
BOL Bill of Lading โ€” Document issued by a carrier acknowledging receipt of cargo
Channel A shipping configuration binding Carrier + Service + API Profile + billing rules
DIM Factor Dimensional weight factor used to calculate shipping costs based on package volume
Dropship Order fulfillment method where goods ship directly from supplier to customer
EDI Electronic Data Interchange โ€” Standardized electronic format for business documents
ETA / ETD Estimated Time of Arrival / Departure
FBA Fulfillment by Amazon
FIFO First In, First Out โ€” Inventory rotation method
Hazmat Hazardous Materials โ€” Items requiring special handling during shipping
ILS Integrated Logistics Solution
Inbound Goods coming into the warehouse from suppliers or returns
LabelPrinter Per-user/per-warehouse setting: 1=PDF, 2=Direct, 3=WebSocket print service
Lot Number Batch identifier for tracking groups of products
LPN License Plate Number โ€” a pallet/container identifier used in receiving
MP Master Pick โ€” Consolidated pick list for multiple orders
MRP Material Requirements Planning
OMS Order Management System
Outbound Goods leaving the warehouse to customers
Put-Away Process of moving received goods to storage locations
QC Quality Control โ€” Inspection of products for defects or damage
RMA Return Merchandise Authorization
RP# Return Pallet batch number
SecureContent Role-gated wrapper that hides menu items/buttons you lack permission for
SI Sales Inquiry โ€” Request for logistics service pricing/availability
SKU Stock Keeping Unit โ€” Unique product identifier
TMS Transport Management System
Transload Transferring cargo from one transportation mode to another
WMS Warehouse Management System
X12 ANSI standard for EDI document formats
ZPL Zebra Programming Language โ€” Used for thermal label printers

Document Information

Field Value
Document Version 26.07.18.2
Application Version ILS Portal 26.07.18.0
Last Updated July 18, 2026
Document Owner ILS Portal Team
Classification Internal Use

For questions, support, or to report issues, please contact your system administrator or the ILS Portal support team.