mirror of
https://github.com/inventree/InvenTree.git
synced 2025-08-05 19:41:41 +00:00
[plugin] Auto issue orders (#9565)
* Add builtin plugin for auto-issuing orders * Add plugin to auto-issue orders * Add placeholder documentation * Fix typo * Adds image macro - To replace img.html - includes checking if file exists * Fix tooltips * More docs * Adjust plugin settings filters * docs * More docs * More docs * Updates * Less restrictive URL checking * Refactor build order page * Fix typo * Allow 429 * Debug output * More debug * Construct assets dir * Cleanup * Update docs README * Refactoring more pages * Fix image link * Fix SSO settings * Add hook to check for missing settings - Ensure that all settings are documented! * Add missing user settings * Update docstring * Tweak SSO.md * Image updates * More updates * Tweaks * Exclude orders without a target_date * Fix for issuing build orders * Further refactoring * Fixes * Image refactoring * More refactoring * More refactoring * Refactor app images * Fix pathing issues * Suppress some openapidocs warnings in logs (much easier to debug docs build issues) * Fix image reference * Reduce error messages * Fix image links * Fix image links * Reduce docs log output * Ensure settings are loaded before displaying them * Fix for UI test * Fix unit test * Test tweaks
This commit is contained in:
@@ -8,41 +8,31 @@ InvenTree provides simple yet powerful management of stock levels. Multiple stoc
|
||||
|
||||
Stock adjustments can be accessed in any stock items table using the "Stock Options" dropdown entries:
|
||||
|
||||
{% with id="stock_options", url="stock/stock_options.png", description="Stock Options" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/stock_options.png", "Stock Options") }}
|
||||
|
||||
### Move Stock
|
||||
|
||||
Multiple stock items can be moved to a new location in a single operation. Each item is moved to the selected location, and a stock tracking entry is added to the stock item history.
|
||||
|
||||
{% with id="stock_move", url="stock/stock_move.png", description="Stock movement" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/stock_move.png", "Stock Move") }}
|
||||
|
||||
### Add Stock
|
||||
|
||||
Add parts to a stock item record - for example putting parts back into stock. The in-stock quantity for each selected item is increased by the given amount.
|
||||
|
||||
{% with id="stock_add", url="stock/stock_add.png", description="Stock addition" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/stock_add.png", "Stock Add") }}
|
||||
|
||||
### Remove Stock
|
||||
|
||||
Remove parts from a stock item record - for example taking parts from stock for use. The in-stock quantity for each selected item is decreased by the given amount.
|
||||
|
||||
{% with id="stock_remove", url="stock/stock_remove.png", description="Stock removal" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/stock_remove.png", "Stock Remove") }}
|
||||
|
||||
### Count Stock
|
||||
|
||||
Count stock items (stocktake) to record the number of items in stock at a given point of time. The quantity for each part is pre-filled with the current quantity based on stock item history.
|
||||
|
||||
{% with id="stock_count", url="stock/stock_count.png", description="Stock count" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/stock_count.png", "Stock Count") }}
|
||||
|
||||
### Merge Stock
|
||||
|
||||
@@ -72,8 +62,6 @@ To merge stock items, check two or more items in a stock table and click on the
|
||||
|
||||
In the Merge Stock Items form, user can decide to allow mismatched suppliers or status to be merged together (disabled by default).
|
||||
|
||||
{% with id="stock_item_merge", url="stock/stock_item_merge.png", description="Stock Item Merge" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/stock_item_merge.png", "Stock Item Merge") }}
|
||||
|
||||
Select the location for the new stock item and confirm the merge, then click on <span class="badge inventree confirm">Submit</span> to process the merge.
|
||||
|
@@ -8,9 +8,8 @@ InvenTree supports stock expiration dates, which allows individual stock items t
|
||||
|
||||
The stock expiry feature is disabled by default, and must be enabled via the settings menu:
|
||||
|
||||
{% with id="stock_expiry", url="stock/enable_stock_expiry.png", description="Enable stock expiry feature" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/enable_stock_expiry.png", title="Enable stock expiry feature") }}
|
||||
|
||||
|
||||
!!! info "Non Expiring Stock"
|
||||
If a Stock Item is not expected to expire, leave the expiry date field blank, or zero
|
||||
@@ -19,29 +18,21 @@ The stock expiry feature is disabled by default, and must be enabled via the set
|
||||
|
||||
When creating a new stock item, the expiry date can be manually set by the user.
|
||||
|
||||
{% with id="expiry_create", url="stock/expiry_date_create.png", description="Add expiry date" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/expiry_date_create.png", title="Add expiry date") }}
|
||||
|
||||
If an expiry date is defined for a particular stock item, it will be displayed on the detail page. If the expiry date has passed (and the stock item is *expired*) then this will also be indicated.
|
||||
|
||||
{% with id="item_expired", url="stock/item_expired.png", description="Display expiry date" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/item_expired.png", title="Display expiry date") }}
|
||||
|
||||
The expiry date can be adjusted in the stock item edit form.
|
||||
|
||||
{% with id="expiry_edit", url="stock/expiry_date_edit.png", description="Edit expiry date" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/expiry_date_edit.png", title="Edit expiry date") }}
|
||||
|
||||
### Filter Expired Stock
|
||||
|
||||
The various stock display tables can be filtered by *expired* status, and also display a column for the expiry date for each stock item.
|
||||
|
||||
{% with id="stock_table_expiry", url="stock/stock_table_expiry.png", description="Filter by stock expiry" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/stock_table_expiry.png", title="Filter by stock expiry") }}
|
||||
|
||||
### Index Page
|
||||
|
||||
@@ -58,20 +49,14 @@ For example, if a Part has a default expiry time of 30 days, then any Stock Item
|
||||
|
||||
If a Part has a non-zero default expiry time, it will be displayed on the Part details page
|
||||
|
||||
{% with id="part_expiry_display", url="stock/part_expiry_display.png", description="Part expiry" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/part_expiry_display.png", title="Display part expiry") }}
|
||||
|
||||
The Part expiry time can be altered using the Part editing form.
|
||||
|
||||
{% with id="part_expiry_edit", url="stock/part_expiry.png", description="Edit part expiry" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/part_expiry.png", title="Edit part expiry") }}
|
||||
|
||||
## Sales and Build Orders
|
||||
|
||||
By default, expired Stock Items cannot be added to neither a Sales Order nor a Build Order. This behavior can be adjusted using the *Sell Expired Stock* and *Build Expired Stock* settings:
|
||||
|
||||
{% with id="sell_build_expired", url="stock/sell_build_expired_stock.png", description="Sell Build Expired Stock" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/sell_build_expired_stock.png", title="Sell and build expired stock") }}
|
||||
|
@@ -23,9 +23,7 @@ An external stock location can be used to indicate that items in there might not
|
||||
for immediate usage. Stock items in an external location are marked with an additional icon
|
||||
in the build order line items view where the material is allocated.
|
||||
|
||||
{% with id="stock_external_icon", url="stock/stock_external_icon.png", description="External stock indication" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/stock_external_icon.png", title="External stock indication") }}
|
||||
|
||||
Anyhow there is no limitation on the stock item. It can be allocated as usual.
|
||||
|
||||
|
@@ -8,9 +8,7 @@ InvenTree supports stock ownership, which allows to set groups and users as "own
|
||||
|
||||
The stock ownership feature is disabled by default, and must be enabled via the settings menu:
|
||||
|
||||
{% with id="stock_owner", url="stock/enable_stock_owner.png", description="Enable stock ownership feature" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/enable_stock_owner.png", title="Enable stock ownership feature") }}
|
||||
|
||||
### Background
|
||||
The stock item ownership function does not change or the influence the access rights that have been set
|
||||
@@ -41,22 +39,18 @@ There are two types of owners in InvenTree: [groups](../settings/permissions.md#
|
||||
|
||||
When selecting an owner, in the drop-down list, groups are annotated with the {{ icon("users", title="Users") }} icon and users are annotated with the {{ icon("user", title="User") }} icon:
|
||||
|
||||
{% with id="stock_owner_type", url="stock/stock_owner_type.png", description="Display stock owner type" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/stock_owner_type.png", title="Display stock owner type") }}
|
||||
|
||||
### Set Stock Location Owner
|
||||
|
||||
To specify the owner of a stock location, navigate to the stock location detail page. Click on the {{ icon("sitemap") }}icon under the location's name then click on "Edit Location".
|
||||
|
||||
!!! warning
|
||||
If you cannot see the {{ icon("sitemap") }}icon, it means that you do **not** have permissions to edit stock locations. Refer to [the permissions documentation](../settings/permissions.md#roles) and/or contact your InvenTree administrator.
|
||||
If you cannot see the {{ icon("sitemap") }} icon, it means that you do **not** have permissions to edit stock locations. Refer to [the permissions documentation](../settings/permissions.md#roles) and/or contact your InvenTree administrator.
|
||||
|
||||
In the "Edit Stock Location" form, select the owner and click the "Submit" button:
|
||||
|
||||
{% with id="stock_location_owner", url="stock/stock_location_owner.png", description="Set stock location owner" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/stock_location_owner.png", title="Set stock location owner") }}
|
||||
|
||||
Setting the owner of stock location will automatically:
|
||||
|
||||
@@ -81,6 +75,4 @@ To specify the owner of a stock item, navigate to the stock item detail page. Cl
|
||||
|
||||
In the "Edit Stock Item" form, select the owner and click the "Save" button:
|
||||
|
||||
{% with id="stock_item_owner", url="stock/stock_item_owner.png", description="Set stock item owner" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/stock_item_owner.png", title="Set stock item owner") }}
|
||||
|
@@ -22,9 +22,7 @@ Below is the list of available stock status codes and their meaning:
|
||||
|
||||
The *status* of a given stock item is displayed on the stock item detail page:
|
||||
|
||||
{% with id="stock_status_label", url="stock/stock_status_label.png", description="Stock Status Label" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/stock_status_label.png", title="Stock status label") }}
|
||||
|
||||
**Source Code**
|
||||
|
||||
@@ -48,6 +46,4 @@ The default status code for any newly created Stock Item is <span class='badge i
|
||||
|
||||
To update the status code for an individual stock item, open the *Edit Stock Item* dialog and then select the required status code in the *Status* field
|
||||
|
||||
{% with id="stock_status_edit", url="stock/stock_status_edit.png", description="Edit stock item status" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/stock_status_edit.png", title="Edit stock item status") }}
|
||||
|
@@ -8,9 +8,7 @@ Stock items which are associated with a [testable part](../part/index.md#testabl
|
||||
|
||||
The master "Part" record for the stock item can define multiple [test templates](../part/test.md), against which test data can be uploaded. Additionally, arbitrary test information can be assigned to the stock item.
|
||||
|
||||
{% with id="stock_test_results", url="stock/test_results.png", description="Stock Item Test Results" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/test_results.png", title="Stock Item Test Results") }}
|
||||
|
||||
### Test Result Fields
|
||||
|
||||
|
@@ -8,9 +8,7 @@ It may be desirable to track individual stock items, or groups of stock items, w
|
||||
|
||||
Individual stock items can be assigned a batch code, or a serial number, or both, or neither, as requirements dictate.
|
||||
|
||||
{% with id="batch_and_serial", url="stock/batch_and_serial.png", description="Batch and serial number" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/batch_and_serial.png", title="Batch and Serial Number Tracking") }}
|
||||
|
||||
Out of the box, the default implementations for both batch codes and serial numbers are (intentionally) simplistic.
|
||||
|
||||
@@ -26,9 +24,7 @@ Multiple stock items may share the same batch code without restriction, even acr
|
||||
|
||||
Batch codes can be generated automatically based on a provided pattern. The default pattern simply uses the current date-code as the batch number, however this can be customized within a certain scope.
|
||||
|
||||
{% with id="batch_code_pattern", url="stock/batch_code_template.png", description="Batch code pattern" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/batch_code_template.png", title="Batch code pattern") }}
|
||||
|
||||
#### Context Variables
|
||||
|
||||
@@ -57,17 +53,13 @@ By default, serial numbers must be unique across any given [Part](../part/index.
|
||||
|
||||
However, it is also possible to specify that serial numbers must be globally unique across all types of parts. This is configurable in the settings display (see below):
|
||||
|
||||
{% with id="serial_numbers_unique", url="stock/serial_numbers_unique.png", description="Serial number uniqueness" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/serial_numbers_unique.png", title="Serial number uniqueness") }}
|
||||
|
||||
#### Generating Serial Numbers
|
||||
|
||||
When creating a group of serialized stock items, it can be very useful for the user to be able to generate a group of unique serial numbers, with one serial number for each serialized stock item.
|
||||
|
||||
{% with id="serial_next", url="stock/serial_next.png", description="Serial number entry" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/serial_next.png", title="Serial number entry") }}
|
||||
|
||||
For a given serial number *schema* (either the in-built schema or a custom schema defined by a plugin), a group (or *range*) of serial numbers can be generated using a number of possible patterns:
|
||||
|
||||
@@ -129,15 +121,11 @@ If a provided serial number (or group of numbers) is not considered valid, an er
|
||||
|
||||
##### Example: Invalid Quantity
|
||||
|
||||
{% with id="serial_error_quantity", url="stock/serial_error_quantity.png", description="Serial number - invalid quantity" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/serial_error_quantity.png", title="Serial number - invalid quantity") }}
|
||||
|
||||
##### Example: Duplicate Serial Numbers
|
||||
|
||||
{% with id="serial_error_unique", url="stock/serial_error_unique.png", description="Serial number - duplicate values" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
{{ image("stock/serial_error_unique.png", title="Serial number - duplicate values") }}
|
||||
|
||||
##### Example: Invalid Serial Numbers
|
||||
|
||||
|
Reference in New Issue
Block a user