Files
intrastat-extrastat/intrastat_base/models/product_template.py
Alexis de Lattre 59a3934f59 [IMP] intrastat_base: A lot of imps:
* Add product_origin_country_id on declaration/computation lines

  Copy incoterms and destination country from SO to invoice when invoicing from SO
  We need weight even when supplementary units is used
  Small cleanups and enhancements

* Add support for accessory costs

  Add default values for intrastat transaction on company
  Code cleanup

* If rounded weight is 0, put 1

  Take into account the taxes for B2C
  Small code cleanup

* Remove field exclude_from_intrastat

  Re-organise view of intrastat.product.declaration

* Add option intrastat_accessory_costs on company

  Set more fields as invisible (localisation should put them visible if they need it)
  Fix handling of suppl. units when hs_code is empty on invoice line (but set on product)
  Small usability enhancements

* Warning -> UserError

* Inspired by the PR https://github.com/akretion/account-financial-reporting/pull/8 of Luc de Meyer

* total_amount is a sum of integers, so it should be an integer

  Add transport mode in computation tree view

* Demo VAT number should be on EU customers
2020-10-14 10:05:34 +02:00

46 lines
1.9 KiB
Python

# -*- coding: utf-8 -*-
##############################################################################
#
# Intrastat base module for Odoo
# Copyright (C) 2010-2014 Akretion (http://www.akretion.com/)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp import models, fields, api, _
from openerp.exceptions import ValidationError
class ProductTemplate(models.Model):
_inherit = "product.template"
is_accessory_cost = fields.Boolean(
string='Is accessory cost',
help="Activate this option for shipping costs, packaging "
"costs and all services related to the sale of products. "
"This option is used for Intrastat reports.")
@api.one
@api.constrains('type', 'is_accessory_cost')
def _check_accessory_cost(self):
if self.is_accessory_cost and self.type != 'service':
raise ValidationError(
_("The option 'Is accessory cost?' should only be "
"activated on 'Service' products. You have activated "
"this option for the product '%s' which is of type "
"'%s'"
% (self.name, self.type)))