Een Product Information Management (PIM) systeem is een oplossing voor het opslaan en beheren van productinformatie. Denk aan productteksten, foto’s, prijsinformatie, voorraadinformatie etc. Naarmate het assortiment van een webshop groeit, wordt het beheer en behouden van overzicht ingewikkelder. Een PIM biedt hiervoor de oplossing. Het biedt features als het kunnen categoriseren van producten, sorteren, massa-bewerking en het doorzoeken van gegevens.
Het idee van een PIM is dat het een centrale plek is waar je productinformatie opslaat. Alle andere kanalen, denk aan de webshop, maar ook het kassasysteem of tool om folders op te maken worden gevoed vanuit de PIM.
Akeneo is een PIM. Beschikbaar als on premises (hosten op eigen server) of als cloud oplossing. Naast de mogelijkheid om te koppelen met Magento, is het gebruiken van Akeneo PIM naast Magento interessant vanwege de extra functionaliteiten die Akeneo biedt ten opzichte van de mogelijkheden die Magento heeft op het gebied van productbeheer.
De demo van Akeneo is te bekijken via demo.akeneo.com (admin/admin)
Akeneo heeft een mooie, gebruiksvriendelijke interface. Interessante features zijn:
Custom views: Sorteer- en filtervoorkeuren kunnen eenvoudig worden toegevoegd of verwijderd en vervolgens worden opgeslagen in custom views. Een view is het overzicht van alle producten in het systeem (een soort tabel) met de productinformatie die de gebruiker wil zien, weergegeven in kolommen. Zo kan voor iedere gebruiker of taak (voorraadoverzicht, prijsoverzicht, webshopattributen) eenvoudig een unieke custom view, met ingestelde voorkeuren, worden aangemaakt.
Informatievelden toevoegen: Met productattributen kan de informatie die bij producten wordt opgeslagen worden gecustomized. Bijvoorbeeld ‘jaar van uitgave’, ‘materiaal’ of ‘capaciteit’. Er zijn verschillende attribuuttypen beschikbaar, zoals afbeelding, prijs of tekst die de correcte interface tonen (datumpicker) en het format van data bepalen (dd-mm-jjjj). Wanneer de productattribuutvelden overeenkomen met de velden in Magento, dan kan deze data worden geïmporteerd.
Volledigheidsscore: Bij elk product wordt een score getoond die aangeeft in hoeverre de verplichte informatievelden zijn ingevuld. Indien de productinformatie incompleet is, wordt op de productpagina direct vermeldt welke informatie nog ontbreekt.
Categoriseren: De mogelijkheid om producten aan categorieën te koppelen en deze categorieën hiërarchisch te organiseren. Net als in Magento is het mogelijk één product te koppelen aan meerdere categorieën.
Association types: Het concept van product relaties, zoals cross-sell, upsell etc. In tegenstelling tot Magento, is er in Akeneo volledige vrijheid in het aanmaken van nieuwe ‘association types’. In Magento is het aantal relaties beperkt tot upsell, related en cross-sell.
Channels: De mogelijkheid om te selecteren welke productinformatie wordt geëxporteerd of gekoppeld. Voorbeelden van channels zijn e-commerce of print. Akeneo wordt vaak gebruikt als centraal informatiesysteem en wordt ook vaak gebruikt om te koppelen aan interne systemen, zoals een voorraadsysteem, kassasysteem of softwarepakket voor het opmaken van actiefolders.
Variants: Een product heeft meerdere varianten. Wanneer bijvoorbeeld een nieuwe maat aan het assortiment wordt toegevoegd, worden alle nieuwe varianten die hierdoor ontstaan direct ‘gegenereerd’. Elke variant hoeft dus niet apart te worden aangemaakt, zoals in Magento wel het geval is. Voor elke variant moet alleen het unieke EAN en SKU worden ingevoerd. Voor de informatie die geldt voor alle producten binnen de productlijn, is slechts eenmalige invoer benodigd.
Met onze aanpassing in de Akeneo Magento 2 koppeling, maakt de module voor elk materiaal een configurable product. Voor alle maat- en kleurvarianten worden simple products aangemaakt.
Imports: Akeneo lost niet de uitdaging van het koppelen met externe systemen op. Akeneo biedt wel de mogelijkheid om data te importeren (van bijvoorbeeld een leverancier, een datafeed of een CSV bestand), maar deze functionaliteit is erg basaal. Daar waar de complexiteit zit (zoals het mappen van data; vertalen naar acceptabele waarden) moet maatwerk business logica worden geschreven. Akeneo is op dit gebied dus gelijkwaardig aan Magento.
Performance: Dit is geen feature, maar wel een sterk punt van Akeneo. Akeneo blijft razendsnel werken bij zeer grote datasets. Zowel het zoeken, bewerken als massa-bewerken van honderdduizenden producten werkt vloeiend.
Akeneo PIM kan met Magento worden gekoppeld door middel van een Magento module. Wanneer de koppeling is voltooid wordt de opgeslagen productinformatie vanuit Akeneo in Magento geïmporteerd. Een API zorgt voor goede communicatie tussen beide systemen. Hierdoor wordt een wijziging van de productinformatie (bijvoorbeeld een mindering van de voorraad) in Akeneo bij de volgende import direct bijgewerkt in Magento. Het uitvoeren van zo’n import is zowel handmatig als schematisch mogelijk.
Akeneo biedt sinds kort twee verschillende versies van de Magento connector (vroeger PIMGento). Eén is open source, bedoeld voor de community versie van Akeneo. De ander is commercieel en komt met jaarlijkse licentiekosten.
Het koppelen van Magento 2 en Akeneo is nooit plug-en-play, want elke business case is anders. Zeker bij het inrichten van een nieuwe Akeneo omgeving worden er veel implementatiekeuzes gemaakt die effect hebben op de koppeling.
De Akeneo Magento 2 koppeling is open source. Het is dus mogelijk om een kopie van de koppeling te maken (fork) en eventuele bugs op te lossen of maatwerk aanpassingen te doen in de manier waarop de koppeling data verwerkt.
Fixes in de Magento 2 Akeneo koppeling (Pimgento) door Reach Digital
Dit waren een aantal van de uitdagingen die wij ervaarden bij het koppelen:
Splitsen van variants: Variants worden via de module ‘vertaald’ naar configurable products met simple products in Magento. Akeneo biedt de mogelijkheid om binnen variants zogenaamde assen te definiëren, waarop je een ‘splitsing’ kunt maken. Lastig concept, maar standaard negeert de module deze splitsing, en maakt de module één configurable product met -op basis van de variants- simple products aan. In onze situatie deden we hierop een aanpassing, vanwege de grote hoeveelheid simple products: we maken op basis van de assen meerdere configurable products aan.
Aanmaken bundle producten: Met een uitgebreide productconfigurator, bieden we bezoekers de mogelijkheid om verschillende keuzes te maken over het product dat ze willen bestellen. Achter de schermen bestelt de bezoeker meerdere configurable products met één interface. We maakten een aanpassing in de Akeneo Magento module, waardoor er bij het importeren bundle products worden aangemaakt die deze configurables bij elkaar binden. Het concept ‘configurable bundles’ betrof tevens maatwerk.
Performance van indexers: Door de tienduizenden simple products gekoppeld aan één configurable die werden geïmporteerd, kostte het draaien van verschillende indexes veel tijd. We ontdekten verschillende bugs in de core van Magento, die veel dubbel ‘indexeringwerk’ veroorzaakten. De fixes verbeterden de benodigde tijd van dagen (of compleet falen) naar een aantal uur. Een belangrijk knelpunt bleek te zitten in de catalogus prijsregels.
Bugfix tijdelijke tabellen: De Magento Akeneo module slaat gedurende het importproces tijdelijk productinformatie op in module-eigen databasetabellen. Waaronder de productid’s van de simple products. Door een bug in de module, werden er niet meer dan 65.000 karakters geaccepteerd in deze tabel. Wat voor problemen zorgde bij meer dan 20.000 producten met 12-cijferige EAN’s.
SEO vriendelijke URL: Met een uitbreiding op de module, zorgen we ervoor dat producten met een mooie, zoekmachine vriendelijke url, worden geïmporteerd. We gebruiken productattributen zoals inhoud, aantal in de verpakking en de productnaam. Op basis van Family (in Akeneo), zorgen we dat elke productcategorie de meest interessante producteigenschappen in de product-URL heeft.