Metadata-Version: 2.4
Name: dango-inventree-rolling-stocktake
Version: 0.2.2
Summary: Support rolling stocktake for InvenTree
Author-email: Oliver Walters <oliver.henry.walters@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/inventree/rolling-stocktake-plugin
Keywords: inventree,plugin
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Framework :: InvenTree
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PyPI](https://img.shields.io/pypi/v/dango-inventree-rolling-stocktake)](https://pypi.org/project/dango-inventree-rolling-stocktake/)
![PEP](https://github.com/inventree/rolling-stocktake-plugin/actions/workflows/ci.yaml/badge.svg)

# Rolling Stocktake Plugin
 
This is as plugin for [InvenTree](https://inventree.org) which provides integration of rolling stocktake for InvenTree.

## Description

Rolling stocktake is a method of inventory management where a small subset of inventory is counted on a regular basis, rather than counting the entire inventory at once. This plugin provides tools to facilitate rolling stocktake operations within InvenTree.

### Features

The plugin provides the following features:

- A backend API endpoint to retrieve items which are due for stocktake
- A frontend interface to view and manage rolling stocktake operations

### Dashboard Widget

Users are presented with a custom widget on their dashboard, which automatically fetches stock items which are due for stocktake:

![Dashboard Widget](docs/dashboard.png)

This widget allows users to quickly and easily perform stocktake operations on items. The plugin can be configured to display:
- A single stock item (default behavior)
- All stock items at the same location as the oldest item (same location only)
- All stock items at the same location as the oldest item (including sublocations)
- All stock items of the same part as the oldest item

Users can count items individually or all at once. Once stocktake has been performed, the next set of items which are due for stocktake is automatically fetched.

## Installation

Install the plugin using the methods described below.

*Note: After the plugin is installed, it must be activated via the InvenTree plugin interface.*

### Via User Interface

Installation via the InvenTree plugin manager is the recommended approach:

The simplest way to install this plugin is from the InvenTree plugin interface. Enter the plugin name (`inventree-rolling-stocktake`) and click the `Install` button:

![Install Plugin](docs/install.png)

### Via Pip

To install manually via the command line, run the following command:

```bash
pip install dango-inventree-rolling-stocktake
```

*Note: You must be operating within the InvenTree virtual environment!*

## Configuration

The plugin can be configured via the InvenTree plugin interface. The following settings are available:

| Setting | Description |
| --- | --- |
| Ignore External Locations | Ignore stock items which are located in external locations |
| Daily Limit | Maximum number of stock items to process per day (per user). Set to 0 for unlimited. |
| Allowed Group | Specify a group which is allowed to perform rolling stocktake operations. Leave blank to allow all users to perform stocktake operations. |
| Stocktake Scope | Determine which stock items to present for stocktake: Single Item (oldest item only), Stock Location (all items at the same location), Stock Location with Sublocations (all items at the same location including sublocations), or All Items of Part (all items of the same part). Default: Single Item. |

![Plugin Settings](docs/settings.png)
