* Add "bom_validated" field to the Part model * Check bom validity of any assemblies when a part is changed * Improved update logic * Fixes for circular imports * Add additional info to BOM validation serializer * More intelligent caching * Refactor * Update API filter * Data migration to process existing BomItem entries * Add "BOM Valid" filter to part table * Add dashboard widget * Display BOM validation status * Tweak dashboard widget * Update BomTable * Allow locked BOM items to be validated * Adjust get_item_hash - preserve "some" backwards compatibility * Bump API version * Refactor app URL patterns * Fix import sequence * Tweak imports * Fix logging message * Fix error message * Update src/backend/InvenTree/part/migrations/0141_auto_20250722_0303.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update exception handling * Try info level debug * Disable exchange rate update * Add registry ready flag * Add is_ready func * Cleaner init code * Protect against plugin access until ready * Fix dashboard widget filter * Adjust unit test * Fix receiver name * Only add plugin URLs if registry is ready * Cleanup code * Update playwright tests * Update docs * Revert changes to urls.py --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
InvenTree Documentation
This repository hosts the official documentation for InvenTree, an open source inventory management system.
To serve this documentation locally (e.g. for development), you will need to have Python 3 installed on your system.
Setup
Run the following commands from the top-level project directory:
$ git clone https://github.com/inventree/inventree
$ pip install --require-hashes -r docs/requirements.txt
Serve Locally
To serve the pages locally, run the following command (from the top-level project directory):
$ mkdocs serve -f docs/mkdocs.yml -a localhost:8080
Edit Documentation Files
Once the server is running, it will monitor the documentation files for any changes, and update the served pages.
Admonitions
"Admonition" blocks can be added as follow:
!!! info "This is the admonition block title"
This is the admonition block content
Refer to the reference documentation to customize the admonition block to the use-case (eg. warning, missing, info, etc.).
Internal Links
Links to internal documentation pages must use relative pathing, otherwise the link will be broken by the readthedocs URL formatting.
Also, linking to an internal page must use the .md
suffix!
For example, to link to the page /part/views
from /stock/stocktake
, the link must be formed as follows:
Click [here](../part/views.md)
Formatting the link as follows:
Click [here](/part/views)
will result in a broken link.
Images
Images are served from the ./docs/assets/images
folder and can be added as follows:
{{ image("image_name.png", base="subfolder", title="Image title") }}
See the image
macro in ./docs/main.py
for more information.
Icons
Icons can be rendered (using the tabler icon set) as follows:
{{ icon("brand-github", color="red")}}
See the icon
macro in ./docs/main.py
for more information.
Global variables
Refer to the reference documentation to find out how to add global variables to the documentation site.
Global variables should be added in the # Global Variables
section of the mkdocs.yml
configuration file.
Credits
This documentation makes use of the mkdocs-material template