It's not easy to have a clear environment of Akeneo and Magento 2 to test it. So I test it in existing environment. I suppose the following steps are exhaustive. (In the next few day I try to reproduce in empty environment). UPDATE test in local environment completed update step below.
Akeneo:
install akeneo base with sample data
Create 2 root categories CatA and CatB and one leaf each ( called a and b)
Create 2 channel channelA and channelB associate respectively catA and catB
use family accessories + set EAN as required only in channelA
Create text attribute _magentowebsite to set Magento website visibility and set and add to family accessories
Create product model HAT with
a. at least one complete child (aka set EAN) for channelA
c set _magentowebsite to websiteA
b. associate to category a under CatA
Use product model model-braided-hat that is just suitable
a. one complete child for channelB
b. not complete for channelA (aka not set EAN)
c. associate to category b under CatB
create API connection
result in channel A
result in channel B
Magento - Connector config
create websites with one store (in accord with defined locales in Akeneo, 2 are needed to reproduce)
a. website A -> store A -> store view A
b. website B -> store B -> store view B
connect to Akeneo
set default channel (Admin Website Channel) to channelA
map websites
a. website A -> channelA
b. website B -> channelB
set product completeness Equals - 100
set product model completeness At least one variant complete
set website attribute to _magentowebsite
set other necessary connector settings if needed
Now run job to import all data from Akeneo.
Expected result
import both product models and all simple product for any store/channel/lang mapped, that have almost one child complete
exists in Magento Product model HAT and simple producs visible only in website A in CatA.a
exists in Magento Product model model-braided-hat and simple products visible only in website B in CatB.b
Actual result
Only HAT and all simple are imported in Magento. Product model model-braided-hat was not imported.
Actual debug result
The Admin Website Channel value is used to filter product model completeness. As you change it to channelB and run import again, then Product model B was correctly imported. After a debug session I make a fix that use 'scope' from filters variable instead of admin website channel config. As soon as possible I will propose a merge request.
Checking advanced log file you can easily see the completeness filters that are wrong assembled:
Environment and configuration - local
Steps to reproduce
It's not easy to have a clear environment of Akeneo and Magento 2 to test it. So I test it in existing environment. I suppose the following steps are exhaustive. (In the next few day I try to reproduce in empty environment). UPDATE test in local environment completed update step below.
Akeneo:
result in channel A result in channel B
Magento - Connector config
create websites with one store (in accord with defined locales in Akeneo, 2 are needed to reproduce) a. website A -> store A -> store view A b. website B -> store B -> store view B
connect to Akeneo
set default channel (Admin Website Channel) to channelA
map websites a. website A -> channelA b. website B -> channelB
set product completeness Equals - 100
set product model completeness At least one variant complete
set website attribute to _magentowebsite
set other necessary connector settings if needed
Now run job to import all data from Akeneo.
Expected result
import both product models and all simple product for any store/channel/lang mapped, that have almost one child complete
Actual result
Only HAT and all simple are imported in Magento. Product model model-braided-hat was not imported.
Actual debug result
The Admin Website Channel value is used to filter product model completeness. As you change it to channelB and run import again, then Product model B was correctly imported. After a debug session I make a fix that use 'scope' from filters variable instead of admin website channel config. As soon as possible I will propose a merge request.
Checking advanced log file you can easily see the completeness filters that are wrong assembled: