<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mike Branch - The Integrator</title>
	<atom:link href="http://whiterabbitservices.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://whiterabbitservices.com</link>
	<description>An Adventure of White Rabbit Services, Inc.</description>
	<lastBuildDate>Wed, 01 Feb 2012 17:35:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Salesforce Is Now PCI Certified</title>
		<link>http://whiterabbitservices.com/2012/02/01/salesforce-is-now-pci-certified/</link>
		<comments>http://whiterabbitservices.com/2012/02/01/salesforce-is-now-pci-certified/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 17:35:08 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Salesforce]]></category>

		<guid isPermaLink="false">http://whiterabbitservices.com/?p=223</guid>
		<description><![CDATA[In an earlier post I wrote about Salesforce.com and PCI compliance. I&#8217;m pleased to report that Salesforce is now PCI/DSS (Payment Card Industry / Data Security Standards) certified. This is a big boost for those of us who develop custom applications on the Force.com platform. The Salesforce announcement can be seen here.]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://whiterabbitservices.com/?p=186">an earlier post</a> I wrote about Salesforce.com and PCI compliance. I&#8217;m pleased to report that Salesforce is now PCI/DSS (Payment Card Industry / Data Security Standards) certified. This is a big boost for those of us who develop custom applications on the Force.com platform.</p>
<p>The Salesforce announcement can be seen <a href="http://blogs.salesforce.com/product/2012/01/announcing-pci-certification.html?utm_source=twitterfeed&amp;utm_medium=twitter&amp;utm_campaign=Salesforce">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://whiterabbitservices.com/2012/02/01/salesforce-is-now-pci-certified/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QuickBooks Web Connector: When To Use It</title>
		<link>http://whiterabbitservices.com/2011/11/19/quickbooks-web-connector-when-to-use-it/</link>
		<comments>http://whiterabbitservices.com/2011/11/19/quickbooks-web-connector-when-to-use-it/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 21:32:25 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://whiterabbitservices.com/?p=218</guid>
		<description><![CDATA[I&#8217;ve received quite a few inquiries lately about how to integrate web-based applications with QuickBooks. In cases where the query comes from another software developer  one question comes up almost every time: Should I use the QuickBooks Web Connector to do this? The short answer: I would only use the QuickBooks Web Connector if I was [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve received quite a few inquiries lately about how to integrate web-based applications with QuickBooks. In cases where the query comes from another software developer  one question comes up almost every time: Should I use the QuickBooks Web Connector to do this?</p>
<p>The short answer: I would only use the QuickBooks Web Connector if I was creating a web application (shopping cart, etc.) that is available to the general public, and is intended for use by a large number of QuickBooks users.</p>
<p>Now the long answer. This is not just for developers, but for any QuickBooks user who needs a better understanding of what the Web Connector is and how it can be used.</p>
<p><strong>A Brief Overview of the Web Connector</strong></p>
<p>First, a quick overview of what the QBWC is. It&#8217;s a tool provided free of charge by Intuit with Windows desktop versions of QuickBooks. The QBWC is one way of helping web sites, such as online shopping carts, communicate with QuickBooks. It runs on the user&#8217;s desktop computer and acts as a messenger, routing messages between the web site and QuickBooks. It can also be configured to run automatically, for example, every 15 minutes. One of the most popular uses of the QBWC is for online shopping carts to download orders to QuickBooks (or QuickBooks Point of Sale), and in many cases upload new product information from QB to the web site.</p>
<p>Why do we need a special program for this? Why can&#8217;t the web site talk directly to QuickBooks. The reason is security. It is dangerous to allow web sites to initiate a connection to your computer. So the connection has to be initiated from your computer. The QBWC performs this function. It starts the conversation (on demand, or according to the preset interval) by asking the web site if there&#8217;s anything it wants QB to do. The web site responds by sending a specially-formatted message to QBWC, which it then forwards to QB to be processed. For example, the web site might say, &#8220;Yes, please insert these 7 new orders into QB&#8221;. QBWC then receives the response (such as success or error) from QB and returns it to the web site. Based on that response, the web site decides what its next request will be, until it eventually responds to the QBWC by saying, &#8220;OK, I&#8217;m all done!&#8221;</p>
<p>As you may have realized from the description above, using the QBWC with a web site requires that the web site understands how to communicate with it, and with QB. In other words, it&#8217;s up to the developers of the web site to decide whether or not they will work with the QBWC. It isn&#8217;t something that can be set up from scratch by the QuickBooks user.</p>
<p><strong>How to Use It</strong></p>
<p>This isn&#8217;t intended to be a complete explanation of how to make your web site work with the QBWC, but here are some of the main tasks involved:</p>
<ol>
<li>Add special programming to the web site to communicate with the Web Connector. This includes providing methods for the QBWC to log in to the web site, ask for new requests, and return responses from QB.</li>
<li>In addition to communicating with the QBWC, the web site needs to know how to format the request messages that will be sent to QuickBooks, and how to interpret the responses.</li>
<li>Provide one or more pages on the site for QB settings. For example, the web site might need to know the QB sales tax item or shipping item to use for online orders.</li>
<li>Create a QBWC configuration file and a link for the user to download it. This is a file that the user will import into QBWC in order to set up the connection with the web site.</li>
</ol>
<div>As you can see, this requires a lot of intimate QuickBooks knowledge on the part of the web site developers.</div>
<p><strong>Alternatives to the Web Connector</strong></p>
<div>There are many ways to integrate other systems with QuickBooks, but when we&#8217;re talking about the QBWC specifically, two alternatives stand out:</div>
<div>
<ol>
<li><em>Create your own &#8220;Web Connector&#8221;.</em> This is a custom program that you create that resides on the QB user&#8217;s desktop. While this still requires knowledge of how to communicate with QB, it eliminates the needs to learn and follow the QBWC&#8217;s communication protocol. It also allows you to define the conversation between this program and the web site. For example, the web site could have a method called &#8220;GetNewOrders&#8221; which would return all new orders, or orders created after a certain date. This method could be called from any program that has permission to do so, not just the QuickBooks interface. Also, the intimate knowledge of QB is encapsulated in the program and isn&#8217;t cluttering up the web site.</li>
<li><em>IIF files.</em> This is an old, and not very well supported, method of importing data into QB. IIF files are tab-delimited text files that can be viewed and edited with Excel. The web site w0uld need to know how to format IIF files, but this is much easier than talking to the QBWC. IIF files might be a good starting point for web developers who want to export data to QB, but the major drawback is that the communication is one-way, which makes it difficult to respond to exceptions. For example, if you download an order but have trouble creating or finding the customer in QB, it will be impossible to import the order. The web site would be unaware of this and would think the order was successfully downloaded.</li>
<li><em>Intuit Anywhere.</em> This is Intuit&#8217;s latest attempt at exposing QuickBooks data to web site developers. The idea is that Intuit maintains a copy of your QuickBooks data in the cloud, which is kept in sync with your desktop QB file. This method does require more knowledge of the inner workings of QuickBooks, but is probably a little easier for the user to set up, since Intuit provides instructions and processes to handle it. Intuit Anywhere is currently only available for applications being sold to the general public, and not for custom applications.</li>
</ol>
<div><strong>Pros and Cons of the Web Connector</strong></div>
<div>The information above can be summarized into the following Pros and Cons of using the QuickBooks Web Connector:</div>
<div><strong>Pros:</strong></div>
<div>
<ul>
<li>The Web Connector is free, and is installed automatically with QuickBooks for Windows editions (Pro, Premier, Enterprise).</li>
<li>The Web Connector can be used to connect QuickBooks to multiple online services.</li>
<li>The only setup required on the user&#8217;s desktop is to download the web site&#8217;s QBWC settings file and import it into QBWC.</li>
<li>The Web Connector is supported by Intuit.</li>
</ul>
<div><strong>Cons:</strong></div>
<div>
<ul>
<li>Setting up a web site to work with the QBWC requires specialized programming and knowledge of QuickBooks. The alternatives also require specialized QB skills, but to a lesser degree.</li>
<li>If the web site communicates with several other accounting or ERP (Enterprise Resource Planning) systems, it could get cluttered up with a lot of code that must be updated whenever one of those external systems changes. (Intuit does a pretty good job of making QuickBooks backward-compatible, but still&#8230;)</li>
<li>Unless the web site has a large number of QuickBooks users or the QB integration is mission-critical to your business, it may be difficult to recover your development costs.</li>
<li>The Web Connector is supported by Intuit. Yes, that can be a &#8220;con&#8221;, too. Although I&#8217;ve only seen one problem a few years ago where an update to the Web Connector made it stop working with QB Point of Sale, the fact is that if Intuit does something to break the QBWC, you&#8217;re dead in the water. The solution in this case is usually to keep a copy of the previous version of the Web Connector and provide that to your users in case they have a problem. This can turn into a support nightmare.</li>
</ul>
<div>To repeat the conclusion I gave at the beginning of this article: I would only use the QuickBooks Web Connector if I was creating a web application that is available to the general public, and is intended for use by a large number of QuickBooks users. Especially for a custom web application, I would recommend decoupling the web site from QuickBooks by creating a desktop application. It provides a point of integration that&#8217;s much easier to change later, if necessary.</div>
</div>
<div>I hope this has been helpful to anyone considering using the Web Connector or connecting a web site to QuickBooks. Please feel free to add a comment or send me your questions.</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://whiterabbitservices.com/2011/11/19/quickbooks-web-connector-when-to-use-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intuit Introduces Salesforce for QuickBooks</title>
		<link>http://whiterabbitservices.com/2011/09/08/intuit-introduces-salesforce-for-quickbooks/</link>
		<comments>http://whiterabbitservices.com/2011/09/08/intuit-introduces-salesforce-for-quickbooks/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 00:29:44 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[QuickBooks]]></category>
		<category><![CDATA[Salesforce]]></category>

		<guid isPermaLink="false">http://whiterabbitservices.com/?p=201</guid>
		<description><![CDATA[On September 7 Intuit announced the release of a new application in the Intuit App Center that integrates QuickBooks (Windows desktop and online editions) with Salesforce.com CRM. We heard rumors about this back in March, with few details, so as someone who’s heavily involved in custom programming for both QuickBooks and Salesforce.com I’ve been looking [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>On September 7 Intuit announced the release of a new application in the <a href="http://workplace.intuit.com/salesforcecrm" target="_blank">Intuit App Center</a> that integrates QuickBooks (Windows desktop and online editions) with Salesforce.com CRM. We heard rumors about this back in March, with few details, so as someone who’s heavily involved in custom programming for both QuickBooks and Salesforce.com I’ve been looking forward to getting my hands on this product.</p>
<p>What follows is a brief explanation of CRM, Salesforce.com, and my initial impressions of the integration.</p>
<p><strong>What is CRM?</strong></p>
<p><strong> </strong>CRM stands for “Customer Relationship Management”. At the risk of oversimplifying, a CRM tool helps sales teams track the progress of leads through the sales funnel. Most of these tools have additional features, such as the ability to import leads, capture leads from your web site, convert leads or opportunities into orders, send emails to contacts, create reports, etc. There are many CRM tools available, many of which are web-based, and several of which integrate with QuickBooks.</p>
<p><strong>What is Salesforce.com?</strong></p>
<p>Salesforce is really 2 things: A CRM tool and a cloud-based development platform.</p>
<p>Salesforce is one of the most popular web-based CRM tools in use today, and is used by <a href="http://www.salesforce.com/showcase/#view=grid&amp;cursor=0&amp;sort=a_z&amp;filter=customers" target="_blank">companies of all sizes</a> (Dell, Toyota, and Prudential, just to toss out a few big names). In fact, one of the big advantages of web-based services like Salesforce is scalability; it works just as well for a large multinational company as for a small family business. Salesforce CRM is also highly customizable, allowing you to track information unique to your business, define custom email templates, create workflow and approval processes, etc.</p>
<p>In addition to being a CRM tool, Salesforce is also a great platform (in my opinion, the <em>best </em>platform) for creating custom applications in the cloud. In addition to the customization features available to non-programmers, it provides a full-featured cloud-based database (database.com) and Java-like programming language (Apex) so that developers can create just about any kind of application imaginable. It&#8217;s also possible to leave out the CRM and just use other applications, at a lower monthly cost. Custom applications can be developed for a single customer (which is where I spend a lot of my time), and there are thousands of “mass market” applications available in the Salesforce <a href="http://appexchange.salesforce.com/home" target="_blank">AppExchange</a>.</p>
<p><strong>QuickBooks Integration</strong></p>
<p>OK, so what does the integration do? There’s a good explanation in <a href="http://workplace.intuit.com/salesforcecrm" target="_blank">Intuit’s App Center</a>, but some of the essential features are:</p>
<ul>
<li>Visibility to Leads within both systems</li>
<li>Sync Salesforce Accounts with QuickBooks Customers</li>
<li>Visibility to QuickBooks Customer details (including Estimates, Sales Orders, Invoices, etc.) in Salesforce.</li>
<li>The ability to create QuickBooks transactions from Salesforce data. For example, when a Salesforce Opportunity is won, it can generate an Invoice in QuickBooks.</li>
<li>Sync the QuickBooks Item list with Salesforce Products.</li>
</ul>
<p><strong>Pricing and Free Trial</strong></p>
<p>Salesforce comes in various editions depending on your needs. Salesforce for QuickBooks works with the Group and Professional editions, which are the most popular for smaller businesses. The Group edition has a promotional price of $18/month/user (normally $28) and and Professional is $60/month/user (normally $70). Salesforce without the QuickBooks integration is $15 and $65. A free trial is available without requiring a credit card, so it’s easy to sign up and start exploring.</p>
<p>Salesforce also has an Enterprise and Unlimited edition. So far I haven’t determined whether it’s possible to use Salesforce for QuickBooks with these editions. More on this later.</p>
<p>By the way, as of this writing there are 2 Salesforce integration applications from Intuit in the Intuit App Center. “Salesforce for QuickBooks” is the one you want. I have no idea where the other one came from, and it doesn’t even have a “buy” link. I guess it’s just there to confuse us.</p>
<p><strong>Learning Salesforce</strong></p>
<p>It’s important to note that Salesforce for QuickBooks doesn’t eliminate the learning curve needed to use either product. Even though the concept of Salesforce CRM seems pretty straightforward to me today, I did need to invest some time in learning how to use it. There’s excellent contextual help on every page, and Salesforce for QuickBooks comes pre-populated with sample data to help you explore Salesforce.</p>
<p>I highly recommend exploring the sample data before connecting Salesforce to your live QuickBooks file. Key areas include Leads, Contacts, Accounts and Opportunities. (You’ll find the ubiquitous Kristy Abercrombie under Leads.) Click on a tab (Leads, for example) and you’ll see records that you’ve worked with recently. If you’re just getting started, you won’t see anything, so click the “Go” button next to the drop-down list at the top (for example, “All Open Leads”) to see more records. Click on an item in the Name column to bring up the details for that record.</p>
<p>Several of these screens will have a “Help for this Page” link on the right side of the page, where you can get more information about that area of Salesforce. Again, you should take some time to get comfortable with Salesforce and the sample data before “going live”.</p>
<p><strong>Who Should Use It?</strong></p>
<p>This is where it gets interesting. We’ll have to see how this all plays out, but it seems to me that Salesforce for QuickBooks overlaps with several existing solutions. So far it appears that what Salesforce for QuickBooks does, it does very well, but you can’t create additional integration options (like employee time tracking). But if the combination of Salesforce for QuickBooks and the AppExchange meets your needs, then Salesforce for QuickBooks may be a good option for you.</p>
<p>There are also several other players in the QuickBooks-CRM arena. The one I’m most familiar with is <a href="http://www.methodintegration.com/home.aspx" target="_blank">Method Integration</a>, which includes an excellent integration with QuickBooks and is highly customizable. There are several other CRM solutions that integrate with QuickBooks, and I’ve heard good things about them, but I don’t have enough knowledge about them to discuss them here. (Other CRM vendors: I welcome your comments here.)</p>
<p>As a developer of custom applications, I see a limation with Salesforce for QuickBooks because the Group and Professional editions of Salesforce don’t allow me to develop custom applications and customized integrations with QuickBooks. However, many customers won’t need that level of customization, so Salesforce for QuickBooks might be sufficient.</p>
<p>There are also several existing tools that can be used to integrate QuickBooks and Salesforce, including <a href="http://www.boomi.com/solutions/quickbooksintegration" target="_blank">Dell Boomi</a>, <a href="http://mydbsync.com/integration/quickbooks" target="_blank">DBSync</a>, and <a href="http://www.pervasive.com/galaxy/Products/Product.aspx?id=40" target="_blank">Pervasive</a>. I’ve also developed custom integration programs for my clients, but at the moment my favorite solution is DBSync (please contact me for more information). These tools are all subscription-based, with Boomi being by far the most expensive for custom solutions, so you would have to pay an ongoing fee in addition to your setup costs and the Salesforce subscription.</p>
<p><strong>Summary</strong></p>
<p>I’m a big fan of both QuickBooks and Salesforce, so I don’t think you can go wrong with Salesforce for QuickBooks if you’re looking for a CRM solution that integrates with QuickBooks. But before you commit, take some time to think about whether you will want to customize Salesforce and sync other types of data with QuickBooks (such as vendor bills or employee time entries). If that’s the case, then you might need to use the Enterprise edition of Salesforce and one of the other integration tools. Method Integration might also be a good alternative, depending on your needs.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://whiterabbitservices.com/2011/09/08/intuit-introduces-salesforce-for-quickbooks/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Musings on the Demise of IPP Native Development</title>
		<link>http://whiterabbitservices.com/2011/08/14/musings-on-the-demise-of-ipp-native-development/</link>
		<comments>http://whiterabbitservices.com/2011/08/14/musings-on-the-demise-of-ipp-native-development/#comments</comments>
		<pubDate>Sun, 14 Aug 2011 16:28:41 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Force.com]]></category>
		<category><![CDATA[QuickBooks]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://whiterabbitservices.com/?p=190</guid>
		<description><![CDATA[Intuit recently announced that they are pulling the plug on Native development on the Intuit Partner Platform and are partnering more closely with Windows Azure to provide developers with tools to support Federated development on IPP. (The difference &#8211; at the risk of oversimplifying &#8211; is that with Native development you could build an application [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ippblog.intuit.com/blog/2011/08/partnerships-ipp-windows-azure.html" target="_blank">Intuit recently announced</a> that they are pulling the plug on Native development on the Intuit Partner Platform and are partnering more closely with Windows Azure to provide developers with tools to support Federated development on IPP. (The difference &#8211; at the risk of oversimplifying &#8211; is that with Native development you could build an application from the ground up 100% on Intuit&#8217;s platform, but with Federated development you had to build the application on your own platform and then connect to IPP to get at QuickBooks and QuickBase data.) Intuit is also in beta with their new Intuit Anywhere offering, which will be another way that developers can access QuickBooks data from their applications.</p>
<p>As cool as IPP Native development was, I think what really killed it was a lack of adoption by developers. I doubt Intuit would have pulled the plug if there were even a few really hot Native apps out there, and a couple dozen more that people were using on a regular basis. (I don&#8217;t know the actual number of popular Native apps, but it seems like 1 or 2 would come<br />
to mind if there was any serious level of adoption out there.)</p>
<p>So what would I have done differently if I was Intuit and wanted to improve adoption by developers? Again, I thought IPP Native app development was pretty cool as it was, but here are a few changes that I would have wished for:</p>
<ol>
<li><strong>Fix the billing model </strong>- Developers could set their own monthly price for their apps, but then Intuit would take a percentage, and on top of that charge the developer for &#8220;megabyte-hours&#8221;, which was a bizarre formula that multiplied the amount of data storage customers were using by the amount of time that they used the app. This was scary. In theory, a developer who created a small utility app and only charged, say, $19.95/month for it could end up actually losing money if a customer only set up 1 user on it and then uploaded a bunch of data. And how do you accurately measure how much time somebody spends using a web app? Just give us a simple tiered model, with a fixed cost per month per user, which allows up to a certain amount of data and resource usage.</li>
<li><strong>Make it easier to create custom user interfaces</strong> &#8211; This all had to be done through old-fashioned programming. Yes, Adobe Flash Builder has some neat features for creating user interfaces, but it was still a lot of work to connect that to the data and the business logic. With Intuit&#8217;s QuickBase product it&#8217;s pretty easy to create a decent user interface (although not as rich as I would like), so IPP Native apps felt like a step backward in this regard.</li>
<li><strong>Support custom applications</strong> &#8211; IPP didn&#8217;t (and I hope they fix this with Intuit Anywhere) support custom applications that aren&#8217;t appropriate to be shared with the world at large. The whole billing model and App Center approach just didn&#8217;t work for this. At the 2010 Intuit Solution Provider Summit (or maybe 2009, I can&#8217;t remember for sure) I asked the Intuit folks why, if the IPP was so wonderful, I couldn&#8217;t use it to create a custom application for just 1 client. They looked at me like I just hopped out of a flying saucer. When I posted the same concern in the Intuit Developer Network forums, I got a lecture about why in the world would Intuit want to provide a big multi-tenant infrastructure just to support applications to be used by only 1 customer? (&#8220;<em>Look around at this world we&#8217;ve made, Equality our stock in trade. Come and join the brotherhood of man.</em>&#8221; &#8211;  Rush, <em>2112</em>)</li>
<li><strong>Ignore the 800-pound gray-haired gorilla</strong> &#8211; There&#8217;s partnering with Microsoft, and then there&#8217;s partnering with Microsoft. Apparently Intuit has chosen the Yahoo/Nokia approach (combine 2nd- or 3rd-place products [or 4th-place, in the case of the Windows Phone 7 phone] to create the Next Big Thing). IPP Native development committed the unpardonable sin of using Adobe and open source products for development. So what? A platform as ambitious as the IPP has to be open to applications built on multiple platforms (and it still is). Integrating with Microsoft is important, but it&#8217;s not the only game in town. It&#8217;s hard to believe that Microsoft didn&#8217;t put at least a little pressure on Intuit to ditch Adobe Flex, although it&#8217;s likely IPP Native development would have gone away without any help from Microsoft.</li>
</ol>
<p>Now if you&#8217;ve been paying attention (and congratulations for making it this far), you&#8217;re thinking &#8220;Hey, <a href="http://www.methodintegration.com" target="_blank">Method Integration</a> does all that!&#8221; Well, you can do more in Adobe Flex than you can do in Method, but you can do quite a lot with Method, and the integration with QB is excellent. <a href="http://www.force.com" target="_blank">Salesforce.com</a> also deserves a mention here. It has a richer set of programming features than Method (similar to Adobe Flex combined with Intuit Data Services), but doesn&#8217;t integrate with QuickBooks out of the box. For that, you need a 3rd party tool like <a href="http://www.mydbsync.com" target="_blank">DBSync</a> and/or you need to hire somebody like me to build the integration for you. Salesforce also offers reasonably-priced billing options for those who just want to use their database services (comparable to Intuit Anywhere) or an application platform that doesn&#8217;t include CRM.</p>
<p>My point is not to make a pitch for Salesforce.com or Method Integration (well, maybe a little bit), but to point out that Intuit was up against some pretty solid competition when it comes to providing a complete platform for cloud application development. Much easier to just expose QuickBooks data to other applications, like they&#8217;re doing now with the Federated model and Intuit Anywhere.</p>
]]></content:encoded>
			<wfw:commentRss>http://whiterabbitservices.com/2011/08/14/musings-on-the-demise-of-ipp-native-development/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Salesforce.com and PCI Compliance</title>
		<link>http://whiterabbitservices.com/2011/08/03/salesforce-com-and-pci-compliance/</link>
		<comments>http://whiterabbitservices.com/2011/08/03/salesforce-com-and-pci-compliance/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 15:12:41 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Force.com]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[force.com]]></category>
		<category><![CDATA[payments]]></category>
		<category><![CDATA[PCI-DSS]]></category>

		<guid isPermaLink="false">http://whiterabbitservices.com/?p=186</guid>
		<description><![CDATA[I wrote this in response to a query from a prospective client who needs a payment application developed for their Salesforce.com org. I thought it might be useful to share with the world in general. I welcome any comments and conflicting opinions, as this is an important discussion. 2 documents referenced in my original email [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote this in response to a query from a prospective client who needs a payment application developed for their Salesforce.com org. I thought it might be useful to share with the world in general. I welcome any comments and conflicting opinions, as this is an important discussion.</p>
<p>2 documents referenced in my original email are:</p>
<ul>
<li><a href="https://www.pcisecuritystandards.org/documents/PCI%20SSC%20Quick%20Reference%20Guide.pdf" target="_blank">PCI Data Security Standards Quick Reference Guide v2.0</a></li>
<li><a href="https://www.pcisecuritystandards.org/documents/pa-dss_v2.pdf" target="_blank">Payment Application Data Security Standard</a></li>
</ul>
<p>Additional documents, including self-assessment procedures, can be found at <a href="http://pcisecuritystandards.org">pcisecuritystandards.org</a>.</p>
<p>The rest is from the email:</p>
<p>The Quick Reference especially useful for anyone needing an overview of the standards. From these documents one can easily see that end to end compliance depends on a number of factors, many of which are the merchant&#8217;s responsibility (such as controlling user access and maintaining a secure network).</p>
<p>Now, back to Salesforce:</p>
<p>First, Salesforce.com is not an application, it&#8217;s a platform (technically, the platform is referred to as Force.com). As such, it would not normally be subject to PCI compliance, except as it enables the creation of PCI compliant applications and processes. Microsoft Windows is not PCI compliant, neither is Mac OS, Google Android, Apple iOS, etc. It&#8217;s the application that matters.</p>
<p>The determination of PCI compliance of any application can be approached one of two ways. For a widely available mass-market application, the vendor could pay a QSA (Qualified Security Assessor) to determine whether the application is PCI compliant. I have no idea how much this costs, but I&#8217;m sure it&#8217;s not cheap. For a custom application used by one organization, a self-assessment is not difficult. Despite the plethora of documentation associated with the PCI standards, the standards are really very straightforward and easy to understand.</p>
<p>The primary factors in a secure payment application are the storage and transmission of payment information. Additional key factors include logging of activity and access to systems and data.</p>
<ol>
<li>Storage &#8211; This one&#8217;s easy: Just don&#8217;t do it. Payment information should not be stored on the Force.com platform. Although encrypted fields are available, it&#8217;s my opinion that access to encrypted data is not sufficiently restricted to comply with PCI standards. So we simply don&#8217;t store the information. NOTE: I did discover that it&#8217;s possible to set the Force.com debug log to a high enough level that it stores all data entered in a form. This feature is turned off by default and is under the control of the organization&#8217;s system administrator. It would normally only be turned on for a specific developer or tester who is testing an application that is being developed. It is also very easy to &#8220;turn down&#8221; the logging level so that it does not store data entered on a form.</li>
<li>Transmission &#8211; As required by [the payment gateway], we use SSL (https) for web service calls. This encrypts the data that is transmitted across the Internet. The same process is used by most other payment applications, including eCommerce web sites.</li>
<li>Logging &#8211; Salesforce automatically logs the date, time and user when a record (such as a payment record) is created or modified.</li>
<li>Access &#8211; If we&#8217;re not storing payment information, access is not much of an issue. In any case, system administrator access should be restricted to a very small number of people. Also, Salesforce has many tools for controlling access to an organization&#8217;s data, such as restricting logins by IP address or time of day.</li>
</ol>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://whiterabbitservices.com/2011/08/03/salesforce-com-and-pci-compliance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Repairing QuickBooks Point of Sale Financial Exchange</title>
		<link>http://whiterabbitservices.com/2011/07/19/repairing-quickbooks-point-of-sale-financial-exchange/</link>
		<comments>http://whiterabbitservices.com/2011/07/19/repairing-quickbooks-point-of-sale-financial-exchange/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 19:22:46 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[QuickBooks]]></category>
		<category><![CDATA[QuickBooks Point of Sale]]></category>

		<guid isPermaLink="false">http://whiterabbitservices.com/?p=178</guid>
		<description><![CDATA[By far the most common QuickBooks Point of Sale support call that I get is for a broken financial exchange. So I decided to post these instructions to help you correct the problem yourself, should you find yourself in this situation. In these instructions I’ll refer to QuickBooks Point of Sale as “POS” and QuickBooks [...]]]></description>
			<content:encoded><![CDATA[<p>By far the most common QuickBooks Point of Sale support call that I get is for a broken financial exchange. So I decided to post these instructions to help you correct the problem yourself, should you find yourself in this situation.</p>
<p>In these instructions I’ll refer to QuickBooks Point of Sale as “POS” and QuickBooks financial software (Pro, Premier and Enterprise) as “QB”. These instructions are based on version 10 of POS and the 2011 version of QB, but should apply just as well to the last several versions of both products.</p>
<p>Experienced users will note that there’s more than one way to fix a broken financial exchange. Here I’ve tried to include a complete set of instructions that covers 99% of the cases that I encounter. If you’re not experience with setting up financial exchange, it’s best to perform the instructions exactly as written.</p>
<p>By the way, this discussion does not cover Remote Data Sharing, which I never use. If you are using RDS I’d encourage you to try this method instead.</p>
<p><span style="text-decoration: underline;">How POS communicates with QB</span></p>
<p>First a brief review of how POS talks to QB. It’s important to understand that POS does not connect to your QB data directly. POS actually talks to the QB software on your POS server, which in turn connects to your QB data file, wherever it is located on your network. This is true regardless of whether you have QB open.</p>
<p>This also means that if you have your QB data on a computer other than your POS server (such as in the back office), and you only have 1 QB license, you’ll need to close QB on the back office computer in order to follow these instructions, and also whenever you run End of Day.</p>
<p><span style="text-decoration: underline;">Initial Troubleshooting</span></p>
<p>Before doing anything with POS, we need to verify that you can run QB on your POS server. Start QB on the POS server and log in as admin. If you have more than one QB company file on your network make sure you are connected to the right one. An easy way to do this is to look at your check register to make sure all the latest transactions are there.</p>
<p>If you’re unable to open QB with the correct company file, contact your bookkeeper or IT service provider for assistance. This must be fixed before we can get POS financial exchange working.</p>
<p>If QB opens normally, stay logged in for now. After financial exchange has been repaired you should no longer need to start QB in order to run End of Day or to update QB from POS.</p>
<p><span style="text-decoration: underline;">Remove the Old Connection</span></p>
<p>This is not required in all cases, but can prevent problems under certain circumstances. These steps are performed in QB, and are only necessary if POS has previously connected to this QB file. This will not affect any POS data that was previously sent to QB.</p>
<ol>
<li>You’ll need to be in single-user mode for the following steps, but for normal operation leave QB in multi-user mode. You can make this change under the File menu.</li>
<li>Select “Preferences” under the “Edit” menu. Click “Integrated Applications” on the left, then the “Company Preferences” tab ontop. Highlight “QuickBooks Point of Sale” and click “Remove”.</li>
<li>In rare cases QuickBooks Point of Sale may be listed more than once, so be sure to remove all instances.</li>
<li>Stay logged in to QB on the POS server for now.</li>
</ol>
<p><span style="text-decoration: underline;">Establish a New Connection</span></p>
<ol>
<li>Log in to POS as sysadmin</li>
<li>Click “Financial Center” under the “Financial” menu. Click “Show Advanced Options”, then “Set up QuickBooks Connection Now”.</li>
<li>If you have previously connected to QB you may see a screen asking whether you want to “Continue to use this company file” or “Let me choose a new company file”. I always select “Let me choose a new company file”, because I’ve seen cases where the other option just doesn’t work. Note that choosing “new” does not affect your data in any way.</li>
<li>You will be prompted to start QB. You should already be logged in as admin, so click “Next”.</li>
<li>If all goes well, you’ll see a “Congratulations” message. Click “Finish”, then “Close”.</li>
</ol>
<p>At this point you can send POS data to QBF by running End of Day or by selecting “Update QuickBooks” from the “Financial” menu.</p>
<p><span style="text-decoration: underline;">NOTE: If connecting an establish POS system to an established QB file for the first time</span></p>
<p>I recommend connecting POS to QB as soon as you start using it, but some people prefer to take things one step at a time and set up the automatic financial exchange later. After 30 years in the software business I’ve learned that this is good advice in other scenarios, but in the case of QuickBooks Point of Sale if often causes more trouble than it’s worth.</p>
<p>If you have a lot of data in POS that has not been sent to QB, and you’ve been entering sales data into QB manually, then the first time you run a financial exchange you’re going to get all of the historical POS data sent to QB, which could result in duplicate or redundant entries.</p>
<p>In order to avoid this, you should create a “dummy” QB file and run your first financial exchange into that. This could take a while if there’s a lot of history in POS, so I prefer to do it when the store is closed. Then set up a connection to your “real” QB file and do the following in POS:</p>
<ol>
<li>Click “Financial Center” under the “Financial” menu.</li>
<li>Click “Show Advanced Options”</li>
<li>Click “Recover Data Now”</li>
<li>You will be prompted for a date range. The Start Date should be the first date for which you did NOT enter sales data manually into QB. The End Date is usually today’s date.</li>
<li>Follow the rest of the instructions that are displayed and the selected data will be sent to QB.</li>
</ol>
<p>I hope you find this information useful. Please submit comments or contact me directly with any questions or suggestions.</p>
]]></content:encoded>
			<wfw:commentRss>http://whiterabbitservices.com/2011/07/19/repairing-quickbooks-point-of-sale-financial-exchange/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TechFlash article re: Android gains in smartphone market</title>
		<link>http://whiterabbitservices.com/2011/06/06/techflash-article-re-android-gains-in-smartphone-market/</link>
		<comments>http://whiterabbitservices.com/2011/06/06/techflash-article-re-android-gains-in-smartphone-market/#comments</comments>
		<pubDate>Mon, 06 Jun 2011 18:16:48 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://whiterabbitservices.com/?p=149</guid>
		<description><![CDATA[http://www.techflash.com/seattle/2011/06/android-gains-microsoft-slips.html I&#8217;m not an expert on the smartphone market, so I won&#8217;t pretend to be one here. But a few random thoughts on this article: I haven&#8217;t been hiding under a rock, just in my basement office. But I didn&#8217;t realize Android was so far ahead of Apple. I guess this doesn&#8217;t include iPads, especially [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.techflash.com/seattle/2011/06/android-gains-microsoft-slips.html">http://www.techflash.com/seattle/2011/06/android-gains-microsoft-slips.html</a></p>
<p>I&#8217;m not an expert on the smartphone market, so I won&#8217;t pretend to be one here. But a few random thoughts on this article:</p>
<ol>
<li>I haven&#8217;t been hiding under a rock, just in my basement office. But I didn&#8217;t realize Android was so far ahead of Apple. I guess this doesn&#8217;t include iPads, especially since it counts &#8220;subscribers&#8221; and a lot of iPad users just use Wi-Fi. Still, it&#8217;s looking good for Android. (Full disclosure: I converted from BlackBerry to Android about a month and a half ago.)</li>
<li>Does anybody seriously think that Microsoft&#8217;s deal with Nokia is going to help them close the 30% gap? I worked at Microsoft for 10 years and I can tell you there are a lot of smart people there. If they can&#8217;t figure this out on their own, I&#8217;m not sure how Nokia can help.</li>
<li>I keep hearing people insist that BlackBerry is still THE phone for business use. Have they ever bothered to ask &#8220;Why?&#8221; I ditched BB because of the poor performance and lack of apps. The line between one&#8217;s business life and personal life is almost non-existent anymore. BB is still in the game, but they&#8217;ve got their work cut out for them if they want to stay relevant.</li>
<li>I&#8217;ve yet to produce a mobile application, but I recently reviewed the programming process for both Apple and Android, and I have to say Android looks a lot easier. 20 years ago you had to jump through a lot of hoops to develop apps for the Mac, but you could easily find a pirated copy of Basic or C to do programming for DOS, and later for Windows. I think we all know how that turned out.</li>
</ol>
<p>Now all I need is a bigger battery for my HTC Thunderbolt&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://whiterabbitservices.com/2011/06/06/techflash-article-re-android-gains-in-smartphone-market/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Recommended Reading: Display of Power</title>
		<link>http://whiterabbitservices.com/2011/04/09/recommended-reading-display-of-power/</link>
		<comments>http://whiterabbitservices.com/2011/04/09/recommended-reading-display-of-power/#comments</comments>
		<pubDate>Sat, 09 Apr 2011 16:03:00 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Startup]]></category>

		<guid isPermaLink="false">http://whiterabbitservices.com/?p=142</guid>
		<description><![CDATA[Just caught this interview with FUBU creator Daymond John on Tim Ferriss&#8217;s blog. I read the book a while back, and I highly recommend it as an exciting business startup bio. In fact I&#8217;d probably rate it up there with Richard Branson&#8217;s Losing My Virginity for it&#8217;s combination of fun biography and business inspiration. Best [...]]]></description>
			<content:encoded><![CDATA[<p>Just caught <a href="http://bit.ly/ejggMA">this interview</a> with FUBU creator Daymond John on Tim Ferriss&#8217;s blog. I read the book a while back, and I highly recommend it as an exciting business startup bio. In fact I&#8217;d probably rate it up there with Richard Branson&#8217;s <a href="http://www.amazon.com/gp/product/0812932293/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=whitrabbserv-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0812932293">Losing My Virginity</a> for it&#8217;s combination of fun biography and business inspiration.</p>
<p>Best of all, at the end of Tim&#8217;s post there&#8217;s a link to the free eBook version, which you can also get free on Amazon Kindle (you don&#8217;t need a Kindle &#8211; you can install the software on your computer or smartphone).</p>
<p>Daymond John also has a more recent book published last year, <a href="http://www.amazon.com/gp/product/0982596219/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=whitrabbserv-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0982596219">The Brand Within</a>, which I haven&#8217;t read yet. I think I&#8217;ll order it today!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://whiterabbitservices.com/2011/04/09/recommended-reading-display-of-power/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calling a custom Salesforce Apex web service from C#</title>
		<link>http://whiterabbitservices.com/2011/04/01/calling-a-custom-salesforce-apex-web-service-from-c/</link>
		<comments>http://whiterabbitservices.com/2011/04/01/calling-a-custom-salesforce-apex-web-service-from-c/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 15:40:19 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://whiterabbitservices.com/?p=111</guid>
		<description><![CDATA[Update: The code below has been updated to copy the server address from the login result into the binding for our custom web service. Unfortunately it doesn&#8217;t work if you just copy the URL directly, so I parsed it to take the server URL and append the path to my web service. This works, but [...]]]></description>
			<content:encoded><![CDATA[<p>Update: The code below has been updated to copy the server address from the login result into the binding for our custom web service. Unfortunately it doesn&#8217;t work if you just copy the URL directly, so I parsed it to take the server URL and append the path to my web service. This works, but if anybody has a better suggestion I&#8217;d love to hear about it.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Having just figured out how to do this, I thought I&#8217;d post some sample C# code just to save somebody else the grief that I just went through. It&#8217;s simple, but not completely intuitive. The trick is that you have to authenticate via the Enterprise wsdl then pass the resulting Session ID over to your custom web service.</p>
<p>I got pretty tired of reading &#8220;answers&#8221; in the forums that consisted of, &#8220;Download the WSDL, cover your eyes, and when the smoke clears, everything will work perfectly.&#8221; So I thought I&#8217;d break with tradition here and show some actual working C# code. The Apex side is pretty well documented (search for WebService in the Force.com Apex Code Developer&#8217;s Guide). But then they just refer you to how to call this from JavaScript and Ajax without any mention of authentication. Yeah, that&#8217;s useful, thanks. Anyway, here are the steps to get this to work.</p>
<ol>
<li>Create your web service in Apex, following the Force.com documentation. In my example the class is called AccountMaintenance and the web service method is called myApexMethod.</li>
<li>Download your web service wsdl file (Setup -&gt; Develop -&gt; API Classes, and click on WSDL next to your class).</li>
<li>Download your Enterprise wsdl file (Setup -&gt; Develop -&gt; API -&gt; Generate Enterprise WSDL).</li>
<li>Add references to both of these wsdl&#8217;s in your Visual Studio project (I&#8217;m using the .NET 2.0-style Web Reference here). My Enterprise service is named &#8220;Enterprise&#8221; and the reference to my Apex web service is &#8220;MyApexClass&#8221;.</li>
<li>Add &#8220;using&#8221; statements as shown below.</li>
<li>Create binding objects pointing to each of these services.</li>
<li>Log in using your Enterprise wsdl as you normally would (I hard-coded the credentials in this sample, but of course you&#8217;d want to prompt for those). Don&#8217;t forget to append your security token to the password.</li>
<li>Instantiate the SessionHeaderValue object in your custom web service&#8217;s binding object, and set the sessionId to the value returned by the login process.</li>
<li>Now you can call methods on your Apex class</li>
</ol>
<p>I hope somebody out there finds  this useful. If so, or if I&#8217;ve left anything out, I welcome your comments.</p>
<p>====================</p>
<pre>using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ApexWebService.Enterprise;
using ApexWebService.MyApexClass;</pre>
<pre>namespace ApexWebService
{
    public partial class frmMain : Form
    {
        private SforceService enterpriseBinding = new SforceService();
        private AccountMaintenanceService myBinding = new AccountMaintenanceService();
                // This is the name of the Apex Class + "Service", defined in the MyApexClass WSDL

        private void btnGo_Click(object sender, EventArgs e)
        {
            LoginResult lr = enterpriseBinding.login("me@mydomain.com", "myPasswordMyToken");
            myBinding.SessionHeaderValue = new MyApexClass.SessionHeader();
            myBinding.SessionHeaderValue.sessionId = lr.sessionId;
</pre>
<pre>            // Update: Copy the URL returned by login to the endpoint for our web service
            int idx1 = lr.serverUrl.IndexOf(@"/services/");
            int idx2 = myBinding.Url.IndexOf(@"/services/");
            if (idx1 == 0 || idx2 == 0)
            {
                MessageBox.Show("Invalid URL strings in bindings");
                return;
            }
            myBinding.Url = lr.serverUrl.Substring(0, idx1) + myBinding.Url.Substring(idx2);
            // End update</pre>
<pre>            string result = myBinding.myApexMethod();
            MessageBox.Show("The web service returned " + result);
        }

        public frmMain()
        {
            InitializeComponent();
        }
    }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://whiterabbitservices.com/2011/04/01/calling-a-custom-salesforce-apex-web-service-from-c/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Extending The Power of QuickBooks with Custom Programming</title>
		<link>http://whiterabbitservices.com/2011/02/27/extending-the-power-of-quickbooks-with-custom-programming/</link>
		<comments>http://whiterabbitservices.com/2011/02/27/extending-the-power-of-quickbooks-with-custom-programming/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 01:40:22 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[QuickBooks]]></category>

		<guid isPermaLink="false">http://whiterabbitservices.com/?p=58</guid>
		<description><![CDATA[Many QuickBooks users and prospective QuickBooks users like the basic accounting functions in QuickBooks (financial reporting, accounts receivable, accounts payable, payroll, banking, etc.), but find that there are other aspects of their business where the existing QuickBooks features don’t quite meet their needs. These users are typically faced with two options: time-consuming and costly workarounds, [...]]]></description>
			<content:encoded><![CDATA[<p>Many QuickBooks users and prospective QuickBooks users like the basic accounting functions in QuickBooks (financial reporting, accounts receivable, accounts payable, payroll, banking, etc.), but find that there are other aspects of their business where the existing QuickBooks features don’t quite meet their needs. These users are typically faced with two options: time-consuming and costly workarounds, or upgrading to a much more expensive ERP (Enterprise Resource Planning) system.</p>
<p>In my work as an Intuit Solution Provider and software developer, I’ve help clients where QuickBooks has fallen a bit short in the following areas:</p>
<ul style="font-family: verdana;">
<li>Manufacturing</li>
<li>Supply chain management</li>
<li>Specialized data import or export</li>
<li>CRM (Customer Relationship Management)</li>
<li>Employee time and expense tracking</li>
</ul>
<p>It’s not just businesses who are outgrowing QuickBooks who face these issues. I’ve also met many business owners, especially in the last couple of years,l who are faced with a hefty annual maintenance bill for their ERP system and have come to the realization that for the same amount of money they can purchase QuickBooks Enterprise Solutions, get it implemented, and have money to spare for custom development or add-on products they might need.</p>
<p>I’ve also talked to many people who are planning for impressive growth in their businesses over the next few years, but the unspoken question is: Will it really happen? These businesses need a short-term solution for their software needs without breaking the bank.</p>
<p>Fortunately, Intuit has provided many ways for software developers to create tools that integrate with QuickBooks. Many can be found here: <a href="http://marketplace.intuit.com/Default.aspx">Intuit QuickBooks Solutions Marketplace</a>. In addition to these off-the-shelf solutions, many companies have worked with a software developer to create custom applications that are designed specifically for their unique business needs.</p>
<p>Some of the advantages of extending QuickBooks with custom applications are:</p>
<ol>
<li>Cost savings. These can be considerable. Implementing a full-blown ERP system can easily cost more than $100,000, and most ERP software vendors require an annual maintenance agreement, which is often around 20% of the original purchase price.</li>
<li>You get to keep a good accounting system (QuickBooks) that many of your employees have already learned how to use. Many ERP systems include an accounting module that’s much less user-friendly than QuickBooks. So you may get the manufacturing capabilities that you need at the cost of settling for an accounting system that’s harder to use.</li>
<li>In an uncertain business environment you may not want to commit to a more expensive ERP system. A custom solution integrated with QuickBooks may be a good interim solution until you have confidence that moving to an ERP system is a step that you can afford.</li>
<li>Save on licensing fees. The cost of an ERP system is often based on the number of named or concurrent users.  Custom software that is built just for you is often purchased as a complete package, without additional per-user charges.</li>
</ol>
<p>Sadly, the most serious objection I&#8217;ve heard to this approach is a result of management ego. Many people consider the purchase of an expensive ERP system as a sign that their business is all grown up. It&#8217;s also more impressive to tell your pals down at the club that you just purchased Microsoft Dynamics or NetSuite than to say you spent a few thousand dollars creating a custom add-on for QuickBooks. In the end, you have to do what&#8217;s best for your business.</p>
<p>To help you imagine the possibilities, here are a few examples of custom QuickBooks add-ons from my own work:</p>
<p><strong>CRM Integration &#8211; </strong>A professional services organization wanted to let their consultants enter time and expenses related to their projects into Salesforce, and then get paid out of QuickBooks. We customized Salesforce for time and expense entry, and built an integration tool to use this data to create bills in QuickBooks Online.</p>
<p><strong>Manufacturing Application</strong> &#8211; A wood stove pellet manufacturer receives raw wood materials in various forms (chips, sawdust, shavings) and species (fir, pine), with varying moisture levels, but needs to track the inventory according to a common basis. An external application was developed to manage the receiving of raw materials and production of finished goods, with bills and inventory transactions sent to QuickBooks Enterprise.</p>
<p><strong>Data Import</strong> &#8211; A real estate developer with many projects around the country receives monthly reports from their project managers in Excel. Tools were developed to read the Excel files and create journal entries, checks, estimates, and budgets in QuickBooks Enterprise.</p>
<p>I hope this has given you an idea of how QuickBooks can be extended rather than replaced, making it more useful to you while saving the expense of a costly ERP implementation.</p>
]]></content:encoded>
			<wfw:commentRss>http://whiterabbitservices.com/2011/02/27/extending-the-power-of-quickbooks-with-custom-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.327 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-22 16:44:19 -->

