diff options
| author | sbh (Open ERP) <sbh@tinyerp.com> | 2010-06-03 15:17:02 +0530 |
|---|---|---|
| committer | sbh (Open ERP) <sbh@tinyerp.com> | 2010-06-03 15:17:02 +0530 |
| commit | cf7680410c51f16d548046e84fbfc0e09dc781af (patch) | |
| tree | c5d6f3f3a6a79cdf87244490df66815554aea64e /addons | |
| parent | 7d239dc01d9b986ebd311ff5bdfdcb72ec02fb07 (diff) | |
Task-ID 880,881,883, merge sale_margin,move product_visible_discount ,merge account_invoice_salesman
bzr revid: sbh@tinyerp.com-20100603094702-9cmxsk96j6cf2wyi
Diffstat (limited to 'addons')
26 files changed, 2862 insertions, 3 deletions
diff --git a/addons/product_visible_discount/__init__.py b/addons/product_visible_discount/__init__.py new file mode 100644 index 00000000000..006d6e5fb3c --- /dev/null +++ b/addons/product_visible_discount/__init__.py @@ -0,0 +1,22 @@ +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). +# +# 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/>. +# +############################################################################## +import product +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + diff --git a/addons/product_visible_discount/__terp__.py b/addons/product_visible_discount/__terp__.py new file mode 100644 index 00000000000..d0fad8b2034 --- /dev/null +++ b/addons/product_visible_discount/__terp__.py @@ -0,0 +1,40 @@ +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). +# +# 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/>. +# +############################################################################## +{ + "name":"Visible Discount", + "version":"1.0", + "author":"Tiny", + "category":"Generic Modules/Sales & Purchases", + "description": """ + This module lets you calculate discounts on Sale Order lines and Invoice lines base on the partner's pricelist. + To this end, a new check box named "Visible Discount" is added to the pricelist form. + Example: + For the product PC1 and the partner "Asustek": if listprice=450, and the price calculated using Asustek's pricelist is 225 + If the check box is checked, we will have on the sale order line: Unit price=450, Discount=50,00, Net price=225 + If the check box is unchecked, we will have on Sale Order and Invoice lines: Unit price=225, Discount=0,00, Net price=225 + """, + "depends":["base","product","account","sale"], + "demo_xml":[], + "update_xml":['product_view.xml'], + "active":False, + "installable":True, +} +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + diff --git a/addons/product_visible_discount/i18n/ca.po b/addons/product_visible_discount/i18n/ca.po new file mode 100644 index 00000000000..abf326c2f2c --- /dev/null +++ b/addons/product_visible_discount/i18n/ca.po @@ -0,0 +1,47 @@ +# Catalan translation for openobject-addons +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2009-03-25 12:11+0000\n" +"PO-Revision-Date: 2010-01-04 05:40+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Catalan <ca@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2010-05-21 03:45+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. module: product_visible_discount +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "XML no vàlid per a la definició de la vista!" + +#. module: product_visible_discount +#: model:ir.module.module,description:product_visible_discount.module_name_translation +msgid "" +"\n" +" This module lets you calculate discounts on Sale Order lines and Invoice " +"lines base on the partner's pricelist.\n" +" To this end, a new check box named \"Visible Discount\" is added to the " +"pricelist form.\n" +" Example:\n" +" For the product PC1 and the partner \"Asustek\": if listprice=450, " +"and the price calculated using Asustek's pricelist is 225\n" +" If the check box is checked, we will have on the sale order line: " +"Unit price=450, Discount=50,00, Net price=225\n" +" If the check box is unchecked, we will have on Sale Order and " +"Invoice lines: Unit price=225, Discount=0,00, Net price=225\n" +" " +msgstr "" + +#. module: product_visible_discount +#: model:ir.module.module,shortdesc:product_visible_discount.module_name_translation +#: field:product.pricelist,visible_discount:0 +msgid "Visible Discount" +msgstr "Descompte visible" diff --git a/addons/product_visible_discount/i18n/es.po b/addons/product_visible_discount/i18n/es.po new file mode 100644 index 00000000000..8e4ddbabdaf --- /dev/null +++ b/addons/product_visible_discount/i18n/es.po @@ -0,0 +1,62 @@ +# Spanish translation for openobject-addons +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2009-03-25 12:11+0000\n" +"PO-Revision-Date: 2010-01-10 09:18+0000\n" +"Last-Translator: AlbertoGago <alberto.gago@zeptia.com>\n" +"Language-Team: Spanish <es@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2010-05-21 03:45+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. module: product_visible_discount +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "¡XML no válido para la definición de la vista!" + +#. module: product_visible_discount +#: model:ir.module.module,description:product_visible_discount.module_name_translation +msgid "" +"\n" +" This module lets you calculate discounts on Sale Order lines and Invoice " +"lines base on the partner's pricelist.\n" +" To this end, a new check box named \"Visible Discount\" is added to the " +"pricelist form.\n" +" Example:\n" +" For the product PC1 and the partner \"Asustek\": if listprice=450, " +"and the price calculated using Asustek's pricelist is 225\n" +" If the check box is checked, we will have on the sale order line: " +"Unit price=450, Discount=50,00, Net price=225\n" +" If the check box is unchecked, we will have on Sale Order and " +"Invoice lines: Unit price=225, Discount=0,00, Net price=225\n" +" " +msgstr "" +"\n" +" Este módulo permite calcular descuentos en las líneas del Pedido de " +"Ventas y en las de la Factura basados en la lista de precios del proveedor.\n" +" Para esto, una nueva casilla de selección llamada \"Descuento visible\" " +"se añade al formulario de la lista de precios.\n" +" Ejemplo:\n" +" Para el producto PC1 y el proveedor \"Asustek\": si el precio de " +"lista es 450 y el precio calculado con la lista de precios de Asustek es " +"225\n" +" Si la casilla de selección está activada, en la línea del pedido " +"aparecerá: precio unicario=450, Descuento=50,00, Precio neto=225\n" +" Si la casilla de selección está desactivada, en la línea del pedido " +"y en la factura aparecerá: Precio unitario=225, Descuento=0,00, Precio " +"neto=225\n" +" " + +#. module: product_visible_discount +#: model:ir.module.module,shortdesc:product_visible_discount.module_name_translation +#: field:product.pricelist,visible_discount:0 +msgid "Visible Discount" +msgstr "Descuento visible" diff --git a/addons/product_visible_discount/i18n/fr.po b/addons/product_visible_discount/i18n/fr.po new file mode 100644 index 00000000000..405d8fa00d2 --- /dev/null +++ b/addons/product_visible_discount/i18n/fr.po @@ -0,0 +1,62 @@ +# translation of fr_FR.po to Français +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * product_visible_discount +# +# Numerigraphe <informatique@numerigraphe.com>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: fr_FR\n" +"Report-Msgid-Bugs-To: support@openerp.com\n" +"POT-Creation-Date: 2009-03-25 12:11+0000\n" +"PO-Revision-Date: 2010-01-19 06:12+0000\n" +"Last-Translator: Numérigraphe <Unknown>\n" +"Language-Team: Français\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2010-05-21 03:45+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. module: product_visible_discount +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "XML non valide pour l'architecture de la vue" + +#. module: product_visible_discount +#: model:ir.module.module,description:product_visible_discount.module_name_translation +msgid "" +"\n" +" This module lets you calculate discounts on Sale Order lines and Invoice " +"lines base on the partner's pricelist.\n" +" To this end, a new check box named \"Visible Discount\" is added to the " +"pricelist form.\n" +" Example:\n" +" For the product PC1 and the partner \"Asustek\": if listprice=450, " +"and the price calculated using Asustek's pricelist is 225\n" +" If the check box is checked, we will have on the sale order line: " +"Unit price=450, Discount=50,00, Net price=225\n" +" If the check box is unchecked, we will have on Sale Order and " +"Invoice lines: Unit price=225, Discount=0,00, Net price=225\n" +" " +msgstr "" +"\n" +" Ce module vous permet de calculer les remises sur les lignes de Commande " +" et de Facture en se basant sur la liste de prix du partenaire.\n" +" Pour cela, une nouvelle case à cocher \"Remise visible\" est ajoutée au " +"formulaire \"Liste de prix\".\n" +" Par exemple :\n" +" Pour le produit PC1 et le partenaire \"Asustek\" : si le prix " +"public=450, et le prix prix calculé en utilisant la liste de prix d'Asustek " +"est 225\n" +" Si la case est cochée, on aura sur la ligne de commande : Prix " +"unitaire=450, Remise=50,00, Prix net=225\n" +" Si la case N'EST PAS est cochée, on aura sur la ligne de commande : " +"Prix unitaire=225, Remise=0,00, Prix net=225\n" +" " + +#. module: product_visible_discount +#: model:ir.module.module,shortdesc:product_visible_discount.module_name_translation +#: field:product.pricelist,visible_discount:0 +msgid "Visible Discount" +msgstr "Remise visible" diff --git a/addons/product_visible_discount/i18n/fr_BE.po b/addons/product_visible_discount/i18n/fr_BE.po new file mode 100644 index 00000000000..983dd588c65 --- /dev/null +++ b/addons/product_visible_discount/i18n/fr_BE.po @@ -0,0 +1,52 @@ +# translation of fr_FR.po to Français +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * product_visible_discount +# +# Numerigraphe <informatique@numerigraphe.com>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: fr_FR\n" +"Report-Msgid-Bugs-To: support@openerp.com\n" +"POT-Creation-Date: 2009-03-25 12:11:15+0000\n" +"PO-Revision-Date: 2009-03-25 13:17+0100\n" +"Last-Translator: Numerigraphe <informatique@numerigraphe.com>\n" +"Language-Team: Français\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"X-Generator: KBabel 1.11.4\n" + +#. module: product_visible_discount +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "XML non valide pour l'architecture de la vue" + +#. module: product_visible_discount +#: model:ir.module.module,description:product_visible_discount.module_name_translation +msgid "" +"\n" +" This module lets you calculate discounts on Sale Order lines and Invoice lines base on the partner's pricelist.\n" +" To this end, a new check box named \"Visible Discount\" is added to the pricelist form.\n" +" Example:\n" +" For the product PC1 and the partner \"Asustek\": if listprice=450, and the price calculated using Asustek's pricelist is 225\n" +" If the check box is checked, we will have on the sale order line: Unit price=450, Discount=50,00, Net price=225\n" +" If the check box is unchecked, we will have on Sale Order and Invoice lines: Unit price=225, Discount=0,00, Net price=225\n" +" " +msgstr "" +"\n" +" Ce module vous permet de calculer les remises sur les lignes de Commande et de Facture en se basant sur la liste de prix du partenaire.\n" +" Pour cela, une nouvelle case à cocher \"Remise visible\" est ajoutée au formulaire \"Liste de prix\".\n" +" Par exemple :\n" +" Pour le produit PC1 et le partenaire \"Asustek\" : si le prix public=450, et le prix prix calculé en utilisant la liste de prix d'Asustek est 225\n" +" Si la case est cochée, on aura sur la ligne de commande : Prix unitaire=450, Remise=50,00, Prix net=225\n" +" Si la case N'EST PAS est cochée, on aura sur la ligne de commande : Prix unitaire=225, Remise=0,00, Prix net=225\n" +" " + +#. module: product_visible_discount +#: model:ir.module.module,shortdesc:product_visible_discount.module_name_translation +#: field:product.pricelist,visible_discount:0 +msgid "Visible Discount" +msgstr "Remise visible" + diff --git a/addons/product_visible_discount/i18n/fr_FR.po b/addons/product_visible_discount/i18n/fr_FR.po new file mode 100644 index 00000000000..983dd588c65 --- /dev/null +++ b/addons/product_visible_discount/i18n/fr_FR.po @@ -0,0 +1,52 @@ +# translation of fr_FR.po to Français +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * product_visible_discount +# +# Numerigraphe <informatique@numerigraphe.com>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: fr_FR\n" +"Report-Msgid-Bugs-To: support@openerp.com\n" +"POT-Creation-Date: 2009-03-25 12:11:15+0000\n" +"PO-Revision-Date: 2009-03-25 13:17+0100\n" +"Last-Translator: Numerigraphe <informatique@numerigraphe.com>\n" +"Language-Team: Français\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"X-Generator: KBabel 1.11.4\n" + +#. module: product_visible_discount +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "XML non valide pour l'architecture de la vue" + +#. module: product_visible_discount +#: model:ir.module.module,description:product_visible_discount.module_name_translation +msgid "" +"\n" +" This module lets you calculate discounts on Sale Order lines and Invoice lines base on the partner's pricelist.\n" +" To this end, a new check box named \"Visible Discount\" is added to the pricelist form.\n" +" Example:\n" +" For the product PC1 and the partner \"Asustek\": if listprice=450, and the price calculated using Asustek's pricelist is 225\n" +" If the check box is checked, we will have on the sale order line: Unit price=450, Discount=50,00, Net price=225\n" +" If the check box is unchecked, we will have on Sale Order and Invoice lines: Unit price=225, Discount=0,00, Net price=225\n" +" " +msgstr "" +"\n" +" Ce module vous permet de calculer les remises sur les lignes de Commande et de Facture en se basant sur la liste de prix du partenaire.\n" +" Pour cela, une nouvelle case à cocher \"Remise visible\" est ajoutée au formulaire \"Liste de prix\".\n" +" Par exemple :\n" +" Pour le produit PC1 et le partenaire \"Asustek\" : si le prix public=450, et le prix prix calculé en utilisant la liste de prix d'Asustek est 225\n" +" Si la case est cochée, on aura sur la ligne de commande : Prix unitaire=450, Remise=50,00, Prix net=225\n" +" Si la case N'EST PAS est cochée, on aura sur la ligne de commande : Prix unitaire=225, Remise=0,00, Prix net=225\n" +" " + +#. module: product_visible_discount +#: model:ir.module.module,shortdesc:product_visible_discount.module_name_translation +#: field:product.pricelist,visible_discount:0 +msgid "Visible Discount" +msgstr "Remise visible" + diff --git a/addons/product_visible_discount/i18n/product_visible_discount.pot b/addons/product_visible_discount/i18n/product_visible_discount.pot new file mode 100644 index 00000000000..88d0312efdd --- /dev/null +++ b/addons/product_visible_discount/i18n/product_visible_discount.pot @@ -0,0 +1,52 @@ +# translation of fr_FR.po to Français +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * product_visible_discount +# +# Numerigraphe <informatique@numerigraphe.com>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: fr_FR\n" +"Report-Msgid-Bugs-To: support@openerp.com\n" +"POT-Creation-Date: 2009-03-25 12:11:15+0000\n" +"PO-Revision-Date: 2009-03-25 13:17+0100\n" +"Last-Translator: Numerigraphe <informatique@numerigraphe.com>\n" +"Language-Team: Français\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"X-Generator: KBabel 1.11.4\n" + +#. module: product_visible_discount +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "" + +#. module: product_visible_discount +#: model:ir.module.module,description:product_visible_discount.module_name_translation +msgid "" +"\n" +" This module lets you calculate discounts on Sale Order lines and Invoice lines base on the partner's pricelist.\n" +" To this end, a new check box named \"Visible Discount\" is added to the pricelist form.\n" +" Example:\n" +" For the product PC1 and the partner \"Asustek\": if listprice=450, and the price calculated using Asustek's pricelist is 225\n" +" If the check box is checked, we will have on the sale order line: Unit price=450, Discount=50,00, Net price=225\n" +" If the check box is unchecked, we will have on Sale Order and Invoice lines: Unit price=225, Discount=0,00, Net price=225\n" +" " +msgstr "" +"\n" +" Ce module vous permet de calculer les remises sur les lignes de Commande et de Facture en se basant sur la liste de prix du partenaire.\n" +" Pour cela, une nouvelle case à cocher \"Remise visible\" est ajoutée au formulaire \"Liste de prix\".\n" +" Par exemple :\n" +" Pour le produit PC1 et le partenaire \"Asustek\" : si le prix public=450, et le prix prix calculé en utilisant la liste de prix d'Asustek est 225\n" +" Si la case est cochée, on aura sur la ligne de commande : Prix unitaire=450, Remise=50,00, Prix net=225\n" +" Si la case N'EST PAS est cochée, on aura sur la ligne de commande : Prix unitaire=225, Remise=0,00, Prix net=225\n" +" " + +#. module: product_visible_discount +#: model:ir.module.module,shortdesc:product_visible_discount.module_name_translation +#: field:product.pricelist,visible_discount:0 +msgid "Visible Discount" +msgstr "" + diff --git a/addons/product_visible_discount/product.py b/addons/product_visible_discount/product.py new file mode 100644 index 00000000000..b6e5e9fbb90 --- /dev/null +++ b/addons/product_visible_discount/product.py @@ -0,0 +1,153 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved +# $Id$ +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################## +from osv import fields, osv +import pooler +from tools import config +import time +from osv.osv import except_osv +from tools.translate import _ + +class product_pricelist(osv.osv): + _name = 'product.pricelist' + _inherit = 'product.pricelist' + _columns ={ + 'visible_discount':fields.boolean('Visible Discount'), + } + + _defaults = { + 'visible_discount':lambda *a: True, + } +product_pricelist() + +class sale_order_line(osv.osv): + _name = "sale.order.line" + _inherit = "sale.order.line" + + def product_id_change(self, cr, uid, ids, pricelist, product, qty=0, + uom=False, qty_uos=0, uos=False, name='', partner_id=False, + lang=False, update_tax=True,date_order=False,packaging=False,fiscal_position=False, flag=False): + res=super(sale_order_line, self).product_id_change(cr, uid, ids, pricelist, product, qty, + uom, qty_uos, uos, name, partner_id, + lang, update_tax,date_order,fiscal_position=fiscal_position,flag=flag) + + context = {'lang': lang, 'partner_id': partner_id} + result=res['value'] + pricelist_obj=self.pool.get('product.pricelist') + product_obj = self.pool.get('product.product') + product_uom_obj = self.pool.get('product.uom') + if product: + if result.get('price_unit',False): + price=result['price_unit'] + else: + return res + + product = product_obj.browse(cr, uid, product, context) +# product_tmpl_id = product.product_tmpl_id.id +# pricetype_id = pricelist_obj.browse(cr, uid, pricelist).version_id[0].items_id[0].base +# field_name = 'list_price' +# product_read = self.pool.get('product.template').read(cr, uid, product_tmpl_id, [field_name], context) +# list_price = product_read[field_name] + list_price = pricelist_obj.price_get(cr, uid, [pricelist], + product.id, qty or 1.0, partner_id, {'uom': uom,'date': date_order })[pricelist] + + pricelists=pricelist_obj.read(cr,uid,[pricelist],['visible_discount']) + + old_uom = product.uos_id or product.uom_id + new_list_price = product_uom_obj._compute_price(cr, + uid, old_uom.id, list_price, uom) + if(len(pricelists)>0 and pricelists[0]['visible_discount'] and list_price != 0): + discount=(new_list_price-price) / new_list_price * 100 + result['price_unit']=new_list_price + result['discount']=discount + else: + result['discount']=0.0 + return res + + + +sale_order_line() + +class account_invoice_line(osv.osv): + _name = "account.invoice.line" + _inherit = "account.invoice.line" + + def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context={}): + res=super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id, context) + + + def get_real_price(res_dict, product_id, pricelist): + item_obj = self.pool.get('product.pricelist.item') + price_type_obj = self.pool.get('product.price.type') + product_obj=self.pool.get('product.product') + template_obj=self.pool.get('product.template') + field_name= 'list_price' + + if res_dict.get('item_id',False) and res_dict['item_id'].get(pricelist,False): + item = res_dict['item_id'].get(pricelist,False) + item_base = item_obj.read(cr, uid, [item], ['base'])[0]['base'] + if item_base > 0: + field_name = price_type_obj.browse(cr, uid, item_base).field + + product_tmpl_id = product_obj.browse(cr, uid, product_id, context).product_tmpl_id.id + + product_read = template_obj.read(cr, uid, product_tmpl_id, [field_name], context) + return product_read[field_name] + + + if product: + product = self.pool.get('product.product').browse(cr, uid, product, context=context) + pricelist_obj=self.pool.get('product.pricelist') + partner_obj=self.pool.get('res.partner') + result=res['value'] + pricelist = False + real_price = 0.00 + if type in ('in_invoice', 'in_refund'): + if not price_unit and partner_id: + pricelist =partner_obj.browse(cr, uid, partner_id).property_product_pricelist_purchase.id + if not pricelist: + raise osv.except_osv(_('No Purchase Pricelist Found !'),_("You must first define a pricelist for Supplier !")) + price_unit_res = pricelist_obj.price_get(cr, uid, [pricelist], product.id, qty or 1.0, partner_id, {'uom': uom})[pricelist] + price_unit = price_unit_res[pricelist] + real_price= get_real_price(price_unit_res, product.id, pricelist) + else: + if partner_id: + pricelist =partner_obj.browse(cr, uid, partner_id).property_product_pricelist.id + if not pricelist: + raise osv.except_osv(_('No Sale Pricelist Found '),_("You must first define a pricelist for Customer !")) + price_unit_res = pricelist_obj.price_get(cr, uid, [pricelist], product.id, qty or 1.0, partner_id, {'uom': uom}) + price_unit = price_unit_res[pricelist] + + real_price = get_real_price(price_unit_res, product.id, pricelist) + if pricelist: + pricelists=pricelist_obj.read(cr,uid,[pricelist],['visible_discount']) + if(len(pricelists)>0 and pricelists[0]['visible_discount'] and real_price != 0): + discount=(real_price-price_unit) / real_price * 100 + result['price_unit']=real_price + result['discount']=discount + else: + result['discount']=0.0 + return res + + +account_invoice_line() +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + diff --git a/addons/product_visible_discount/product_view.xml b/addons/product_visible_discount/product_view.xml new file mode 100644 index 00000000000..9fc541fbd24 --- /dev/null +++ b/addons/product_visible_discount/product_view.xml @@ -0,0 +1,29 @@ +<?xml version="1.0"?> +<openerp> + <data> + #--------------------------------------------------------- + # product price list + #--------------------------------------------------------- + <record model="ir.ui.view" id="product_pricelist_view_tree"> + <field name="name">product.pricelist.tree</field> + <field name="model">product.pricelist</field> + <field name="inherit_id" ref="product.product_pricelist_view_tree"/> + <field name="arch" type="xml"> + <field name="currency_id" position="before"> + <field name="visible_discount"/> + </field> + </field> + </record> + + <record model="ir.ui.view" id="product_pricelist_view_form"> + <field name="name">product.pricelist.form</field> + <field name="model">product.pricelist</field> + <field name="inherit_id" ref="product.product_pricelist_view"/> + <field name="arch" type="xml"> + <field name="currency_id" position="before"> + <field name="visible_discount"/> + </field> + </field> + </record> + </data> +</openerp> diff --git a/addons/sale/sale.py b/addons/sale/sale.py index e684a1a6c1d..fad10adaa36 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -422,6 +422,7 @@ class sale_order(osv.osv): if not journal_ids: raise osv.except_osv(_('Error !'), _('There is no sale journal defined for this company: "%s" (id:%d)') % (order.company_id.name, order.company_id.id)) + inv = { 'name': order.client_order_ref or order.name, 'origin': order.name, @@ -439,6 +440,7 @@ class sale_order(osv.osv): 'fiscal_position': order.fiscal_position.id or order.partner_id.property_account_position.id, 'date_invoice' : context.get('date_invoice',False), 'company_id' : order.company_id.id, + 'user_id':order.user_id and order.user_id.id or False } inv_obj = self.pool.get('account.invoice') inv.update(self._inv_get(cr, uid, order)) diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index 4d82e8595ad..8da394618af 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -105,7 +105,7 @@ <field name="shop_id" on_change="onchange_shop_id(shop_id)" widget="selection" groups="base.group_extended"/> <field name="invoiced"/> </group> - <notebook colspan="4"> + <notebook colspan="5"> <page string="Sale Order"> <field name="partner_id" on_change="onchange_partner_id(partner_id)" required="1"/> <field domain="[('partner_id','=',partner_id)]" name="partner_order_id"/> @@ -188,7 +188,7 @@ </tree> </field> <newline/> - <group col="8" colspan="5"> + <group col="10" colspan="5"> <field name="amount_untaxed" sum="Untaxed amount"/> <field name="amount_tax"/> <field name="amount_total"/> diff --git a/addons/sale_margin/__init__.py b/addons/sale_margin/__init__.py new file mode 100644 index 00000000000..9cb3c8383e8 --- /dev/null +++ b/addons/sale_margin/__init__.py @@ -0,0 +1,25 @@ +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). +# +# 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/>. +# +############################################################################## + +import invoice_margin +import report_margin +import sale_margin +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + diff --git a/addons/sale_margin/__terp__.py b/addons/sale_margin/__terp__.py new file mode 100644 index 00000000000..5b1b6ac8c60 --- /dev/null +++ b/addons/sale_margin/__terp__.py @@ -0,0 +1,33 @@ +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). +# +# 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/>. +# +############################################################################## + +{ + "name":"Margins in Sale Orders", + "version":"1.0", + "author":"Tiny", + "category" : "Generic Modules/Sales & Purchases", + "depends":["sale"], + "demo_xml":[], + "update_xml":["security/ir.model.access.csv","sale_margin_view.xml","report_margin_view.xml"], + "active": False, + "installable": True, +} +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + diff --git a/addons/sale_margin/i18n/ca.po b/addons/sale_margin/i18n/ca.po new file mode 100644 index 00000000000..ee0d944fb1b --- /dev/null +++ b/addons/sale_margin/i18n/ca.po @@ -0,0 +1,371 @@ +# Catalan translation for openobject-addons +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2009-11-25 14:28+0000\n" +"PO-Revision-Date: 2010-01-04 06:00+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Catalan <ca@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2010-05-21 03:45+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Customer Refund" +msgstr "Factura d'abonament de client" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_product +msgid "report.account.invoice.product" +msgstr "informe.comptabilitat.factura.producte" + +#. module: sale_margin +#: constraint:ir.model:0 +msgid "" +"The Object name must start with x_ and not contain any special character !" +msgstr "" +"El nom de l'objecte ha de començar amb x_ i no contenir cap caràcter " +"especial!" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_product +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_product +msgid "Invoices by Product" +msgstr "Factures per producte" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Customer Invoice" +msgstr "Factura de client" + +#. module: sale_margin +#: wizard_view:stock.invoice_onshipping,init:0 +msgid "Create invoices" +msgstr "Crea factures" + +#. module: sale_margin +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "XML invàlid per a la definició de la vista!" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_partner_product +msgid "report.account.invoice.partner.product" +msgstr "informe.comptabilitat.factura.empresa.producte" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Supplier Invoice" +msgstr "Factura de proveïdor" + +#. module: sale_margin +#: field:report.account.invoice,state:0 +#: field:report.account.invoice.category,state:0 +#: field:report.account.invoice.partner,state:0 +#: field:report.account.invoice.partner.product,state:0 +#: field:report.account.invoice.product,state:0 +msgid "State" +msgstr "Estat" + +#. module: sale_margin +#: view:stock.picking:0 +msgid "Create Invoice" +msgstr "Crea factura" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Draft" +msgstr "Esborrany" + +#. module: sale_margin +#: constraint:ir.actions.act_window:0 +msgid "Invalid model name in the action definition." +msgstr "Nom de model no vàlid en la definició de l'acció." + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_month_product +msgid "All Months" +msgstr "Tots els mesos" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_product_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_product_tree_all +msgid "report.account.invoice.partner.product.tree" +msgstr "informe.comptabilitat.factura.empresa.producte.arbre" + +#. module: sale_margin +#: field:report.account.invoice,type:0 +#: field:report.account.invoice.category,type:0 +#: field:report.account.invoice.partner,type:0 +#: field:report.account.invoice.partner.product,type:0 +#: field:report.account.invoice.product,type:0 +#: wizard_field:stock.invoice_onshipping,init,type:0 +msgid "Type" +msgstr "Tipus" + +#. module: sale_margin +#: wizard_field:stock.invoice_onshipping,init,journal_id:0 +msgid "Destination Journal" +msgstr "Diari de destí" + +#. module: sale_margin +#: view:stock.picking:0 +msgid "Supplier Invoices" +msgstr "Factures de proveïdor" + +#. module: sale_margin +#: field:report.account.invoice.partner.product,product_id:0 +#: field:report.account.invoice.product,product_id:0 +msgid "Product" +msgstr "Producte" + +#. module: sale_margin +#: view:report.account.invoice.partner:0 +msgid "Invoices by partner" +msgstr "Factures per empresa" + +#. module: sale_margin +#: view:report.account.invoice.category:0 +msgid "Invoices by category" +msgstr "Factures per categoria" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Paid" +msgstr "Pagat" + +#. module: sale_margin +#: model:ir.actions.wizard,name:sale_margin.wizard_picking_invoice_create +#: wizard_button:stock.invoice_onshipping,init,create_invoice:0 +msgid "Create invoice" +msgstr "Crea factura" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_category_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_category_tree_all +msgid "report.account.invoice.category.tree" +msgstr "informe.comptabilitat.factura.categoria.arbre" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_partner_product +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_partner_product +msgid "Invoices by Partner and Product" +msgstr "Factures per empresa i producte" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_category +msgid "report.account.invoice.category" +msgstr "informe.comptabilitat.factura.categoria" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_this_month_product +msgid "This Month" +msgstr "Aquest mes" + +#. module: sale_margin +#: field:report.account.invoice.category,categ_id:0 +msgid "Categories" +msgstr "Categories" + +#. module: sale_margin +#: field:account.invoice.line,cost_price:0 +#: field:report.account.invoice,cost_price:0 +#: field:report.account.invoice.category,cost_price:0 +#: field:report.account.invoice.partner,cost_price:0 +#: field:report.account.invoice.partner.product,cost_price:0 +#: field:report.account.invoice.product,cost_price:0 +#: field:sale.order.line,purchase_price:0 +msgid "Cost Price" +msgstr "Preu cost" + +#. module: sale_margin +#: wizard_field:stock.invoice_onshipping,init,group:0 +msgid "Group by partner" +msgstr "Agrupa per empresa" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_partner +msgid "report.account.invoice.partner" +msgstr "informe.comptabilitat.factura.empresa" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_partner +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_partner +msgid "Invoices by Partner" +msgstr "Factures per empresa" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_category +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_category +msgid "Invoices by Category" +msgstr "Factures per categoria" + +#. module: sale_margin +#: view:report.account.invoice.partner.product:0 +msgid "Invoices by partner and product" +msgstr "Factures per empresa i producte" + +#. module: sale_margin +#: field:report.account.invoice,amount:0 +#: field:report.account.invoice.category,amount:0 +#: field:report.account.invoice.partner,amount:0 +#: field:report.account.invoice.partner.product,amount:0 +#: field:report.account.invoice.product,amount:0 +msgid "Amount" +msgstr "Quantitat" + +#. module: sale_margin +#: wizard_field:stock.invoice_onshipping,init,invoice_date:0 +msgid "Invoiced date" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Supplier Refund" +msgstr "Factura d'abonament de proveïdor" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_tree_all +msgid "report.account.invoice.partner.tree" +msgstr "informe.comptabilitat.factura.empresa.arbre" + +#. module: sale_margin +#: field:report.account.invoice,margin:0 +#: field:report.account.invoice.category,margin:0 +#: field:report.account.invoice.partner,margin:0 +#: field:report.account.invoice.partner.product,margin:0 +#: field:report.account.invoice.product,margin:0 +#: field:sale.order,margin:0 +#: field:sale.order.line,margin:0 +msgid "Margin" +msgstr "Marge" + +#. module: sale_margin +#: field:report.account.invoice,quantity:0 +#: field:report.account.invoice.category,quantity:0 +#: field:report.account.invoice.partner,quantity:0 +#: field:report.account.invoice.partner.product,quantity:0 +#: field:report.account.invoice.product,quantity:0 +msgid "Quantity" +msgstr "Quantitat" + +#. module: sale_margin +#: view:report.account.invoice.product:0 +msgid "Invoices by product" +msgstr "Factures per producte" + +#. module: sale_margin +#: model:ir.module.module,shortdesc:sale_margin.module_meta_information +msgid "Margins in Sale Orders" +msgstr "Marges en comandes de venda" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice +msgid "report.account.invoice" +msgstr "informe.comptabilitat.factura" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_invoices +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_invoices +#: view:report.account.invoice:0 +#: view:stock.picking:0 +#: field:stock.picking,invoice_ids:0 +msgid "Invoices" +msgstr "Factures" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Pro-forma" +msgstr "Pro-forma" + +#. module: sale_margin +#: field:report.account.invoice,name:0 +#: field:report.account.invoice.category,name:0 +#: field:report.account.invoice.partner,name:0 +#: field:report.account.invoice.partner.product,name:0 +#: field:report.account.invoice.product,name:0 +msgid "Month" +msgstr "Mes" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Canceled" +msgstr "Cancel·lada" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_product +msgid "Invoice" +msgstr "Factura" + +#. module: sale_margin +#: wizard_button:stock.invoice_onshipping,init,end:0 +msgid "Cancel" +msgstr "Cancel·la" + +#. module: sale_margin +#: field:report.account.invoice.partner,partner_id:0 +#: field:report.account.invoice.partner.product,partner_id:0 +msgid "Partner" +msgstr "Empresa" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_tree_all +msgid "report.account.invoice.tree" +msgstr "informe.comptabilitat.factura.arbre" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Open" +msgstr "Oberta" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_product_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_product_tree_all +msgid "report.account.invoice.product.tree" +msgstr "informe.comptabilitat.factura.producte.arbre" diff --git a/addons/sale_margin/i18n/es.po b/addons/sale_margin/i18n/es.po new file mode 100644 index 00000000000..8f81f6659b3 --- /dev/null +++ b/addons/sale_margin/i18n/es.po @@ -0,0 +1,371 @@ +# Spanish translation for openobject-addons +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2009-11-25 14:28+0000\n" +"PO-Revision-Date: 2010-04-08 08:04+0000\n" +"Last-Translator: OpenERP Administrators <Unknown>\n" +"Language-Team: Spanish <es@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2010-05-21 03:45+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Customer Refund" +msgstr "Factura de abono de cliente" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_product +msgid "report.account.invoice.product" +msgstr "informe.contabilidad.factura.producto" + +#. module: sale_margin +#: constraint:ir.model:0 +msgid "" +"The Object name must start with x_ and not contain any special character !" +msgstr "" +"¡El nombre del objeto debe empezar con x_ y no contener ningún carácter " +"especial!" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_product +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_product +msgid "Invoices by Product" +msgstr "Facturas por producto" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Customer Invoice" +msgstr "Factura de cliente" + +#. module: sale_margin +#: wizard_view:stock.invoice_onshipping,init:0 +msgid "Create invoices" +msgstr "Crear facturas" + +#. module: sale_margin +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "¡XML inválido para la definición de la vista!" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_partner_product +msgid "report.account.invoice.partner.product" +msgstr "informe.contabilidad.factura.empresa.producto" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Supplier Invoice" +msgstr "Factura de proveedor" + +#. module: sale_margin +#: field:report.account.invoice,state:0 +#: field:report.account.invoice.category,state:0 +#: field:report.account.invoice.partner,state:0 +#: field:report.account.invoice.partner.product,state:0 +#: field:report.account.invoice.product,state:0 +msgid "State" +msgstr "Estado" + +#. module: sale_margin +#: view:stock.picking:0 +msgid "Create Invoice" +msgstr "Crear factura" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Draft" +msgstr "Borrador" + +#. module: sale_margin +#: constraint:ir.actions.act_window:0 +msgid "Invalid model name in the action definition." +msgstr "Nombre de modelo no válido en la definición de la acción." + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_month_product +msgid "All Months" +msgstr "Todos los meses" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_product_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_product_tree_all +msgid "report.account.invoice.partner.product.tree" +msgstr "informe.contabilidad.factura.empresa.producto.árbol" + +#. module: sale_margin +#: field:report.account.invoice,type:0 +#: field:report.account.invoice.category,type:0 +#: field:report.account.invoice.partner,type:0 +#: field:report.account.invoice.partner.product,type:0 +#: field:report.account.invoice.product,type:0 +#: wizard_field:stock.invoice_onshipping,init,type:0 +msgid "Type" +msgstr "Tipo" + +#. module: sale_margin +#: wizard_field:stock.invoice_onshipping,init,journal_id:0 +msgid "Destination Journal" +msgstr "Diario de destino" + +#. module: sale_margin +#: view:stock.picking:0 +msgid "Supplier Invoices" +msgstr "Facturas de proveedor" + +#. module: sale_margin +#: field:report.account.invoice.partner.product,product_id:0 +#: field:report.account.invoice.product,product_id:0 +msgid "Product" +msgstr "Producto" + +#. module: sale_margin +#: view:report.account.invoice.partner:0 +msgid "Invoices by partner" +msgstr "Facturas por empresa" + +#. module: sale_margin +#: view:report.account.invoice.category:0 +msgid "Invoices by category" +msgstr "Facturas por categoría" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Paid" +msgstr "Pagado" + +#. module: sale_margin +#: model:ir.actions.wizard,name:sale_margin.wizard_picking_invoice_create +#: wizard_button:stock.invoice_onshipping,init,create_invoice:0 +msgid "Create invoice" +msgstr "Crear factura" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_category_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_category_tree_all +msgid "report.account.invoice.category.tree" +msgstr "informe.contabilidad.factura.categoría.árbol" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_partner_product +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_partner_product +msgid "Invoices by Partner and Product" +msgstr "Facturas por empresa y producto" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_category +msgid "report.account.invoice.category" +msgstr "informe.contabilidad.factura.categoría" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_this_month_product +msgid "This Month" +msgstr "Este Mes" + +#. module: sale_margin +#: field:report.account.invoice.category,categ_id:0 +msgid "Categories" +msgstr "Categorías" + +#. module: sale_margin +#: field:account.invoice.line,cost_price:0 +#: field:report.account.invoice,cost_price:0 +#: field:report.account.invoice.category,cost_price:0 +#: field:report.account.invoice.partner,cost_price:0 +#: field:report.account.invoice.partner.product,cost_price:0 +#: field:report.account.invoice.product,cost_price:0 +#: field:sale.order.line,purchase_price:0 +msgid "Cost Price" +msgstr "Precio coste" + +#. module: sale_margin +#: wizard_field:stock.invoice_onshipping,init,group:0 +msgid "Group by partner" +msgstr "Agrupar por empresa" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_partner +msgid "report.account.invoice.partner" +msgstr "informe.contabilidad.factura.empresa" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_partner +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_partner +msgid "Invoices by Partner" +msgstr "Facturas por empresa" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_category +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_category +msgid "Invoices by Category" +msgstr "Facturas por categoría" + +#. module: sale_margin +#: view:report.account.invoice.partner.product:0 +msgid "Invoices by partner and product" +msgstr "Facturas por empresa y producto" + +#. module: sale_margin +#: field:report.account.invoice,amount:0 +#: field:report.account.invoice.category,amount:0 +#: field:report.account.invoice.partner,amount:0 +#: field:report.account.invoice.partner.product,amount:0 +#: field:report.account.invoice.product,amount:0 +msgid "Amount" +msgstr "Importe" + +#. module: sale_margin +#: wizard_field:stock.invoice_onshipping,init,invoice_date:0 +msgid "Invoiced date" +msgstr "fecha facturada" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Supplier Refund" +msgstr "Factura de abono de proveedor" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_tree_all +msgid "report.account.invoice.partner.tree" +msgstr "informe.contabilidad.factura.empresa.árbol" + +#. module: sale_margin +#: field:report.account.invoice,margin:0 +#: field:report.account.invoice.category,margin:0 +#: field:report.account.invoice.partner,margin:0 +#: field:report.account.invoice.partner.product,margin:0 +#: field:report.account.invoice.product,margin:0 +#: field:sale.order,margin:0 +#: field:sale.order.line,margin:0 +msgid "Margin" +msgstr "Margen" + +#. module: sale_margin +#: field:report.account.invoice,quantity:0 +#: field:report.account.invoice.category,quantity:0 +#: field:report.account.invoice.partner,quantity:0 +#: field:report.account.invoice.partner.product,quantity:0 +#: field:report.account.invoice.product,quantity:0 +msgid "Quantity" +msgstr "Cantidad" + +#. module: sale_margin +#: view:report.account.invoice.product:0 +msgid "Invoices by product" +msgstr "Facturas por producto" + +#. module: sale_margin +#: model:ir.module.module,shortdesc:sale_margin.module_meta_information +msgid "Margins in Sale Orders" +msgstr "Márgenes en pedidos de venta" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice +msgid "report.account.invoice" +msgstr "informe.contabilidad.factura" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_invoices +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_invoices +#: view:report.account.invoice:0 +#: view:stock.picking:0 +#: field:stock.picking,invoice_ids:0 +msgid "Invoices" +msgstr "Facturas" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Pro-forma" +msgstr "Pro-forma" + +#. module: sale_margin +#: field:report.account.invoice,name:0 +#: field:report.account.invoice.category,name:0 +#: field:report.account.invoice.partner,name:0 +#: field:report.account.invoice.partner.product,name:0 +#: field:report.account.invoice.product,name:0 +msgid "Month" +msgstr "Mes" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Canceled" +msgstr "Cancelada" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_product +msgid "Invoice" +msgstr "Factura" + +#. module: sale_margin +#: wizard_button:stock.invoice_onshipping,init,end:0 +msgid "Cancel" +msgstr "Cancelar" + +#. module: sale_margin +#: field:report.account.invoice.partner,partner_id:0 +#: field:report.account.invoice.partner.product,partner_id:0 +msgid "Partner" +msgstr "Empresa" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_tree_all +msgid "report.account.invoice.tree" +msgstr "informe.contabilidad.factura.árbol" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Open" +msgstr "Abierta" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_product_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_product_tree_all +msgid "report.account.invoice.product.tree" +msgstr "informe.contabilidad.factura.producto.árbol" diff --git a/addons/sale_margin/i18n/fr.po b/addons/sale_margin/i18n/fr.po new file mode 100644 index 00000000000..84d26ac0dfd --- /dev/null +++ b/addons/sale_margin/i18n/fr.po @@ -0,0 +1,371 @@ +# French translation for openobject-addons +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2009-11-25 14:28+0000\n" +"PO-Revision-Date: 2010-01-04 06:00+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: French <fr@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2010-05-21 03:45+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Customer Refund" +msgstr "Note de Crédit Client" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_product +msgid "report.account.invoice.product" +msgstr "" + +#. module: sale_margin +#: constraint:ir.model:0 +msgid "" +"The Object name must start with x_ and not contain any special character !" +msgstr "" +"Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères " +"spéciaux !" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_product +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_product +msgid "Invoices by Product" +msgstr "Factures par produit" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Customer Invoice" +msgstr "Facture client" + +#. module: sale_margin +#: wizard_view:stock.invoice_onshipping,init:0 +msgid "Create invoices" +msgstr "Créer les factures" + +#. module: sale_margin +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "XML non valide pour l'architecture de la vue" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_partner_product +msgid "report.account.invoice.partner.product" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Supplier Invoice" +msgstr "Facture fournisseur" + +#. module: sale_margin +#: field:report.account.invoice,state:0 +#: field:report.account.invoice.category,state:0 +#: field:report.account.invoice.partner,state:0 +#: field:report.account.invoice.partner.product,state:0 +#: field:report.account.invoice.product,state:0 +msgid "State" +msgstr "État" + +#. module: sale_margin +#: view:stock.picking:0 +msgid "Create Invoice" +msgstr "Créer la facture" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Draft" +msgstr "Brouillon" + +#. module: sale_margin +#: constraint:ir.actions.act_window:0 +msgid "Invalid model name in the action definition." +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_month_product +msgid "All Months" +msgstr "Tous les mois" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_product_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_product_tree_all +msgid "report.account.invoice.partner.product.tree" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice,type:0 +#: field:report.account.invoice.category,type:0 +#: field:report.account.invoice.partner,type:0 +#: field:report.account.invoice.partner.product,type:0 +#: field:report.account.invoice.product,type:0 +#: wizard_field:stock.invoice_onshipping,init,type:0 +msgid "Type" +msgstr "Type" + +#. module: sale_margin +#: wizard_field:stock.invoice_onshipping,init,journal_id:0 +msgid "Destination Journal" +msgstr "Journal de Destination" + +#. module: sale_margin +#: view:stock.picking:0 +msgid "Supplier Invoices" +msgstr "Factures fournisseur" + +#. module: sale_margin +#: field:report.account.invoice.partner.product,product_id:0 +#: field:report.account.invoice.product,product_id:0 +msgid "Product" +msgstr "Produit" + +#. module: sale_margin +#: view:report.account.invoice.partner:0 +msgid "Invoices by partner" +msgstr "Factures par partenaire" + +#. module: sale_margin +#: view:report.account.invoice.category:0 +msgid "Invoices by category" +msgstr "Factures par catégorie" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Paid" +msgstr "Payé" + +#. module: sale_margin +#: model:ir.actions.wizard,name:sale_margin.wizard_picking_invoice_create +#: wizard_button:stock.invoice_onshipping,init,create_invoice:0 +msgid "Create invoice" +msgstr "Créer une facture" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_category_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_category_tree_all +msgid "report.account.invoice.category.tree" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_partner_product +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_partner_product +msgid "Invoices by Partner and Product" +msgstr "Factures par partenaire et produit" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_category +msgid "report.account.invoice.category" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_this_month_product +msgid "This Month" +msgstr "Ce mois" + +#. module: sale_margin +#: field:report.account.invoice.category,categ_id:0 +msgid "Categories" +msgstr "Catégories" + +#. module: sale_margin +#: field:account.invoice.line,cost_price:0 +#: field:report.account.invoice,cost_price:0 +#: field:report.account.invoice.category,cost_price:0 +#: field:report.account.invoice.partner,cost_price:0 +#: field:report.account.invoice.partner.product,cost_price:0 +#: field:report.account.invoice.product,cost_price:0 +#: field:sale.order.line,purchase_price:0 +msgid "Cost Price" +msgstr "Prix standard" + +#. module: sale_margin +#: wizard_field:stock.invoice_onshipping,init,group:0 +msgid "Group by partner" +msgstr "Grouper par partenaire" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_partner +msgid "report.account.invoice.partner" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_partner +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_partner +msgid "Invoices by Partner" +msgstr "Factures par partenaire" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_category +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_category +msgid "Invoices by Category" +msgstr "Factures par catégorie" + +#. module: sale_margin +#: view:report.account.invoice.partner.product:0 +msgid "Invoices by partner and product" +msgstr "Factures par partenaire et produit" + +#. module: sale_margin +#: field:report.account.invoice,amount:0 +#: field:report.account.invoice.category,amount:0 +#: field:report.account.invoice.partner,amount:0 +#: field:report.account.invoice.partner.product,amount:0 +#: field:report.account.invoice.product,amount:0 +msgid "Amount" +msgstr "Total" + +#. module: sale_margin +#: wizard_field:stock.invoice_onshipping,init,invoice_date:0 +msgid "Invoiced date" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Supplier Refund" +msgstr "Note de crédit fournisseur" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_tree_all +msgid "report.account.invoice.partner.tree" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice,margin:0 +#: field:report.account.invoice.category,margin:0 +#: field:report.account.invoice.partner,margin:0 +#: field:report.account.invoice.partner.product,margin:0 +#: field:report.account.invoice.product,margin:0 +#: field:sale.order,margin:0 +#: field:sale.order.line,margin:0 +msgid "Margin" +msgstr "Marge" + +#. module: sale_margin +#: field:report.account.invoice,quantity:0 +#: field:report.account.invoice.category,quantity:0 +#: field:report.account.invoice.partner,quantity:0 +#: field:report.account.invoice.partner.product,quantity:0 +#: field:report.account.invoice.product,quantity:0 +msgid "Quantity" +msgstr "Quantité" + +#. module: sale_margin +#: view:report.account.invoice.product:0 +msgid "Invoices by product" +msgstr "Factures par produit" + +#. module: sale_margin +#: model:ir.module.module,shortdesc:sale_margin.module_meta_information +msgid "Margins in Sale Orders" +msgstr "Marges des ventes" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice +msgid "report.account.invoice" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_invoices +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_invoices +#: view:report.account.invoice:0 +#: view:stock.picking:0 +#: field:stock.picking,invoice_ids:0 +msgid "Invoices" +msgstr "Factures" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Pro-forma" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice,name:0 +#: field:report.account.invoice.category,name:0 +#: field:report.account.invoice.partner,name:0 +#: field:report.account.invoice.partner.product,name:0 +#: field:report.account.invoice.product,name:0 +msgid "Month" +msgstr "Mois" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Canceled" +msgstr "Annulé" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_product +msgid "Invoice" +msgstr "Facture" + +#. module: sale_margin +#: wizard_button:stock.invoice_onshipping,init,end:0 +msgid "Cancel" +msgstr "Annuler" + +#. module: sale_margin +#: field:report.account.invoice.partner,partner_id:0 +#: field:report.account.invoice.partner.product,partner_id:0 +msgid "Partner" +msgstr "Partenaire" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_tree_all +msgid "report.account.invoice.tree" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Open" +msgstr "Ouvert" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_product_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_product_tree_all +msgid "report.account.invoice.product.tree" +msgstr "" diff --git a/addons/sale_margin/i18n/fr_BE.po b/addons/sale_margin/i18n/fr_BE.po new file mode 100644 index 00000000000..424a1c74b3f --- /dev/null +++ b/addons/sale_margin/i18n/fr_BE.po @@ -0,0 +1,367 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * sale_margin +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 5.0.6\n" +"Report-Msgid-Bugs-To: support@openerp.com\n" +"POT-Creation-Date: 2009-11-25 14:28:11+0000\n" +"PO-Revision-Date: 2009-11-25 14:28:11+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Customer Refund" +msgstr "" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_product +msgid "report.account.invoice.product" +msgstr "" + +#. module: sale_margin +#: constraint:ir.model:0 +msgid "The Object name must start with x_ and not contain any special character !" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_product +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_product +msgid "Invoices by Product" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Customer Invoice" +msgstr "" + +#. module: sale_margin +#: wizard_view:stock.invoice_onshipping,init:0 +msgid "Create invoices" +msgstr "" + +#. module: sale_margin +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_partner_product +msgid "report.account.invoice.partner.product" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Supplier Invoice" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice,state:0 +#: field:report.account.invoice.category,state:0 +#: field:report.account.invoice.partner,state:0 +#: field:report.account.invoice.partner.product,state:0 +#: field:report.account.invoice.product,state:0 +msgid "State" +msgstr "" + +#. module: sale_margin +#: view:stock.picking:0 +msgid "Create Invoice" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Draft" +msgstr "" + +#. module: sale_margin +#: constraint:ir.actions.act_window:0 +msgid "Invalid model name in the action definition." +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_month_product +msgid "All Months" +msgstr "" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_product_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_product_tree_all +msgid "report.account.invoice.partner.product.tree" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice,type:0 +#: field:report.account.invoice.category,type:0 +#: field:report.account.invoice.partner,type:0 +#: field:report.account.invoice.partner.product,type:0 +#: field:report.account.invoice.product,type:0 +#: wizard_field:stock.invoice_onshipping,init,type:0 +msgid "Type" +msgstr "" + +#. module: sale_margin +#: wizard_field:stock.invoice_onshipping,init,journal_id:0 +msgid "Destination Journal" +msgstr "" + +#. module: sale_margin +#: view:stock.picking:0 +msgid "Supplier Invoices" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice.partner.product,product_id:0 +#: field:report.account.invoice.product,product_id:0 +msgid "Product" +msgstr "" + +#. module: sale_margin +#: view:report.account.invoice.partner:0 +msgid "Invoices by partner" +msgstr "" + +#. module: sale_margin +#: view:report.account.invoice.category:0 +msgid "Invoices by category" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Paid" +msgstr "" + +#. module: sale_margin +#: model:ir.actions.wizard,name:sale_margin.wizard_picking_invoice_create +#: wizard_button:stock.invoice_onshipping,init,create_invoice:0 +msgid "Create invoice" +msgstr "" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_category_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_category_tree_all +msgid "report.account.invoice.category.tree" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_partner_product +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_partner_product +msgid "Invoices by Partner and Product" +msgstr "" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_category +msgid "report.account.invoice.category" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_this_month_product +msgid "This Month" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice.category,categ_id:0 +msgid "Categories" +msgstr "" + +#. module: sale_margin +#: field:account.invoice.line,cost_price:0 +#: field:report.account.invoice,cost_price:0 +#: field:report.account.invoice.category,cost_price:0 +#: field:report.account.invoice.partner,cost_price:0 +#: field:report.account.invoice.partner.product,cost_price:0 +#: field:report.account.invoice.product,cost_price:0 +#: field:sale.order.line,purchase_price:0 +msgid "Cost Price" +msgstr "" + +#. module: sale_margin +#: wizard_field:stock.invoice_onshipping,init,group:0 +msgid "Group by partner" +msgstr "" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_partner +msgid "report.account.invoice.partner" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_partner +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_partner +msgid "Invoices by Partner" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_category +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_category +msgid "Invoices by Category" +msgstr "" + +#. module: sale_margin +#: view:report.account.invoice.partner.product:0 +msgid "Invoices by partner and product" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice,amount:0 +#: field:report.account.invoice.category,amount:0 +#: field:report.account.invoice.partner,amount:0 +#: field:report.account.invoice.partner.product,amount:0 +#: field:report.account.invoice.product,amount:0 +msgid "Amount" +msgstr "" + +#. module: sale_margin +#: wizard_field:stock.invoice_onshipping,init,invoice_date:0 +msgid "Invoiced date" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Supplier Refund" +msgstr "" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_tree_all +msgid "report.account.invoice.partner.tree" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice,margin:0 +#: field:report.account.invoice.category,margin:0 +#: field:report.account.invoice.partner,margin:0 +#: field:report.account.invoice.partner.product,margin:0 +#: field:report.account.invoice.product,margin:0 +#: field:sale.order,margin:0 +#: field:sale.order.line,margin:0 +msgid "Margin" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice,quantity:0 +#: field:report.account.invoice.category,quantity:0 +#: field:report.account.invoice.partner,quantity:0 +#: field:report.account.invoice.partner.product,quantity:0 +#: field:report.account.invoice.product,quantity:0 +msgid "Quantity" +msgstr "" + +#. module: sale_margin +#: view:report.account.invoice.product:0 +msgid "Invoices by product" +msgstr "" + +#. module: sale_margin +#: model:ir.module.module,shortdesc:sale_margin.module_meta_information +msgid "Margins in Sale Orders" +msgstr "" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice +msgid "report.account.invoice" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_invoices +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_invoices +#: view:report.account.invoice:0 +#: view:stock.picking:0 +#: field:stock.picking,invoice_ids:0 +msgid "Invoices" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Pro-forma" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice,name:0 +#: field:report.account.invoice.category,name:0 +#: field:report.account.invoice.partner,name:0 +#: field:report.account.invoice.partner.product,name:0 +#: field:report.account.invoice.product,name:0 +msgid "Month" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Canceled" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_product +msgid "Invoice" +msgstr "" + +#. module: sale_margin +#: wizard_button:stock.invoice_onshipping,init,end:0 +msgid "Cancel" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice.partner,partner_id:0 +#: field:report.account.invoice.partner.product,partner_id:0 +msgid "Partner" +msgstr "" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_tree_all +msgid "report.account.invoice.tree" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Open" +msgstr "" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_product_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_product_tree_all +msgid "report.account.invoice.product.tree" +msgstr "" + diff --git a/addons/sale_margin/i18n/sale_margin.pot b/addons/sale_margin/i18n/sale_margin.pot new file mode 100644 index 00000000000..424a1c74b3f --- /dev/null +++ b/addons/sale_margin/i18n/sale_margin.pot @@ -0,0 +1,367 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * sale_margin +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 5.0.6\n" +"Report-Msgid-Bugs-To: support@openerp.com\n" +"POT-Creation-Date: 2009-11-25 14:28:11+0000\n" +"PO-Revision-Date: 2009-11-25 14:28:11+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Customer Refund" +msgstr "" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_product +msgid "report.account.invoice.product" +msgstr "" + +#. module: sale_margin +#: constraint:ir.model:0 +msgid "The Object name must start with x_ and not contain any special character !" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_product +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_product +msgid "Invoices by Product" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Customer Invoice" +msgstr "" + +#. module: sale_margin +#: wizard_view:stock.invoice_onshipping,init:0 +msgid "Create invoices" +msgstr "" + +#. module: sale_margin +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_partner_product +msgid "report.account.invoice.partner.product" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Supplier Invoice" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice,state:0 +#: field:report.account.invoice.category,state:0 +#: field:report.account.invoice.partner,state:0 +#: field:report.account.invoice.partner.product,state:0 +#: field:report.account.invoice.product,state:0 +msgid "State" +msgstr "" + +#. module: sale_margin +#: view:stock.picking:0 +msgid "Create Invoice" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Draft" +msgstr "" + +#. module: sale_margin +#: constraint:ir.actions.act_window:0 +msgid "Invalid model name in the action definition." +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_month_product +msgid "All Months" +msgstr "" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_product_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_product_tree_all +msgid "report.account.invoice.partner.product.tree" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice,type:0 +#: field:report.account.invoice.category,type:0 +#: field:report.account.invoice.partner,type:0 +#: field:report.account.invoice.partner.product,type:0 +#: field:report.account.invoice.product,type:0 +#: wizard_field:stock.invoice_onshipping,init,type:0 +msgid "Type" +msgstr "" + +#. module: sale_margin +#: wizard_field:stock.invoice_onshipping,init,journal_id:0 +msgid "Destination Journal" +msgstr "" + +#. module: sale_margin +#: view:stock.picking:0 +msgid "Supplier Invoices" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice.partner.product,product_id:0 +#: field:report.account.invoice.product,product_id:0 +msgid "Product" +msgstr "" + +#. module: sale_margin +#: view:report.account.invoice.partner:0 +msgid "Invoices by partner" +msgstr "" + +#. module: sale_margin +#: view:report.account.invoice.category:0 +msgid "Invoices by category" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Paid" +msgstr "" + +#. module: sale_margin +#: model:ir.actions.wizard,name:sale_margin.wizard_picking_invoice_create +#: wizard_button:stock.invoice_onshipping,init,create_invoice:0 +msgid "Create invoice" +msgstr "" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_category_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_category_tree_all +msgid "report.account.invoice.category.tree" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_partner_product +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_partner_product +msgid "Invoices by Partner and Product" +msgstr "" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_category +msgid "report.account.invoice.category" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_this_month_product +msgid "This Month" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice.category,categ_id:0 +msgid "Categories" +msgstr "" + +#. module: sale_margin +#: field:account.invoice.line,cost_price:0 +#: field:report.account.invoice,cost_price:0 +#: field:report.account.invoice.category,cost_price:0 +#: field:report.account.invoice.partner,cost_price:0 +#: field:report.account.invoice.partner.product,cost_price:0 +#: field:report.account.invoice.product,cost_price:0 +#: field:sale.order.line,purchase_price:0 +msgid "Cost Price" +msgstr "" + +#. module: sale_margin +#: wizard_field:stock.invoice_onshipping,init,group:0 +msgid "Group by partner" +msgstr "" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice_partner +msgid "report.account.invoice.partner" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_partner +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_partner +msgid "Invoices by Partner" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_category +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_category +msgid "Invoices by Category" +msgstr "" + +#. module: sale_margin +#: view:report.account.invoice.partner.product:0 +msgid "Invoices by partner and product" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice,amount:0 +#: field:report.account.invoice.category,amount:0 +#: field:report.account.invoice.partner,amount:0 +#: field:report.account.invoice.partner.product,amount:0 +#: field:report.account.invoice.product,amount:0 +msgid "Amount" +msgstr "" + +#. module: sale_margin +#: wizard_field:stock.invoice_onshipping,init,invoice_date:0 +msgid "Invoiced date" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,type:0 +#: selection:report.account.invoice.category,type:0 +#: selection:report.account.invoice.partner,type:0 +#: selection:report.account.invoice.partner.product,type:0 +#: selection:report.account.invoice.product,type:0 +msgid "Supplier Refund" +msgstr "" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_tree_all +msgid "report.account.invoice.partner.tree" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice,margin:0 +#: field:report.account.invoice.category,margin:0 +#: field:report.account.invoice.partner,margin:0 +#: field:report.account.invoice.partner.product,margin:0 +#: field:report.account.invoice.product,margin:0 +#: field:sale.order,margin:0 +#: field:sale.order.line,margin:0 +msgid "Margin" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice,quantity:0 +#: field:report.account.invoice.category,quantity:0 +#: field:report.account.invoice.partner,quantity:0 +#: field:report.account.invoice.partner.product,quantity:0 +#: field:report.account.invoice.product,quantity:0 +msgid "Quantity" +msgstr "" + +#. module: sale_margin +#: view:report.account.invoice.product:0 +msgid "Invoices by product" +msgstr "" + +#. module: sale_margin +#: model:ir.module.module,shortdesc:sale_margin.module_meta_information +msgid "Margins in Sale Orders" +msgstr "" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_report_account_invoice +msgid "report.account.invoice" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_invoices +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_invoices +#: view:report.account.invoice:0 +#: view:stock.picking:0 +#: field:stock.picking,invoice_ids:0 +msgid "Invoices" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Pro-forma" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice,name:0 +#: field:report.account.invoice.category,name:0 +#: field:report.account.invoice.partner,name:0 +#: field:report.account.invoice.partner.product,name:0 +#: field:report.account.invoice.product,name:0 +msgid "Month" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Canceled" +msgstr "" + +#. module: sale_margin +#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_product +msgid "Invoice" +msgstr "" + +#. module: sale_margin +#: wizard_button:stock.invoice_onshipping,init,end:0 +msgid "Cancel" +msgstr "" + +#. module: sale_margin +#: field:report.account.invoice.partner,partner_id:0 +#: field:report.account.invoice.partner.product,partner_id:0 +msgid "Partner" +msgstr "" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_tree_all +msgid "report.account.invoice.tree" +msgstr "" + +#. module: sale_margin +#: selection:report.account.invoice,state:0 +#: selection:report.account.invoice.category,state:0 +#: selection:report.account.invoice.partner,state:0 +#: selection:report.account.invoice.partner.product,state:0 +#: selection:report.account.invoice.product,state:0 +msgid "Open" +msgstr "" + +#. module: sale_margin +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_product_tree +#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_product_tree_all +msgid "report.account.invoice.product.tree" +msgstr "" + diff --git a/addons/sale_margin/invoice_margin.py b/addons/sale_margin/invoice_margin.py new file mode 100644 index 00000000000..120c2d6c293 --- /dev/null +++ b/addons/sale_margin/invoice_margin.py @@ -0,0 +1,47 @@ +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). +# +# 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 osv import fields,osv +import pooler +from tools import config +import time + +class account_invoice_line(osv.osv): + _name = "account.invoice.line" + _inherit = "account.invoice.line" + _columns = { + 'cost_price': fields.float('Cost Price', digits=(16, 2)), + } + def write(self, cr, uid, ids, vals, context={}): + if vals.get('product_id' , False): + res=self.pool.get('product.product').read(cr, uid, [vals['product_id']], ['standard_price']) + vals['cost_price']=res[0]['standard_price'] + return super(account_invoice_line, self).write(cr, uid, ids, vals, context) + + def create(self, cr, uid, vals, context={}): + if vals.get('product_id',False): + res=self.pool.get('product.product').read(cr, uid, [vals['product_id']], ['standard_price']) + vals['cost_price']=res[0]['standard_price'] + return super(account_invoice_line, self).create(cr, uid, vals, context) +account_invoice_line() + + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + diff --git a/addons/sale_margin/report_margin.py b/addons/sale_margin/report_margin.py new file mode 100644 index 00000000000..a318a6c17b8 --- /dev/null +++ b/addons/sale_margin/report_margin.py @@ -0,0 +1,90 @@ +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). +# +# 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 osv import fields,osv +import pooler +from tools import config +import time +import tools + + + +class report_account_invoice_product(osv.osv): + _name = 'report.account.invoice.product' + _auto = False + _description = "Invoice Statistics" + _columns = { + 'date': fields.date('Date', readonly=True), + 'year': fields.char('Year', size=4, readonly=True), + 'day': fields.char('Day', size=128, readonly=True), + 'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), + ('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September'), + ('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True), + 'type': fields.selection([ + ('out_invoice','Customer Invoice'), + ('in_invoice','Supplier Invoice'), + ('out_refund','Customer Refund'), + ('in_refund','Supplier Refund'), + ],'Type', readonly=True), + 'state': fields.selection([ + ('draft','Draft'), + ('proforma','Pro-forma'), + ('open','Open'), + ('paid','Paid'), + ('cancel','Canceled') + ],'State', readonly=True), + 'product_id': fields.many2one('product.product', 'Product', readonly=True), + 'amount': fields.float('Amount', readonly=True), + 'cost_price': fields.float('Cost Price', readonly=True), + 'margin': fields.float('Margin', readonly=True), + 'categ_id': fields.many2one('product.category', 'Categories', readonly=True), + 'quantity': fields.float('Quantity', readonly=True), + 'partner_id': fields.many2one('res.partner', 'Partner', readonly=True), + } + def init(self, cr): + tools.drop_view_if_exists(cr, 'report_account_invoice_product') + cr.execute(""" + create or replace view report_account_invoice_product as ( + select + min(l.id) as id, + i.create_date as date, + to_char(date_trunc('day',i.date_invoice), 'YYYY') as year, + to_char(date_trunc('day',i.date_invoice), 'MM') as month, + to_char(date_trunc('day',i.date_invoice), 'YYYY-MM-DD') as day, + i.type, + i.state, + l.product_id, + t.categ_id, + i.partner_id, + sum(l.quantity * l.price_unit * (1.0 - l.discount/100.0)) as amount, + sum(l.quantity * l.cost_price) as cost_price, + sum((l.quantity * l.price_unit * (1.0 - l.discount/100.0) - (l.quantity * l.cost_price))) as margin, + sum(l.quantity) as quantity + from account_invoice i + left join account_invoice_line l on (i.id = l.invoice_id) + left join product_product p on (p.id = l.product_id) + left join product_template t on (t.id = p.product_tmpl_id) + group by t.categ_id,i.partner_id,l.product_id, i.date_invoice, i.type, i.state,i.create_date + ) + """) +report_account_invoice_product() + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + diff --git a/addons/sale_margin/report_margin_view.xml b/addons/sale_margin/report_margin_view.xml new file mode 100644 index 00000000000..b22c2e28801 --- /dev/null +++ b/addons/sale_margin/report_margin_view.xml @@ -0,0 +1,94 @@ +<?xml version="1.0"?> +<openerp> + <data> + + <record model="ir.ui.view" id="view_report_account_invoice_tree"> + <field name="name">report.account.invoice.product.tree</field> + <field name="model">report.account.invoice.product</field> + <field name="type">tree</field> + <field name="arch" type="xml"> + <tree string="Invoices by product"> + <field name="date"/> + <field name="year" invisible="1" /> + <field name="month" invisible="1"/> + <field name="day" invisible="1"/> + <field name="type"/> + <field name="state"/> + <field name="product_id" invisible="1" /> + <field name="partner_id"/> + <field name="categ_id" invisible="1" /> + <field name="amount"/> + <field name="cost_price"/> + <field name="margin"/> + <field name="quantity"/> + </tree> + </field> + </record> + + <record id="view_report_account_invoice_filter" model="ir.ui.view"> + <field name="name">account.invoice.product.filter</field> + <field name="model">report.account.invoice.product</field> + <field name="type">search</field> + <field name="arch" type="xml"> + <search string="Search Margin"> + <group col="10" colspan="4"> + <filter icon="terp-account" string="This Year" domain="[('year','=',time.strftime('%%Y'))]" help="All Months Sales by Margin"/> + <filter icon="terp-account" string="This Month" domain="[('month','=',time.strftime('%%m'))]" help="This Months Sales by Margin"/> + <filter string="Draft" icon="terp-account" domain="[('state','=','draft')]" help="Draft Invoices"/> + <filter string="Pro-forma" icon="terp-account" domain="[('state','=','proforma')]" help="Pro-forma Invoices"/> + <filter string="Current" icon="terp-account" domain="[('state', '=' ,'open')]" help="open Invoices"/> + <filter string="Done" icon="terp-account" domain="[('state','=','paid')]" help="Done Invoices"/> + </group> + <newline/> + <group expand="1" string="Group By..." colspan="4" col="10"> + <filter string="Partner" icon="terp-account" context="{'group_by':'partner_id'}"/> + <filter string="Product" icon="terp-account" context="{'group_by':'product_id'}"/> + <filter string="Category" icon="terp-account" context="{'group_by':'categ_id'}"/> + <filter string="State" icon="terp-account" context="{'group_by':'state'}"/> + <filter string="Day" icon="terp-account" context="{'group_by':'day'}"/> + <filter string="Month" icon="terp-account" context="{'group_by':'month'}"/> + <filter string="Year" icon="terp-account" context="{'group_by':'year'}"/> + </group> + <newline/> + <group expand="0" string="Extended options..." groups="base.group_extended"> + <field name="date" string="Date Invoiced"/> + <separator orientation="vertical"/> + <field name="partner_id" widget="selection"/> + <field name="amount" /> + <field name="state"/> + <newline/> + <separator orientation="vertical"/> + <field name="product_id"/> + <field name="categ_id"/> + </group> + </search> + </field> + </record> + + <record id="view_report_account_invoice_graph" model="ir.ui.view"> + <field name="name">report.account.invoice.product.graph</field> + <field name="model">report.account.invoice.product</field> + <field name="type">graph</field> + <field name="arch" type="xml"> + <graph string="Invoice by Partner" type="pie"> + <field name="partner_id"/> + <field name="margin"/> + <field name="amount"/> + </graph> + </field> + </record> + + <record id="action_report_account_invoice_report" model="ir.actions.act_window"> + <field name="name">Invoice Analysis</field> + <field name="res_model">report.account.invoice.product</field> + <field name="view_type">form</field> + <field name="view_mode">tree,graph</field> + <field name="context">{"search_default_At Date":1,'group_by_no_leaf':1,'group_by':[]}</field> + <field name="search_view_id" ref="view_report_account_invoice_filter"/> + </record> + + <menuitem name="Invoice Report" id="menu_report_account_invoice_product" parent="account.menu_finance_reporting"/> + + <menuitem name="Invoice" id="menu_report_account_invoice_reoirt" parent="menu_report_account_invoice_product" action="action_report_account_invoice_report"/> + </data> +</openerp> diff --git a/addons/sale_margin/sale_margin.py b/addons/sale_margin/sale_margin.py new file mode 100644 index 00000000000..4d86054c3c0 --- /dev/null +++ b/addons/sale_margin/sale_margin.py @@ -0,0 +1,81 @@ +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). +# +# 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 osv import fields,osv +import pooler +from tools import config +import time + +class sale_order_line(osv.osv): + _name = "sale.order.line" + _inherit = "sale.order.line" + def _product_margin(self, cr, uid, ids, field_name, arg, context): + res = {} + for line in self.browse(cr, uid, ids): + res[line.id] = 0 + if line.product_id: + if line.purchase_price: + res[line.id] = round((line.price_unit*line.product_uos_qty*(100.0-line.discount)/100.0) -(line.purchase_price*line.product_uos_qty),2) + else: + res[line.id] = round((line.price_unit*line.product_uos_qty*(100.0-line.discount)/100.0) -(line.product_id.standard_price*line.product_uos_qty),2) + return res + + _columns = { + 'margin': fields.function(_product_margin, method=True, string='Margin', store=True), + 'purchase_price': fields.float('Cost Price', digits=(16,2)) + } +sale_order_line() + +class sale_order(osv.osv): + _inherit = "sale.order" + def _product_margin(self, cr, uid, ids, field_name, arg, context): + result = {} + for sale in self.browse(cr, uid, ids, context=context): + result[sale.id] = 0.0 + for line in sale.order_line: + result[sale.id] += line.margin or 0.0 + return result + + _columns = { + 'margin': fields.function(_product_margin, method=True, string='Margin', store=True), + } +sale_order() + +class stock_picking(osv.osv): + _inherit = 'stock.picking' + + _columns = { + 'invoice_ids': fields.many2many('account.invoice', 'picking_invoice_rel', 'picking_id', 'invoice_id', 'Invoices', domain=[('type','=','in_invoice')]), + } + + def create_invoice(self, cr, uid, ids, *args): + # need to carify with new requirement + res = False + invoice_ids = [] + margin_deduce = 0.0 + picking_obj = self.pool.get('stock.picking') + picking_obj.write(cr, uid, ids, {'invoice_state' : '2binvoiced'}) + res = picking_obj.action_invoice_create(cr, uid, ids, type='out_invoice', context={}) + invoice_ids = res.values() + picking_obj.write(cr, uid, ids,{'invoice_ids':[[6,0,invoice_ids]]}) + return True +stock_picking() +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + diff --git a/addons/sale_margin/sale_margin_view.xml b/addons/sale_margin/sale_margin_view.xml new file mode 100644 index 00000000000..1b46a850df8 --- /dev/null +++ b/addons/sale_margin/sale_margin_view.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> +<data> + + <record model="ir.ui.view" id="sale_margin_sale_order"> + <field name="name">sale.order.margin.view.form</field> + <field name="type">form</field> + <field name="model">sale.order</field> + <field name="inherit_id" ref="sale.view_order_form" /> + <field name="arch" type="xml"> + <field name="amount_total" position="after"> + <field name="margin"/> + </field> + </field> + </record> + <record model="ir.ui.view" id="sale_margin_sale_order_tree"> + <field name="name">sale.order.margin.view.tree</field> + <field name="type">tree</field> + <field name="model">sale.order</field> + <field name="inherit_id" ref="sale.view_order_tree" /> + <field name="arch" type="xml"> + <field name="state" position="after"> + <field name="margin"/> + </field> + </field> + </record> + + <record model="ir.ui.view" id="sale_margin_sale_order_line_tree"> + <field name="name">sale.order.margin.line.view.tree</field> + <field name="type">tree</field> + <field name="model">sale.order.line</field> + <field name="inherit_id" ref="sale.view_order_line_tree" /> + <field name="arch" type="xml"> + <field name="price_subtotal" position="after"> + <field name="margin"/> + </field> + </field> + </record> + + + <record model="ir.ui.view" id="view_picking_margin_out_form"> + <field name="name">picking.margin.view.form</field> + <field name="type">form</field> + <field name="model">stock.picking</field> + <field name="inherit_id" ref="stock.view_picking_out_form" /> + <field name="arch" type="xml"> + <notebook colspan="4"> + <page string="Supplier Invoices"> + <separator string="Invoices" colspan="4"/> + <field colspan="4" name="invoice_ids" nolabel="1"/> + <group col="10" colspan="4"> + <label colspan="6"/> + <button name="create_invoice" icon='gtk-execute' string="Create Invoice" type="object"/> + </group> + </page> + </notebook> + </field> + </record> + +</data> +</openerp> diff --git a/addons/sale_margin/security/ir.model.access.csv b/addons/sale_margin/security/ir.model.access.csv new file mode 100644 index 00000000000..77b73303ec8 --- /dev/null +++ b/addons/sale_margin/security/ir.model.access.csv @@ -0,0 +1,6 @@ +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +"access_report_account_invoice_product","report.account.invoice.product","model_report_account_invoice_product","account.group_account_invoice",1,1,1,1 +"access_report_account_invoice_category","report.account.invoice.category","model_report_account_invoice_category","account.group_account_invoice",1,1,1,1 +"access_report_account_invoice_partner","report.account.invoice.partner","model_report_account_invoice_partner","account.group_account_invoice",1,1,1,1 +"access_report_account_invoice_partner_product","report.account.invoice.partner.product","model_report_account_invoice_partner_product","account.group_account_invoice",1,1,1,1 +"access_report_account_invoice","report.account.invoice","model_report_account_invoice","account.group_account_invoice",1,1,1,1 diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 6c3d09f2895..2dd585d6364 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -786,7 +786,8 @@ class stock_picking(osv.osv): 'name': (invoice.name or '') + ', ' + (picking.name or ''), 'origin': (invoice.origin or '') + ', ' + (picking.name or '') + (picking.origin and (':' + picking.origin) or ''), 'comment': (comment and (invoice.comment and invoice.comment+"\n"+comment or comment)) or (invoice.comment and invoice.comment or ''), - 'date_invoice':context.get('date_inv',False) + 'date_invoice':context.get('date_inv',False), + 'user_id':picking.sale_id.user_id and picking.sale_id.user_id.id or False } invoice_obj.write(cr, uid, [invoice_id], invoice_vals, context=context) else: @@ -803,6 +804,7 @@ class stock_picking(osv.osv): 'fiscal_position': partner.property_account_position.id, 'date_invoice': context.get('date_inv',False), 'company_id': picking.company_id.id, + } cur_id = self.get_currency_id(cr, uid, picking) if cur_id: |
