<!--NOLIM--><!--NLM011--><!--settings{"applyTo":"1","elemClass":"animat"}settingsend--> <script> (function(){ function t_ready(e) { "loading" != document.readyState ? e() : document.addEventListener ? document.addEventListener("DOMContentLoaded", e) : document.attachEvent("onreadystatechange", function() { "loading" != document.readyState && e() }) } var t396_waitForFinalEvent = function() { var e = {}; return function(t, n, o) { o || (o = "Don't call this twice without a uniqueId"), e[o] && clearTimeout(e[o]), e[o] = setTimeout(t, n) } }(); function checkscale() { let e = document.querySelectorAll(".t396__artboard_scale .animat .tn-atom"); Array.prototype.forEach.call(e, function(e) { let t = window.getComputedStyle(e.closest(".tn-atom__scale-wrapper")).transform; if(t!='none') { e.closest(".tn-atom__scale-wrapper").style.removeProperty("transform"), e.closest(".animat").style.transform = t } }) } t_ready(function() { if (window.isFirefox || window.isOpera) { let e = document.querySelector("body"), t = document.createElement("style"); if (e.appendChild(t), t.setAttribute("id", "nlm011delete"), t.type = "text/css", t.styleSheet ? t.styleSheet.cssText = ".animat{display:none!important;" : t.appendChild(document.createTextNode(".animat{display:none!important;")), document.querySelectorAll(".t396__artboard_scale").length > 0) { let elList = 0; let count = 0; let int = setInterval(function() { let e = document.querySelectorAll(".t396__artboard_scale .animat"); let elList2 = e.length; if (elList == elList2) { count += 1; if (count == 3) { clearInterval(int); if (e.length == document.querySelectorAll(".t396__artboard_scale .animat .tn-atom").length) { checkscale(); setTimeout(function() { checkscale(); }, 0); let e = document.querySelector("#nlm011delete"); null !== e.parentNode && e.parentNode.removeChild(e), window.addEventListener("resize", function(e) { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }, !0); window.addEventListener("orientationchange", function() { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }); } } } else { count = 0; elList = elList2; } },50); } } }); })() </script> <style> .animat{ overflow:hidden!important; } </style>
Improved business processes for a huge manufacturer of trucks
<!--NOLIM--><!--NLM011--><!--settings{"applyTo":"1","elemClass":"animat"}settingsend--> <script> (function(){ function t_ready(e) { "loading" != document.readyState ? e() : document.addEventListener ? document.addEventListener("DOMContentLoaded", e) : document.attachEvent("onreadystatechange", function() { "loading" != document.readyState && e() }) } var t396_waitForFinalEvent = function() { var e = {}; return function(t, n, o) { o || (o = "Don't call this twice without a uniqueId"), e[o] && clearTimeout(e[o]), e[o] = setTimeout(t, n) } }(); function checkscale() { let e = document.querySelectorAll(".t396__artboard_scale .animat .tn-atom"); Array.prototype.forEach.call(e, function(e) { let t = window.getComputedStyle(e.closest(".tn-atom__scale-wrapper")).transform; if(t!='none') { e.closest(".tn-atom__scale-wrapper").style.removeProperty("transform"), e.closest(".animat").style.transform = t } }) } t_ready(function() { if (window.isFirefox || window.isOpera) { let e = document.querySelector("body"), t = document.createElement("style"); if (e.appendChild(t), t.setAttribute("id", "nlm011delete"), t.type = "text/css", t.styleSheet ? t.styleSheet.cssText = ".animat{display:none!important;" : t.appendChild(document.createTextNode(".animat{display:none!important;")), document.querySelectorAll(".t396__artboard_scale").length > 0) { let elList = 0; let count = 0; let int = setInterval(function() { let e = document.querySelectorAll(".t396__artboard_scale .animat"); let elList2 = e.length; if (elList == elList2) { count += 1; if (count == 3) { clearInterval(int); if (e.length == document.querySelectorAll(".t396__artboard_scale .animat .tn-atom").length) { checkscale(); setTimeout(function() { checkscale(); }, 0); let e = document.querySelector("#nlm011delete"); null !== e.parentNode && e.parentNode.removeChild(e), window.addEventListener("resize", function(e) { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }, !0); window.addEventListener("orientationchange", function() { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }); } } } else { count = 0; elList = elList2; } },50); } } }); })() </script> <style> .animat{ overflow:hidden!important; } </style>
Manufacturing
Industry
The client is a huge manufacturer of trucks, founded in Sweden in the late 1920s. Number of dealers & customer service points – 2200, number of countries where trucks are assembled – 12, number of employees – 11500.
Client
  • Integration with 3rd party systems
  • Indexation of Key Fields
  • Partner Community
  • Custom Interface
Salesforce Solutions
  • Need to create a partner distribution network based on Salesforce
  • Lack of integration between a ERP system and Salesforce CRM
  • Need to ensure access to insurance solutions
  • Lack of flexibility and scalability
Challenges Outline
> 2 months
Duration
1 Salesforce Developer
Vimera Team
<!--NOLIM--><!--NLM011--><!--settings{"applyTo":"1","elemClass":"animat"}settingsend--> <script> (function(){ function t_ready(e) { "loading" != document.readyState ? e() : document.addEventListener ? document.addEventListener("DOMContentLoaded", e) : document.attachEvent("onreadystatechange", function() { "loading" != document.readyState && e() }) } var t396_waitForFinalEvent = function() { var e = {}; return function(t, n, o) { o || (o = "Don't call this twice without a uniqueId"), e[o] && clearTimeout(e[o]), e[o] = setTimeout(t, n) } }(); function checkscale() { let e = document.querySelectorAll(".t396__artboard_scale .animat .tn-atom"); Array.prototype.forEach.call(e, function(e) { let t = window.getComputedStyle(e.closest(".tn-atom__scale-wrapper")).transform; if(t!='none') { e.closest(".tn-atom__scale-wrapper").style.removeProperty("transform"), e.closest(".animat").style.transform = t } }) } t_ready(function() { if (window.isFirefox || window.isOpera) { let e = document.querySelector("body"), t = document.createElement("style"); if (e.appendChild(t), t.setAttribute("id", "nlm011delete"), t.type = "text/css", t.styleSheet ? t.styleSheet.cssText = ".animat{display:none!important;" : t.appendChild(document.createTextNode(".animat{display:none!important;")), document.querySelectorAll(".t396__artboard_scale").length > 0) { let elList = 0; let count = 0; let int = setInterval(function() { let e = document.querySelectorAll(".t396__artboard_scale .animat"); let elList2 = e.length; if (elList == elList2) { count += 1; if (count == 3) { clearInterval(int); if (e.length == document.querySelectorAll(".t396__artboard_scale .animat .tn-atom").length) { checkscale(); setTimeout(function() { checkscale(); }, 0); let e = document.querySelector("#nlm011delete"); null !== e.parentNode && e.parentNode.removeChild(e), window.addEventListener("resize", function(e) { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }, !0); window.addEventListener("orientationchange", function() { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }); } } } else { count = 0; elList = elList2; } },50); } } }); })() </script> <style> .animat{ overflow:hidden!important; } </style>
Business Goals
  • Make the Salesforce Org scalable and flexible.
  • Improve processes through ERP and CRM integration
<!--NOLIM--><!--NLM011--><!--settings{"applyTo":"1","elemClass":"animat"}settingsend--> <script> (function(){ function t_ready(e) { "loading" != document.readyState ? e() : document.addEventListener ? document.addEventListener("DOMContentLoaded", e) : document.attachEvent("onreadystatechange", function() { "loading" != document.readyState && e() }) } var t396_waitForFinalEvent = function() { var e = {}; return function(t, n, o) { o || (o = "Don't call this twice without a uniqueId"), e[o] && clearTimeout(e[o]), e[o] = setTimeout(t, n) } }(); function checkscale() { let e = document.querySelectorAll(".t396__artboard_scale .animat .tn-atom"); Array.prototype.forEach.call(e, function(e) { let t = window.getComputedStyle(e.closest(".tn-atom__scale-wrapper")).transform; if(t!='none') { e.closest(".tn-atom__scale-wrapper").style.removeProperty("transform"), e.closest(".animat").style.transform = t } }) } t_ready(function() { if (window.isFirefox || window.isOpera) { let e = document.querySelector("body"), t = document.createElement("style"); if (e.appendChild(t), t.setAttribute("id", "nlm011delete"), t.type = "text/css", t.styleSheet ? t.styleSheet.cssText = ".animat{display:none!important;" : t.appendChild(document.createTextNode(".animat{display:none!important;")), document.querySelectorAll(".t396__artboard_scale").length > 0) { let elList = 0; let count = 0; let int = setInterval(function() { let e = document.querySelectorAll(".t396__artboard_scale .animat"); let elList2 = e.length; if (elList == elList2) { count += 1; if (count == 3) { clearInterval(int); if (e.length == document.querySelectorAll(".t396__artboard_scale .animat .tn-atom").length) { checkscale(); setTimeout(function() { checkscale(); }, 0); let e = document.querySelector("#nlm011delete"); null !== e.parentNode && e.parentNode.removeChild(e), window.addEventListener("resize", function(e) { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }, !0); window.addEventListener("orientationchange", function() { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }); } } } else { count = 0; elList = elList2; } },50); } } }); })() </script> <style> .animat{ overflow:hidden!important; } </style>
Challenges
Solutions
The client set the goal to organize the work of their own sales and service chains, and partner distribution network based on Salesforce. The Challenges were about developing a scalable solution to easily organize the work of the new distribution chain, provide the access to insurance solutions, for example, extended warranty for components and assemblies, and finally organize an effective asset management system with end-to-end inventory numbers from production to CRM.
The Vimera team has configured integration between the client’s ERP system controlling manufacturing chains and Salesforce via database and Heroku Connector. This type of integration has been chosen to prevent exceeding the limit on external callouts in Salesforce from the integration platform side. In the case of Heroku connect requests from the database in Salesforce are not included in daily limits calculations. It allows us to implement a live-time list of produced tracks and spare parts synchronization.

