<!--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>
Automated contract flow and billing of an agriculture company
<!--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>
The company is a peak organization that represents Queensland's rural producers of cane, cattle, grain, sheep and wool. The purpose of the company is to advance sustainable agribusiness.

Client
  • Salesforce CPQ
  • Salesforce Billing
Salesforce Solutions
Agriculture
The client wanted a solution to automate contract flow, help control quoting and optimize sales.
Industry
Challenges
3 months
Duration
  • 1 Salesforce Consultant
  • 1 Salesforce Admin
Vimera Team
CPQ
Price Rules
Billing
<!--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
  • Automate Contract lifecycle
  • Control Quote processes
  • Control Billing process
Challenges
After discussions, the Vimera team has suggested implementing Salesforce CPQ as a tool with a special add-on. We implemented and set up of Salesforce CPQ package providing automation based on the client’s request.

The Vimera team has configured the Contract Renewals solution to manage sales contracts smarter and faster with the use of auto-renewal when the existing contract ends or expires and the client needs to create a new one.

We also configured Price Rules to automate price calculations and update quote line fields to store information about products a sales manager has quoted.

The Vimera team implemented the Salesforce Billing add-on which receives records and information from CPQ. After the transaction is completed and the order is placed in CPQ, Salesforce Billing receives the order record for billing and payment.

The process of invoicing and quotations was manual in the organization.

The pricing process was not clear and it became necessary to implement rules that would be visible to every sales agent.

It was difficult to keep track of when a previous contract with a customer ended in order to enter into a new contract with them.

All of this led to sales agents' time not being optimally spent, as well as a decrease in sales.

Solutions
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
Sales teams' productivity increased by 35%. Now sales teams can close more deals faster.

Automated contract flow, created clear billing and quote processes.
Reduction of time and costs for sales. Automation allowed our customer to reorganize the budget and accelerate sales.

<!--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