How do you empower over 100 salespeople across the country to easily track leads/customers while providing on the spot point-of-sale transactions, payments and returns? What if you need it in 90 days? One company turned to Pinnacle with this pressing need - and we delivered, on-time and on-budget.
Our client needed to empower their sales force (over a hundred strong scattered across the U.S.) to be able to complete point-of-sale transactions while visiting a customer's site. This involved a number of requirements:
- Processing both sales and payments, including standard 30-, 60-, and 90-days past-due amounts and curtailing sales to customers beyond 90 days
- Processing returns
- Scanning product barcodes to speed the sales process
- Accepting, storing and printing customer signatures on the device
- Calculating sales tax appropriately for the customer's state and county
- Printing, faxing and emailing invoices, receipts and license agreements as required for each transaction
- Tracking leads with necessary contact information, etc.
- Converting leads to customers and then tracking additional information, including sales history
- Tracking customer inventory and associated equipment history
- Integrating all transactions from the device into their server-side Microsoft Dynamics GP accounting system for processing
- Integrating all lead and customer information into Microsoft Dynamic CRM
Finally, this tall order was needed immediately, so quick development time was critical. The client deadline provided us only three months to deliver.
Designing a Solution
Pinnacle, an Advanced Imaging Solutions company, tasked the job to a three person development team. Although counter-intuitive, we found that tight deadline challenges are best met with small teams and adding additional developers can rapidly diminish returns. A smaller team is quick on their feet and flexible. And, perhaps most importantly, small teams minimize meetings and other distractions that keep our developers from doing what they love most - creating great solutions tailored to client needs.
We decided to architect the solution in two pieces: the mobile app and the Microsoft GP/CRM integration. Leveraging the strengths of the ERP group and the Development group, we were able to develop an architecture that synchronizes data between two identical databases - one on the device and the other on the client's central server. To optimize our time and resources, we used a third-party tool to manage this called Zumero. Their tools were aimed precisely at our need: mobile SQLite to SQL Server two-way synchronization over the Internet.
We then reviewed mobile development options available and selected the Xamarin Platform. This allowed us to develop native Android apps using industry standard Microsoft tools without compromising any performance or capabilities. It also had the added benefit of making it easy to port our app to iOS and Windows Phone in the future, as the clients needs evolved.
Finally, the server-side database integration was accomplished with a powerful tool, developed by Pinnacle, called Pinnacle Connector. We've successfully used Pinnacle Connector in many projects to move data to and from Microsoft Dynamics applications like GP and CRM. This time we used it to its fullest extent and it performed beautifully. Our strategy helped saved the client time and money.
Meeting the Challenges
This allowed the Development team to focus exclusively on building mobile app. We mapped out the functions required and worked closely with the client on user-interface mock-ups. In addition, we held regular iteration meetings with key client stakeholders to discuss the progress and address concerns or roadblocks on either side.
Pinnacle places a high value on usability - and this project was no exception. In addition to building an intuitive interface, we chose a clean, attractive look with larger titles and labels, so their salespeople could easily view the application while outside or in their car. Client testing showed our solution worked effectively in bright sunlight, even on older devices.
Barcode scanning is a commonly used feature in many apps, so we were sure we'd find a library to handle most of the heavy lifting. The same was true for accepting signatures via the touch-screen. We found libraries for both and integrated them into our project with minimal impact on the timeline.
Printing, however, was an unusual challenge. The client had portable printers that were old, but reliable, and they did not have the budget to replace them. Our team needed to find a way to provide wireless access from the mobile device to print invoices, receipts and license agreements. No information on how to do so was available from the client nor on the Web. After some research, though, one of our developers found and implemented a simple solution to print text and images via Bluetooth.
Despite numerous challenges, we were able to successfully complete the mobile application within the client's timeframe including all the required features. We gave them a quality custom tool -- tailored to the needs of their sales people. Our client believed that making the sales process as smooth and seamless as possible would pay dividends on their bottom line and we were proud to turn their vision into reality.
If you have an idea that you think will make your processes better, faster, or more efficient, contact our Development team today!