diff --git a/pos_bom/README.rst b/pos_bom/README.rst new file mode 100644 index 000000000..6ead02956 --- /dev/null +++ b/pos_bom/README.rst @@ -0,0 +1,41 @@ +POS Product Components +====================== +*POS Product Components in Odoo V15 + +Installation +============ + - www.odoo.com/documentation/15.0/setup/install.html + - Install our custom addon + +License +------- +General Public License, Version 3 (LGPL v3). +(https://www.odoo.com/documentation/user/13.0/legal/licenses/licenses.html) + +Company +------- +* 'Cybrosys Techno Solutions `__ + +Credits +------- +* Developer: +Mily @ Cybrosys + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit https://www.cybrosys.com + +Further information +=================== +HTML Description: ``__ + diff --git a/pos_bom/__init__.py b/pos_bom/__init__.py new file mode 100644 index 000000000..b36ae4c67 --- /dev/null +++ b/pos_bom/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from . import models \ No newline at end of file diff --git a/pos_bom/__manifest__.py b/pos_bom/__manifest__.py new file mode 100644 index 000000000..6825e07a3 --- /dev/null +++ b/pos_bom/__manifest__.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': 'POS Product Components', + 'version': '15.0.1.0.0', + 'summary': """Helps to handle Product Components in POS""", + 'description': """Helps us to configure BOM products in point of sale and manage inventory for such products""", + 'category': 'Point of Sale', + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'depends': ['base', 'point_of_sale','stock'], + 'website': 'https://www.cybrosys.com', + 'data': [ + 'security/ir.model.access.csv', + 'views/product_uom.xml', + 'views/product.xml', + ], + 'images': ['static/description/banner.png'], + 'license': 'LGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/pos_bom/doc/RELEASE_NOTES.md b/pos_bom/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..40a328220 --- /dev/null +++ b/pos_bom/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module Pos Products Components + +#### 30.5.2022 +#### Version 15.0.1.0.0 +##### ADD +- Initial Commit for pos_bom diff --git a/pos_bom/models/__init__.py b/pos_bom/models/__init__.py new file mode 100644 index 000000000..a68c761d2 --- /dev/null +++ b/pos_bom/models/__init__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from . import product +from . import product_bom +from . import stock_picking diff --git a/pos_bom/models/product.py b/pos_bom/models/product.py new file mode 100644 index 000000000..4a7d3f08b --- /dev/null +++ b/pos_bom/models/product.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import fields, models, _ + + +class ProductInherit(models.Model): + _inherit = 'product.template' + + is_bom = fields.Boolean(string="Have BOM", default=False) \ No newline at end of file diff --git a/pos_bom/models/product_bom.py b/pos_bom/models/product_bom.py new file mode 100644 index 000000000..760b8d2eb --- /dev/null +++ b/pos_bom/models/product_bom.py @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import api, fields, models + + +class POSProductBOM(models.Model): + _name = 'pos.product.bom' + _rec_name = 'product_id' + _description = "POS Product BOM" + + name = fields.Char(string="Name", ) + product_id = fields.Many2one('product.template', string="Product", domain=[('is_bom', '=', True)], + required=True) + reference = fields.Char(string="Reference") + quantity = fields.Float(string="Quantity", required=True) + product_uom_id = fields.Many2one('uom.uom', string="Unit of Measure") + bom_line_ids = fields.One2many('pos.bom.line', 'bom_id', string="Components") + state = fields.Selection([ + ('draft', 'Draft'), + ('confirm', 'Confirm'), + ('cancel', 'Cancelled')], string='State', readonly='True', default='draft') + + def action_confirm(self): + self.state = 'confirm' + + def action_cancel(self): + self.state = 'cancel' + + @api.onchange('product_id') + def onchange_product_id(self): + if self.product_id: + self.product_uom_id = self.product_id.uom_id.id + + +class POSBomLines(models.Model): + _name = 'pos.bom.line' + _description = "POS BOM Lines" + + product_id = fields.Many2one('product.product', string="POS Product Bom",domain=[('is_bom', '=', False)],) + sequence = fields.Integer( + 'Sequence', default=1, + help="Gives the sequence order when displaying.") + bom_id = fields.Many2one('pos.product.bom', string="BOM Product") + quantity = fields.Float(string="Quantity") + product_uom_id = fields.Many2one('uom.uom', string="Unit of Measure") + + @api.onchange('product_id') + def onchange_product(self): + if self.product_id: + self.product_uom_id = self.product_id.uom_id.id diff --git a/pos_bom/models/stock_picking.py b/pos_bom/models/stock_picking.py new file mode 100644 index 000000000..fb4769ce8 --- /dev/null +++ b/pos_bom/models/stock_picking.py @@ -0,0 +1,65 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import api, fields, models +from odoo.tools import float_is_zero, float_compare +from itertools import groupby + + +class StockPicking(models.Model): + _inherit = 'stock.picking' + + def _create_move_from_pos_order_lines(self, lines): + self.ensure_one() + lines_by_product = groupby(sorted(lines, key=lambda l: l.product_id.id), key=lambda l: l.product_id.id) + move_vals = [] + for dummy, olines in lines_by_product: + order_lines = self.env['pos.order.line'].concat(*olines) + move_vals.append(self._prepare_stock_move_vals(order_lines[0], order_lines)) + moves = self.env['stock.move'].create(move_vals) + confirmed_moves = moves._action_confirm() + for move in confirmed_moves: + if order_lines[0].product_id.is_bom: + products = self.env['pos.product.bom'].search( + [('product_id.id', '=', order_lines[0].product_id.product_tmpl_id.id)]) + bom_components = products.bom_line_ids + for rec in bom_components: + bom = rec.product_id.id + pos_bom_move = self.env['stock.move'].create( + { + 'name': order_lines[0].name, + 'date': self.create_date, + 'product_uom': rec.product_uom_id.id, + 'picking_id': self.id, + 'picking_type_id': self.picking_type_id.id, + 'product_id': bom, + 'product_uom_qty': abs(sum(order_lines.mapped('qty'))) * rec.quantity, + 'state': 'done', + 'warehouse_id': self.location_dest_id.warehouse_id.id, + 'location_id': self.location_id.id, + 'location_dest_id': self.location_dest_id.id, + 'company_id': self.company_id.id, + } + ) + print('kkkkk',pos_bom_move) + pos_bom_move.quantity_done = pos_bom_move.product_uom_qty + confirmed_moves._add_mls_related_to_order(lines, are_qties_done=True) \ No newline at end of file diff --git a/pos_bom/security/ir.model.access.csv b/pos_bom/security/ir.model.access.csv new file mode 100644 index 000000000..819fbc352 --- /dev/null +++ b/pos_bom/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_pos_bom,access_pos_bom,model_pos_product_bom,base.group_user,1,1,1,1 +access_pos_bom_line,access.pos.bom.line,model_pos_bom_line,base.group_user,1,1,1,1 \ No newline at end of file diff --git a/pos_bom/static/description/assets/icons/check.png b/pos_bom/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/pos_bom/static/description/assets/icons/check.png differ diff --git a/pos_bom/static/description/assets/icons/chevron.png b/pos_bom/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/pos_bom/static/description/assets/icons/chevron.png differ diff --git a/pos_bom/static/description/assets/icons/cogs.png b/pos_bom/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/pos_bom/static/description/assets/icons/cogs.png differ diff --git a/pos_bom/static/description/assets/icons/consultation.png b/pos_bom/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/pos_bom/static/description/assets/icons/consultation.png differ diff --git a/pos_bom/static/description/assets/icons/ecom-black.png b/pos_bom/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/pos_bom/static/description/assets/icons/ecom-black.png differ diff --git a/pos_bom/static/description/assets/icons/education-black.png b/pos_bom/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/pos_bom/static/description/assets/icons/education-black.png differ diff --git a/pos_bom/static/description/assets/icons/hotel-black.png b/pos_bom/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/pos_bom/static/description/assets/icons/hotel-black.png differ diff --git a/pos_bom/static/description/assets/icons/license.png b/pos_bom/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/pos_bom/static/description/assets/icons/license.png differ diff --git a/pos_bom/static/description/assets/icons/lifebuoy.png b/pos_bom/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/pos_bom/static/description/assets/icons/lifebuoy.png differ diff --git a/pos_bom/static/description/assets/icons/logo.png b/pos_bom/static/description/assets/icons/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/pos_bom/static/description/assets/icons/logo.png differ diff --git a/pos_bom/static/description/assets/icons/manufacturing-black.png b/pos_bom/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/pos_bom/static/description/assets/icons/manufacturing-black.png differ diff --git a/pos_bom/static/description/assets/icons/pos-black.png b/pos_bom/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/pos_bom/static/description/assets/icons/pos-black.png differ diff --git a/pos_bom/static/description/assets/icons/puzzle.png b/pos_bom/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/pos_bom/static/description/assets/icons/puzzle.png differ diff --git a/pos_bom/static/description/assets/icons/restaurant-black.png b/pos_bom/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/pos_bom/static/description/assets/icons/restaurant-black.png differ diff --git a/pos_bom/static/description/assets/icons/service-black.png b/pos_bom/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/pos_bom/static/description/assets/icons/service-black.png differ diff --git a/pos_bom/static/description/assets/icons/trading-black.png b/pos_bom/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/pos_bom/static/description/assets/icons/trading-black.png differ diff --git a/pos_bom/static/description/assets/icons/training.png b/pos_bom/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/pos_bom/static/description/assets/icons/training.png differ diff --git a/pos_bom/static/description/assets/icons/update.png b/pos_bom/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/pos_bom/static/description/assets/icons/update.png differ diff --git a/pos_bom/static/description/assets/icons/user.png b/pos_bom/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/pos_bom/static/description/assets/icons/user.png differ diff --git a/pos_bom/static/description/assets/icons/wrench.png b/pos_bom/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/pos_bom/static/description/assets/icons/wrench.png differ diff --git a/pos_bom/static/description/assets/modules/credit_image.png b/pos_bom/static/description/assets/modules/credit_image.png new file mode 100644 index 000000000..3ad04ecfd Binary files /dev/null and b/pos_bom/static/description/assets/modules/credit_image.png differ diff --git a/pos_bom/static/description/assets/modules/crm_image.png b/pos_bom/static/description/assets/modules/crm_image.png new file mode 100644 index 000000000..6547c3081 Binary files /dev/null and b/pos_bom/static/description/assets/modules/crm_image.png differ diff --git a/pos_bom/static/description/assets/modules/employee_image.png b/pos_bom/static/description/assets/modules/employee_image.png new file mode 100644 index 000000000..30ad58232 Binary files /dev/null and b/pos_bom/static/description/assets/modules/employee_image.png differ diff --git a/pos_bom/static/description/assets/modules/payroll_image.png b/pos_bom/static/description/assets/modules/payroll_image.png new file mode 100644 index 000000000..7f2815273 Binary files /dev/null and b/pos_bom/static/description/assets/modules/payroll_image.png differ diff --git a/pos_bom/static/description/assets/modules/quotation_image.png b/pos_bom/static/description/assets/modules/quotation_image.png new file mode 100644 index 000000000..499b1a72f Binary files /dev/null and b/pos_bom/static/description/assets/modules/quotation_image.png differ diff --git a/pos_bom/static/description/assets/modules/sale_image.png b/pos_bom/static/description/assets/modules/sale_image.png new file mode 100644 index 000000000..004c61a9e Binary files /dev/null and b/pos_bom/static/description/assets/modules/sale_image.png differ diff --git a/pos_bom/static/description/assets/screenshots/1.png b/pos_bom/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..2802661b2 Binary files /dev/null and b/pos_bom/static/description/assets/screenshots/1.png differ diff --git a/pos_bom/static/description/assets/screenshots/2.png b/pos_bom/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..ab631135c Binary files /dev/null and b/pos_bom/static/description/assets/screenshots/2.png differ diff --git a/pos_bom/static/description/assets/screenshots/3.png b/pos_bom/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..55a017209 Binary files /dev/null and b/pos_bom/static/description/assets/screenshots/3.png differ diff --git a/pos_bom/static/description/assets/screenshots/4.png b/pos_bom/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..e69936a82 Binary files /dev/null and b/pos_bom/static/description/assets/screenshots/4.png differ diff --git a/pos_bom/static/description/assets/screenshots/Pos4.png b/pos_bom/static/description/assets/screenshots/Pos4.png new file mode 100644 index 000000000..514786d04 Binary files /dev/null and b/pos_bom/static/description/assets/screenshots/Pos4.png differ diff --git a/pos_bom/static/description/assets/screenshots/hero.gif b/pos_bom/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..569321e9c Binary files /dev/null and b/pos_bom/static/description/assets/screenshots/hero.gif differ diff --git a/pos_bom/static/description/assets/screenshots/project_1.png b/pos_bom/static/description/assets/screenshots/project_1.png new file mode 100644 index 000000000..78d8b3d4b Binary files /dev/null and b/pos_bom/static/description/assets/screenshots/project_1.png differ diff --git a/pos_bom/static/description/assets/screenshots/project_2.png b/pos_bom/static/description/assets/screenshots/project_2.png new file mode 100644 index 000000000..91cdc3bec Binary files /dev/null and b/pos_bom/static/description/assets/screenshots/project_2.png differ diff --git a/pos_bom/static/description/assets/screenshots/project_3.png b/pos_bom/static/description/assets/screenshots/project_3.png new file mode 100644 index 000000000..b208a26e8 Binary files /dev/null and b/pos_bom/static/description/assets/screenshots/project_3.png differ diff --git a/pos_bom/static/description/assets/screenshots/project_4.png b/pos_bom/static/description/assets/screenshots/project_4.png new file mode 100644 index 000000000..067cf25e4 Binary files /dev/null and b/pos_bom/static/description/assets/screenshots/project_4.png differ diff --git a/pos_bom/static/description/assets/screenshots/project_5.png b/pos_bom/static/description/assets/screenshots/project_5.png new file mode 100644 index 000000000..813be7c5b Binary files /dev/null and b/pos_bom/static/description/assets/screenshots/project_5.png differ diff --git a/pos_bom/static/description/assets/screenshots/task_1.png b/pos_bom/static/description/assets/screenshots/task_1.png new file mode 100644 index 000000000..5477d3484 Binary files /dev/null and b/pos_bom/static/description/assets/screenshots/task_1.png differ diff --git a/pos_bom/static/description/assets/screenshots/task_2.png b/pos_bom/static/description/assets/screenshots/task_2.png new file mode 100644 index 000000000..c9f72e29f Binary files /dev/null and b/pos_bom/static/description/assets/screenshots/task_2.png differ diff --git a/pos_bom/static/description/assets/screenshots/task_3.png b/pos_bom/static/description/assets/screenshots/task_3.png new file mode 100644 index 000000000..313f91406 Binary files /dev/null and b/pos_bom/static/description/assets/screenshots/task_3.png differ diff --git a/pos_bom/static/description/assets/screenshots/task_4.png b/pos_bom/static/description/assets/screenshots/task_4.png new file mode 100644 index 000000000..cd84a0f47 Binary files /dev/null and b/pos_bom/static/description/assets/screenshots/task_4.png differ diff --git a/pos_bom/static/description/banner.png b/pos_bom/static/description/banner.png new file mode 100644 index 000000000..50774bd4c Binary files /dev/null and b/pos_bom/static/description/banner.png differ diff --git a/pos_bom/static/description/icon.png b/pos_bom/static/description/icon.png new file mode 100644 index 000000000..5bbdfd091 Binary files /dev/null and b/pos_bom/static/description/icon.png differ diff --git a/pos_bom/static/description/index.html b/pos_bom/static/description/index.html new file mode 100644 index 000000000..beedd5193 --- /dev/null +++ b/pos_bom/static/description/index.html @@ -0,0 +1,587 @@ +
+ +
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+ +
+
+
+
+ +
+
+
+

+ POS Product Components

+

+ Helps to handle Product Components in POS +

+ +
+
+ + + + +
+
+

+ Overview +

+
+ +
+

+ This app helps us to configure Product Components in point of sale and manage inventory for such products.It automatically generates the stock move of components + in a bom product.when user confirm the POS order it generates the picking of the bom components and corresponding quantity done will be deduct from their Inventory.

+ +
+
+ + +
+
+

+ Features +

+
+ +
+
+ +
+
+

+ Community & Enterprise Support

+

+ Available in Odoo 15.0 Community and Enterprise.

+
+
+
+
+ +
+
+

+ Create Components for POS Products

+
+
+ +
+
+ +
+
+

+ Managing the Inventory of Product Components in POS

+
+
+ +
+
+ +
+
+

+ Automatic Stock Move Generation of Product Components

+
+
+ +
+ +
+
+

+ Screenshots +

+
+
+

+ Create Components for POS Products

+

+ If the product have Components,enable the Have BOM +

+ +
+ +
+

+ Here we create Components of product ,quantity of each. +

+ + +
+ +
+

+ Generation of Stock Move of Product Components

+

+ Along with the product stock move,the corresponding components stock move are automatically generates. +

+ +

+ It shows the transfer of Product Components along with each components and their quantity done. +

+ +
+ +
+ + +
+
+

Suggested Products

+
+ + +
+
+ + + +
+
+
+

Our Services

+
+
+ +
+
+ +
+
+ Odoo + Customization
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Support
+
+ + +
+
+ +
+
+ Hire + Odoo + Developer
+
+ +
+
+ +
+
+ Odoo + Integration
+
+ +
+
+ +
+
+ Odoo + Migration
+
+ + +
+
+ +
+
+ Odoo + Consultancy
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Licensing Consultancy
+
+
+
+ + + +
+
+
+

Our Industries

+
+
+ +
+
+ +
+ Trading +
+

+ Easily procure + and + sell your products

+
+
+ +
+
+ +
+ POS +
+

+ Easy + configuration + and convivial experience

+
+
+ +
+
+ +
+ Education +
+

+ A platform for + educational management

+
+
+ +
+
+ +
+ Manufacturing +
+

+ Plan, track and + schedule your operations

+
+
+ +
+
+ +
+ E-commerce & Website +
+

+ Mobile + friendly, + awe-inspiring product pages

+
+
+ +
+
+ +
+ Service Management +
+

+ Keep track of + services and invoice

+
+
+ +
+
+ +
+ Restaurant +
+

+ Run your bar or + restaurant methodically

+
+
+ +
+
+ +
+ Hotel Management +
+

+ An + all-inclusive + hotel management application

+
+
+ +
+
+ + + + + +
+
+
+

Need Help?

+
+
+
+ + +
+ +
+ +
+ +
+ WhatsApp +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+
+ + +
\ No newline at end of file diff --git a/pos_bom/views/product.xml b/pos_bom/views/product.xml new file mode 100644 index 000000000..a74e56616 --- /dev/null +++ b/pos_bom/views/product.xml @@ -0,0 +1,17 @@ + + + + product.bom.inherit.template + product.template + + + +
+ +
+
+
+
+
+
\ No newline at end of file diff --git a/pos_bom/views/product_uom.xml b/pos_bom/views/product_uom.xml new file mode 100644 index 000000000..a691d9b97 --- /dev/null +++ b/pos_bom/views/product_uom.xml @@ -0,0 +1,70 @@ + + + + pos.bom.tree + pos.product.bom + + + + + + + + + + + + pos.bom.form + pos.product.bom + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + POS Product Components + pos.product.bom + tree,form + +

+ Create a Product Components +

+
+
+ + +
\ No newline at end of file