
InvenTree
Open-source inventory management for parts, stock, BOMs, and builds, aimed at electronics makers, SMEs, and hobbyists.
Open source alternative to:





InvenTree is an open-source inventory management system for electronics makers, small manufacturers, and hobbyists who need detailed control over parts and stock. Parts live in nested categories with custom parameters, supplier and manufacturer records, and pricing data, while stock is organised into cascading locations with optional serial numbers and test results stored per item.
It adds bill-of-materials management, including BOM import and export, and a build-order system that consumes stock to produce new assemblies with manual or automatic part allocation. Purchase orders and sales orders track incoming and outgoing stock, and template-driven reports generate PDF documents and labels with QR or barcodes. A REST API, native Python bindings, and a plugin system cover integrations and custom workflows, and there is an official companion mobile app for iOS and Android.
InvenTree is MIT-licensed and self-hosted. The production Docker Compose stack runs PostgreSQL 17, the InvenTree server and background worker, Caddy for HTTPS and static files, and an optional Redis cache. Compared with commercial tools like PartsBox, Bomist, and Sortly, or Odoo's inventory modules, InvenTree is narrower — it focuses on parts, BOMs, and builds rather than a full business suite — but it has no per-seat fee and keeps your stock data on your own server.
Categories:
Build with:
Frequently Asked Questions
What does the self-hosted Docker setup include?
The production Docker Compose file runs PostgreSQL 17 as the database, an InvenTree web server container, a background worker, a Caddy container for HTTPS and static files, and an optional Redis cache. Persistent data lives in a single external volume configured with INVENTREE_EXT_VOLUME. InvenTree supports PostgreSQL versions 14 through 17, and a one-line bare-metal installer is also available.
Is there an official mobile app?
Yes. InvenTree has a companion app published on the Android Play Store and the Apple App Store for stock control on the go, such as looking up parts and checking quantities. The full administrative interface remains the web app, and both clients talk to your own InvenTree server.
How do bill-of-materials and build orders work?
A BOM lists the sub-parts required to make another part, and InvenTree can import simple BOM files in multiple formats and export a detailed BOM with everything stored in the database. Build orders then consume stock to produce the finished part, with manual or automatic allocation from current inventory, and track the progress of each build.
Can I integrate InvenTree with other systems?
The core application is built on a RESTful API that external applications can use, and a native Python binding library is provided for integrations. A plugin system extends base behaviour, and third-party tools and plugins are catalogued on the project site. Typical uses include custom reports, machine integration, and label printing.
Does InvenTree support labels and barcodes?
Yes. Labels are generated from custom HTML and CSS templates rendered to PDF with WeasyPrint, with QR codes, conditional formatting, and template filters. Built-in printing plugins produce downloadable PDFs, arrange labels on a sheet, or send jobs to an external label printer, and custom printing plugins can drive specific hardware.
Looking for contributors
This project is actively seeking help, join the community!
OpenAltFinder Score
Project Details
Repository details
Updated 10/26/2026, 2:01:02 PM
View RepositorySponsor InvenTree
Get the latest open source alternatives delivered weekly.
Discover tools that give you freedom from proprietary software.









InvenTree vs OpenInvento