All business logic in Salesforce is organized by working with the huge data volume principles. To reduce the possibility of performance degradation during accessing the machine list and assets, our team has provided the indexation of key fields. There was access to create short tables as well.

The dealer and distribution chain has been developed with the help of Partner Comunity with a number of forms and a strictly defined field of view.

To get access to the information about the additional insurance coverage the Vimera team has delivered a custom interface including direct integration with the client data bus. According to the list of selected wine numbers and the list of specified assets, the bus returned to the Salesforce a list of suitable insurance coverage with the calculation of the payment amount.
Heroku

Scalability
2
3
1
<!--NOLIM--><!--NLM011--><!--settings{"applyTo":"1","elemClass":"animat"}settingsend--> <script> (function(){ function t_ready(e) { "loading" != document.readyState ? e() : document.addEventListener ? document.addEventListener("DOMContentLoaded", e) : document.attachEvent("onreadystatechange", function() { "loading" != document.readyState && e() }) } var t396_waitForFinalEvent = function() { var e = {}; return function(t, n, o) { o || (o = "Don't call this twice without a uniqueId"), e[o] && clearTimeout(e[o]), e[o] = setTimeout(t, n) } }(); function checkscale() { let e = document.querySelectorAll(".t396__artboard_scale .animat .tn-atom"); Array.prototype.forEach.call(e, function(e) { let t = window.getComputedStyle(e.closest(".tn-atom__scale-wrapper")).transform; if(t!='none') { e.closest(".tn-atom__scale-wrapper").style.removeProperty("transform"), e.closest(".animat").style.transform = t } }) } t_ready(function() { if (window.isFirefox || window.isOpera) { let e = document.querySelector("body"), t = document.createElement("style"); if (e.appendChild(t), t.setAttribute("id", "nlm011delete"), t.type = "text/css", t.styleSheet ? t.styleSheet.cssText = ".animat{display:none!important;" : t.appendChild(document.createTextNode(".animat{display:none!important;")), document.querySelectorAll(".t396__artboard_scale").length > 0) { let elList = 0; let count = 0; let int = setInterval(function() { let e = document.querySelectorAll(".t396__artboard_scale .animat"); let elList2 = e.length; if (elList == elList2) { count += 1; if (count == 3) { clearInterval(int); if (e.length == document.querySelectorAll(".t396__artboard_scale .animat .tn-atom").length) { checkscale(); setTimeout(function() { checkscale(); }, 0); let e = document.querySelector("#nlm011delete"); null !== e.parentNode && e.parentNode.removeChild(e), window.addEventListener("resize", function(e) { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }, !0); window.addEventListener("orientationchange", function() { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }); } } } else { count = 0; elList = elList2; } },50); } } }); })() </script> <style> .animat{ overflow:hidden!important; } </style>
Results
Stable working system. The client has received a stable working system with a deep level of integration in the current ecosystem.
Accelerated new dealer programs & partnerships. The speed of deployment of new dealer programs and partnerships has increased significantly.
Set up seamless integration between ERP system and Salesforce CRM.
<!--NOLIM--><!--NLM011--><!--settings{"applyTo":"1","elemClass":"animat"}settingsend--> <script> (function(){ function t_ready(e) { "loading" != document.readyState ? e() : document.addEventListener ? document.addEventListener("DOMContentLoaded", e) : document.attachEvent("onreadystatechange", function() { "loading" != document.readyState && e() }) } var t396_waitForFinalEvent = function() { var e = {}; return function(t, n, o) { o || (o = "Don't call this twice without a uniqueId"), e[o] && clearTimeout(e[o]), e[o] = setTimeout(t, n) } }(); function checkscale() { let e = document.querySelectorAll(".t396__artboard_scale .animat .tn-atom"); Array.prototype.forEach.call(e, function(e) { let t = window.getComputedStyle(e.closest(".tn-atom__scale-wrapper")).transform; if(t!='none') { e.closest(".tn-atom__scale-wrapper").style.removeProperty("transform"), e.closest(".animat").style.transform = t } }) } t_ready(function() { if (window.isFirefox || window.isOpera) { let e = document.querySelector("body"), t = document.createElement("style"); if (e.appendChild(t), t.setAttribute("id", "nlm011delete"), t.type = "text/css", t.styleSheet ? t.styleSheet.cssText = ".animat{display:none!important;" : t.appendChild(document.createTextNode(".animat{display:none!important;")), document.querySelectorAll(".t396__artboard_scale").length > 0) { let elList = 0; let count = 0; let int = setInterval(function() { let e = document.querySelectorAll(".t396__artboard_scale .animat"); let elList2 = e.length; if (elList == elList2) { count += 1; if (count == 3) { clearInterval(int); if (e.length == document.querySelectorAll(".t396__artboard_scale .animat .tn-atom").length) { checkscale(); setTimeout(function() { checkscale(); }, 0); let e = document.querySelector("#nlm011delete"); null !== e.parentNode && e.parentNode.removeChild(e), window.addEventListener("resize", function(e) { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }, !0); window.addEventListener("orientationchange", function() { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }); } } } else { count = 0; elList = elList2; } },50); } } }); })() </script> <style> .animat{ overflow:hidden!important; } </style>
Our testimonials
We continue to work with them, and we highly recommend them.
Nicholas Chang
VP of Sales & Marketing
Flower Company
Miami, Florida, US
They generally are happy to work on all aspects of custom Salesforce development.
Fedor Orth
Head of Software Engineering
Clear Aligner Provider
Berlin, Germany
Discuss your task with our team
<!--NOLIM--><!--NLM011--><!--settings{"applyTo":"1","elemClass":"animat"}settingsend--> <script> (function(){ function t_ready(e) { "loading" != document.readyState ? e() : document.addEventListener ? document.addEventListener("DOMContentLoaded", e) : document.attachEvent("onreadystatechange", function() { "loading" != document.readyState && e() }) } var t396_waitForFinalEvent = function() { var e = {}; return function(t, n, o) { o || (o = "Don't call this twice without a uniqueId"), e[o] && clearTimeout(e[o]), e[o] = setTimeout(t, n) } }(); function checkscale() { let e = document.querySelectorAll(".t396__artboard_scale .animat .tn-atom"); Array.prototype.forEach.call(e, function(e) { let t = window.getComputedStyle(e.closest(".tn-atom__scale-wrapper")).transform; if(t!='none') { e.closest(".tn-atom__scale-wrapper").style.removeProperty("transform"), e.closest(".animat").style.transform = t } }) } t_ready(function() { if (window.isFirefox || window.isOpera) { let e = document.querySelector("body"), t = document.createElement("style"); if (e.appendChild(t), t.setAttribute("id", "nlm011delete"), t.type = "text/css", t.styleSheet ? t.styleSheet.cssText = ".animat{display:none!important;" : t.appendChild(document.createTextNode(".animat{display:none!important;")), document.querySelectorAll(".t396__artboard_scale").length > 0) { let elList = 0; let count = 0; let int = setInterval(function() { let e = document.querySelectorAll(".t396__artboard_scale .animat"); let elList2 = e.length; if (elList == elList2) { count += 1; if (count == 3) { clearInterval(int); if (e.length == document.querySelectorAll(".t396__artboard_scale .animat .tn-atom").length) { checkscale(); setTimeout(function() { checkscale(); }, 0); let e = document.querySelector("#nlm011delete"); null !== e.parentNode && e.parentNode.removeChild(e), window.addEventListener("resize", function(e) { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }, !0); window.addEventListener("orientationchange", function() { t396_waitForFinalEvent(function() { window.isMobile ? document.documentElement.clientWidth !== window.tn_window_width && checkscale() : checkscale() }, 500, "resizeruniqueid") }); } } } else { count = 0; elList = elList2; } },50); } } }); })() </script> <style> .animat{ overflow:hidden!important; } </style>
We assign a wide range of services
Salesforce Implementation & Customization

Salesforce Consulting & System Architecture

Salesforce Integration

Salesforce Org Audit

Salesforce Org Support

Salesforce Quick Start

Salesforce AppExchange Applications Development

Data Management & Migration

Migration to Salesforce Lightning