Unique Aspects
Pricing
Buisklem’s pricing model is complex. There are at least six data sources used to determine a product’s price. Because pricing is set per customer, Magento’s price calculation system had to be discarded. Tier pricing works for customer groups. Cart price rules works for customer groups. You get the point—while Magento’s pricing system is granular, it’s not granular enough for Buisklem.
In replacing the pricing calculation system, we still needed to keep performance in mind. Pages are cached, and the rendered price would be saved in that cache—rendering an incorrect price for all future customers. We could have just disabled the cache, but that would slow down a user’s experience. Instead, we built a system to load in prices after the page has been rendered. Pages load lightning-fast and prices come right behind it.
Data Import
Buisklem uses the Unit4 ERP. A .NET developer built an export tool to convert Unit4 data into XML. We built an import process to load these XML files and translate them into Magento entities (customers, orders, products and pricing information).
These XML files are very large and must be imported with good efficiency.
Checkout customizations
Due to how Buisklem handles billing, we needed to customize the checkout process. For example, the billing address as loaded through the Data Import cannot be changed. Purchase order numbers are no longer required.
Catalog rendering
Buisklem’s product catalog is exported to a PDF. This result will be slightly modified and then sent to a printer for distribution to their business client base. We built a system to save products to a PDF.