37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
# Copyright 2018-2019 Akretion France (http://www.akretion.com)
|
|
# @author Alexis de Lattre <alexis.delattre@akretion.com>
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
|
|
from odoo import api, fields, models
|
|
|
|
|
|
class AccountInvoiceReport(models.Model):
|
|
_inherit = 'account.invoice.report'
|
|
|
|
margin = fields.Float(string='Margin', readonly=True)
|
|
|
|
# added margin_company_currency on account.move.line
|
|
_depends = {
|
|
'account.move': [
|
|
'name', 'state', 'move_type', 'partner_id', 'invoice_user_id', 'fiscal_position_id',
|
|
'invoice_date', 'invoice_date_due', 'invoice_payment_term_id', 'partner_bank_id',
|
|
],
|
|
'account.move.line': [
|
|
'quantity', 'price_subtotal', 'amount_residual', 'balance', 'amount_currency',
|
|
'move_id', 'product_id', 'product_uom_id', 'account_id', 'analytic_account_id',
|
|
'journal_id', 'company_id', 'currency_id', 'partner_id',
|
|
'margin_company_currency',
|
|
],
|
|
'product.product': ['product_tmpl_id'],
|
|
'product.template': ['categ_id'],
|
|
'uom.uom': ['category_id', 'factor', 'name', 'uom_type'],
|
|
'res.currency.rate': ['currency_id', 'name'],
|
|
'res.partner': ['country_id'],
|
|
}
|
|
|
|
@api.model
|
|
def _select(self):
|
|
select_str = super()._select()
|
|
select_str += ", line.margin_company_currency * currency_table.rate AS margin"
|
|
return select_str
|