← Back to team overview

openerp-expert-production team mailing list archive

Re: [Magentoerpconnect-community] grouped products/packs

 

Hi all,

diving deeper into Magento, a BOM in OpenERP for grouped products in magento seems not the ultimate solution.
I will explain why.

A grouped product in Magento can have many faces. It is posible to group 3 single items together and let the customer define the wanted quantity of the individual items. That seems also the reason that the sale order generated in magento doesn't contain the group itemname, but instead have all single items listed with the requested quantity. See http://demo.magentocommerce.com/magento-red-furniture-set.html => order the set and choose your own qty for every singel item, and look to your cart! That Magento sale order with the individual items is imported in OpenERP and the only way to handle this correct is to have the same list with items in OpenERP too as between different orders the quantities can be different. So a BOM in OpenERP that contains fixed quanties will not be the same then. Ergo, grouped products in magento are only there for the sake of the customer to sell more single items at once, but it is not a product but a sales configuration tool.

I would say handle this order as a normal order. If one still wants to kit some products together with fixed quantities, make it a normal product with production bom in OpenERP and keep (minimal) stock. Upload it to magento as a single product with in product description only the items containing the kit. In this case nan_product_packs module isn't needed in the connector as this explodes the sales bom, which is already done on the magento site.

Regards,
Jan

Op 11-02-11 16:02, David Mitchell schreef:
For what it is worth . . . One of the areas we are working on and
communicating with OpenERP right now is to "finally" fulfill the
capabilities of a true Assembly/Sales BoM in OpenERP - as stated in the
documentation since v5.

This vision is:
A product that is a kit (assembly/Sales BoM - which is assembly at time of
Picking) would be ordered as a single line item in Sales Order.
Upon confirmation of the order
The picking would explode in the pick list so the stock person would pick
all necessary components of the kit. The Sales Order would still only show
one product.
When picking is complete (or kitted up at time of picking) - a "behind the
scenes combined operation/inventory move" will occur - as the items have
been "consumed by picking".<-- just like a manufacturing operations
The individual products would be removed from inventory.
The product that is a kit - would be added to inventory (aka finished
product) - and then subsequently removed when picking is done and complete
(no partial picking allowed)<--- this accurately keeps inventory numbers
in-line and allows managers to understand the consumption of goods in the
kit and also which subcomponents are sold separately.<-- this is the issue
with Phantom BoMs as they don't track inventory correctly.

If this was available - wouldn't the grouping from Magento feed into OpenERP
as a normal product order. If you're selling a single product this is a kit
in Magento - just tell OpenERP you've sold a kit and let the operation I
described above take place.

If your selling grouped items in Magento (multiple products grouped together
- e.g. multiple kits, + additional complementary products in a group) then
feed over the kits as individual products and the complementary as
individual products.

Just wondering . . . if the new Assembly BoM as I've described above would
help in the situation's everyone is describing. And OpenERP would be the
"Master" of whether an Assembly/BoM operation would need to take place -
rather than trying to work it around on the Magento side?

See the attached spec as an intro . . .

David Mitchell



2011/2/11 Guewen Baconnier<guewen.baconnier@xxxxxxxxxxxxxx>

You are right, I missed that Magento explode the packs in sale order.
We had customizations on our last Magento project which misled me.

I agree that the two options should be possible.

Does it could be possible to replace the product type by a function
field which set the product type as for example :
  - simple by default
  - grouped if is a nan_product_pack
  - grouped if is a BOM
  - and eventually an optional user choice to force the type
  - + hooks to implement new types in other modules

I'm not sure that's realistic, but it seems to me that this way we can
avoid dependencies on both modules.

Otherwise I think indeed you have to remove the inherited code of
mrp_bom (in our case we removed it because we didn't want our products
as "grouped product").

Guewen

2011/2/11 Raphaël Valyi<rvalyi@xxxxxxxxx>
On Fri, Feb 11, 2011 at 4:50 AM, Guewen Baconnier<
guewen.baconnier@xxxxxxxxxxxxxx>  wrote:
Hi all,

