Commit Graph

20 Commits

Author SHA1 Message Date
Carolina Fernandez
8e6d78bd7a [MIG] contract_variable_quantity: Migration to 16.0 2024-08-07 18:23:10 +02:00
Víctor Martínez
3ddd1ac265 [MIG] contract_variable_quantity: Migration to 15.0
TT40289
2024-07-22 11:49:58 +02:00
Carlos Roca
c16970c765 [MIG] contract_variable_quantity: Migration to v13 2024-07-22 11:49:58 +02:00
Carlos Roca
3cb0d88dec [IMP] contract_variable_quantity: black, isort, prettier 2024-07-22 11:49:58 +02:00
Pedro M. Baeza
9dea55a137 [IMP] contract: remove redundant method
I have detected a method that was created as redundant and with the same
technique used when preparing the line values, so better to have
everything together in the same method instead of having it spread.
2024-07-22 11:49:58 +02:00
sbejaoui
02aae61126 [12.0][REF] - Contract Variable quantity: split from analytic accoun 2024-07-22 11:49:58 +02:00
sbejaoui
91dbf6527e [REF] - Use method _get_quantity_to_invoice. 2024-07-22 11:49:58 +02:00
sbejaoui
89918c402e [FIX] - fix check quantity = 0 2024-07-22 11:49:58 +02:00
sbejaoui
cbfc082b75 [FIX] - Fix unit tests 2024-07-22 11:49:58 +02:00
sbejaoui
140c59fd96 [IMP] - Skip zero should ignore lines with qty zero even for fixed qty 2024-07-22 11:49:58 +02:00
Thomas Binsfeld
ff5f2448b6 [REF] Contract: invoice in prepare_invoice_line is optional 2024-07-22 11:49:58 +02:00
sbejaoui
f909cadc2b [IMP] Adapt unit test 2024-07-22 11:49:58 +02:00
sbejaoui
c364f5268f [MIG] contract_variable_quantity: Migration to 12.0 2024-07-22 11:49:58 +02:00
Dmytro Katyukha
bd9bccdaa9 [FIX] analytic invoice/contract lines inheritance
Bug description
---------------

`account.analytic.contract.line` inherits
`account.analytic.invoice.line`

`account.analytic.invoice.line` defines field `analytic_account_id`:
   - comodel='account.analytic.account'

`account.analytic.contract.line` redefines field `analytic_account_id`:
   - comodel='account.analytic.contract'

On attempt to extend `account.analytic.invoice.line` model adding
field that depends on `analytic_account_id.date_start`
Odoo fails to update, because it adds this field to
`account.analytic.contract.line` through inheritance,
and `account.analytic.contract` model have no this field.

What is done
------------

Change inheritance order:
- `account.analytic.invoice.line` inherits
`account.analytic.contract.line`
- no file renames at this stage (this wil be done in next commit)
2024-07-22 11:49:58 +02:00
Pedro M. Baeza
a49f838a63 [IMP] contract_variable_quantity: Recompute price when changing qty
If you have contract lines with automatic price and your pricelist
contains different prices per quantity, the price is not changed
when computing quantity.

This PR fixes this.
2024-07-22 11:49:58 +02:00
Pedro M. Baeza
c529980e42 [IMP] contract_variable_quantity: Make name translatable 2024-07-22 11:49:58 +02:00
Carlos Dauden
aea6200f7e [IMP] contract_variable_quantity: Add option to don't create zero qty invoice lines 2024-07-22 11:49:58 +02:00
Carlos Dauden
e4e2b9f82a [MIG] contract_variable_quantity: Migration to 11.0 2024-07-22 11:49:58 +02:00
Dave Lasley
c6d41ae421 [MIG] contract_variable_quantity: Migrate to v10
* Bump version
* Change openerp references to odoo
* Installable to True
* Change permissions & views to accounting dependency
2024-07-22 11:49:58 +02:00
Pedro M. Baeza
32143d8ef7 [ADD] contract_variable_quantity:
=================================================
Variable quantity in contract recurrent invoicing
=================================================

With this module, you will be able to define in recurring contracts some
lines with variable quantity according a provided formula.

Configuration
=============

* Go to Sales > Configuration > Contracts > Formulas (quantity).
* Define any formula based on Python code that stores at some moment a
  float/integer value of the quantity to invoice in the variable 'result'.

  You can use these variables to compute your formula:

  * *env*: Environment variable for getting other models.
  * *context*: Current context dictionary.
  * *user*: Current user.
  * *line*: Contract recurring invoice line that triggers this formula.
  * *contract*: Contract whose line belongs to.
  * *invoice*: Invoice (header) being created.

Usage
=====

To use this module, you need to:

* Go to Sales -> Contracts and select or create a new contract.
* Check *Generate recurring invoices automatically*.
* Add a new recurring invoicing line.
* Select "Variable quantity" in column "Qty. type".
* Select one of the possible formulas to use (previously created).
2024-07-22 11:49:58 +02:00