[MIG] sale_outstanding: migrate to 18.0
This commit is contained in:
110
sale_outstanding/README.md
Normal file
110
sale_outstanding/README.md
Normal file
@@ -0,0 +1,110 @@
|
||||
# Sale Outstanding
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
This module computes and displays two financial indicators on sale orders:
|
||||
|
||||
- **Outstanding (Untaxed)**: total amount of order lines that have been delivered but not yet invoiced.
|
||||
- **To Do (Untaxed)**: total amount of order lines that have not yet been fully delivered
|
||||
(excluding services billed on order with the `ordered_timesheet` policy).
|
||||
|
||||
Both values are visible directly on the sale order form and in the list view
|
||||
(columns hidden by default, toggleable via the column selector).
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Description](#description)
|
||||
- [Installation](#installation)
|
||||
- [Configuration](#configuration)
|
||||
- [Usage](#usage)
|
||||
- [Known Issues / Roadmap](#known-issues--roadmap)
|
||||
- [Bug Tracker](#bug-tracker)
|
||||
- [Credits](#credits)
|
||||
|
||||
## Description
|
||||
|
||||
This module extends the `sale.order` model with two computed, stored monetary fields.
|
||||
|
||||
### `sum_outstanding` — Outstanding (Untaxed)
|
||||
|
||||
Computed as the sum across all order lines of:
|
||||
|
||||
```
|
||||
qty_to_invoice × price_unit
|
||||
```
|
||||
|
||||
This amount represents what has been delivered to the customer but not yet invoiced.
|
||||
|
||||
### `sum_pending_work` — To Do (Untaxed)
|
||||
|
||||
Computed as the sum across all order lines of:
|
||||
|
||||
```
|
||||
(ordered_qty − delivered_qty) × price_unit
|
||||
```
|
||||
|
||||
Services whose invoicing policy is `ordered_timesheet` are excluded from this calculation,
|
||||
as they are invoiced upon order confirmation rather than upon delivery.
|
||||
|
||||
This amount represents work that still needs to be delivered and has not yet been invoiced.
|
||||
|
||||
### Display
|
||||
|
||||
- **Form view**: both fields appear in an `oe_subtotal_footer` group placed after the order
|
||||
totals block.
|
||||
- **List view**: both columns are added after `amount_tax`, hidden by default, with column
|
||||
footer totals.
|
||||
|
||||
## Installation
|
||||
|
||||
This module depends on:
|
||||
|
||||
- `base` (Odoo core)
|
||||
- `sale` (Odoo core)
|
||||
|
||||
Use the standard Odoo module installation procedure to install `sale_outstanding`.
|
||||
|
||||
## Configuration
|
||||
|
||||
No specific configuration is required. The fields are computed automatically.
|
||||
|
||||
To display the columns in the sale order list view, click the column selector icon
|
||||
(top-right corner of the list) and enable **Outstanding (Untaxed)** and/or **To Do (Untaxed)**.
|
||||
|
||||
## Usage
|
||||
|
||||
1. Open a confirmed sale order for which deliveries have been (partially or fully) completed.
|
||||
2. The **Outstanding (Untaxed)** field shows the amount delivered but not yet invoiced.
|
||||
3. The **To Do (Untaxed)** field shows the amount of work not yet delivered.
|
||||
4. In the sale order list view, enable the optional columns for a global overview of outstanding amounts.
|
||||
|
||||
## Known Issues / Roadmap
|
||||
|
||||
- Amounts are computed excluding taxes. A possible improvement would be to add tax-included variants.
|
||||
- The filter on `service_policy == 'ordered_timesheet'` is hard-coded; a configurable setting
|
||||
would allow more flexibility.
|
||||
|
||||
## Bug Tracker
|
||||
|
||||
Bugs are tracked on [our issue tracker](https://github.com/elabore-coop/sale-tools/issues).
|
||||
If you encounter a problem, please check whether your issue has already been reported.
|
||||
If you are the first to spot it, help us by providing detailed and actionable feedback.
|
||||
|
||||
## Credits
|
||||
|
||||
### Contributors
|
||||
|
||||
- Stéphan Sainléger \<stephan@sainleger.fr\>
|
||||
|
||||
### Funders
|
||||
|
||||
The development of this module has been financially supported by:
|
||||
|
||||
- [Elabore](https://elabore.coop)
|
||||
- [Datactivist](https://datactivist.coop)
|
||||
|
||||
### Maintainer
|
||||
|
||||
This module is maintained by [Elabore](https://elabore.coop).
|
||||
Reference in New Issue
Block a user