MCPSERV.CLUB
InvenTree

InvenTree

Self-Hosted

Open‑source inventory management for makers and manufacturers

Active(100)
5.9kstars
0views
Updated 12 hours ago

Overview

Discover what makes InvenTree powerful

InvenTree is a fully self‑hosted inventory management platform built on **Python 3** and the **Django** web framework. Its core is a relational database model that tracks parts, stock items, BOMs, serial numbers and manufacturing workflows. The application exposes a **RESTful API** (DRF) that mirrors the Django admin CRUD operations, enabling developers to build custom front‑ends, integrate with ERP or MES systems, or automate stock movements via scripts. The API is authenticated using token‑based schemes and supports JSON schema validation, making it straightforward to consume from any language that can issue HTTP requests.

Backend

Frontend

Containerization

Extensibility

Overview

InvenTree is a fully self‑hosted inventory management platform built on Python 3 and the Django web framework. Its core is a relational database model that tracks parts, stock items, BOMs, serial numbers and manufacturing workflows. The application exposes a RESTful API (DRF) that mirrors the Django admin CRUD operations, enabling developers to build custom front‑ends, integrate with ERP or MES systems, or automate stock movements via scripts. The API is authenticated using token‑based schemes and supports JSON schema validation, making it straightforward to consume from any language that can issue HTTP requests.

Architecture

  • Backend: Django 4.x + Django REST Framework, with a PostgreSQL database (default) but also compatible with MySQL/MariaDB and SQLite for lightweight deployments. The ORM is heavily used to enforce business rules (e.g., stock level checks, BOM validation) at the model layer.
  • Frontend: A lightweight React/Vue‑style single‑page app bundled with Webpack, served by Django’s static files. The UI is modular, allowing developers to swap components or inject custom widgets via the Django template system.
  • Containerization: Official Docker images are provided, with a multi‑stage build that separates the backend, frontend, and static assets. The docker-compose.yml example demonstrates a production‑ready stack with PostgreSQL, Redis (for Celery), and Nginx as a reverse proxy.
  • Extensibility: The core app ships with a plugin architecture based on Django’s AppConfig. Third‑party developers can register new models, admin panels, and API endpoints by creating a Django app that declares its own InvenTreePlugin subclass. Webhooks are available for events such as stock arrival, order creation, or BOM changes, enabling real‑time integration with external services.

Core Capabilities

  • Part & Stock Management: CRUD APIs for parts, suppliers, units of measure, and stock items. Automatic serial/lot tracking with expiration handling.
  • BOM & Assembly: Recursive BOM definitions, batch manufacturing orders, and real‑time inventory deduction.
  • Purchasing & Sales: Vendor part catalogs, purchase orders, and sales orders with line‑item tracking.
  • Reporting & Analytics: Built‑in dashboards, export to CSV/Excel, and custom query endpoints for analytics pipelines.
  • Security & Auditing: Django’s permission system, audit logs, and configurable token scopes.

Deployment & Infrastructure

InvenTree is designed for self‑hosting on any platform that supports Docker or a virtualized Python environment. The default PostgreSQL database is sufficient for medium‑sized catalogs (~10k parts), while larger deployments can scale horizontally by clustering PostgreSQL with Patroni or using Amazon RDS. Celery workers handle background tasks such as email notifications and stock reconciliation, and can be scaled independently. The Docker images are optimized for size (≈300 MB) and include health checks, making them suitable for Kubernetes deployments or serverless containers.

Integration & Extensibility

  • REST API: Full CRUD, filtering (?search=, ?ordering=), pagination, and hyperlinked relations.
  • Webhooks: Subscribe to events via a simple JSON payload; can be consumed by Zapier, IFTTT, or custom webhook handlers.
  • Plugins: Add new Django apps that register models, admin views, and API routes. The plugin system is documented in the official docs and includes example “Hello World” plugins.
  • Custom Fields: Define arbitrary JSON fields on parts or stock items, allowing schema‑less extensions without database migrations.
  • SDKs: While not officially released, community libraries exist for Python, JavaScript, and Go, providing typed wrappers around the API.

Developer Experience

The project follows OpenSSF Best Practices and maintains a high code‑coverage score (>90 %). The documentation is hosted on ReadTheDocs, with clear API references, deployment guides, and plugin tutorials. The community is active on GitHub Issues, Discord, and a dedicated subreddit, offering prompt support for integration questions. Licensing under MIT ensures no commercial restrictions, making it attractive for both open‑source and proprietary projects.

Use Cases

  • Embedded Manufacturing: Small to mid‑size manufacturers can track BOMs, assemblies, and serial numbers without relying on SaaS solutions.
  • Warehouse Management: Integrate with barcode scanners and ERP systems via the REST API to automate stock movements.
  • Product Lifecycle Management: Combine part tracking with versioned BOMs to support firmware updates and hardware revisions.
  • Custom Dashboards: Build bespoke monitoring tools in React or Angular that consume InvenTree’s API for real‑time KPI displays.

Advantages

Developers choose InvenTree for its Python/Django foundation, which is familiar to many web teams, and its plugin architecture that avoids monolithic code changes. The MIT license removes licensing headaches, while the active CI/CD pipeline guarantees that new releases are production‑ready. Compared to commercial WMS or ERP solutions, InvenTree offers granular control over inventory logic, the ability to run on any infrastructure (including on‑prem servers or cloud VMs), and a lightweight footprint that can be containerized for rapid deployment.

Open SourceReady to get started?

Join the community and start self-hosting InvenTree today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
MIT
Stars
5.9k
Technical Specs
Pricing
Open Source
Database
PostgreSQL
Docker
Official
Supported OS
LinuxDocker
Author
inventree
inventree
Last Updated
12 hours ago