Commits

Raimon Esteve (Zikzakmedia) committed f7e7562

[ADD] delivery. Source code from 6.0.3

  • Participants

Comments (0)

Files changed (64)

+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 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 delivery
+import partner
+import wizard
+import report
+import sale
+import stock
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

File __openerp__.py

+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 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': 'Carriers and deliveries',
+    'version': '1.0',
+    'category': 'Generic Modules/Sales & Purchases',
+    'description': """Allows you to add delivery methods in sale orders and picking.
+     You can define your own carrier and delivery grids for prices.
+     When creating invoices from picking, OpenERP is able to add and compute the shipping line.
+
+     """,
+    'author': 'OpenERP SA',
+    'depends': ['sale', 'purchase', 'stock'],
+    'init_xml': ['delivery_data.xml'],
+    'update_xml': [
+        'security/ir.model.access.csv',
+        'wizard/delivery_sale_order_view.xml',
+        'delivery_report.xml',
+        'delivery_view.xml',
+        'partner_view.xml'
+    ],
+    'demo_xml': ['delivery_demo.xml'],
+    'test':['test/delivery_report.yml'],
+    'installable': True,
+    'active': False,
+    'certificate': '0033981912253',
+}
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+# -*- coding: utf-8 -*-
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 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 time
+from osv import fields,osv
+from tools.translate import _
+
+class delivery_carrier(osv.osv):
+    _name = "delivery.carrier"
+    _description = "Carrier"
+
+    def name_get(self, cr, uid, ids, context=None):
+        if not len(ids):
+            return []
+        if context is None:
+            context = {}
+        order_id = context.get('order_id',False)
+        if not order_id:
+            res = super(delivery_carrier, self).name_get(cr, uid, ids, context=context)
+        else:
+            order = self.pool.get('sale.order').browse(cr, uid, order_id, context=context)
+            currency = order.pricelist_id.currency_id.name or ''
+            res = [(r['id'], r['name']+' ('+(str(r['price']))+' '+currency+')') for r in self.read(cr, uid, ids, ['name', 'price'], context)]
+        return res
+    def get_price(self, cr, uid, ids, field_name, arg=None, context=None):
+        res={}
+        if context is None:
+            context = {}
+        sale_obj=self.pool.get('sale.order')
+        grid_obj=self.pool.get('delivery.grid')
+        for carrier in self.browse(cr, uid, ids, context=context):
+            order_id=context.get('order_id',False)
+            price=False
+            if order_id:
+              order = sale_obj.browse(cr, uid, order_id, context=context)
+              carrier_grid=self.grid_get(cr,uid,[carrier.id],order.partner_shipping_id.id,context)
+              if carrier_grid:
+                  price=grid_obj.get_price(cr, uid, carrier_grid, order, time.strftime('%Y-%m-%d'), context)
+              else:
+                  price = 0.0
+            res[carrier.id]=price
+        return res
+    _columns = {
+        'name': fields.char('Carrier', size=64, required=True),
+        'partner_id': fields.many2one('res.partner', 'Carrier Partner', required=True),
+        'product_id': fields.many2one('product.product', 'Delivery Product', required=True),
+        'grids_id': fields.one2many('delivery.grid', 'carrier_id', 'Delivery Grids'),
+        'price' : fields.function(get_price, method=True,string='Price'),
+        'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the delivery carrier without removing it.")
+    }
+    _defaults = {
+        'active': lambda *args:1
+    }
+    def grid_get(self, cr, uid, ids, contact_id, context=None):
+        contact = self.pool.get('res.partner.address').browse(cr, uid, contact_id, context=context)
+        for carrier in self.browse(cr, uid, ids, context=context):
+            for grid in carrier.grids_id:
+                get_id = lambda x: x.id
+                country_ids = map(get_id, grid.country_ids)
+                state_ids = map(get_id, grid.state_ids)
+                if country_ids and not contact.country_id.id in country_ids:
+                    continue
+                if state_ids and not contact.state_id.id in state_ids:
+                    continue
+                if grid.zip_from and (contact.zip or '')< grid.zip_from:
+                    continue
+                if grid.zip_to and (contact.zip or '')> grid.zip_to:
+                    continue
+                return grid.id
+        return False
+delivery_carrier()
+
+class delivery_grid(osv.osv):
+    _name = "delivery.grid"
+    _description = "Delivery Grid"
+    _columns = {
+        'name': fields.char('Grid Name', size=64, required=True),
+        'sequence': fields.integer('Sequence', size=64, required=True, help="Gives the sequence order when displaying a list of delivery grid."),
+        'carrier_id': fields.many2one('delivery.carrier', 'Carrier', required=True, ondelete='cascade'),
+        'country_ids': fields.many2many('res.country', 'delivery_grid_country_rel', 'grid_id', 'country_id', 'Countries'),
+        'state_ids': fields.many2many('res.country.state', 'delivery_grid_state_rel', 'grid_id', 'state_id', 'States'),
+        'zip_from': fields.char('Start Zip', size=12),
+        'zip_to': fields.char('To Zip', size=12),
+        'line_ids': fields.one2many('delivery.grid.line', 'grid_id', 'Grid Line'),
+        'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the delivery grid without removing it."),
+    }
+    _defaults = {
+        'active': lambda *a: 1,
+        'sequence': lambda *a: 1,
+    }
+    _order = 'sequence'
+
+    def get_price(self, cr, uid, id, order, dt, context=None):
+        total = 0
+        weight = 0
+        volume = 0
+        for line in order.order_line:
+            if not line.product_id:
+                continue
+            total += line.price_subtotal or 0.0
+            weight += (line.product_id.weight or 0.0) * line.product_uom_qty
+            volume += (line.product_id.volume or 0.0) * line.product_uom_qty
+
+
+        return self.get_price_from_picking(cr, uid, id, total,weight, volume, context=context)
+
+    def get_price_from_picking(self, cr, uid, id, total, weight, volume, context=None):
+        grid = self.browse(cr, uid, id, context=context)
+        price = 0.0
+        ok = False
+
+        for line in grid.line_ids:
+            price_dict = {'price': total, 'volume':volume, 'weight': weight, 'wv':volume*weight}
+            test = eval(line.type+line.operator+str(line.max_value), price_dict)
+            if test:
+                if line.price_type=='variable':
+                    price = line.list_price * price_dict[line.variable_factor]
+                else:
+                    price = line.list_price
+                ok = True
+                break
+        if not ok:
+            raise osv.except_osv(_('No price available !'), _('No line matched this order in the choosed delivery grids !'))
+
+        return price
+
+
+delivery_grid()
+
+class delivery_grid_line(osv.osv):
+    _name = "delivery.grid.line"
+    _description = "Delivery Grid Line"
+    _columns = {
+        'name': fields.char('Name', size=32, required=True),
+        'grid_id': fields.many2one('delivery.grid', 'Grid',required=True),
+        'type': fields.selection([('weight','Weight'),('volume','Volume'),('wv','Weight * Volume'), ('price','Price')], 'Variable', required=True),
+        'operator': fields.selection([('==','='),('<=','<='),('>=','>=')], 'Operator', required=True),
+        'max_value': fields.float('Maximum Value', required=True),
+        'price_type': fields.selection([('fixed','Fixed'),('variable','Variable')], 'Price Type', required=True),
+        'variable_factor': fields.selection([('weight','Weight'),('volume','Volume'),('wv','Weight * Volume'), ('price','Price')], 'Variable Factor', required=True),
+        'list_price': fields.float('Sale Price', required=True),
+        'standard_price': fields.float('Cost Price', required=True),
+    }
+    _defaults = {
+        'type': lambda *args: 'weight',
+        'operator': lambda *args: '<=',
+        'price_type': lambda *args: 'fixed',
+        'variable_factor': lambda *args: 'weight',
+    }
+    _order = 'list_price'
+
+
+delivery_grid_line()
+
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

File delivery_data.xml

+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data noupdate="True">
+        <record forcecreate="True" id="property_delivery_carrier" model="ir.property">
+            <field name="name">property_delivery_carrier</field>
+            <field name="fields_id" search="[('model','=','res.partner'),('name','=','property_delivery_carrier')]"/>
+        </record>
+
+    </data>
+</openerp>

File delivery_demo.xml

+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data noupdate="1">
+
+         <!-- Create a transporter -->
+
+        <record id="delivery_partner" model="res.partner">
+            <field name="name">The Poste</field>
+        </record>
+        <record id="delivery_partner_address" model="res.partner.address">
+            <field name="type">default</field>
+            <field name="partner_id" ref="delivery_partner"/>
+        </record>
+
+        <!-- Create a partner -->
+
+        <record id="delivery_product" model="product.product">
+            <field name="name">Delivery by Poste</field>
+            <field name="type">service</field>
+            <field model="product.category" name="categ_id" search="[]"/>
+        </record>
+
+        <!-- Carrier -->
+
+        <record id="delivery_carrier" model="delivery.carrier">
+            <field name="name">The Poste</field>
+            <field name="partner_id" ref="delivery_partner"/>
+            <field name="product_id" ref="delivery_product"/>
+        </record>
+
+        <!-- Carrier Grids -->
+
+        <record id="delivery_grid" model="delivery.grid">
+            <field name="name">The Poste - Pricelist</field>
+            <field name="carrier_id" ref="delivery_carrier"/>
+        </record>
+        <record id="delivery_grid_line1" model="delivery.grid.line">
+            <field name="name">Weight &lt;= 5kg</field>
+            <field name="grid_id" ref="delivery_grid"/>
+            <field eval="5" name="max_value"/>
+            <field eval="20" name="list_price"/>
+            <field eval="10" name="standard_price"/>
+        </record>
+        <record id="delivery_grid_line2" model="delivery.grid.line">
+            <field name="name">Weight &gt; 5kg</field>
+            <field name="grid_id" ref="delivery_grid"/>
+            <field name="operator">&gt;=</field>
+            <field eval="5" name="max_value"/>
+            <field eval="50" name="list_price"/>
+            <field eval="30" name="standard_price"/>
+        </record>
+
+        <record id="delivery_grid_line3" model="delivery.grid.line">
+            <field name="name">Free if price &gt;= 300</field>
+            <field name="grid_id" ref="delivery_grid"/>
+            <field eval="300" name="max_value"/>
+            <field name="operator">&gt;=</field>
+            <field name="type">price</field>
+            <field eval="0" name="list_price"/>
+            <field eval="20" name="standard_price"/>
+        </record>
+    </data>
+</openerp>

File delivery_report.xml

+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+
+        <report
+            id="report_shipping"
+            model="stock.picking"
+            name="sale.shipping"
+            multi="True"
+            rml="delivery/report/shipping.rml"
+            string="Delivery order"/>
+
+    </data>
+</openerp>

File delivery_view.xml

+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+        <!-- Delivery Carriers -->
+        <menuitem id="menu_delivery" name="Delivery" parent="stock.menu_stock_configuration" sequence="4"/>
+
+
+
+
+        <record id="view_delivery_carrier_tree" model="ir.ui.view">
+            <field name="name">delivery.carrier.tree</field>
+            <field name="model">delivery.carrier</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Carrier">
+                    <field name="name"/>
+                    <field name="partner_id"/>
+                    <field name="price" invisible="'order_id' not in context"/>
+                </tree>
+            </field>
+        </record>
+        <record id="view_delivery_carrier_form" model="ir.ui.view">
+            <field name="name">delivery.carrier.form</field>
+            <field name="model">delivery.carrier</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Carrier">
+                    <field name="name" select="1"/>
+                    <field name="active" select="1"/>
+                    <field name="partner_id" select="1"/>
+                    <field name="product_id" select="1"/>
+                </form>
+            </field>
+        </record>
+        <record id="action_delivery_carrier_form" model="ir.actions.act_window">
+            <field name="name">Delivery Method</field>
+            <field name="type">ir.actions.act_window</field>
+            <field name="res_model">delivery.carrier</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+            <field name="help">Create and manage the delivery methods you need for your sales activities. Each delivery method can be assigned to a price list which computes the price of the delivery according to the products sold or delivered.</field>
+        </record>
+        <menuitem action="action_delivery_carrier_form" id="menu_action_delivery_carrier_form" parent="menu_delivery" groups="base.group_extended"/>
+
+        <!-- Delivery Grids -->
+        <record id="view_delivery_grid_tree" model="ir.ui.view">
+            <field name="name">delivery.grid.tree</field>
+            <field name="model">delivery.grid</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Delivery grids">
+                    <field name="sequence"/>
+                    <field name="carrier_id"/>
+                    <field name="name"/>
+                </tree>
+            </field>
+        </record>
+
+        <record id="view_delivery_grid_form" model="ir.ui.view">
+            <field name="name">delivery.grid.form</field>
+            <field name="model">delivery.grid</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Delivery grids">
+                    <field name="name" select="1"/>
+                    <field name="active" select="1"/>
+                    <field name="carrier_id" select="1"/>
+                    <field name="sequence" groups="base.group_extended" select="1"/>
+                    <notebook colspan="4">
+                        <page string="Grid definition">
+                            <field colspan="4" name="line_ids" nolabel="1" select="1"/>
+                        </page>
+                        <page string="Destination">
+                            <separator colspan="4" string="Countries"/>
+                            <field colspan="4" name="country_ids" nolabel="1"/>
+                            <separator colspan="4" string="States"/>
+                            <field colspan="4" name="state_ids" nolabel="1"/>
+                            <field name="zip_from"/>
+                            <field name="zip_to"/>
+                        </page>
+                    </notebook>
+                </form>
+            </field>
+        </record>
+        <record id="action_delivery_grid_form" model="ir.actions.act_window">
+            <field name="name">Delivery Pricelist</field>
+            <field name="type">ir.actions.act_window</field>
+            <field name="res_model">delivery.grid</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+            <field name="help">The delivery price list allows you to compute the cost and sales price of the delivery according to the weight of the products and other criteria. You can define several price lists for one delivery method, per country or a zone in a specific country defined by a postal code range.</field>
+        </record>
+        <menuitem action="action_delivery_grid_form" id="menu_action_delivery_grid_form" parent="menu_delivery"/>
+
+        <record id="view_delivery_grid_line_form" model="ir.ui.view">
+            <field name="name">delivery.grid.line.form</field>
+            <field name="model">delivery.grid.line</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Grid Lines">
+                    <field colspan="4" name="name" select="1"/>
+                    <field name="type" string="Condition"/>
+                    <field name="operator" nolabel="1"/>
+                    <field name="max_value" nolabel="1"/>
+                    <field name="list_price"/>
+                    <field name="standard_price" groups="base.group_extended"/>
+                    <field name="price_type"  />
+                    <field name="variable_factor" attrs="{'invisible':[('price_type','=','fixed')]}"/>
+                </form>
+            </field>
+        </record>
+        <record id="view_delivery_grid_line_tree" model="ir.ui.view">
+            <field name="name">delivery.grid.line.tree</field>
+            <field name="model">delivery.grid.line</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Grid Lines">
+                    <field name="name"/>
+                    <field name="type"/>
+                    <field name="operator"/>
+                    <field name="max_value"/>
+                    <field name="list_price"/>
+                    <field name="standard_price" groups="base.group_extended"/>
+                </tree>
+            </field>
+        </record>
+
+        <record id="view_order_withcarrier_form" model="ir.ui.view">
+            <field name="name">delivery.sale.order_withcarrier.form.view</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">
+                <group name="logistics" position="inside">
+                    <field name="id" invisible="True"/>
+                    <field name="carrier_id" context="{'order_id':active_id or False}"/>
+                </group>
+            </field>
+        </record>
+
+        <record id="view_picking_withcarrier_out_form" model="ir.ui.view">
+            <field name="name">delivery.stock.picking_withcarrier.out.form.view</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">
+                <field name="address_id" position="after">
+                    <field name="carrier_id"/>
+                    <field name="carrier_tracking_ref" groups="base.group_extended"/>
+                    <field name="number_of_packages" groups="base.group_extended"/>
+                    <field name="weight"/>
+                    <field name="weight_net"/>
+                </field>
+            </field>
+        </record>
+
+        <record id="view_picking_withweight_in_form" model="ir.ui.view">
+            <field name="name">stock.picking_withweight.in.form.view</field>
+            <field name="type">form</field>
+            <field name="model">stock.picking</field>
+            <field name="inherit_id" ref="stock.view_picking_in_form"/>
+            <field name="arch" type="xml">
+                <field name="type" position="after">
+                    <field name="weight"/>
+                    <field name="weight_net"/>
+                </field>
+            </field>
+        </record>
+
+        <record id="view_picking_withweight_internal_form" model="ir.ui.view">
+            <field name="name">stock.picking_withweight.internal.form.view</field>
+            <field name="type">form</field>
+            <field name="model">stock.picking</field>
+            <field name="inherit_id" ref="stock.view_picking_form"/>
+            <field name="arch" type="xml">
+                <field name="type" position="after">
+                    <field name="weight"/>
+                    <field name="weight_net"/>
+                </field>
+            </field>
+        </record>
+
+        <record id="action_picking_tree4" model="ir.actions.act_window">
+            <field name="name">Picking to be invoiced</field>
+            <field name="res_model">stock.picking</field>
+            <field name="type">ir.actions.act_window</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+            <field name="domain">[('invoice_state','=','2binvoiced'),('state','=','done'),('type','=','out')]</field>
+            <field name="filter" eval="True"/>
+            <field name="context">{'contact_display': 'partner'}</field>
+            <field name="search_view_id" ref="stock.view_picking_out_search"/>
+        </record>
+
+        <record id="view_picking_withcarrier_out_move_form" model="ir.ui.view">
+            <field name="name">delivery.stock.picking_withcarrier.out.move.form.view</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">
+                <xpath expr="/form/notebook/page/field[@name='move_lines']/tree/field[@name='product_uom']" position="after">
+                    <field name="weight"/>
+                    <field name="weight_net"/>
+                </xpath>
+            </field>
+        </record>
+
+        <record id="view_picking_withweight_in_move_form" model="ir.ui.view">
+            <field name="name">stock.picking_withweight.in.move.form.view</field>
+            <field name="type">form</field>
+            <field name="model">stock.picking</field>
+            <field name="inherit_id" ref="stock.view_picking_in_form"/>
+            <field name="arch" type="xml">
+                <xpath expr="/form/notebook/page/field[@name='move_lines']/tree/field[@name='product_uom']" position="after">
+                    <field name="weight"/>
+                    <field name="weight_net"/>
+                </xpath>
+            </field>
+        </record>
+
+        <record id="view_picking_withweight_internal_move_form" model="ir.ui.view">
+            <field name="name">stock.picking_withweight.internal.move.form.view</field>
+            <field name="type">form</field>
+            <field name="model">stock.picking</field>
+            <field name="inherit_id" ref="stock.view_picking_form"/>
+            <field name="arch" type="xml">
+                <xpath expr="/form/notebook/page/field[@name='move_lines']/tree/field[@name='product_uom']" position="after">
+                    <field name="weight"/>
+                    <field name="weight_net"/>
+                </xpath>
+            </field>
+        </record>
+
+        <record id="view_move_withweight_form" model="ir.ui.view">
+            <field name="name">stock.move.form.weight</field>
+            <field name="type">form</field>
+            <field name="model">stock.move</field>
+            <field name="inherit_id" ref="stock.view_move_form"/>
+            <field name="arch" type="xml">
+                <group colspan="2" col="2" position="after">
+                    <group colspan="2" col="2" groups="base.group_extended">
+                        <separator string="Weights" colspan="2"/>
+                        <field name="weight"/>
+                        <field name="weight_net"/>
+                    </group>
+                </group>
+            </field>
+        </record>
+
+        <record id="view_move_reception_picking_withweight_form" model="ir.ui.view">
+            <field name="name">stock.move.reception.packing.form.weight</field>
+            <field name="type">form</field>
+            <field name="model">stock.move</field>
+            <field name="inherit_id" ref="stock.view_move_form_reception_picking"/>
+            <field name="arch" type="xml">
+                <group colspan="2" col="2" position="after">
+                    <group colspan="2" col="2" groups="base.group_extended">
+                        <separator string="Weights" colspan="2"/>
+                        <field name="weight"/>
+                        <field name="weight_net"/>
+                    </group>
+                </group>
+            </field>
+        </record>
+
+        <record model="ir.ui.view" id="edit_project_multicompany">
+            <field name="name">sale.order.multicompany</field>
+            <field name="model">sale.order</field>
+            <field name="inherit_id" ref="sale.view_order_form"/>
+            <field name="arch" type="xml">
+                    <xpath expr="/form/notebook/page[@string='Sales Order']/group[1]/button[@name='button_dummy']" position="after">
+                         <button name="%(action_delivery_cost)d" states="draft" string="Delivery Costs" type="action" icon="gtk-add" context="{'order_id':active_id}"/>
+                    </xpath>
+            </field>
+        </record>
+
+        <record id="view_delivery_order_inherit_stock" model="ir.ui.view">
+            <field name="name">stock.picking.out.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">
+                <xpath expr="/form/notebook/page[@string='Products']/group/button[@string='Create Invoice']" position="after">
+                    <button name="%(report_shipping)d" string="Delivery Order" states="done,assigned" type="action" icon="gtk-print"/>
+                </xpath>
+            </field>
+        </record>
+
+
+    </data>
+</openerp>
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* delivery
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.4\n"
+"Report-Msgid-Bugs-To: support@openerp.com\n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2011-01-19 12:00+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-01-25 06:37+0000\n"
+"X-Generator: Launchpad (build 12177)\n"
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Order Ref."
+msgstr ""
+
+#. module: delivery
+#: model:product.template,name:delivery.delivery_product_product_template
+msgid "Delivery by Poste"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid:0
+msgid "Destination"
+msgstr ""
+
+#. module: delivery
+#: field:stock.move,weight_net:0
+msgid "Net weight"
+msgstr ""
+
+#. module: delivery
+#: view:stock.picking:0
+msgid "Delivery Order"
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/delivery.py:141
+#, python-format
+msgid "No price available !"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_delivery_grid_line
+msgid "Delivery Grid Line"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid:0
+msgid "Delivery grids"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+#: field:stock.picking,volume:0
+msgid "Volume"
+msgstr ""
+
+#. module: delivery
+#: sql_constraint:sale.order:0
+msgid "Order Reference must be unique !"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid,line_ids:0
+msgid "Grid Line"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.report.xml,name:delivery.report_shipping
+msgid "Delivery order"
+msgstr ""
+
+#. module: delivery
+#: view:res.partner:0
+msgid "Deliveries Properties"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,name:delivery.action_picking_tree4
+msgid "Picking to be invoiced"
+msgstr ""
+
+#. module: delivery
+#: help:delivery.grid,sequence:0
+msgid "Gives the sequence order when displaying a list of delivery grid."
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid:0
+#: field:delivery.grid,country_ids:0
+msgid "Countries"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Delivery Order :"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,variable_factor:0
+msgid "Variable Factor"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,help:delivery.action_delivery_grid_form
+msgid ""
+"The delivery price list allows you to compute the cost and sales price of "
+"the delivery according to the weight of the products and other criteria. You "
+"can define several price lists for one delivery method, per country or a "
+"zone in a specific country defined by a postal code range."
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,price_type:0
+msgid "Fixed"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.sale.order:0
+#: field:delivery.sale.order,carrier_id:0
+#: model:ir.actions.act_window,name:delivery.action_delivery_carrier_form
+#: model:ir.ui.menu,name:delivery.menu_action_delivery_carrier_form
+#: field:res.partner,property_delivery_carrier:0
+#: field:sale.order,carrier_id:0
+msgid "Delivery Method"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_stock_move
+msgid "Stock Move"
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/delivery.py:141
+#, python-format
+msgid "No line matched this order in the choosed delivery grids !"
+msgstr ""
+
+#. module: delivery
+#: field:stock.picking,carrier_tracking_ref:0
+msgid "Carrier Tracking Ref"
+msgstr ""
+
+#. module: delivery
+#: field:stock.picking,weight_net:0
+msgid "Net Weight"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,help:delivery.action_delivery_carrier_form
+msgid ""
+"Create and manage the delivery methods you need for your sales activities. "
+"Each delivery method can be assigned to a price list which computes the "
+"price of the delivery according to the products sold or delivered."
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/stock.py:98
+#, python-format
+msgid "Warning"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid:0
+msgid "Grid definition"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.sale.order:0
+msgid "_Cancel"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,operator:0
+msgid "Operator"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_res_partner
+msgid "Partner"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_sale_order
+msgid "Sales Order"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_delivery_grid
+msgid "Delivery Grid"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Invoiced to"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_stock_picking
+msgid "Picking List"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_delivery_sale_order
+msgid "Make Delievery"
+msgstr ""
+
+#. module: delivery
+#: model:ir.module.module,description:delivery.module_meta_information
+msgid ""
+"Allows you to add delivery methods in sale orders and picking.\n"
+"     You can define your own carrier and delivery grids for prices.\n"
+"     When creating invoices from picking, OpenERP is able to add and compute "
+"the shipping line.\n"
+"\n"
+"     "
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid.line:0
+msgid "Grid Lines"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,grid_id:0
+msgid "Grid"
+msgstr ""
+
+#. module: delivery
+#: help:delivery.grid,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the delivery "
+"grid without removing it."
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid,zip_to:0
+msgid "To Zip"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Order Date"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid,name:0
+msgid "Grid Name"
+msgstr ""
+
+#. module: delivery
+#: view:stock.move:0
+msgid "Weights"
+msgstr ""
+
+#. module: delivery
+#: field:stock.picking,number_of_packages:0
+msgid "Number of Packages"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+#: report:sale.shipping:0
+#: field:stock.move,weight:0
+#: field:stock.picking,weight:0
+msgid "Weight"
+msgstr ""
+
+#. module: delivery
+#: help:delivery.carrier,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the delivery "
+"carrier without removing it."
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:95
+#, python-format
+msgid "No grid available !"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,operator:0
+msgid ">="
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:66
+#: code:addons/delivery/wizard/delivery_sale_order.py:98
+#, python-format
+msgid "Order not in draft state !"
+msgstr ""
+
+#. module: delivery
+#: constraint:res.partner:0
+msgid "Error ! You can not create recursive associated members."
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Lot"
+msgstr ""
+
+#. module: delivery
+#: constraint:stock.move:0
+msgid "You try to assign a lot which is not from the same product"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,active:0
+#: field:delivery.grid,active:0
+msgid "Active"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Shipping Date"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,product_id:0
+msgid "Delivery Product"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid.line:0
+msgid "Condition"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,standard_price:0
+msgid "Cost Price"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,price_type:0
+#: field:delivery.grid.line,type:0
+msgid "Variable"
+msgstr ""
+
+#. module: delivery
+#: help:res.partner,property_delivery_carrier:0
+msgid "This delivery method will be used when invoicing from picking."
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,max_value:0
+msgid "Maximum Value"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Quantity"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid,zip_from:0
+msgid "Start Zip"
+msgstr ""
+
+#. module: delivery
+#: help:sale.order,carrier_id:0
+msgid ""
+"Complete this field if you plan to invoice the shipping based on picking."
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,partner_id:0
+msgid "Carrier Partner"
+msgstr ""
+
+#. module: delivery
+#: view:res.partner:0
+msgid "Sales & Purchases"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,operator:0
+msgid "<="
+msgstr ""
+
+#. module: delivery
+#: constraint:stock.move:0
+msgid "You must assign a production lot for this product"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.sale.order:0
+msgid "Create Deliveries"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,name:delivery.action_delivery_cost
+#: view:sale.order:0
+msgid "Delivery Costs"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Description"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,name:delivery.action_delivery_grid_form
+#: model:ir.ui.menu,name:delivery.menu_action_delivery_grid_form
+msgid "Delivery Pricelist"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,price:0
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+msgid "Price"
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:95
+#, python-format
+msgid "No grid matching for this carrier !"
+msgstr ""
+
+#. module: delivery
+#: model:ir.ui.menu,name:delivery.menu_delivery
+msgid "Delivery"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+msgid "Weight * Volume"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,operator:0
+msgid "="
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/stock.py:99
+#, python-format
+msgid "The carrier %s (id: %d) has no delivery grid!"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,name:0
+msgid "Name"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.carrier:0
+#: field:delivery.carrier,name:0
+#: field:delivery.grid,carrier_id:0
+#: model:ir.model,name:delivery.model_delivery_carrier
+#: report:sale.shipping:0
+#: field:stock.picking,carrier_id:0
+msgid "Carrier"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.sale.order:0
+msgid "_Apply"
+msgstr ""
+
+#. module: delivery
+#: field:sale.order,id:0
+msgid "ID"
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:66
+#: code:addons/delivery/wizard/delivery_sale_order.py:98
+#, python-format
+msgid "The order state have to be draft to add delivery lines."
+msgstr ""
+
+#. module: delivery
+#: model:ir.module.module,shortdesc:delivery.module_meta_information
+msgid "Carriers and deliveries"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,grids_id:0
+msgid "Delivery Grids"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,list_price:0
+msgid "Sale Price"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid:0
+#: field:delivery.grid,state_ids:0
+msgid "States"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,price_type:0
+msgid "Price Type"
+msgstr ""
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* delivery
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 6.0dev\n"
+"Report-Msgid-Bugs-To: support@openerp.com\n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2011-03-28 21:15+0000\n"
+"Last-Translator: Dimitar Markov <dimitar.markov@gmail.com>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-03-29 06:21+0000\n"
+"X-Generator: Launchpad (build 12559)\n"
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Order Ref."
+msgstr "Отпратка към поръчка"
+
+#. module: delivery
+#: model:product.template,name:delivery.delivery_product_product_template
+msgid "Delivery by Poste"
+msgstr "Доставка по поща"
+
+#. module: delivery
+#: view:delivery.grid:0
+msgid "Destination"
+msgstr "Местоназначение"
+
+#. module: delivery
+#: field:stock.move,weight_net:0
+msgid "Net weight"
+msgstr "Нето тегло"
+
+#. module: delivery
+#: view:stock.picking:0
+msgid "Delivery Order"
+msgstr "Порчъка за доставка"
+
+#. module: delivery
+#: code:addons/delivery/delivery.py:141
+#, python-format
+msgid "No price available !"
+msgstr "Не е налична цена !"
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_delivery_grid_line
+msgid "Delivery Grid Line"
+msgstr "Ред от доставка"
+
+#. module: delivery
+#: view:delivery.grid:0
+msgid "Delivery grids"
+msgstr "Матрици за доставки"
+
+#. module: delivery
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+#: field:stock.picking,volume:0
+msgid "Volume"
+msgstr "Обем"
+
+#. module: delivery
+#: sql_constraint:sale.order:0
+msgid "Order Reference must be unique !"
+msgstr "Означението на поръчката трябва да бъде уникално!"
+
+#. module: delivery
+#: field:delivery.grid,line_ids:0
+msgid "Grid Line"
+msgstr "Ред от матрица"
+
+#. module: delivery
+#: model:ir.actions.report.xml,name:delivery.report_shipping
+msgid "Delivery order"
+msgstr "Поръчка за доставка"
+
+#. module: delivery
+#: view:res.partner:0
+msgid "Deliveries Properties"
+msgstr "Свойства на доставките"
+
+#. module: delivery
+#: model:ir.actions.act_window,name:delivery.action_picking_tree4
+msgid "Picking to be invoiced"
+msgstr ""
+
+#. module: delivery
+#: help:delivery.grid,sequence:0
+msgid "Gives the sequence order when displaying a list of delivery grid."
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid:0
+#: field:delivery.grid,country_ids:0
+msgid "Countries"
+msgstr "Държави"
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Delivery Order :"
+msgstr "Поръчка за доставка :"
+
+#. module: delivery
+#: field:delivery.grid.line,variable_factor:0
+msgid "Variable Factor"
+msgstr "Променлив коефициент"
+
+#. module: delivery
+#: model:ir.actions.act_window,help:delivery.action_delivery_grid_form
+msgid ""
+"The delivery price list allows you to compute the cost and sales price of "
+"the delivery according to the weight of the products and other criteria. You "
+"can define several price lists for one delivery method, per country or a "
+"zone in a specific country defined by a postal code range."
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,price_type:0
+msgid "Fixed"
+msgstr "Фиксирана"
+
+#. module: delivery
+#: view:delivery.sale.order:0
+#: field:delivery.sale.order,carrier_id:0
+#: model:ir.actions.act_window,name:delivery.action_delivery_carrier_form
+#: model:ir.ui.menu,name:delivery.menu_action_delivery_carrier_form
+#: field:res.partner,property_delivery_carrier:0
+#: field:sale.order,carrier_id:0
+msgid "Delivery Method"
+msgstr "Начин на доставка"
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_stock_move
+msgid "Stock Move"
+msgstr "Движение на наличности"
+
+#. module: delivery
+#: code:addons/delivery/delivery.py:141
+#, python-format
+msgid "No line matched this order in the choosed delivery grids !"
+msgstr "Няма ред от таблици за доставка който да съвпада със поръчката !"
+
+#. module: delivery
+#: field:stock.picking,carrier_tracking_ref:0
+msgid "Carrier Tracking Ref"
+msgstr ""
+
+#. module: delivery
+#: field:stock.picking,weight_net:0
+msgid "Net Weight"
+msgstr "Нето тегло"
+
+#. module: delivery
+#: model:ir.actions.act_window,help:delivery.action_delivery_carrier_form
+msgid ""
+"Create and manage the delivery methods you need for your sales activities. "
+"Each delivery method can be assigned to a price list which computes the "
+"price of the delivery according to the products sold or delivered."
+msgstr ""
+"Създайте и управлявайте методите на доставка, от които се нуждаете за вашиет "
+"продажби. Всеки метод на доставка може да бъде свързан с ценова листа, която "
+"изчислява цената на доставка според продадените или доставни продукти."
+
+#. module: delivery
+#: code:addons/delivery/stock.py:98
+#, python-format
+msgid "Warning"
+msgstr "Предупреждение"
+
+#. module: delivery
+#: view:delivery.grid:0
+msgid "Grid definition"
+msgstr "Задание на матрица"
+
+#. module: delivery
+#: view:delivery.sale.order:0
+msgid "_Cancel"
+msgstr "_Отказ"
+
+#. module: delivery
+#: field:delivery.grid.line,operator:0
+msgid "Operator"
+msgstr "Оператор"
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_res_partner
+msgid "Partner"
+msgstr "Партньор"
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_sale_order
+msgid "Sales Order"
+msgstr "Нареждане за продажба"
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_delivery_grid
+msgid "Delivery Grid"
+msgstr "Матрица на доставка"
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Invoiced to"
+msgstr "Фактурирано към"
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_stock_picking
+msgid "Picking List"
+msgstr "Списък за товарене"
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_delivery_sale_order
+msgid "Make Delievery"
+msgstr "Направи доставка"
+
+#. module: delivery
+#: model:ir.module.module,description:delivery.module_meta_information
+msgid ""
+"Allows you to add delivery methods in sale orders and picking.\n"
+"     You can define your own carrier and delivery grids for prices.\n"
+"     When creating invoices from picking, OpenERP is able to add and compute "
+"the shipping line.\n"
+"\n"
+"     "
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid.line:0
+msgid "Grid Lines"
+msgstr "Редове от матрица"
+
+#. module: delivery
+#: field:delivery.grid.line,grid_id:0
+msgid "Grid"
+msgstr "Матрица"
+
+#. module: delivery
+#: help:delivery.grid,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the delivery "
+"grid without removing it."
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid,zip_to:0
+msgid "To Zip"
+msgstr "За пощенски код"
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Order Date"
+msgstr "Дата на поръчка"
+
+#. module: delivery
+#: field:delivery.grid,name:0
+msgid "Grid Name"
+msgstr "Име на матрица"
+
+#. module: delivery
+#: view:stock.move:0
+msgid "Weights"
+msgstr "Тегла"
+
+#. module: delivery
+#: field:stock.picking,number_of_packages:0
+msgid "Number of Packages"
+msgstr "Брой пакети"
+
+#. module: delivery
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+#: report:sale.shipping:0
+#: field:stock.move,weight:0
+#: field:stock.picking,weight:0
+msgid "Weight"
+msgstr "Тегло"
+
+#. module: delivery
+#: help:delivery.carrier,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the delivery "
+"carrier without removing it."
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:95
+#, python-format
+msgid "No grid available !"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,operator:0
+msgid ">="
+msgstr ">="
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:66
+#: code:addons/delivery/wizard/delivery_sale_order.py:98
+#, python-format
+msgid "Order not in draft state !"
+msgstr "Поръчката не в състояние проект !"
+
+#. module: delivery
+#: constraint:res.partner:0
+msgid "Error ! You can not create recursive associated members."
+msgstr "Грешка ! Не може да създадете рекурсивно свързани членове"
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Lot"
+msgstr "Партида"
+
+#. module: delivery
+#: constraint:stock.move:0
+msgid "You try to assign a lot which is not from the same product"
+msgstr "Опитвате да свържете партида, която не е от същия продукт"
+
+#. module: delivery
+#: field:delivery.carrier,active:0
+#: field:delivery.grid,active:0
+msgid "Active"
+msgstr "Активен"
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Shipping Date"
+msgstr "Дата на доставка"
+
+#. module: delivery
+#: field:delivery.carrier,product_id:0
+msgid "Delivery Product"
+msgstr "Доставка на продукт"
+
+#. module: delivery
+#: view:delivery.grid.line:0
+msgid "Condition"
+msgstr "Състояние"
+
+#. module: delivery
+#: field:delivery.grid.line,standard_price:0
+msgid "Cost Price"
+msgstr "Себестойност"
+
+#. module: delivery
+#: selection:delivery.grid.line,price_type:0
+#: field:delivery.grid.line,type:0
+msgid "Variable"
+msgstr "Променлив"
+
+#. module: delivery
+#: help:res.partner,property_delivery_carrier:0
+msgid "This delivery method will be used when invoicing from picking."
+msgstr ""
+"Този метод на доставка ще бъде използван при фактуриране от списък за "
+"товарене."
+
+#. module: delivery
+#: field:delivery.grid.line,max_value:0
+msgid "Maximum Value"
+msgstr "Максимална стойност"
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Quantity"
+msgstr "Количество"
+
+#. module: delivery
+#: field:delivery.grid,zip_from:0
+msgid "Start Zip"
+msgstr "Начален пощ. код"
+
+#. module: delivery
+#: help:sale.order,carrier_id:0
+msgid ""
+"Complete this field if you plan to invoice the shipping based on picking."
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,partner_id:0
+msgid "Carrier Partner"
+msgstr "Партньор за транспорт"
+
+#. module: delivery
+#: view:res.partner:0
+msgid "Sales & Purchases"
+msgstr "Продажби&Покупки"
+
+#. module: delivery
+#: selection:delivery.grid.line,operator:0
+msgid "<="
+msgstr "<="
+
+#. module: delivery
+#: constraint:stock.move:0
+msgid "You must assign a production lot for this product"
+msgstr "Трябва да зададете партида за производство на този продукт"
+
+#. module: delivery
+#: view:delivery.sale.order:0
+msgid "Create Deliveries"
+msgstr "Създайте доставки"
+
+#. module: delivery
+#: model:ir.actions.act_window,name:delivery.action_delivery_cost
+#: view:sale.order:0
+msgid "Delivery Costs"
+msgstr "Цени за доставка"
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Description"
+msgstr "Описание"
+
+#. module: delivery
+#: model:ir.actions.act_window,name:delivery.action_delivery_grid_form
+#: model:ir.ui.menu,name:delivery.menu_action_delivery_grid_form
+msgid "Delivery Pricelist"
+msgstr "Ценоразпис за доставка"
+
+#. module: delivery
+#: field:delivery.carrier,price:0
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+msgid "Price"
+msgstr "Цена"
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:95
+#, python-format
+msgid "No grid matching for this carrier !"
+msgstr "Няма матрица която да отговаря на този транспорт !"
+
+#. module: delivery
+#: model:ir.ui.menu,name:delivery.menu_delivery
+msgid "Delivery"
+msgstr "Доставка"
+
+#. module: delivery
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+msgid "Weight * Volume"
+msgstr "Тегло * Обем"
+
+#. module: delivery
+#: selection:delivery.grid.line,operator:0
+msgid "="
+msgstr "="
+
+#. module: delivery
+#: code:addons/delivery/stock.py:99
+#, python-format
+msgid "The carrier %s (id: %d) has no delivery grid!"
+msgstr "Транспорт %s (идентификатор %d) няма таблица на доставки!"
+
+#. module: delivery
+#: field:delivery.grid.line,name:0
+msgid "Name"
+msgstr "Име"
+
+#. module: delivery
+#: view:delivery.carrier:0
+#: field:delivery.carrier,name:0
+#: field:delivery.grid,carrier_id:0
+#: model:ir.model,name:delivery.model_delivery_carrier
+#: report:sale.shipping:0
+#: field:stock.picking,carrier_id:0
+msgid "Carrier"
+msgstr "Превозвач"
+
+#. module: delivery
+#: view:delivery.sale.order:0
+msgid "_Apply"
+msgstr "_Прилагане"
+
+#. module: delivery
+#: field:sale.order,id:0
+msgid "ID"
+msgstr "ID"
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:66
+#: code:addons/delivery/wizard/delivery_sale_order.py:98
+#, python-format
+msgid "The order state have to be draft to add delivery lines."
+msgstr ""
+"Състоянието на поръчката трябва да бъде в проект за да може да се добавят "
+"редове за доставка"
+
+#. module: delivery
+#: model:ir.module.module,shortdesc:delivery.module_meta_information
+msgid "Carriers and deliveries"
+msgstr "Транспорт и доставки"
+
+#. module: delivery
+#: field:delivery.carrier,grids_id:0
+msgid "Delivery Grids"
+msgstr "Матрици на доставка"
+
+#. module: delivery
+#: field:delivery.grid,sequence:0
+msgid "Sequence"
+msgstr "Последователност"
+
+#. module: delivery
+#: field:delivery.grid.line,list_price:0
+msgid "Sale Price"
+msgstr "Продажна цена"
+
+#. module: delivery
+#: view:delivery.grid:0
+#: field:delivery.grid,state_ids:0
+msgid "States"
+msgstr "Области"
+
+#. module: delivery
+#: field:delivery.grid.line,price_type:0
+msgid "Price Type"
+msgstr "Вид цена"
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* delivery
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.4\n"
+"Report-Msgid-Bugs-To: support@openerp.com\n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2011-01-19 12:00+0000\n"
+"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-01-25 06:37+0000\n"
+"X-Generator: Launchpad (build 12177)\n"
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Order Ref."
+msgstr ""
+
+#. module: delivery
+#: model:product.template,name:delivery.delivery_product_product_template
+msgid "Delivery by Poste"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid:0
+msgid "Destination"
+msgstr ""
+
+#. module: delivery
+#: field:stock.move,weight_net:0
+msgid "Net weight"
+msgstr ""
+
+#. module: delivery
+#: view:stock.picking:0
+msgid "Delivery Order"
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/delivery.py:141
+#, python-format
+msgid "No price available !"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_delivery_grid_line
+msgid "Delivery Grid Line"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid:0
+msgid "Delivery grids"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+#: field:stock.picking,volume:0
+msgid "Volume"
+msgstr ""
+
+#. module: delivery
+#: sql_constraint:sale.order:0
+msgid "Order Reference must be unique !"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid,line_ids:0
+msgid "Grid Line"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.report.xml,name:delivery.report_shipping
+msgid "Delivery order"
+msgstr ""
+
+#. module: delivery
+#: view:res.partner:0
+msgid "Deliveries Properties"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,name:delivery.action_picking_tree4
+msgid "Picking to be invoiced"
+msgstr ""
+
+#. module: delivery
+#: help:delivery.grid,sequence:0
+msgid "Gives the sequence order when displaying a list of delivery grid."
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid:0
+#: field:delivery.grid,country_ids:0
+msgid "Countries"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Delivery Order :"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,variable_factor:0
+msgid "Variable Factor"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,help:delivery.action_delivery_grid_form
+msgid ""
+"The delivery price list allows you to compute the cost and sales price of "
+"the delivery according to the weight of the products and other criteria. You "
+"can define several price lists for one delivery method, per country or a "
+"zone in a specific country defined by a postal code range."
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,price_type:0
+msgid "Fixed"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.sale.order:0
+#: field:delivery.sale.order,carrier_id:0
+#: model:ir.actions.act_window,name:delivery.action_delivery_carrier_form
+#: model:ir.ui.menu,name:delivery.menu_action_delivery_carrier_form
+#: field:res.partner,property_delivery_carrier:0
+#: field:sale.order,carrier_id:0
+msgid "Delivery Method"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_stock_move
+msgid "Stock Move"
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/delivery.py:141
+#, python-format
+msgid "No line matched this order in the choosed delivery grids !"
+msgstr ""
+
+#. module: delivery
+#: field:stock.picking,carrier_tracking_ref:0
+msgid "Carrier Tracking Ref"
+msgstr ""
+
+#. module: delivery
+#: field:stock.picking,weight_net:0
+msgid "Net Weight"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,help:delivery.action_delivery_carrier_form
+msgid ""
+"Create and manage the delivery methods you need for your sales activities. "
+"Each delivery method can be assigned to a price list which computes the "
+"price of the delivery according to the products sold or delivered."
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/stock.py:98
+#, python-format
+msgid "Warning"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid:0
+msgid "Grid definition"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.sale.order:0
+msgid "_Cancel"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,operator:0
+msgid "Operator"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_res_partner
+msgid "Partner"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_sale_order
+msgid "Sales Order"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_delivery_grid
+msgid "Delivery Grid"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Invoiced to"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_stock_picking
+msgid "Picking List"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_delivery_sale_order
+msgid "Make Delievery"
+msgstr ""
+
+#. module: delivery
+#: model:ir.module.module,description:delivery.module_meta_information
+msgid ""
+"Allows you to add delivery methods in sale orders and picking.\n"
+"     You can define your own carrier and delivery grids for prices.\n"
+"     When creating invoices from picking, OpenERP is able to add and compute "
+"the shipping line.\n"
+"\n"
+"     "
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid.line:0
+msgid "Grid Lines"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,grid_id:0
+msgid "Grid"
+msgstr ""
+
+#. module: delivery
+#: help:delivery.grid,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the delivery "
+"grid without removing it."
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid,zip_to:0
+msgid "To Zip"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Order Date"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid,name:0
+msgid "Grid Name"
+msgstr ""
+
+#. module: delivery
+#: view:stock.move:0
+msgid "Weights"
+msgstr ""
+
+#. module: delivery
+#: field:stock.picking,number_of_packages:0
+msgid "Number of Packages"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+#: report:sale.shipping:0
+#: field:stock.move,weight:0
+#: field:stock.picking,weight:0
+msgid "Weight"
+msgstr ""
+
+#. module: delivery
+#: help:delivery.carrier,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the delivery "
+"carrier without removing it."
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:95
+#, python-format
+msgid "No grid available !"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,operator:0
+msgid ">="
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:66
+#: code:addons/delivery/wizard/delivery_sale_order.py:98
+#, python-format
+msgid "Order not in draft state !"
+msgstr ""
+
+#. module: delivery
+#: constraint:res.partner:0
+msgid "Error ! You can not create recursive associated members."
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Lot"
+msgstr ""
+
+#. module: delivery
+#: constraint:stock.move:0
+msgid "You try to assign a lot which is not from the same product"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,active:0
+#: field:delivery.grid,active:0
+msgid "Active"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Shipping Date"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,product_id:0
+msgid "Delivery Product"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid.line:0
+msgid "Condition"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,standard_price:0
+msgid "Cost Price"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,price_type:0
+#: field:delivery.grid.line,type:0
+msgid "Variable"
+msgstr ""
+
+#. module: delivery
+#: help:res.partner,property_delivery_carrier:0
+msgid "This delivery method will be used when invoicing from picking."
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,max_value:0
+msgid "Maximum Value"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Quantity"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid,zip_from:0
+msgid "Start Zip"
+msgstr ""
+
+#. module: delivery
+#: help:sale.order,carrier_id:0
+msgid ""
+"Complete this field if you plan to invoice the shipping based on picking."
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,partner_id:0
+msgid "Carrier Partner"
+msgstr ""
+
+#. module: delivery
+#: view:res.partner:0
+msgid "Sales & Purchases"
+msgstr "Prodaja i nabava"
+
+#. module: delivery
+#: selection:delivery.grid.line,operator:0
+msgid "<="
+msgstr ""
+
+#. module: delivery
+#: constraint:stock.move:0
+msgid "You must assign a production lot for this product"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.sale.order:0
+msgid "Create Deliveries"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,name:delivery.action_delivery_cost
+#: view:sale.order:0
+msgid "Delivery Costs"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Description"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,name:delivery.action_delivery_grid_form
+#: model:ir.ui.menu,name:delivery.menu_action_delivery_grid_form
+msgid "Delivery Pricelist"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,price:0
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+msgid "Price"
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:95
+#, python-format
+msgid "No grid matching for this carrier !"
+msgstr ""
+
+#. module: delivery
+#: model:ir.ui.menu,name:delivery.menu_delivery
+msgid "Delivery"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+msgid "Weight * Volume"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,operator:0
+msgid "="
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/stock.py:99
+#, python-format
+msgid "The carrier %s (id: %d) has no delivery grid!"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,name:0
+msgid "Name"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.ca