
Existem muitas soluções comerciais de gerenciamento de informações de produtos (PIM) disponíveis no mercado. E existem 3 soluções de código aberto gratuitas, Akeneo, Pimcore e OpenPIM, que você pode usar para implementar um sistema PIM em sua empresa. Vou comparar essas 3 soluções entre si.
1. Akeneo

Akeneo tem uma versão gratuita e uma versão comercial empresarial. Você pode ver uma comparação dessas versões em https://www.akeneo.com/compare-editions/ .
Nesta análise, usaremos apenas a versão gratuita porque estamos focando apenas em soluções PIM gratuitas.
1.1. Modelo de dados
A Akeneo usa objetos Produto como entidades para armazenar informações sobre produtos. Os produtos têm valores de atributo associados ao atributo correspondente. Vários tipos de atributos são suportados. Você pode criar facilmente um novo atributo na interface do usuário sem escrever nenhum código. Você pode encontrar detalhes aqui .
É muito importante que os sistemas PIM sejam capazes de manter um conjunto diferente de atributos dependendo do tipo de produto, por exemplo, um MP3 player tem um conjunto de atributos diferente de uma camiseta.
Akeneo usa objetos de Famílias para isso. Assim, cada família define um conjunto de atributos necessários para aquele tipo de produto, e cada produto possui uma referência para sua própria família. Um produto só pode pertencer a uma família.
Os atributos no Akeneo podem ter significados diferentes para idiomas e canais diferentes. O suporte a atributos é muito bem feito e permite que você resolva vários problemas de negócios.
1.2. Hierarquias
A hierarquia à qual um produto pode pertencer é chamada de categorias na Akeneo. Você pode ter quantas hierarquias quiser. Mas as categorias em Akeneo são muito simples. Você não pode atribuir um atributo a uma categoria, nem pode restringir se um produto só pode ser associado a um ou mais nós de categoria, etc.
Todas essas funcionalidades podem ser implementadas através do desenvolvimento de extensões do sistema, mas não estão disponíveis na interface do usuário. E para isso você precisa fazer um desenvolvimento bastante complexo em PHP, o que exigirá custos adicionais.
1.3. Objetos personalizados
Freqüentemente, no PIM, é necessário armazenar não apenas informações sobre o produto, mas também alguns outros objetos, por exemplo, Marca ou Loja (onde este produto está localizado), etc. Esses objetos adicionais podem ter seus próprios atributos.
Akeneo não tem suporte para objetos personalizados na versão gratuita. Esta funcionalidade é suportada apenas na versão comercial . Novamente, você pode criar sua própria extensão e obter essa funcionalidade, mas ela vem com uma sobrecarga adicional.
1.4. Dependências
Os relacionamentos são usados no PIM para indicar que os dados têm algumas dependências. Por exemplo, que este produto pode ser substituído por outro, ou que o produto pode ser vendido junto com outro, etc.
Akeneo apenas suporta relacionamentos entre produtos (uma vez que objetos personalizados não são suportados). Você pode definir um "Tipo de associação" e usá-lo para associar produtos.
Mas, novamente, essas associações são muito simples. Por exemplo, você não pode definir um atributo para esta associação, embora isso possa ser muito útil. Por exemplo, isso é freqüentemente usado em kits (ou funções semelhantes) para indicar a ordem dos produtos nele.
1,5. Opções
As variantes representam o mesmo produto, mas com alguns atributos diferentes (quando todos os outros atributos são os mesmos). Por exemplo, você pode ter uma camiseta em diferentes cores e tamanhos.
Akeneo suporta variações, você pode criar uma "Variante de Família" que define quais atributos diferem https://help.akeneo.com/pim/serenity/articles/manage-your-families.html#manage-family-variants . Akeneo também tem um bom suporte para opções na interface do usuário.
A limitação é que apenas 3 níveis de variação podem ser controlados para produtos diferentes.
1.6. Ativos
Ativos são imagens, vídeos ou arquivos associados a mercadorias. Esta é uma informação muito importante que geralmente é armazenada em sistemas PIM.
A versão gratuita do Akeneo tem suporte de arquivo muito limitado. Você só pode ter um campo onde pode colocar uma imagem ou arquivo. Se precisar de mais imagens, você precisará criar mais campos. Você não pode anexar atributos a eles e não pode ter nenhuma estrutura para eles.
1.7. Importar Exportar
Akeneo tem a capacidade de importar e exportar dados de arquivos CSV, Excel e XML. Mas você não pode mapear colunas de seu arquivo para o modelo de dados Akeneo. Akeneo tem um conjunto de configurações predefinidas de importação / exportação, portanto, você deve fornecer os nomes de coluna corretos para carregar ou exportar dados. Além disso, você não pode transformar dados em tempo real, o que geralmente é necessário durante a integração com várias fontes.
Portanto, as capacidades de importação e exportação da Akeneo são muito limitadas.
1.8. Integridade do produto e qualidade dos dados
A Akeneo tem um bom suporte para determinar a integridade do produto (isso faz parte da qualidade desses produtos) . Você pode definir quais atributos são necessários para cada tipo de produto (família) e para cada canal. Além disso, a IU tem um bom suporte para exibir essas informações.
Akeneo suporta alguns aspectos da qualidade dos dados do produto, por exemplo, o tipo de atributo evita alguns erros do usuário, a definição da integridade do produto também é boa. Mas, novamente, o suporte para QC personalizado é muito limitado. Você deve programar em um nível baixo se quiser definir sua própria lógica de qualidade (e isso acontece com muita frequência nos negócios reais).
A versão comercial tem suporte para o mecanismo de regras, o que é bom, mas a versão gratuita não.
1.9. Lógica personalizada e extensões de interface do usuário
A implementação de lógica personalizada pode ser muito importante em sistemas PIM porque o negócio é muito diferente e muitas vezes é necessário executar lógica adicional ao trabalhar com produtos.
Akeneo só suporta isso com código PHP de baixo nível. Você pode definir sua própria lógica e formulários, mas isso requer conhecimento da estrutura do PHP e é demorado.
1,10. Conclusão
A versão gratuita do Akeneo tem limitações bastante grandes que podem impedir seu uso em negócios reais. O manuseio limitado de arquivos ou a falta de objetos personalizados e a capacidade de definir facilmente a lógica personalizada podem impedir que muitas empresas usem a versão gratuita. O suporte para hierarquias e relacionamentos também é muito simples para atender a todas as necessidades de negócios.
A versão comercial do Akeneo resolveu a maioria desses problemas. Além disso, a Akeneo tem uma boa comunidade e uma rede de parceiros de suporte. Portanto, eu recomendaria usar a versão comercial do Akeneo se a empresa estiver disposta a pagar por ele (não é barato). E se você está procurando uma solução PIM grátis, eu não recomendo usar o Akeneo.
2. Pimcore

