Skip to content
All features

02 · Structure

One place for every detail

Keep photos, serial numbers, documents and custom fields on the same record. Search and filters help you find it again.

Actual Open Inventory item detail with an object photo, structured fields, and demo data
Media, master data, and stock information on an actual demo record

In everyday use

What you can do with it

A household store and an equipment lab need different fields. Open Inventory combines stable inventory types, custom fields, relations, locations and media instead of hard-coding an industry model. The same structure is available through the UI and API.

  • Add domain-specific types and fields without changing application code
  • Connect containers, rooms, devices, people and projects with explicit relations
  • Maintain larger datasets through search, filters and bulk updates

Features in detail

Data model

Records with complete details

Store quantity, status, SKU, serial number, value, categories, tags, location, notes, priority, GPS or GeoJSON data and ordered media on each record.

Custom inventory types

Use bundled types for tools, objects, furniture, vehicles, locations, people, clothing and projects, or define custom types with stable API keys.

Typed custom fields

Add short or long text, numbers, booleans, dates, date-times, single or multiple choices, email, URL and dynamic references, including fields on serialized units.

Relations and containment

Configurable directed relations connect records. Manual placement and point-in-polygon derivation can represent rooms, cabinets, machines or projects.

Localized record content

A canonical language, per-field freshness, terminology guidance and queued regeneration keep generated translations reviewable and consistent.

Search, filters and bulk editing

Use the responsive grid or table, favorite frequently needed records, filter inventory, and update shared fields or tags across a selected set.

Variant families and options

Connect existing records as variants or generate configurations from option groups. Every variant remains a complete record with its own SKU, barcode, and stock.

Relationship and cost structure

Visualize families, bills of materials, containment, and other links across several levels. The optional cost view exposes material contributions through the structure.

Step by step

Start with a small schema and extend it deliberately

A field is useful when it is searched, filtered, validated or automated. Additional structure can be introduced as those requirements become clear.

  1. 01

    Define inventory types

    Use a bundled type or create a custom type with a stable key shared by the UI and API.

  2. 02

    Add typed fields

    Add only the required text, number, choice, date or reference fields for that type.

  3. 03

    Create explicit relations

    Represent containment, responsibility and spatial relationships as directed links rather than free text.

  4. 04

    Search and update in bulk

    Filter records and apply shared fields or additional tags to a selected set in one operation.

Open Inventory on iPhone: Data model
Native iOS app · German demo data

On site, too

The same structure is available on iOS.

The native client searches the same records as the web application. Location and other fields can be added while capturing the physical object.

  • Search by name, SKU, tag or location
  • Open and edit records with authenticated media requests
  • Use map, detail and settings screens implemented in SwiftUI
Explore the iOS app

Setup and details

Set it up

Read the guide →
  • Stable API keys for custom inventory types
  • Validated UTF-8 CSV import and export
  • OpenAPI 3.1 contract checked into the repository