awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
inventree avatar

inventree/InvenTree

0
View on GitHub↗
6,350 stars·1,239 forks·Python·mit·20 viewsdocs.inventree.org↗

InvenTree

InvenTree is an open-source inventory management platform built on Django, designed for tracking parts, stock levels, and supply chain operations through a web interface and REST API. The system uses barcodes—including QR codes, 1D barcodes, and Data Matrix codes—as primary identifiers for scanning, linking, and triggering inventory actions, and extends core functionality through a Python plugin framework supporting custom actions, UI panels, barcode handlers, and scheduled tasks.

The platform distinguishes itself through a comprehensive plugin-based extensibility system that allows custom integrations, label printer drivers, machine types, UI components, and scheduled tasks without modifying core code. It provides a full REST API with a native Python client library for programmatic inventory management, supports multiple authentication methods including OAuth2, OpenID Connect, and single sign-on, and offers role-based API access restriction. The system includes barcode-centric workflows for scanning, label printing, and supplier barcode parsing, along with template-based PDF report and label generation from user-defined HTML templates.

InvenTree covers inventory management with hierarchical part categories, stock movement tracking, and mobile access, as well as manufacturing and build order management with bill of materials definition, stock allocation, and build output tracking. It handles supplier and purchase order management with automated order processing, supplier pricing import, and line item receiving, and provides user authentication and access control with multi-factor authentication and notification delivery via email, Slack, or in-app messages. The platform supports deployment via Docker, bare metal, or a single-line script, with PostgreSQL database backend, Redis caching, and scheduled automated backups.

Features

  • Inventory Barcode Workflows - Uses QR codes, 1D barcodes, and Data Matrix codes as primary identifiers for scanning and triggering inventory actions.
  • External System Integrations - Integrates with external systems using a REST API, Python module, and plugin interface for custom tools.
  • Task Queues and Background Jobs - Offloads scheduled jobs, label printing, and automated order processing to a background worker process.
  • Inventory Management Systems - An open-source platform for tracking parts, stock levels, and supply chain operations via web and REST API.
  • Parts and BOM Managements - Manages part data, bills of materials, and component relationships for manufacturing.
  • Manual Part Entry Forms - InvenTree opens a form to fill in required attributes and submit to create a new part, redirecting to its detail page.
  • Inventory Label - Generates and prints physical labels for parts and stock items using configured templates.
  • Supplier Part Definitions - InvenTree attaches manufacturer and supplier part information to a part during creation if it is marked as purchaseable.
  • Attribute Templates - InvenTree creates named parameter templates with optional units, choices, or checkboxes to enforce consistent metadata across objects.
  • Purchase Order Line Item Receiving - Receives line items into stock inventory when a purchase order is fulfilled.
  • Purchase Order Management - Creates and manages purchase orders, tracks supplier parts, and receives stock from external vendors.
  • Supplier Relationship Management - Creates, modifies, and deletes suppliers and links their items to any part in the inventory.
  • Document Generation Templates - Generates PDF documents and labels by rendering user-defined HTML templates with injected model data.
  • Inventory Management Platforms - Built on Django's ORM and admin interface for managing hierarchical parts, stock, and manufacturing data.
  • Python Plugin Integrations - Integrates custom Python plugins into the system to add new behaviors and features without modifying core code.
  • Model-Driven Architectures - Builds the entire data layer on Django's ORM, using model introspection to drive API endpoints and serialization.
  • ORM-Driven Architectures - Builds the entire data model on Django's ORM, using model introspection to drive API endpoints and serialization.
  • Database Record Querying - Lists database records with optional filter parameters to narrow the returned results.
  • Hierarchical Data Models - Organizes parts, locations, and stock items into tree structures with parent-child relationships.
  • Inventory Tracking - Manages stock levels, locations, and movements of physical and non-physical items via web and mobile.
  • Related Object Retrievers - Provides built-in helper methods on model instances to retrieve related database objects.
  • Single Record Retrievers - Fetches individual database records by primary key using model class constructors.
  • Barcode Scanners - Scans barcodes via webcam, scanner, or keyboard input to locate inventory items.
  • Workflow - Uses barcodes as primary identifiers for scanning, linking, and triggering inventory actions.
  • Plugin Systems - InvenTree supports custom applications and integrations through a plugin system that adds new functionality.
  • REST APIs - Provides a full RESTful API for programmatic inventory management and external system integration.
  • REST API Clients - Provides a full RESTful API with a native Python client library for programmatic inventory management.
  • Python API Clients - Ships a native Python library for programmatic inventory management via the REST API.
  • Build Order Lifecycle Management - Creates and tracks build orders, allocates stock, and manages bills of materials for production workflows.
  • Docker Container Deployments - Deploys as a multi-container Docker stack for production use with web server and database.
  • Multi-Container Stacks - Ships a production-ready multi-container Docker stack with web server, database, and background worker.
  • Assembly Component Lists - Defines component lists for assemblies with quantities and optional properties.
  • Flexible Installation Methods - Provides Docker, bare metal, and single-line script installation options for flexible deployment.
  • Barcode Generators - Creates scannable barcode labels for inventory items with configurable formats and prefixes.
  • Hierarchical Tree Structures - Organizes parts, locations, and stock items into tree structures with parent-child relationships.
  • API Authentication - Authenticates API access via basic credentials, tokens, or OAuth2/OIDC protocols.
  • API Request Authentication - Accepts username/password, token, or OAuth2/OIDC credentials to verify user identity before granting API access.
  • Role-Based Access Control - Limits REST API actions based on the user's assigned role permissions.
  • Parent-Child Record Filters - Filters child records in hierarchical tree models by parent identifier for nested data queries.
  • User Authentication Strategies - Manages user accounts, roles, and permissions with multi-factor authentication and single sign-on.
  • Plugin Mixin Systems - Extends core functionality by registering mixin classes that hook into specific system areas like actions, barcodes, or schedules.
  • Record Identity Encoders - Embeds database record identifiers into QR codes for physical item identification and scanning.
  • Plugin Extenders - Extends core functionality with custom actions, UI panels, barcode handlers, and scheduled tasks via plugins.
  • Plugin Integrations - Integrates custom plugins directly into the server to add decoupled, complex behaviors beyond the core codebase.
  • Programmatic Access APIs - Accesses inventory data programmatically through a RESTful interface with authentication and validation.
  • Global System Settings - Lets staff users configure global system settings that affect the entire platform.
  • Plugin Management Systems - InvenTree enables, installs, and configures external plugins from a file or directory, with support for mandatory and development-mode plugins.
  • Admin UI Customization - Provides a centralized admin center for managing users, data import/export, and system integrations.
  • OAuth Authentication - Verifies user identity through external identity providers using OAuth and OpenID Connect.
  • Custom Barcode Parsing - Interprets barcode data per custom specs and triggers inventory actions.
  • Form Auto-Population via Scanning - Automatically populates form fields by scanning barcodes linked to supported models.
  • Scanning Workflows - Reads barcodes to trigger context-sensitive stock actions and streamline inventory workflows.
  • Supplier Barcode Decoding - Decodes supplier-specific barcodes to quickly identify and link parts in inventory.
  • Feature Flags - Controls the rollout of new features per user, session, or date without deploying separate instances.
  • Inventory Label - Generates downloadable PDF files containing labels for selected inventory products.
  • Serialized Item Trackers - Manages individually serialized items that can be assigned to users, groups, or locations.
  • Location Transfers - Moves stock items between locations and updates their recorded positions.
  • Mobile Stock Actions - Executes stock control operations such as adjustments and transfers from a mobile device.
  • Stock Deductions - Decreases recorded stock quantities to reflect outgoing inventory movements.
  • Stock Item Browsing - Lists all stock items associated with a part and allows filtering to find specific stock entries.
  • Stock Quantity Adjustments - Increases the recorded quantity of a stock item by a specified amount to reflect incoming inventory.
  • Barcode-Based Stock Intake - Uses barcode scanning to register stock items into specific locations automatically.
  • Stock Allocations for External Builds - Assigns stock items to external build orders for component allocation.
  • Stock Allocations to Builds - Reserves stock items against build orders for future consumption.
  • Item Filtering - Filters the list of parts within a category using a text input to quickly locate specific items.
  • Mobile Inventory Access - Views and manages stock control information from a smartphone using a companion mobile app.
  • Stock Display Controls - Displays current stock for a part, location, or build with cascading locations and serialized tracking.
  • Build Output Managements - Manages individual stock instances produced during manufacturing runs.
  • Manufacturer Part Tracking - Records parts produced by specific vendors and manages availability across multiple suppliers.
  • Supplier Build Outsourcing - Ships a workflow for outsourcing manufacturing builds to external suppliers with automated stock allocation.
  • Sheet Label Printing - Generates PDFs with labels arranged in a grid for printing on standard label sheets.
  • Notification Subscription Managers - Allows subscribing to specific parts to receive event-driven notifications.
  • Component Quantity Calculations - Calculates component quantities for manufacturing considering attrition and setup losses.
  • Order Management Systems - Displays all sales orders in a list view for selection and management.
  • Automated Order Issuance - Automatically issues pending purchase or build orders when their scheduled target date arrives.
  • Line Item Additions - Links supplier parts to a purchase order by selecting from available supplier parts.
  • Mobile Purchase Order Receiving - Checks in stock items and processes purchase order receipts through the mobile interface.
  • Purchase Order Cancellations - Closes an order that will not be processed, preventing further actions on it.
  • Purchase Order Completions - Marks an order as finished automatically when all items are received or manually.
  • Purchase Order Issuances - Submits a completed purchase order to the supplier to begin processing.
  • Purchase Order Linkings to External Builds - Links purchase orders to external build orders for automatic fulfillment.
  • Purchase Order Schedulings - Sets a future target date for an order to plan and track upcoming procurement.
  • Automated Part Imports - Integrates with external supplier plugins to automatically create parts and supplier records.
  • Hierarchical Category Extensions - Adds new subcategories or parts directly under the current category to extend the inventory structure.
  • Substitute Part Managements - Assigns alternative parts to BOM line items for flexible stock allocation.
  • Category Organizations - Groups inventory items into structured categories so users can arrange parts to meet their organizational needs.
  • Multi-Item Report Mergers - InvenTree combines data from several selected items into one PDF document by passing all items as a list to the template.
  • PDF Document Generation - Generates PDF documents from user-defined HTML templates for printing and compliance.
  • Automated Backup Systems - Runs a daily backup job on a configurable timer for automated data protection.
  • Backup and Recovery - Creates native database dumps and media file archives for disaster recovery.
  • Stock Item Barcode Linking - Links third-party barcodes to stock items so they can be tracked by scanning that barcode.
  • Low Stock Threshold Alerts - Generates notifications when stock levels fall below configured minimum thresholds.
  • Cross-Database Search Tools - Queries all connected database records and returns matching results from multiple tables in a unified view.
  • Template-Based Reports - Produces a wide range of reports using user-defined custom templates.
  • Database Backup Restoration - Replaces current database and media files with a previously created backup archive.
  • Inventory Data Migration - InvenTree exports selected inventory records to a structured file format for external use.
  • File Attachment Systems - Uploads and links files such as documents or images to any supported inventory record.
  • App Registrations - Registers the plugin's directory as an installed Django application, enabling deep integration with the server's app system.
  • Inventory Snapshots - InvenTree captures a snapshot of stock quantity and value for a part at a specific point in time, tracking historical inventory data.
  • Database Administration Tools - Allows administrators to view and modify database entries directly for advanced administrative tasks.
  • Stock Item Counting - Validates the current quantity of a stock item by performing a quick stocktake, updating the recorded count.
  • BOM File Importers - Uploads bill of materials data from CSV or Excel files to populate component lists.
  • Wizard-Driven Part Imports - InvenTree uses a data import wizard to step through selecting a file and mapping its data to create parts.
  • Test Result Recordings on Outputs - Logs pass/fail test results against manufacturing build outputs.
  • Inventory Record Search - Opens a dedicated search screen to find parts, stock items, or other records by keyword.
  • Background Task Schedulers - Runs plugin functions on a recurring timer without manual intervention for maintenance or data sync.
  • Build Output Cancellations - Deletes build outputs and returns allocated stock to inventory.
  • Build Output Completions - Marks build outputs as finished and installs allocated BOM items.
  • Build Output Creations - Generates finished product units or batches linked to build orders.
  • Build Output Scrappings - Marks build outputs as rejected and removes them from the build.
  • Partial Build Output Completions - Splits build outputs into completed and incomplete portions.
  • Partial Build Output Scrappings - Splits build outputs into scrapped and remaining portions.
  • Custom Report Context Data - Injects custom data into report templates for project-specific document generation.
  • Plugin APIs - Allows plugins to call third-party APIs and process their responses within the plugin's workflow.
  • Build Order Cancellations - Provides the ability to cancel in-progress manufacturing build orders.
  • Build Order Completions - Finalizes manufacturing builds by validating allocations and creating finished parts.
  • Build Order Creations - Creates manufacturing orders for assembling parts with optional subassembly generation.
  • Build Order Schedulings - Assigns target dates to build orders for production planning and overdue tracking.
  • External Build Order Managements - Manages manufacturing orders fulfilled by external suppliers.
  • BOM Change Detection - Checks that bills of materials have not changed since last validation and marks their status.
  • Material Requirements Calculations - Provides material requirements planning calculations from bills of materials and forecasts.
  • Automated Production Server Setup - Automates full production server setup on Debian or Ubuntu with a single command.
  • QR Code Rendering - Generates QR codes as base64 images with configurable error correction, size, and style via template tags.
  • Barcode Embedding in Reports - Embeds barcode data into printed labels and PDF reports via template attributes.
  • Server-Side Barcode Rendering - Generates 1D barcodes as base64 images via server-side template tags for inventory items.
  • Machine Driver Registrations - Provides a plugin-based system for registering custom machine driver classes to integrate external hardware.
  • Machine Type Registrations - Allows plugins to register custom machine type classes, defining new categories of external devices.
  • System Event Triggers - Triggers plugin actions automatically when specified inventory events occur.
  • Event Notifications - Delivers alerts for part changes, order updates, and system events via email, Slack, or in-app messages.
  • Local Plugin Installers - Loads a plugin from a local directory or a custom path, useful for development or when PIP installation is not feasible.
  • BOM Line Inheritances - Automatically propagates selected BOM items to variant parts for consistent assembly definitions.
  • Client-to-Server Authentication - Authenticates API requests using passwords, tokens, or environment variables for secure access.
  • Authentication Token Management - Creates, retrieves, and invalidates persistent user tokens for faster API authentication across sessions.
  • Multi-Factor Authentication - Requires TOTP, WebAuthn, or recovery codes as a second factor during login.
  • OAuth2 Providers - Verifies user identity using OAuth2 or OpenID Connect protocols for secure API access.
  • Single Sign-On Integrations - Authenticates users through third-party identity providers using the django-allauth protocol.
  • Third-Party Login Linking - Links third-party logins and configures multi-factor authentication for user accounts.
  • Docker-Based Plugin Installations - Adds custom plugins by listing them in a text file or placing them in a designated subdirectory within the persistent data volume.
  • Third-Party Plugins - InvenTree lists known extensions from a website and the Python Package Index for easy installation.
  • Authentication Backends - Extends login with external identity sources such as LDAP or Active Directory.
  • Local Plugin Development Servers - Redirects frontend plugin loading to a local development server so changes can be tested without rebuilding the package.
  • Custom State Transition Hooks - Runs custom logic when a model changes state, such as sending notifications or updating related records.
  • Conditional Transition Guards - InvenTree blocks or modifies a model's state change based on custom conditions defined by the plugin.
  • Dashboard Widgets - Places custom widgets on the main dashboard page to display plugin-provided data or controls.
  • Plugin-Registered Pages - Registers new web interface pages with navigation links that appear within the main interface.
  • Searchable Action Registries - InvenTree injects custom searchable actions into the global spotlight feature so users can trigger plugin-defined tasks from anywhere.
  • Custom Content Panels - InvenTree inserts custom content panels into existing pages, targeting specific models or appearing globally.
  • Custom UI Components - Loads custom React components into the interface by specifying a source file and function name via an API call.
  • User-Configurable Settings - InvenTree exposes editable options in the admin interface so users can adjust plugin behavior without code changes.
  • Notification Inboxes - Ships an in-app notification inbox with history and deletion capabilities.
  • Entity Detail Views - Displays comprehensive information about a single part, including stock quantity, notes, and file attachments.
  • User-Defined - Adds user-defined status labels with names, colors, and logical keys to inventory models for display in the interface.
  • Custom API Endpoints - Exposes REST endpoints that execute developer-defined functions and return results.
  • External API Integrations - Calls external APIs by making authenticated HTTP requests with a configurable URL and token.
  • Data Matrix Code Rendering - Generates Data Matrix 2D barcodes as base64 images with configurable appearance.
  • Custom Web Routes - Registers custom URL routes under a /plugin/{slug}/ prefix for plugin-specific pages.
  • Inventory Management - System for managing parts and stock control.

Star history

Star history chart for inventree/inventreeStar history chart for inventree/inventree

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does inventree/inventree do?

InvenTree is an open-source inventory management platform built on Django, designed for tracking parts, stock levels, and supply chain operations through a web interface and REST API. The system uses barcodes—including QR codes, 1D barcodes, and Data Matrix codes—as primary identifiers for scanning, linking, and triggering inventory actions, and extends core functionality through a Python plugin framework supporting custom actions, UI panels, barcode handlers, and scheduled…

What are the main features of inventree/inventree?

The main features of inventree/inventree are: Inventory Barcode Workflows, External System Integrations, Task Queues and Background Jobs, Inventory Management Systems, Parts and BOM Managements, Manual Part Entry Forms, Inventory Label, Supplier Part Definitions.

What are some open-source alternatives to inventree/inventree?

Open-source alternatives to inventree/inventree include: jishenghua/jsherp — jshERP is a SpringBoot-based enterprise resource planning system designed for small and medium enterprises. It serves… kimai/kimai — Kimai is an open-source time tracking system that records employee working hours, manages absences, and generates… yeqifu/warehouse — Warehouse is a centralized inventory control and management system designed to track stock levels, incoming shipments,… akaunting/akaunting — Akaunting is a modular business enterprise resource planning system and self-hosted accounting software. It provides a… apache/incubator-answer — This project is a self-hosted question and answer platform and knowledge management system. It provides a centralized… dolibarr/dolibarr — Dolibarr is an open-source business suite and integrated PHP web application designed for ERP and CRM management. It…

Open-source alternatives to InvenTree

Similar open-source projects, ranked by how many features they share with InvenTree.
  • kimai/kimaikimai avatar

    kimai/kimai

    4,757View on GitHub↗

    Kimai is an open-source time tracking system that records employee working hours, manages absences, and generates professional invoices from recorded timesheets and expenses. It organizes all time records through a mandatory three-level hierarchy of customer, project, and activity, and supports project budget monitoring with configurable time and money limits. The application is extensible through a plugin system that allows adding custom features, invoice templates, reporting views, and dashboard widgets without modifying core files. It provides a RESTful JSON API for programmatic read and w

    PHPdoctrineinvoiceinvoicing
    View on GitHub↗4,757
  • jishenghua/jsherpjishenghua avatar

    jishenghua/jshERP

    4,375View on GitHub↗

    jshERP is a SpringBoot-based enterprise resource planning system designed for small and medium enterprises. It serves as a multi-tenant SaaS platform that integrates financial accounting, inventory management, and production tracking into a centralized business resource planning environment. The system is distinguished by its multi-tenant architecture, which utilizes logical data isolation to provide private environments for independent organizations. It implements a rigorous business process automation model featuring multi-level approval workflows and hierarchical audit paths to verify and

    Javaerp
    View on GitHub↗4,375
  • akaunting/akauntingakaunting avatar

    akaunting/akaunting

    9,604View on GitHub↗

    Akaunting is a modular business enterprise resource planning system and self-hosted accounting software. It provides a comprehensive platform for small business financial management, centering on a double-entry bookkeeping system with a general ledger and chart of accounts. The platform is designed for extensibility through a module-based architecture and a dedicated marketplace for procuring third-party applications. It supports multi-tenant data isolation and utilizes role-based access control to manage granular user permissions. Its capability surface covers a wide range of business opera

    PHPaccountingakauntingbalance
    View on GitHub↗9,604
  • apache/incubator-answerapache avatar

    apache/incubator-answer

    15,568View on GitHub↗

    This project is a self-hosted question and answer platform and knowledge management system. It provides a centralized repository for documented answers and community discussions used to support users and resolve technical issues. The system functions as a plugin-based community forum, utilizing a modular extension system to add custom features and tools. It employs a decoupled architecture with a RESTful API backend to separate business logic from the user interface. The platform covers several domain areas including internal knowledge management, customer help centers, and community Q&A hos

    Go
    View on GitHub↗15,568
See all 30 alternatives to InvenTree→