2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-20 05:46:34 +00:00

Docs refactor (#9545)

* Refactor / reognaize docs structure

* Refactor plugin docs structure

* More refactoring / cleanup

* Update build images

* Gallery updates

* Order images

* Update part docs

* Settings images

* Stock images

* Reitntroduce gallery

* Add custom icon macro

* Update icons

* Cleanup

* Fix link

* Fix internal links

* Revert some page moves

* Fix links

* Fix links
This commit is contained in:
Oliver
2025-04-22 08:18:32 +10:00
committed by GitHub
parent 9b489911e5
commit 6b08e45eac
240 changed files with 964 additions and 831 deletions

View File

@ -0,0 +1,16 @@
---
title: Customers
---
## Customers
A *customer* is an external client to whom parts or services are sold.
To access the customer page, click on the <span class="badge inventree nav main">{{ icon("truck-delivery") }} Sales</span> navigation tab and click on <span class="badge inventree nav main">{{ icon("building-store") }} Customers</span> option in the dropdown list.
!!! warning
**Viewing**, **adding**, **editing** and **deleting** customers require the corresponding [Sales Orders user permissions](../settings/permissions.md)
### Add Customer
Once the customer page is loaded, click on the <span class="badge inventree add">{{ icon("plus-circle") }} New Customer</span> button: the "Create new Customer" form opens. Fill-in the manufacturer information (`Company name` and `Company description` are required) then click on <span class="badge inventree confirm">Submit</span>

25
docs/docs/sales/index.md Normal file
View File

@ -0,0 +1,25 @@
---
title: Sales
---
## Sales
InvenTree provides support for managing sales orders, allowing users to track the sale of parts and materials to customers. The sales system is designed to seamlessly control the distribution of stock items from the InvenTree database, ensuring that all parts are properly accounted for and tracked throughout their lifecycle.
### Customers
InvenTree allows users to define customers, which represent individuals or organizations that purchase parts or materials from the company. Customers can be linked to specific sales orders, enabling users to easily track customer relationships and manage sales processes.
Read more about customers in the [Customer documentation](./customer.md).
### Sales Orders
The core of the InvenTree sales system is the sales order (SO). A sales order is a formal request from a customer to purchase specific parts or materials. Each sales order is linked to one or more internal parts, allowing users to easily track the sales process and manage customer relationships.
Read more about sales orders in the [Sales Order documentation](./sales_order.md).
### Return Orders
InvenTree also supports return orders, which represent the return of parts or materials from a customer.
Read more about return orders in the [Return Order documentation](./return_order.md).

View File

@ -0,0 +1,178 @@
---
title: Return Order
---
## Return Orders
Return Orders allow stock items (which have been sold or allocated to a customer) to be to be returned into stock, typically for the purpose of repair or refund.
!!! tip "An Order By Any Other Name"
A Return Order may also be known as an [RMA](https://en.wikipedia.org/wiki/Return_merchandise_authorization)
### View Return Orders
To navigate to the Return Order display, select *Sales* from the main navigation menu, and *Return Orders* from the sidebar:
{% with id="return_order_display", url="order/ro_display.png", description="Return Order Display" %}
{% include "img.html" %}
{% endwith %}
The following view modes are available:
#### Table View
*Table View* provides a list of Return Orders, which can be filtered to display a subset of orders according to user supplied parameters.
{% with id="purchase_order_list", url="order/po_list.png", description="Return Order List" %}
{% include "img.html" %}
{% endwith %}
#### Calendar View
*Calendar View* shows a calendar display with outstanding return orders, based on the various dates specified for each order.
{% with id="return_order_calendar", url="order/ro_calendar.png", description="Return Order Calendar" %}
{% include "img.html" %}
{% endwith %}
### Enable Return Order Functionality
By default, Return Order functionality is not enabled - it must be enabled by a *staff* user from the settings page:
{% with id="enable-return-order", url="order/return_order_enable.png", description="Enable Return Orders" %}
{% include "img.html" %}
{% endwith %}
Once this setting is enabled, you can access the "Return Orders" page from the main navigation bar:
{% with id="return-order-navbar", url="order/return_order_navbar.png", description="Access Return Orders" %}
{% include "img.html" %}
{% endwith %}
### Return Order Permissions
[Permissions](../settings/permissions.md) for Return Orders are managed via the `return_order` permission group. Users are assigned appropriate permissions based on the groups they are part of.
### View Return Orders
A list of Return Orders is displayed on the *Return Order* index page:
{% with id="return-order-index", url="order/return_order_index.png", description="Return Order Index" %}
{% include "img.html" %}
{% endwith %}
Various filters are available to configure which orders are displayed, and how they are arranged.
### Return Order Status Codes
Each Return Order has a specific status code, as follows:
| Status | Description |
| --- | --- |
| Pending | The return order has been created, but not sent to the customer |
| In Progress | The return order has been issued to the customer |
| On Hold | The return order has been placed on hold, but is still active |
| Complete | The return order was marked as complete, and is now closed |
| Cancelled | The return order was cancelled, and is now closed |
**Source Code**
Refer to the source code for the Return Order status codes:
::: order.status_codes.ReturnOrderStatus
options:
show_bases: False
show_root_heading: False
show_root_toc_entry: False
show_source: True
members: []
Return Order Status supports [custom states](../concepts/custom_states.md).
## Create a Return Order
From the Return Order index, click on <span class='badge inventree add'>{{ icon("plus-circle") }} New Return Order</span> which opens the "Create Return Order" form.
A Return Order is linked to a specific customer, which can be selected from the list of existing customers
!!! warning "Customers Only"
Only companies with the "Customer" attribute enabled will be shown and can be selected
{% with id="return-order-create", url="order/return_order_create.png", description="Return Order Create" %}
{% include "img.html" %}
{% endwith %}
Fill in the rest of the form with the return order information, and then click on <span class='badge inventree confirm'>Submit</span> to create the order.
### Return Order Reference
Each Return Order is uniquely identified by its *Reference* field. Read more about [reference fields](../settings/reference.md).
### Responsible Owner
The order can be assigned to a responsible *owner*, which is either a user or group.
## Return Order Detail
Individual Return Orders can be viewed via the Return Order detail page:
{% with id="return-order-detail", url="order/return_order_detail.png", description="Return Order Detail" %}
{% include "img.html" %}
{% endwith %}
Here the details of the return order are available, and specific actions can be performed:
### Edit Return Order
The Return Order can be edit by selecting the {{ icon("edit", color="blue", title="Edit") }} icon under the {{ icon("tools") }} actions menu.
### Line Items
Return Order line items can be added while the [status](#return-order-status-codes) of the order is *In Progress*. Any stock item which is currently sold or assigned to the particular customer can be selected for return.
!!! info "Serialized Stock Only"
Only stock items which are serialized can be selected for return from the customer
### Extra Line Items
While [line items](#line-items) must reference a particular stock item, extra line items are available for any other itemized information that needs to be conveyed with the order.
## Return Order Reports
Custom [reports](../report/index.md) can be generated against each Return Order.
## Order Scheduling
Return Orders can be scheduled to be completed on a specific date. This can be useful for planning and tracking the return of items.
### Start Date
The *Start Date* of the return order is the date on which the order is scheduled to be issued to the customer.
### Target Date
The *Target Date* of the return order is the date on which the order is scheduled to be completed.
### Overdue Orders
If the *Target Date* of a return order has passed, the order will be marked as *Overdue*. This can be useful for tracking orders which are behind schedule.
## Calendar view
Using the button to the top right of the list of Return Orders, the view can be switched to a calendar view using the button {{ icon("calendar") }}. This view shows orders with a defined target date only.
This view can be accessed externally as an ICS calendar using a URL like the following:
`http://inventree.example.org/api/order/calendar/return-order/calendar.ics`
by default, completed orders are not exported. These can be included by appending `?include_completed=True` to the URL.
## Return Order Settings
The following [global settings](../settings/global.md) are available for return orders:
| Name | Description | Default | Units |
| ---- | ----------- | ------- | ----- |
{{ globalsetting("RETURNORDER_ENABLED") }}
{{ globalsetting("RETURNORDER_REFERENCE_PATTERN") }}
{{ globalsetting("RETURNORDER_REQUIRE_RESPONSIBLE") }}
{{ globalsetting("RETURNORDER_EDIT_COMPLETED_ORDERS") }}

View File

@ -0,0 +1,228 @@
---
title: Sales Orders
---
## Sales Orders
Sales orders allow tracking of which stock items are sold to customers, therefore converting stock items / inventory into externally sold items.
### View Sales Orders
To navigate to the Sales Order display, select *Sales* from the main navigation menu, and *Sales Orders* from the sidebar:
{% with id="sales_order_display", url="order/so_display.png", description="Sales Order Display" %}
{% include "img.html" %}
{% endwith %}
The following view modes are available:
#### Table View
*Table View* provides a list of Sales Orders, which can be filtered to display a subset of orders according to user supplied parameters.
{% with id="sales_order_list", url="order/so_list.png", description="Sales Order List" %}
{% include "img.html" %}
{% endwith %}
#### Calendar View
*Calendar View* shows a calendar display with outstanding sales orders.
{% with id="sales_order_calendar", url="order/so_calendar.png", description="Sales Order Calendar" %}
{% include "img.html" %}
{% endwith %}
### Sales Order Status Codes
Each Sales Order has a specific status code, which represents the state of the order:
| Status | Description |
| --- | --- |
| Pending | The sales order has been created, but has not been finalized or submitted |
| In Progress | The sales order has been issued, and is in progress |
| On Hold | The sales order has been placed on hold, but is still active |
| Shipped | The sales order has been shipped, but is not yet complete |
| Complete | The sales order is fully completed, and is now closed |
| Cancelled | The sales order was cancelled, and is now closed |
| Lost | The sales order was lost, and is now closed |
| Returned | The sales order was returned, and is now closed |
**Source Code**
Refer to the source code for the Sales Order status codes:
::: order.status_codes.SalesOrderStatus
options:
show_bases: False
show_root_heading: False
show_root_toc_entry: False
show_source: True
members: []
Sales Order Status supports [custom states](../concepts/custom_states.md).
### Sales Order Currency
The currency code can be specified for an individual sales order. If not specified, the default currency specified against the [customer](./customer.md) will be used.
## Create a Sales Order
Once the sales order page is loaded, click on <span class="badge inventree add">{{ icon("plus-circle") }} New Sales Order</span> which opens the "Create Sales Order" form.
A Sales Order is linked to a specific customer, select one in the list of existing customers.
!!! warning "Customers Only"
Only companies with the "Customer" attribute enabled will be shown and can be selected
Fill out the rest of the form with the sales order information then click on <span class="badge inventree confirm">Submit</span> to create the order.
### Sales Order Reference
Each Sales Order is uniquely identified by its *Reference* field. Read more about [reference fields](../settings/reference.md).
### Add Line Items
On the sales order detail page, user can link parts to the sales order selecting the <span class="badge inventree nav side">{{ icon("list") }}</span> Line Items</span> tab then clicking on the <span class="badge inventree add">{{ icon("plus-circle") }} Add Line Item</span> button.
Once the "Add Line Item" form opens, select a part in the list.
!!! warning
Only parts that have the "Salable" attribute enabled will be shown and can be selected
Fill out the rest of the form then click on <span class="badge inventree confirm">Submit</span>
## Shipments
After all line items were added to the sales order, user needs to create one or more [shipments](#sales-order-shipments) in order to allocate stock for those parts.
In order to create a new shipment:
1. Click on the <span class="badge inventree nav side">{{ icon("truck-loading") }} Pending Shipments</span> tab
2. Click on <span class="badge inventree add">{{ icon("plus-circle") }} New Shipment</span> button, fill out the form with the shipment number (tracking number can be added but is optional) then click on <span class="badge inventree confirm">Submit</span>
Repeat the two steps above to create more shipments.
### Allocate Stock Items
After shipments were created, user can either:
* Allocate stock items for that part to the sales order (click on {{ icon("arrow-right") }} button)
* Create a build order for that part to cover the quantity of the sales order (click on {{ icon("tools") }} button)
During the allocation process, user is required to select the desired shipment that will contain the stock items.
### Complete Shipment
To complete a shipment, click on the <span class="badge inventree nav side">{{ icon("truck-loading") }} Pending Shipments</span> tab then click on {{ icon("truck-delivery") }} button shown in the shipment table.
Fill out the "Complete Shipment" form then click on <span class="badge inventree confirm">Submit</span>.
To view all the completed shipment, click on the <span class="badge inventree nav side">{{ icon("truck-delivery") }} Completed Shipments</span> tab. In the completed shipments table, click on each shipment to view the shipment details.
## Complete Order
Once all items in the sales order have been shipped, click on <span class="badge inventree add">{{ icon("circle-check", color="green") }} Complete Order</span> to mark the sales order as shipped. Confirm then click on <span class="badge inventree confirm">Submit</span> to complete the order.
## Cancel Order
To cancel the order, click on the {{ icon("tools") }} menu button next to the <span class="badge inventree add">{{ icon("circle-check", color="green") }} Complete Order</span> button, then click on the "{{ icon("tools") }} Cancel Order" menu option. Confirm then click on the <span class="badge inventree confirm">Submit</span> to cancel the order.
## Order Scheduling
Sales orders can be scheduled for a future date, to allow for order scheduling.
### Start Date
The *Start Date* of the sales order is the date on which the order is scheduled to be issued, allowing work to begin on the order.
### Target Date
The *Target Date* of the sales order is the date on which the order is scheduled to be completed and shipped.
### Overdue Orders
If the *Target Date* of the sales order has passed, the order will be marked as *overdue*.
## Calendar view
Using the button to the top right of the list of Sales Orders, the view can be switched to a calendar view using the button {{ icon("calendar") }}. This view shows orders with a defined target date only.
This view can be accessed externally as an ICS calendar using a URL like the following:
`http://inventree.example.org/api/order/calendar/sales-order/calendar.ics`
By default, completed orders are not exported. These can be included by appending `?include_completed=True` to the URL.
## Sales Order Shipments
Shipments are used to track sales items when they are shipped to customers. Multiple shipments can be created against a [Sales Order](./sales_order.md), allowing line items to be sent to customers in multiple deliveries.
On the main Sales Order detail page, the order shipments are split into two categories, *Pending Shipments* and *Completed Shipments*:
### Pending Shipments
The *Pending Shipments* panel displays the shipments which have not yet been sent to the customer.
- Each shipment displays the items which have been allocated to it
- Pending sales order items can be allocated to these shipments
- New shipments can be created if the order is still open
{% with id="pending-shipments", url="order/pending_shipments.png", description="Pending shipments" %}
{% include "img.html" %}
{% endwith %}
#### Creating a new Shipment
To create a new shipment for a sales order, press the *New Shipment* button above the pending shipments table.
#### Completing a Shipment
To complete a shipment, press the *Complete Shipment* button associated with the particular shipment:
{% with id="complete-shipment", url="order/complete_shipment.png", description="Complete shipment" %}
{% include "img.html" %}
{% endwith %}
### Completed Shipments
{% with id="completed-shipments", url="order/completed_shipments.png", description="Completed shipments" %}
{% include "img.html" %}
{% endwith %}
### Shipment Data
Each shipment provides the following data fields:
#### Reference
A unique number for the shipment, used to identify each shipment within a sales order. By default, this value starts at `1` for the first shipment (for each order) and automatically increments for each new shipment.
#### Tracking Number
An optional field used to store tracking number information for the shipment.
#### Invoice Number
An optional field used to store an invoice reference for the shipment.
#### Link
An optional URL field which can be used to provide a link to an external URL.
All these fields can be edited by the user:
{% with id="edit-shipment", url="order/edit_shipment.png", description="Edit shipment" %}
{% include "img.html" %}
{% endwith %}
## Sales Order Settings
The following [global settings](../settings/global.md) are available for sales orders:
| Name | Description | Default | Units |
| ---- | ----------- | ------- | ----- |
{{ globalsetting("SALESORDER_REFERENCE_PATTERN") }}
{{ globalsetting("SALESORDER_REQUIRE_RESPONSIBLE") }}
{{ globalsetting("SALESORDER_DEFAULT_SHIPMENT") }}
{{ globalsetting("SALESORDER_EDIT_COMPLETED_ORDERS") }}
{{ globalsetting("SALESORDER_SHIP_COMPLETE") }}