Skip to main content

Overview

Invenicum’s inventory management system uses a flexible three-tier hierarchy: ContainersAsset TypesItems This structure lets you organize everything from IT equipment to collectibles with custom metadata tailored to each category.

Containers

Top-level organizational units (warehouses, rooms, projects)

Asset Types

Categories with custom field definitions (laptops, chairs, books)

Items

Individual inventory entries with unique data

Core Concepts

Containers

Containers are the highest organizational level. Think of them as physical locations or logical groupings. Examples:
  • Office Building A
  • Warehouse - Electronics
  • Client Project: Acme Corp
  • Personal Collection
Containers can be marked as Collections to enable special tracking features like “items owned” vs “items desired” for hobbyist use cases.
Creating a Container:
1

Navigate to Containers

From the main dashboard, click “New Container” or use the sidebar menu.
2

Set Basic Info

Enter a name and optional description. Toggle “Is Collection” if tracking collectibles.
3

Configure Data Lists

Optionally create reusable dropdown lists for custom fields (see below).
Containers support data lists—predefined value sets for custom fields (lib/data/services/container_service.dart:117):
// Example: Creating a "Condition" data list
ContainerService.createDataList(
  containerId: 1,
  name: "Condition",
  description: "Item condition ratings",
  items: ["Mint", "Excellent", "Good", "Fair", "Poor"]
)

Asset Types

Asset types define what kind of items you’re tracking and what data to collect for each. Key Features:
  • Custom Field Definitions: Text, numbers, dates, dropdowns, images
  • Serialization Toggle: Enable unique identifiers for trackable items
  • Visual Icons: Upload images to distinguish types at a glance
  • Collection Fields: For collectibles, designate fields for “quantity owned” vs “quantity wanted”
Field Definition Example:
[
  {
    "id": "manufacturer",
    "label": "Manufacturer",
    "type": "text",
    "required": true
  },
  {
    "id": "purchase_date",
    "label": "Purchase Date",
    "type": "date",
    "required": false
  },
  {
    "id": "condition",
    "label": "Condition",
    "type": "list",
    "listId": 5,
    "required": true
  }
]
Use list fields tied to container data lists for consistent data entry across your team.
Creating an Asset Type:
1

Select Container

Navigate to the container where this asset type will live.
2

Add Asset Type

Click “New Asset Type” and enter a name (e.g., “Laptops”, “Office Chairs”).
3

Define Fields

Add custom fields that match the metadata you need to track.Common patterns:
  • Electronics: Model, Serial Number, Warranty Date
  • Furniture: Dimensions, Color, Material
  • Books: ISBN, Author, Publication Year
4

Upload Icon (Optional)

Add a representative image to visually identify this asset type.

Items

Items are the actual inventory entries. Each item belongs to exactly one asset type within a container. Core Fields:
  • Name: Required, searchable
  • Description: Optional rich text
  • Barcode: Supports scanning and QR code generation
  • Quantity: Track stock levels
  • Min Stock: Set reorder thresholds
  • Location: Optional physical location reference
  • Custom Field Values: Data matching the parent asset type’s schema
  • Images: Multiple photos with alt text
  • Market Value: Track pricing and history
Creating an Item:
1

Navigate to Asset Type

Go to Container → Asset Type → “Add Item”
2

Fill Core Fields

Enter name, description, quantity, and barcode if applicable.
3

Add Custom Data

Complete the custom fields defined by the asset type.
Use the AI Assistant to auto-fill from a product URL!
4

Upload Images

Attach photos. The first image becomes the primary thumbnail.
5

Set Market Value (Optional)

Enter current market price. Invenicum can sync this with UPC databases for barcode-enabled items.
6

Save

Click “Create Item” to add it to your inventory.

Advanced Features

Batch Import

Import hundreds of items at once from CSV or Excel files (lib/data/services/inventory_item_service.dart:264):
  1. Prepare a spreadsheet with columns matching your asset type’s fields
  2. Navigate to the asset type
  3. Click “Import” and upload your file
  4. Map columns to fields
  5. Review and confirm
Batch imports cannot include image uploads. Add images individually after import.

Item Cloning

Duplicate similar items quickly (lib/data/services/inventory_item_service.dart:81):
  1. View an existing item
  2. Click “Clone”
  3. Images and custom fields are copied
  4. Adjust unique fields (name, barcode, quantity)
  5. Save the new item

Low Stock Alerts

Set minStock thresholds per item. The dashboard shows items below their minimum (lib/data/models/dashboard_stats.dart:10). Search across all containers and asset types (lib/data/services/container_service.dart:41):
ContainerService.searchItemsGlobal("Dell XPS")
Returns matching items with container and asset type context.

Organizing Collections

For hobbyists tracking collectibles (stamps, cards, coins), enable Collection Mode on your container:
  1. Mark container as “Is Collection” during creation
  2. In each asset type, designate:
    • Possession Field: Which field tracks quantity owned
    • Desired Field: Which field tracks quantity wanted
  3. Use the collection dashboard to see completion percentages
Example: Trading Card Collection
  • Container: “Pokémon Cards 2024”
  • Asset Type: “Base Set”
  • Fields:
    • card_number (text)
    • owned (number) ← Possession Field
    • needed (number) ← Desired Field
    • condition (list)

Market Value Tracking

Invenicum can track the financial value of your inventory:
  • Manual Entry: Set marketValue and currency per item
  • UPC Sync: For items with barcodes, sync pricing from external databases (lib/data/services/inventory_item_service.dart:346)
  • Price History: Automatic tracking of value changes over time
  • Total Portfolio Value: Dashboard shows aggregate value across all items
Price history is recorded each time an item’s market value changes, enabling trend analysis.

Best Practices

Consistent Naming

Use clear, searchable names: “Dell Latitude 5520” not “John’s Laptop”

Leverage Barcodes

Add barcodes/UPCs to enable QR scanning and market value sync

Meaningful Custom Fields

Only create fields you’ll actually populate and use for filtering

Regular Audits

Periodically verify quantities and update market values

API Reference

See the API documentation for detailed information on:
  • Container Service - Container/collection management API
  • Asset Type Service - Asset type and custom field definitions API
  • Inventory Item Service - CRUD operations for inventory items
  • InventoryItem Model - Complete item data structure

Build docs developers (and LLMs) love