===== Is custom code required? Initial areas to look at ====== This page is under construction. ===== Goal of this article ===== When you buy an off-the-shelf software, you are buying features which **must match the processes of your business.** During the development of those features trade-off decisions were made which will **limit the number of processes that are supported and imposes an structure** -and a type of thinking- on the use and extension of the software. SAP hybris, like other e-commerce framework, imposes requirements on the organization which must be taken into account to **increase the value of the purchase of the software and reduce the customization costs.** On this article I describe an **incomplete list of questions to point in those directions** where you may heavily need change hybris to suit your process. \\ This list is based on a comparison of the features of [[https://commercetools.com/de/|commercetools]] and SAP hybris with the business processes of a customer which I worked for two years ago. \\ It is incomplete by nature and you have to adapt it to your organization. ====== Initial questions ===== Answering **no** to any of the next questions or sentences increase the probability of requiring custom code for your SAP Commerce B2C or B2B shop. ===== Pricing ===== * Can the price of all your products in the catalogue be calculated locally in the shop? * Does the price of all your products in the catalogue only depend on the product, category, quantity, country, tax(row) and date range? For example, if your price depend on the zip code or other products in the cart, you need custom code * Are there programmers or analysts in your organization who understand the pricing rules in your ERP? * The prices aren't changed in the shop once they arrived from the ERP? * There aren't any legal or marketing requirements which limit the display of prices. ===== Product Catalogue ===== * Will be the product information be edited using the backoffice or the product cockpit? * Do you have an approval of the product changes involve more than one team of approvers? * Do you have a small number of product variants compared to the number of base products? * Are the attributes which define the variants independent from each other? * Does the ERP contain all the variants of the products before the order is placed? * All the products are sold individually and there isn't any cross-category bundling? SAP hybris offers promotions for bundles of products. You will have to describe your requirements as concrete as possible to check if SAP hybris' promotions can be used * Do your selling process require product information from multiple manufacturers for each product? SAP hybris isn't suitable for the buying department who needs to know who are the providers or manufacturers of a product ===== Stock handling ===== * Can the stock of all your products in the catalogue be saved locally in the shop? In some shops the stock changes frequently and it is updated every minute. * Are there programmers or analysts in your organization who understand the stock calculation rules in your ERP? * Can the ERP handle orders with some products out of stock? ===== Vouchers ===== * Your vouchers only have percentage or absolute discounts. Discounts per sale unit aren't required. * You don't have company-wide vouchers spanning through many shops ===== Checkout ===== * Can your ERP handle orders of customers which don't exist on the ERP at the time of the order? * Can your ERP handle orders with delivery or payment addresses which don't exist on the ERP at the time of the order? * B2C questions: * Are all the payments processed by a single payment provider? * You don't use credit scoring to show available the payment methods. Alternatively you delegate this on the payment provider. * Is the payment always confirmed before the order is sent to the ERP? * Does the delivery cost of all your products in the catalogue only depend on the country and delivery method? For example, if it depends on the number of packages shipped, you need custom code * You don't validate the address of the customer during the checkout ===== Customer account ===== * You don't offer partial returns. * Has each customer only delivery and payment addresses? * The delivery label for the return isn't created in the shop ===== CMS ===== * You shop is commerce-driven (not content-driven). * Your organization only uses simple hiding or showing of banners and pages as personalization strategy. * Are the redactors used to edit the content watching the changes directly on a test shop? Although SAP hybris offers a live preview, it is quite easy to break it and to require custom code for it to work * Do you have more than two levels of containers of CMS components? Not only the editing in WCMS is difficult, many levels of containers require custom sync configuration or code. FIXME Check how many levels of containers of CMS components can be edited in SmartEdit. ===== Frontend ===== * Your customers have a high speed internet connection. SAP Hybris uses server-side rendering of pages, which increases the traffic between the browser and your server. If your customers live in the country-side, client-side rendering using single page applications (SPA) must be evaluated. * Your frontend don't require rich features like auto loading of search results by scrolling. * You don't use any digital asset management (DAM) system. When you already own a DAM, you need to determine what actions are going to be performed in the shop, apart from showing the content (images, videos) and how the shop can access the content * You don't provide any type of product adviser to help your customer find the product they are looking for. This is usually the case when selling spare pieces or accessories. ===== Infrastructure ===== * The data import and export processes of the shop can be independent of other systems in your organization. Your don't have any centralized system controlling all the batch processes. * The ERP is accessible using web services or files with XML, JSON or CSV. You have to dive into the details of your ERP's API to check if you need custom code: Some ERPs only deliver XML using the Atom format which is extremely difficult to parse. –Based on SAP hybris 6.6