Item Master Module for Comprehensive Inventory Management
- Item List View:
- Datatable Display: The module must display a datatable of all added items, showing critical information like Item Name, SKU, Billing Name, SKU Unit, HSN Code, Tax%, Purchase Price, and DP/MRP/Selling Price (from the primary price slab).
- Data Navigation: Standard datatable features must be present: sorting on columns, a search bar, number of entries dropdown (e.g., show 100), and pagination.
- Action Menu: Each row should have an action menu (three-dot menu) to allow editing an item or managing its status. A 'download' button is required for full or filtered list export.
- Add/Edit Item Form - Multi-Tab Structure:
- Clicking "Add Item" or "Edit Item" should open a full form view with three clear tabs: 'Item', 'Unit', and 'Catalogue'. The view must show which organization/team is managing the item list (e.g., "QA Team - (Admin) - (QA Sons)").
- Tab 1: Item Details Configuration ('Item' Tab):
- Mandatory Fields: Item Type (choose from 'Finished Good (Trading)', 'Raw Material', etc., with mandatory selection), Item Name, SKU, Billing Name, and Tax (dropdown with configured tax rates) are mandatory.
- Configurable Parameters: HSN Code, Purchase Price (excluding GST), and a Parent Group must be editable. Dropdowns with an 'Add New' function for SKU Base Unit, Category, and Brand must be available. Re-order Level and Vendor Delivery Days are editable. Status (Active/Inactive) can be set.
- Item Logic: Checkboxes for specific item characteristics must be present: Is SR No. Required, Is Batch No. Required (when selected, indicates batch-wise management), Is Combo, Is Custom Item. Selecting 'Is Batch No. Required' implies item management by batch.
- Tab 2: Multi-Level Dynamic Pricing ('Unit' Tab):
- Base Unit Pricing: The tab must pre-load with the designated SKU Base Unit (CF is fixed to 1). A dynamic nested table must allow defining multiple price slabs based on quantity ranges ('Qty From' and 'Qty To') and their corresponding 'Sale Price (Inc. Gst)', 'DP Price (Inc. Gst)', and 'MRP (Inc. Gst)'. An 'Allow this unit in sale order' checkbox is required. Rows in the slab table must have a delete action.
- Secondary Unit Pricing: The user can configure dynamic pricing for higher-order units (e.g., Box) linked to the base unit (e.g., Bottle) using an 'Add new Unit' button. For each secondary unit:
- User enters 'Order Unit' (editable).
- User defines 'Conversion Factor' (CF) relative to the SKU base unit (e.g., 1 Box = 24 Bottles, CF=24).
- A separate dynamic nested price slab table is generated for that specific unit, allowing independent prices based on quantity slabs for that unit.
- All these dynamic price slabs across units must be saved when the main form is saved.
- Prices shown in the main Item List datatable can reflect primary prices or a consolidated view. The "MRP(Incl Tax)" column in the list datatable should show "More" if multiple slabs are defined, opening a popup summarizing all dynamic slabs across all units.
- Tab 3: Catalogue & Multimedia ('Catalogue' Tab):
- Catalogue Identification: A checkbox 'Is Featured' should be available.
- Media Uploads:
- Must support multiple image uploads ('Choose Files' for input), showing thumbnails with a delete (X) icon for already uploaded images.
- Must support one PDF file upload (e.g., product catalog or tech sheet).
- Must support a specific field to upload a video URL (restricted to YouTube/Google Drive URLs).
- Detailed Content: A full Rich Text Editor (RTE) description field must be provided for detailed marketing or technical specifications.
- Persistent Saving: The "Save" button must be persistent at the bottom of the multi-tab form, ensuring all data entered across all three tabs (item details, dynamic pricing, and catalogue) is saved simultaneously.