I agree with Ana, I think you may need to use a BoM if you really have
to launch a production order to build the pack.
@Guewen, @Ana,

I think you missed one point: currently Magento 'grouped products'
generate Magento sale orders with exploded packs already (I mean Magento
code dos that natively), much like nan_product_packs.
So when you pass that order back to OpenERP, OpenERP has no way to find
out it was originally a pack, no matter what we do on OpenERP side (or do I
miss something from Magento grouped products?)
Then, as you get the orders with the components in OpenERP, there is no
way you trigger a production order, no matter what you do on OpenERP side,
no matter the way I implement grouped products over MRP BOM's or
nan_procuct_pack.
The only way you can trigger a regular production order on OpenERP side
would be to not set your product has a 'Magento grouped product' and set an
OpenERP BOM for it.
Currently this creating a BOM will change the product to a 'grouped
product', so I'm taking good note that this may not be wanted always.
So actually, the debate is more if I can drop the mrp module dependency
from Magentoerpconnect for v6 and depend on nan_product_pack instead which
is much simpler and which IMHO makes OpenERP simpler to use for the
beginners. So in that case, the only use of nan_product_packs (could even be
an option), is that if a product has a pack defined, it will properly be
exported to Magento as a grouped product along with it's component during
the regular catalog export task.
In that case you shouldn't need to create a product_pack and a BoM on
each grouped product.
Something should be used on OpenERP side to tell Magento what are the
components of the 'grouped product' (or else you may just use a regular
product + a BOM on OpenERP side).
So my proposal is to use nan_procuct_pack for that.
It also makes it more consistent if you sale orders from Magento and from
OpenERP, then both will include all components and look the same.

@Jan Verlaan
What you are telling about "Sets/Phantom" BOM's is very interesting.
Unless I missing something about how Magento deals with 'grouped products',
this would unfortunately make Magento created orders look different from
OpenERP created orders (exploded vs not exploded in the sale order), but it
has the huge advantage of using all native/standard features.
I'm thinking may be the best would be to support both mrp BOM's the way
we do (then using it with phantom's BOM's when appropriate) and
nan_product_packs if present.
Ideally we would change the code so that it works with both modules but
without depending on them.
Currently the technical challenge to do that is we are inheriting the
'mrp.bom' (in magentoerpconnect/product.py) so that we set the product as
'grouped product' on triggering the BOM create method. I don't see how to
inherit or not selectively depending if those modules are installed...
A solution would be to create two additional optional modules like
magentoerpconnect_bom and magentoerpconnect_pack of course. But I should say
I don't really like that as it's not userfriendly at all to search all those
modules and figure out what they do (BTW I think OpenERP SA should just do
that sometimes: make modules able to deal with some other modules without
depending on them nor creating other microscopic/non knowledgeable modules,
this specially makes sense for their SaaS prospective).
So actually, it seems a consensus emerges as: BOM doesn't imply it's a
Magento 'grouped product' because you may really want to trigger a
production order on OpenERP side. So I might simply drop that mrp.bom
inherit code. Then people creating BOM's for products should be aware that
should also set their product as a 'grouped product' if it has a BOM or a
NaN pack and if it's really a Magento 'grouped product'.
Would that make everybody happy?

Raphaël Valyi
Founder and consultant
+55 21 3010 9965
www.akretion.com



--
Guewen Baconnier

Business Developer
Business Solutions
Camptocamp SA
PSE A, CH-1015 Lausanne

http://openerp.camptocamp.com/

Phone: +41 21 619 10 39
Office: +41 21 619 10 10
Fax: +41 21 619 10 00
Email: guewen.baconnier@xxxxxxxxxxxxxx

_______________________________________________
Mailing list: https://launchpad.net/~magentoerpconnect-community
Post to     : magentoerpconnect-community@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~magentoerpconnect-community
More help   : https://help.launchpad.net/ListHelp



_______________________________________________
Mailing list: https://launchpad.net/~openerp-expert-production
Post to     : openerp-expert-production@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~openerp-expert-production
More help   : https://help.launchpad.net/ListHelp

Follow ups

References