Quick answer
The right tool depends on what kind of inventory you are tracking.
- Pick InvenTree if you are an organisation that buys parts, builds products from them and sells or ships the result: it has stock locations, suppliers, purchase, sales and build orders, BOMs, serial numbers and batch codes.
- Pick Part-DB if you are tracking electronic components, at home, in a makerspace or in a small lab: footprints, datasheets, parametric search, distributor lookups and a KiCad integration.
- Pick HomeBox if you are cataloguing a household: what you own, where it is, receipts, warranties and maintenance reminders, in a single small Go application.
All three are free, open-source web applications that you host yourself, so updates, backups and security are your job. If you landed here looking for a Snipe-IT alternative, see our note on Snipe-IT below.
At a glance
The first five rows are live: they come from our nightly refresh of each project’s GitHub repository, the same data behind every Repoly ranking. The last three are our summary of the official docs.
| Inventree | Part-DB | HomeBox (SysAdminsMedia) | |
|---|---|---|---|
| Health | |||
| Stars | 7.8k | 1.8k | 7.7k |
| Last commit | |||
| Latest release | 1.6.3 | v2.20.4 | v0.27.1 |
| Licence | MIT | AGPL-3.0 | AGPL-3.0 |
| What it tracks | Parts, stock items, suppliers, customers and orders | Electronic components, their footprints, datasheets and storage locations | Household items, locations, documents and warranties |
| Tech stack | Python 3.12+, Django, React; PostgreSQL recommended | PHP 8.2+, Symfony 7; SQLite, MySQL, MariaDB or PostgreSQL | Go, single container or binary; SQLite by default, PostgreSQL optional |
| Best for | Small manufacturers and teams with purchasing and builds | Electronics hobbyists, makerspaces, labs | Home users and families |
Health is our 0 to 100 maintenance score: commits in the last 90 days, release recency, stars, archive status and Docker support. The formula is on our data page. Two caveats apply here. InvenTree publishes an official Docker setup, but our dataset does not record Docker support for it, so its score gets no Docker points and slightly understates it. HomeBox’s star count belongs to the SysAdminsMedia repository alone; stars given to the archived original are not included (more on the naming below).
InvenTree
InvenTree’s README calls it “an open-source Inventory Management System which provides powerful low-level stock control and part tracking”. The backend is Python and Django with a REST API, the web interface is React, and the code is released under the MIT licence.
Strengths. InvenTree is the only one of the three that follows stock through a business. Parts sit in structured categories, and each stock item records its location, quantity, supplier, status and, for trackable parts, a serial number or batch code; every adjustment writes a tracking entry. Purchase orders turn bought parts into stock, sales orders and return orders track what goes out to customers, and build orders consume stock against a bill of materials to make assemblies. Barcode support is native: internal barcodes are generated for each item, third-party barcodes can be assigned, and the web interface and the companion Android and iOS app can both scan them. Labels and reports are HTML templates rendered with WeasyPrint, with QR codes. For integration there is a REST API, a Python module and a plugin system, with plugins installed through pip. Users get permissions through groups and roles, and single sign-on works with OpenID and OAuth providers via django-allauth.
Weaknesses. It is the heaviest to run. The recommended Docker setup is four containers (PostgreSQL, the web server, a background worker and a Caddy proxy), and the docs say SQLite “is not recommended for production use”. A bare-metal install needs Python 3.12 or newer and assumes a Debian-based Linux. The one-line installer supports only Debian 13 and Ubuntu 24.04 and 26.04. The breadth also means more setup: expect to configure categories, locations, suppliers and permissions before it is useful, and new users start with no permissions at all. Bulk import works one model at a time from the Admin Center, and the docs warn it is “a non-reversible action”, so back up first. The SSO docs themselves say it “can prove challenging to configure”.
Who it suits. Small manufacturers, hardware start-ups, labs and workshops that buy components, assemble products and need to know what is in stock, where, and what it is reserved for.
Project health. InvenTree scores 86/100 (GOOD) in our data, with 340 commits in the last 90 days and 116 open issues. The latest release we record is 1.6.3, published 3 days ago.
Part-DB
Part-DB describes itself as “an Open-Source inventory management system for your electronic components”. It is a PHP application built on Symfony, licensed under the AGPL-3.0. The current server is, in its README’s words, “a complete rewrite of the legacy Part-DB”.
Strengths. Every field is shaped around electronics. A part has a category, footprint, manufacturer, parameters, attached files such as datasheets and pictures, and price information per supplier in multiple currencies. Stock is held as part lots, each a storage location plus an amount, and storage locations nest (a box on a shelf, for example). Search includes a parametric search “according to some specifications”. Part-DB can pull part information, datasheets and prices from providers such as Octopart, Digi-Key, Farnell, LCSC and TME, and can act as the central data source for KiCad. Projects hold a BOM, show how many times you could build them and withdraw the components from stock; KiCad BOM import is supported. It generates barcode labels for parts and storage locations and scans barcodes through a webcam. For shared spaces there are groups with fine-grained permissions, two-factor authentication (authenticator apps and WebAuthn keys), optional SAML single sign-on and an event log that can revert a part to an older version. There is an API, and the README also lists an MCP server for AI agents.
Weaknesses. Outside electronics, the footprint and parameter model is a poor fit. Part-DB records where a part can be bought and at what price, but its feature list has no purchase orders, sales orders or customers, so it is not an ERP. A manual install needs PHP 8.2 or newer, a web server that can run Symfony 7, Composer, and Node.js 22 or newer with yarn to build the front end; the docs call Docker “the easiest way”. The Docker examples serve plain HTTP, and the docs warn they “should only be used locally in a trusted network” unless you add a reverse proxy with TLS. Choose the database up front: switching later is described as “still experimental and not recommended”.
Who it suits. Electronics hobbyists, makerspaces where many people share one parts store, and the small companies and universities its README says already use it.
Project health. Part-DB scores 93/100 (GOOD), with 375 commits in the last 90 days, 188 open issues and v2.20.4 as the latest release, published 4 days ago.
HomeBox
HomeBox is “the inventory and organization system built for the Home User”, written in Go and licensed under the AGPL-3.0.
Which HomeBox. There are two repositories with this name. The original, hay-kot/homebox, was archived by its owner on 12 June 2024 and is now read-only. Development continues at sysadminsmedia/homebox, whose README credits the “Original project by @hay-kot”. That fork is the entry in our dataset, listed as HomeBox (SysAdminsMedia). If you run the original, its docs say switching is a matter of replacing the ghcr.io/hay-kot/homebox:latest image with ghcr.io/sysadminsmedia/homebox:latest.
Strengths. It is the lightest and quickest to start. One container or one binary from the releases page, SQLite built in, and the README puts idle memory at “less than 50MB for the whole container”. The Docker image comes in regular, rootless and hardened (distroless) variants. Items go into nested locations with tags, custom fields, photos, serial and model numbers, and purchase, warranty and maintenance details. Asset IDs are assigned automatically for printable tags, and QR codes can be generated for items and locations. Maintenance reminders can go to Discord, email, ntfy, Telegram, Slack and other services through Shoutrrr. It supports several users who share a collection through an invite link, OIDC single sign-on, a REST API and CSV import and export. PostgreSQL is supported for larger installs.
Weaknesses. It is built for possessions, not stock flow: its documented features include no suppliers, purchase or sales orders, or builds. CSV import covers items, locations and labels only, does not carry attachments, and cannot express item-to-item relationships. The built-in QR support is “limited to generating one-off QR Codes” from an item or location page, although a label generator and an external label service exist for more control. The hardened image leaves out the MQTT client, so use the regular or rootless image if you need MQTT.
Who it suits. Households, home labs and anyone who wants to know what they own, where it is and when the warranty runs out, without running a database server.
Project health. HomeBox scores 96/100 (GOOD), with 43 commits in the last 90 days, 82 open issues and v0.27.1 as the latest release, published 7 days ago.
Head-to-head comparison
| InvenTree | Part-DB | HomeBox | |
|---|---|---|---|
| Stock and locations | Stock items per location, with status, serial numbers and batch codes | Part lots (location plus amount) in nested storage locations | Items in nested locations, which can hold other items |
| Orders and BOMs | Purchase, sales, return and build orders; BOMs drive builds | Project BOMs, KiCad BOM import; no order management | No orders; lists BOM export of the inventory |
| Barcodes and labels | Native barcodes, scanning in web and mobile app, HTML label templates | Barcode labels for parts and locations, webcam scanning | Asset IDs, QR codes per item or location, label generator |
| Users and sign-in | Groups and roles, SSO via OpenID and OAuth providers | Groups, fine-grained permissions, 2FA, optional SAML SSO | Multiple users via invite link, OIDC SSO |
| API and extensions | REST API, Python module, pip-installed plugins | API, KiCad integration, MCP server | REST API, notifiers, external label service |
| Install and hosting | Docker (recommended), installer for Debian 13 and Ubuntu, or bare metal | Docker, or PHP 8.2+ on a web server; Debian 13 guide | One container or binary; SQLite or PostgreSQL |
| Mobile | Android and iOS app | Responsive web interface | Responsive web interface |
Stock and orders. This is the dividing line. InvenTree models the movement of stock into and out of an organisation. Part-DB models what is on your shelves and what a project needs. HomeBox models what you own.
Barcodes and labels. All three can put a code on a box. InvenTree goes furthest, linking barcodes to parts, stock, locations and orders and scanning from its mobile app. Part-DB’s webcam scanner is practical at a workbench. HomeBox’s asset IDs and QR codes are enough for finding things around a house.
Hosting needs. HomeBox runs comfortably on a small home server. Part-DB in Docker is a single container with SQLite by default. InvenTree expects a proper stack with PostgreSQL and a background worker, which is normal for a business system but more than a household needs.
Community and maintenance. All three are actively committed to; the health column above shows how recently. Each has a public demo: demo.inventree.org, reset every 24 hours; demo.part-db.de, which deploys every change to the main branch and so may not be stable; and demo.homebox.software.
If you are replacing Snipe-IT
Snipe-IT is not in our dataset, but it comes up often in inventory searches. Its README describes it as “a FOSS project for asset management in IT Operations”: who has which laptop, when it was bought for depreciation, and software licences. It is a Laravel application under the AGPL-3.0, free to self-host, with paid hosting and support plans from its developer.
None of these three is a like-for-like IT asset manager. If you want Snipe-IT’s model and only want to avoid the hosted plan, self-hosting Snipe-IT itself is the closest match. If you are leaving because it is more than you need, the choice follows the same split as above. HomeBox’s own docs put it plainly: Snipe-IT is “fantastic if you’re managing hundreds of IT devices across an organization”, but “for home users, it’s overkill”. InvenTree fits when the things you track are stock you buy, build and ship rather than devices you lend out. Our ranked list of open source alternatives to Snipe-IT Cloud covers these three alongside Shelf and Grocy.
Getting your existing data in
Most people start from a spreadsheet or an older tool. Plan the import before you choose, because it differs a lot between the three.
- Spreadsheet to HomeBox. CSV (or TSV) import is the recommended way to add items in bulk. Locations can be nested with a path such as
Home / Office / Desk, labels and custom fields have their own columns, and an import reference column lets later imports update items instead of duplicating them. Upload photos and documents afterwards. - Spreadsheet to InvenTree. Import one model at a time, in order: categories and locations before parts, parts before stock. Related records are matched by ID or, for some models, by a natural key such as a name. Back up the database first.
- PartKeepr or KiCad to Part-DB. Part-DB has a built-in PartKeepr migration tool, marked beta, that brings over categories, footprints, storage locations, manufacturers, distributors and basic part data. KiCad BOMs can be imported into projects. It also has a general import and export system for parts.
Whichever you pick, test on a copy first and keep the old list until you have done a full stock check in the new system.
FAQ
Which open source inventory software is best for a small business?
If the business buys parts and sells or ships products, InvenTree: it is the only one here with suppliers, purchase and sales orders and build orders. If the stock is electronic components and you do not need orders, Part-DB is simpler. HomeBox is aimed at home users. Browse the full inventory management category for other options.
Is HomeBox still maintained?
Yes, as the SysAdminsMedia fork. The original hay-kot repository was archived in June 2024. The fork records 43 commits in the last 90 days and v0.27.1 as its latest release in our data.
InvenTree or Part-DB for electronic components?
Part-DB if you want a parts catalogue: footprints, parametric search, distributor data and KiCad as a data source. InvenTree if those components feed purchasing and assembly, where build orders, serial numbers and batch codes matter.
Which is easiest to self-host?
HomeBox: one Docker container or binary, SQLite built in, and an idle memory use its README puts under 50 MB. Part-DB is next, as a single Docker container. InvenTree’s recommended setup runs four containers including PostgreSQL.
Can I try them before installing?
Yes. All three run public demos, linked in the comparison above, so you can enter a few real items before you commit to a server.
Verdict
Choose InvenTree when inventory is part of how an organisation buys, builds and sells. Choose Part-DB when the inventory is electronic components and you want them catalogued properly, alone or in a shared makerspace. Choose HomeBox when you are cataloguing a home and want the simplest thing that works.
For every self-hosted option ranked by health, see the inventory management category. If you are moving off Snipe-IT’s hosted plan, compare the Snipe-IT Cloud alternatives.
Sources
- InvenTree README: github.com/inventree/InvenTree
- InvenTree website: inventree.org
- InvenTree installation and requirements: docs.inventree.org/en/latest/start/
- InvenTree Docker setup: docs.inventree.org/en/latest/start/docker/
- InvenTree installer: docs.inventree.org/en/latest/start/installer/
- InvenTree processes and database advice: docs.inventree.org/en/latest/start/processes/
- InvenTree stock and traceability: docs.inventree.org/en/latest/stock/ and docs.inventree.org/en/latest/stock/traceability/
- InvenTree purchase, sales and build orders: docs.inventree.org/en/latest/purchasing/purchase_order/, docs.inventree.org/en/latest/sales/sales_order/ and docs.inventree.org/en/latest/manufacturing/build/
- InvenTree barcodes and labels: docs.inventree.org/en/latest/barcodes/ and docs.inventree.org/en/latest/report/labels/
- InvenTree plugins, mobile app, permissions and SSO: docs.inventree.org/en/latest/plugins/, docs.inventree.org/en/latest/app/, docs.inventree.org/en/latest/settings/permissions/ and docs.inventree.org/en/latest/settings/SSO/
- InvenTree data import and demo: docs.inventree.org/en/latest/concepts/data_import/ and docs.inventree.org/en/latest/demo/
- Part-DB README: github.com/Part-DB/Part-DB-server
- Part-DB docs: docs.part-db.de
- Part-DB concepts: docs.part-db.de/concepts.html
- Part-DB Docker installation: docs.part-db.de/installation/installation_docker.html
- Part-DB choosing a database: docs.part-db.de/installation/choosing_database.html
- Part-DB PartKeepr migration: docs.part-db.de/partkeepr_migration.html
- HomeBox README: github.com/sysadminsmedia/homebox
- Original HomeBox repository (archived): github.com/hay-kot/homebox
- HomeBox docs home, quick start and install: homebox.software/en/, homebox.software/en/quick-start/ and homebox.software/en/quick-start/install/
- HomeBox database, CSV import, tips (asset IDs, QR codes), notifiers and label service: homebox.software/en/quick-start/configure/database/, homebox.software/en/advanced/import-csv/, homebox.software/en/user-guide/tips-tricks/, homebox.software/en/user-guide/notifiers/ and homebox.software/en/advanced/external-label-service/
- Snipe-IT README: github.com/grokability/snipe-it
- Snipe-IT website and hosting: snipeitapp.com
- Live health, stars, commits and releases: Repoly open data, refreshed nightly