~/tools/inventree
InvenTree
tool

InvenTree

InvenTree is an open source inventory management system you can self-host — a Fishbowl and Zoho Inventory alternative that tracks parts, stock, suppliers, and purchase orders with barcode scanning and a full REST API.

What is InvenTree?

InvenTree is an open source inventory management system that provides low-level stock control and part tracking for businesses and workshops. It organizes parts into categories, tracks stock by location, manages suppliers and purchase orders, and exposes everything through a web interface and REST API. It’s built on Python and Django with a React front end.

What is InvenTree best for?

InvenTree is best for hardware startups, electronics teams, workshops, makerspaces, and small manufacturers that need serious parts and stock tracking without paying per-seat SaaS fees. It shines when you have many components with suppliers, part numbers, and bills of materials to manage — and want to own the data and extend it with plugins or the API.

What can InvenTree do?

  • Organize parts into structured categories with custom parameters, part numbers, and supplier links
  • Track stock quantities across multiple locations, warehouses, and build requirements in real time
  • Manage suppliers, purchase orders, and sales orders through the full procurement cycle
  • Build multi-level Bills of Materials (BOMs) to model assemblies and sub-parts
  • Scan barcodes and QR codes, and print labels via the plugin system
  • Automate and integrate through a REST API, a Python module, and companion iOS and Android apps
  • Extend the platform with custom plugins for label printing, integrations, and workflows
  • Support single sign-on (SSO) via OAuth and multiple databases (PostgreSQL, MySQL/MariaDB, SQLite)

Where does InvenTree fall short?

InvenTree is inventory-first, not a full ERP — it has no built-in accounting, payroll, or HR, so if you need general ledger and finance you’ll pair it with another system or look at Odoo or ERPNext instead.

There is no official managed cloud, so every deployment is self-hosted; the vendor offers no hosted tier to fall back on. The React front end and Django Q task queue also mean it wants a real database (PostgreSQL recommended) and a Redis-backed worker for anything beyond a light single-user setup, rather than running comfortably from a single tiny container.

Is InvenTree free?

Yes — InvenTree is fully free and open source under the permissive MIT license, with no paid tier, seat fees, or feature gating. You run it on your own hardware or a VPS, so the only cost is hosting. There is no official managed cloud, though third-party providers offer one-click hosting.

What does InvenTree replace?

InvenTree stands in for paid inventory platforms. It’s a self-hosted Fishbowl Inventory alternative and Zoho Inventory alternative for parts and stock control, covers the catalog-and-track workflow of Sortly, and handles the inventory and purchasing side of an ERP like NetSuite — without the per-user cloud licensing.

FAQ

Is InvenTree open source? Yes. InvenTree is released under the MIT license, one of the most permissive open source licenses, so you can use, modify, and self-host it freely for personal or commercial purposes.

Can I self-host InvenTree for free? Yes. Self-hosting is the primary way to run InvenTree and there are no license fees — Docker is the recommended method, with a single-line installer and bare-metal options also available. You pay only for the server it runs on.

Is InvenTree a good Fishbowl or Zoho Inventory alternative? For parts, stock, suppliers, and purchase orders it’s a strong fit, especially for electronics and hardware teams that want barcode support and an API. It lacks built-in accounting, so pair it with finance software if you need Fishbowl’s QuickBooks-style integration.

What do I need to run InvenTree? A server running Docker (or a Linux host for bare metal), a database — PostgreSQL is recommended, though SQLite works for small setups — and Redis for background tasks. It’s written in Python/Django with a React front end.