Pimcore não é apenas uma solução PIM, mas também uma solução MDM . Ele também possui recursos de DAM (Gerenciamento de Ativos). A Pimcore também se comercializa como uma plataforma de dados de clientes e comércio digital, portanto, tem muitos recursos. Em nossa revisão, consideraremos apenas o PIM.
Pimcore também tem versões gratuitas e comerciais - https://pimcore.com/en/platform/subscription . Mas a funcionalidade PIM e DAM em que estamos nos concentrando existe em todas as edições.
2.1. Modelo de dados
Pimcore tem todos os recursos de que você precisa para definir os atributos relacionados ao produto. Para fazer isso, eles usam classes de objetos . Além disso, você define não apenas os próprios atributos, mas também a estrutura da interface do usuário, como eles serão exibidos.
Pimcore até suporta herança de atributos, então se você tiver um atributo no elemento pai, eles podem ser herdados pelos filhos. Ele possui muitos tipos diferentes de atributos, incluindo aqueles específicos do idioma. Tudo isso oferece opções poderosas para definir seu modelo de domínio. Pimcore tem mais opções do que Akeneo na definição do modelo de dados.
O único problema potencial que vejo aqui é que o sistema gera classes PHP para cada classe de objeto que você cria, portanto, temos o código PHP real por trás de toda a IU e às vezes você precisa usar essas informações. na interface do usuário, por exemplo, defina "Nome da classe PHP" ou "Classe pai". Portanto, se você estiver longe de programar, pode ser difícil definir o modelo de dados.
2.2. Hierarquias
Como as classes de objetos são usadas em todo o sistema pelo sistema, você também pode usá-las para construir hierarquias. É mais flexível do que Akeneo. Você pode definir suas estruturas como classes de objetos da maneira que quiser e, em seguida, usar relacionamentos para vinculá-las a outros objetos.
2.3. Objetos personalizados
Novamente, as classes de objetos podem ser usadas para representar quaisquer dados, não apenas produtos ou hierarquias. Você pode definir suas próprias classes de objeto para qualquer tipo de dado que deseja armazenar no PIM, como marcas, lojas, etc. Você pode anexar os atributos necessários a eles e definir a interface do usuário para exibi-los como produtos regulares.
Portanto, nesta área, a Pimcore tem mais oportunidades do que a Akeneo.
2.4. Dependências
Você pode definir diferentes tipos de relacionamentos entre quaisquer objetos no sistema https://pimcore.com/docs/pimcore/current/Development_Documentation/Objects/Object_Classes/Data_Types/Relation_Types.html .
Isso permite que você crie as conexões lógicas necessárias entre seus dados. A única desvantagem que vejo é a incapacidade de criar atributos para essas dependências.
2,5. Opções
Pimcore tem suporte integrado para variantes. E uma interface especializada para eles. Não encontrei nenhum problema com esta funcionalidade.
2.6. Ativos
O Pimcore se posiciona como uma solução DAM com recursos completos (além do PIM e outras soluções). Portanto, nesta área, pode até ser mais do que o necessário para o PIM.
2.7. Importar Exportar
Os recursos de importação / exportação da Pimcore também são limitados. Este suporte é melhor do que Akeneo porque você pode mapear dados de coluna CSV ou XSL para classes de objeto, mas o mapeamento é muito simples. Você não pode usar a transformação e fazer cálculos dinâmicos.
Os formatos XML ou JSON não são suportados diretamente, isso também é um sinal de menos.
2.8. Integridade do produto e qualidade dos dados
Não há suporte integrado para integridade do produto, mas é fácil de implementar usando campos calculados. Lógicas mais complexas podem ser implementadas escrevendo seu próprio código PHP, mas isso requer esforço adicional.
No geral, Pimcore tem um bom suporte de qualidade de dados. Você tem opções para definir tipos de campo, usando campos calculados para validação adicional e usando fluxos de trabalho para definir seu processo. Você também tem recursos de relatório e painéis para ajudá-lo a visualizar esses dados.
2.9. Lógica personalizada e extensões de interface do usuário
Como mencionei, os campos calculados são a maneira mais fácil de adicionar sua própria lógica. Todos os outros casos de adição de lógica personalizada e interface de usuário são feitos por meio da programação PHP.
2,10. Conclusão
Pimcore é uma ótima solução, e não apenas para PIM. Tem mais recursos que a versão gratuita do Akeneo, mas você tem que se esforçar muito mais para implementar o projeto, pois o sistema é bastante difícil de aprender e configurar.
Eu não recomendaria o Pimcore para pequenas empresas devido à sua complexidade e ao uso de muito PHP nos bastidores. A Pimcore é a sua escolha se você é uma empresa de médio a grande porte que busca uma solução completa para PIM, DAM, e-commerce, MDM e CDP. Além disso, você deve se lembrar que precisa de recursos com um bom conhecimento de PHP para implementar seu projeto, se quiser implementá-lo sozinho.
3. OpenPIM , versão em Inglês

