Skip to content

🔧 Import from Common Firearms Databases #89

@fusion94

Description

@fusion94

Summary

Enhance the CSV import system with format-specific importers that auto-detect column mappings for common firearms inventory spreadsheet formats and other inventory management apps.

Motivation

Users migrating to Armory Core often have existing inventory data in spreadsheets or other inventory apps. The current CSV import requires manual column mapping for every import. Supporting auto-detection of common formats dramatically reduces the friction of onboarding and data migration, making it practical to import hundreds or thousands of items.

Proposed Implementation

  • Define format profiles for common firearms inventory spreadsheet layouts
  • Build a column auto-detection system that analyzes CSV headers and suggests mappings
  • Create a mapping preview UI that shows detected mappings with override capability
  • Support importing from common inventory app export formats
  • Map imported fields to both standard item fields and inventory-type custom fields
  • Add a format selection step before column mapping (auto-detect or manual selection)
  • Handle data normalization (e.g., different date formats, caliber naming conventions)
  • Provide an import preview showing the first N rows as they would be imported
  • Support dry-run mode to validate data before committing
  • Generate an import summary report (success count, skipped rows, errors)

Acceptance Criteria

  • Import wizard includes a format detection/selection step
  • Column auto-detection suggests mappings based on CSV headers
  • Users can override auto-detected column mappings
  • Custom fields are properly mapped based on inventory type
  • Import preview shows how data will look before committing
  • Dry-run mode validates data without creating items
  • Import summary reports successes, skips, and errors
  • Date format normalization handles common variations
  • Large imports (1000+ rows) complete without timeout

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions