5dd6f18495
* Add validation to part units field * Add "pack_units" field to the SupplierPart model * Migrate old units to new units, and remove old field * Table fix * Fixture fix * Update migration * Improve "hook" for loading custom unit database * Display part units column in part table - Also allow ordering by part units - Allow filtering to show parts which have defined units * Adds data migration for converting units to valid values * Add "pack_units_native" field to company.SupplierPart model * Clean pack units when saving a SupplierPart - Convert to native part units - Handle empty units value - Add unit tests * Add background function to rebuild supplier parts when a part is saved - Required to ensure that the "pack_size_native" is up to date * Template updates * Sort by native units first * Bump API version * Rename "pack_units" to "pack_quantity" * Update migration file - Allow reverse migration * Fix for currency migration - Handle case where no currencies are provided - Handle case where base currency is not in provided options * Adds unit test for data migration * Add unit test for part.units data migration - Check that units fields are updated correctly * Add some extra "default units" - each / piece - dozen / hundred / thousand - Add unit testing also * Update references to "pack_size" - Replace with "pack_quantity" or "pack_quantity_native" as appropriate * Improvements based on unit testing * catch error * Docs updates * Fixes for pricing tests * Update unit tests for part migrations · 1b6b6d9d * Bug fix for conversion code * javascript updates * JS formatting fix |
||
---|---|---|
.devcontainer | ||
.devops | ||
.github | ||
.vscode | ||
ci | ||
contrib | ||
deploy | ||
docker | ||
docs | ||
images/logo | ||
InvenTree | ||
.djlintrc | ||
.eslintrc.yml | ||
.gitattributes | ||
.gitignore | ||
.pkgr.yml | ||
.pre-commit-config.yaml | ||
CONTRIBUTING.md | ||
crowdin.yml | ||
docker-compose.yml | ||
docker.dev.env | ||
Dockerfile | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
Procfile | ||
README.md | ||
readthedocs.yml | ||
RELEASE.md | ||
requirements-dev.in | ||
requirements-dev.txt | ||
requirements.in | ||
requirements.txt | ||
runtime.txt | ||
SECURITY.md | ||
setup.cfg | ||
tasks.py |
InvenTree
Open Source Inventory Management System
View Demo · Documentation · Report Bug · Request Feature
🌟 About the Project
InvenTree is an open-source Inventory Management System which provides powerful low-level stock control and part tracking. The core of the InvenTree system is a Python/Django database backend which provides an admin interface (web-based) and a REST API for interaction with external interfaces and applications.
InvenTree is designed to be lightweight and easy to use for SME or hobbyist applications, where many existing stock management solutions are bloated and cumbersome to use. Updating stock is a single-action process and does not require a complex system of work orders or stock transactions.
Powerful business logic works in the background to ensure that stock tracking history is maintained, and users have ready access to stock level information.
🎯 Features
- Organize Parts and BOMs
- Manage Suppliers
- Instant Stock Knowledge
- Extend and Customize to fit your usage
🧭 Roadmap
- Plugins
- Improved Importers
- Custom Workflow Processes
🛠️ Integration
InvenTree is designed to be extensible, and provides multiple options for integration with external applications or addition of custom plugins:
👾 Tech Stack
Server
Database
Client
DevOps
🧰 Getting Started
Refer to the getting started guide for installation and setup instructions.
📱 Mobile App
InvenTree is supported by a companion mobile app which allows users access to stock control information and functionality.
🚋 Deploy
There are several options to deploy InvenTree.
Docker · · Bare Metal
Single line install - read the docs for supported distros and details about the function:
wget -qO install.sh https://get.inventree.org && bash install.sh
👋 Contributing
Contributions are welcomed and encouraged. Please help to make this project even better! Refer to the contribution page.
📜 Translation
Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged.
To contribute to the translation effort, navigate to the InvenTree crowdin project, create a free account, and start making translations suggestions for your language of choice!
💸 Sponsor
If you use InvenTree and find it to be useful, please consider making a donation toward its continued development.
💎 Acknowledgements
We would like to acknowledge a few special projects:
- PartKeepr as a valuable predecessor and inspiration
- Readme Template for the template of this page
Find a full list of used third-party libraries in our documentation.
This project is supported by:
⚠️ License
Distributed under the MIT License. See LICENSE.txt for more information.