OpenPIM é uma solução totalmente gratuita. Não possui uma versão comercial, mas você pode obter suporte comercial se necessário.
3.1. Modelo de dados
O OpenPIM possui recursos abrangentes de definição de modelo de dados semelhantes ao Pimcore. Você pode definir seu tipo e vincular os atributos necessários a ele .
O sistema possui muitos tipos diferentes de atributos que você pode usar. A herança de dados não é diretamente suportada, mas pode ser facilmente implementada usando Actions - https://openpim.ru/docs/admin/guide/03_Actions.html .
3.2. Hierarquias
O OpenPIM usa a mesma abordagem do Pimcore. Você pode definir seus próprios tipos e usá-los como hierarquias (além dos tipos que são usados para produtos). Em seguida, você pode usar relacionamentos para associar a estrutura ao produto ou quaisquer outros dados.
Quando um usuário trabalha com estruturas em Pimcore ou Akeneo, ele pode criá-las como quiser, sem nenhum controle. Se você quiser limitar quais níveis e como serão criados, você terá que usar seu próprio código PHP. OpenPIM tem mais opções aqui, você pode definir restrições por meio da configuração sem qualquer programação.
3.3. Objetos personalizados
Assim como no Pimcore, você pode definir tipos para qualquer dado. Em seguida, você pode atribuir atributos aos seus tipos e usar relacionamentos para conexões lógicas. Como resultado, você pode armazenar qualquer objeto no sistema.
Armazenar informações adicionais é um aspecto importante de todos os sistemas PIM e o OpenPIM tem todas as funcionalidades necessárias para isso.
3.4. Dependências
Dependências são usadas para vincular logicamente seus dados - consulte a documentação para obter detalhes . Mas aqui você também pode atribuir atributos e dependências, isso é mais do que Akeneo ou Pimcore podem fazer.
Você também pode limitar o número de tais dependências, o que permite modelar relacionamentos um para um, um para muitos e muitos para muitos.
3,5. Opções
OpenPIM não tem suporte embutido para variantes. Eles podem ser facilmente modelados no modelo de dados usando tipos e relacionamentos. Desta forma, você pode salvar facilmente essas informações, mas não há uma interface de usuário dedicada para as opções, então você deve usar a interface normal para trabalhar com elas. É menos conveniente do que Akeneo ou Pimcore.
3,6. Ativos
A versão gratuita do Akeneo não tem um bom suporte de ativos, Pimcore é um DAM completo, portanto, oferece suporte ainda mais do que o necessário. OpenPIM fica no meio. Ele tem suporte para ativos prontos para uso, então você pode fazer upload e vincular arquivos e imagens a qualquer objeto, pode criar estruturas para seus ativos e adicionar os atributos necessários para eles. Mas você não pode gerar arquivos derivados dos existentes (por exemplo, imagens com uma resolução ou formato diferente) como nos sistemas DAM. Isso geralmente é suficiente para sistemas PIM, mas o Pimcore certamente tem mais opções nesta área.
3,7. Importar Exportar
O OpenPIM tem excelente suporte para importação e exportação, pois usa a ferramenta ETL gratuita com recursos completos, Talend. Para obter detalhes, consulte https://openpim.ru/docs/admin/guide/02_ImportExport.html .
Dessa forma, você pode importar dados de qualquer fonte: CSV, Excel, XML, arquivos de texto, bancos de dados, serviços web, etc. E você também pode exportar dados para todas essas fontes.
3,8. Integridade do produto e qualidade dos dados
Assim como no Pimcore, o OpenPIM não possui funcionalidades prontas para a integridade do produto, mas é fácil de implementar através de Actions . Isso vai requerer algumas habilidades de programação, mas não tanto quanto é necessário para Pimcore, porque aqui você pode definir um pouco de lógica javascript que será executada em alguns eventos, e isso permitirá que você defina a lógica da completude do produto.
Outros recursos de qualidade de dados incluem tipos de atributos e verificações adicionais que você pode definir em um atributo. As ações também podem ser usadas para adicionar sua própria lógica. E o sistema possui dashboards para visualizar tudo isso. Portanto, o OpenPIM está bem posicionado para validar e visualizar a qualidade dos dados.
É o melhor suporte de importação / exportação de todas as três soluções.
3,9. Lógica personalizada e extensões de interface do usuário
Como já escrevi, a principal capacidade de definir a lógica customizada é Ações . Este é um pequeno código javascript que pode ser executado quando alguns eventos ocorrem, como criar ou salvar dados e outros. Você ainda precisa de conhecimento de programação, mas é muito mais fácil do que escrever seu próprio código PHP. Como resultado, você pode criar sua própria lógica com menos tempo e esforço.
A desvantagem é que você não pode definir sua própria interface de usuário, se necessário. Você só pode criar um botão que realizará algumas ações predefinidas. Isso pode ser suficiente para alguns casos, mas certamente não para todos.
3,10. Conclusão
Eu recomendaria o OpenPIM para empresas de pequeno e médio porte que buscam implementar uma solução PIM por conta própria, sem pagar dinheiro extra a empresas parceiras para ajudar no processo.
É fácil de aprender e usar. Ele tem algumas limitações, como a incapacidade de definir uma interface de usuário personalizada, mas na maioria dos casos, cobre todas as necessidades para implementar um sistema PIM.
O OpenPIM não é muito adequado para grandes empresas porque carece de alguns dos recursos que empresas como essas exigem, como fluxos de trabalho, portais de fornecedores, etc., mas é bom para pequenas e médias empresas.