Showing posts with label QuickBooks. Show all posts
Showing posts with label QuickBooks. Show all posts

QuickBooks POS in a Hosted Environment

QuickBooks Point of Sale in a Hosted Environment

Retail operators and multi-location store owners often face difficulties in attempting to bring cohesion to their accounting, financial, and operational data.  In so many situations, the retail location –  where inventory is sold and money is exchanged – is far-removed from the administrative location where the financial systems and business reporting exist.  It seems that the best case scenario is to create a means for the remote (retail) locations to operate with real-time access to centralized customer, inventory, and financial data from a primary source. Application hosting services can provide this centralization,  and a platform for standardization, of systems.  Further, the application hosting model can deliver security and managed service which ensures that the systems are available and performing as required. 

Even though hosted applications and centralization of the systems and processes in a POS environment may appear to be the right answer, there are caveats and considerations that speak to the realities of today’s technologies.  These caveats should be strongly considered prior to undertaking any reformation of systems and processes relating to the retail locations.

The first fundamental reality which must be addressed is connectivity.  While a retail or store location may enjoy Internet or network connectivity, there should be great consideration given to the wisdom of connecting these locations only and exclusively via remote access systems.  Retail is a dynamic business, and the sale is made when the customer is ready and willing to buy.  Any retail location must be able to process this sale in order to meet the immediacy of customer demand.  If the systems in use are exclusively accessed remotely, then the connectivity to those systems become of paramount importance in the ability to do business.  At the very minimum, any remotely-served retail location should have redundant connectivity options, with local personnel being familiar with the connection failover process.

A second strong consideration for a hosted or remotely-deployed POS or retail system is local device support.  Devices, such as card readers, scanners, cash drawers, receipt printers, etc. typically require local PC/computer drivers in order to function.  When served by a remote system, this connection between the host and the local devices may not function.  Limited device support for POS hardware can significantly impact the location’s accuracy and efficiency.

Another area of consideration for POS and retail systems centralization is integration or synchronization of POS data with core accounting and financial data.  Depending on the software solution in use, this integration may require that the POS software/data and the financial software/data reside on the same computer and/or within the same network.  This may be one area where a hosted implementation may offer a great deal of benefits, but the benefits to be derived are often a function of the design and behavior of the applications integrating.

QuickBooks Point-of-Sale, for example, was designed for use on a single-user PC environment.  The application is not well-suited to a hosted deployment for multiple users, as the software only allows one instance of itself to run on each computer. While there is a “multi-store” option for this solution, the option requires all stores be connected via a LAN/WAN connection to the same network. RDS (remote data sharing) functionality might possibly be used to allow communication between locally-run POS locations and the “master location” at a hosting service provider, but this method of communication has previously been found to be somewhat problematic and platform-specific (see notes following relating to multi-user/store configuration and Vista OS).  Further, the potential poor performance of RDS connections often negatively impacts the value of the integration.  


In many cases, the suitable answer is to keep the POS systems running on the local computers and network, and run the financial applications and the POS integration at the host.  With an installation of the QuickBooks financial application and the point-of-sale solution with the hosting service provider, the core financial data is able to be secured and protected in the virtual environment without risking lost productivity (and lost sales!) due to connectivity failures at the retail locations.  The end-of-day process at each location is to then move a copy of the POS data file to the host system, where it would be integrated with the QB financial data.  In environments where is is desirable to have the POS systems reading customer and/or inventory data directly from the QuickBooks financial data files, the recommendation is to keep an available copy of the financial data file in the POS network, on the local computers.  This copy of the data file provides the point-of-sale systems with necessary customer and product information, and would be copied/updated during the same end-of-day process where POS data is moved up for integration on the host system. 

This process is very similar to the way in which a localized system might be utilized, where the POS application runs at the front counter and the accounting application and data run from a back-office system.  In this scenario, many businesses elect to simply log off from the front counter system so that they can launch the POS application from the back-office computer, and then integrate the POS data with the QB financial data on that same computer.  Even in remote network configurations (WAN configuration), this is often a method which delivers better performance and stability than utilizing the remote data sharing service.



CRM Solution Gets High Marks from QuickBooks ProAdvisors

Results CRM offers robust features, yet is simple to use for small business users

Results CRM Solutions offer more functionality and features than most CRM solutions oriented for small businesses.  In most cases, a robust solution like this would require lengthy configuration and training efforts in order to make the system useful.  With Results CRM, however, a business can be up and operational within minutes.
 

The solution was recently reviewed through Intuit's ProAdvisor program, and got a rating of 9.75 out of 10!

From the review:
Results is extremely full-featured. Products with this level of functionality often have a complex architecture making them hard to learn and use. With Results, navigation and search functionality are simple and allow you to easily and rapidly access the data you desire.

Implementing Intuit Statement Writer on a Secure Network

The Intuit Statement Writer is a custom reporting and financial statement tool for use with QuickBooks Premier Accountant and Microsoft Excel. The solution has a few peculiarities that must be addressed in order to make it function properly (or at all!) in a networked or hosted environment.

The issues center primarily around the fact that the application was designed for use on a standalone PC, and doesn’t take into consideration the potential for redirected or restricted data folders. Further, the method of integration with Microsoft Excel requires specific support from the Excel application, so care must be taken in selecting the version of Excel (or Microsoft Office) to be used.

In computing environments where the QuickBooks and Office applications are installed directly on each PC, and where data is stored locally on the PC, most of these issues become irrelevant. When the applications are utilized within a strictly controlled domain, however, a variety of issues may arise. If the applications are to be utilized in a terminal server environment, then many issues will certainly come into play.

The Intuit Statement Writer solution requires QuickBooks Premier Accountant v2010, and Microsoft Office 2003 or greater. The version of Office or Excel used must be at least version 2003, and it must be either the full standalone version of Excel, or Excel as part of MS Office Standard, Professional, or Enterprise. Excel as part of MS Office Small Business, Basic, or Student/Teacher editions is not compatible. All editions of Excel 2007 are compatible.

By default, the Intuit Statement Writer (ISW) stores its files on the local PC where the application is installed. The application utilizes the local “My Documents” folder as the location for ISW files. In an environment where the My Documents folder is redirected to a network folder or share, the program fails to install or run properly. The specific error messages encountered may vary, but are essentially indicating the same issue: you are attempting to use an unsupported file folder location.

Intuit Statement Writer (ISW) requires full trusts and permissions to the My Documents folder, which is automatically granted when the folder is local to the PC. When My Documents folder is pointed to a shared network drive, the trusts and permissions are no longer granted and the error message will appear. According to Intuit, “Intuit Statement Writer files and appearance files (.gsm and .gss) can be stored on a server or network drive, but it is not possible to open and work with the files while they are located on the server without modifying security policies on the machine. Because we don't recommend this, the files must be local when working with them." It is necessary to copy the ISW file you wish to work with to your local drive, and, when finished working with the file, copy it back to the server.

In addition to having difficulties using server or network drives, ISW also will not function as a multi-user application, due to the architecture and reliance upon the MyDocuments folder. While ISW may be used without issue while QuickBooks is in multi-user mode, only one user at any time is able to work with the Intuit Statement Writer files.

Relating to the policy and permissions issue, there is a Microsoft Support article which describes a potential resolution (http://msdn.microsoft.com/en-us/library/9w6bd8f1.aspx How to: Grant Permissions to Documents and Workbooks in Shared Locations (2003 System)) This article addresses this issue and provides information on modifying security policies around the Office Document Membership Condition on the computer(s) where ISW will run.

Two methods are provided: using Visual Studio command line tools, or using the Microsoft .NET Framework configuration tool.

In an effort to simplify making these changes on your systems, Intuit has provided a batch file which can be run on the system where ISW is installed, and where the My Documents folder is redirected for the user.

Obtain the batch file here: https://www.quickbase.com/db/bewwfafti?a=GenNewRecord

This batch file (actually 2 batch files) grant full trust to the ISW dll files, checks to see if and where the My Documents folder is redirected, and attempts to grant full trust to the specific network location of the My Documents folder through the Microsoft .NET Framework 2.0 assemblies. Care must be taken any time .NET security policies or configurations are adjusted, especially when working within a secure domain. The .NET Framework Configuration tool (Mscorcfg.msc) enables users and administrators to modify security policies for the machine policy level, the user policy level, and the enterprise policy level.

From Microsoft: "Prior to the .NET Framework, most Windows applications had free access to all of the local computer resources, including the registry, file system, event logs, environment variables or available printers. Due to the limitations of role-based security, administrators were conditioned to accept that nothing was off limits to a running application as long as the user (or the user context under which the application is running) was authorized to use the resource.With the proliferation of distributed component-centric systems, it's not uncommon for applications to download and execute components from Internet/intranet sites or network shares. The possible negative consequences of such applications are obvious. Malicious code, whether by design or not, could be loaded from an external entity and wreak havoc on a local computer or the network on which it resides. There is also the threat of security breaches that could jeopardize the privacy of sensitive data."

Because the Intuit Statement Writer utilizes features of Microsoft Excel, it relies heavily on the behavior of the Office applications and document permissions on the computer and network. These permissions are often controlled by establishing security profiles or policies via the .NET framework. If the location of a Microsoft Office 2003 document is not secure (for example, a SharePoint site or file share that users—possibly including malicious users—can write to), or if you are not sure who has permission to upload content, you can grant permissions only to documents and workbooks in the location, rather than to all content. You do this by using the Office Document Membership Condition, and modifying the security policy to check for this condition on the computers on which your solution will run.

When you use the Office Document Membership Condition, only Office documents are trusted; assemblies and executables are not granted permissions to be run from the share.This permission or trust is often assigned to a “code group”. Code groups can provide information on how the system determines the allowed permissions. The allowed permission set for the policy level is the permission set associated with the code group that has this attribute.

When all policy levels are considered, the runtime never grants the code more permissions than those associated with the Exclusive code group. Within a given policy level, code can be a member of no more than one code group that has the Exclusive attribute. This may be problematic for some administrators who wish to implement the Intuit “fix”, which creates a policy group and then establishes that group with the Exclusive attribute. Network administrators with pre-existing security policies may well find that the Intuit fix will not work as delivered, due to the fact that Exclusive policy groups may already exist to govern the permissions of Office or other documents.

Intuit KB Article: http://support.quickbooks.intuit.com/support/Pages/KnowledgeBaseArticle/1011230

1. After the zip file is downloaded, you will need to extract it to the desktop...

2. After the file as been unzipped, open up the ISWFix1 folder and double-click on the ISWFix1.bat file.

3. These steps will need to be performed for each computer or user account that needs access to ISW.

4. Terminal Services/Citrix: Ensure the ISWprefs.ini file is set to not delete itself when the user logs out.

http://msdn.microsoft.com/en-us/library/2bc0cxhc(VS.71).aspx#cpconnetframeworkadministrationtoolmscorcfgmscanchor4

Microsoft .NET Framework configuration tool

Migrating Business To The Web

Every business has similar, fundamental business problems to solve. In most cases, the business applies technology (computers and software) to facilitate the solution. The fundamentals that each and every business must address include: keeping score, accounting for their business operations; producing information, for internal and for external use; and communicating, with co-workers, team members, clients, and vendors.

Once you get beyond those fundamentals, however, every business has something unique to address in terms of how they actually operate. Supporting the operational aspects of the business - managing people, resources, information, processes, etc. - is the next step in enabling the business.

Within each business there are different kinds of processes to facilitate, creating the demand for software developers to build systems to address specific processes or to deliver specific functionality to the many and varied businesses in the world. Even within an industry domain or realm, there are likely numerous solutions available for any given business problem. For most organizations, selecting the right applications for the business often requires that those applications integrate, or work together in some manner.

But here's the issue: not everyone programmer develops software the same way or using the same tools. What ends up happening is that each software product has its own "footprint", and behaves differently. Some packages are written well and offer flexibility in how they are implemented; and some not. Disparity in application design and operating platform requirements can significantly increase the complexity of not only integrating the solutions, but managing the software and platforms to keep those integrations running. For these (and other) reasons, application integration (or data integration) is not always easily accomplished in a small business.

At an ever-increasing level, users are also now demanding remote and mobile capability from their software. The market has generally accepted the value of remote/mobile access, and businesses need to offer their workers the flexibility to work from a variety of locations (at the office, from a remote office, from home). Now the enterprise has to figure out a way to fit that square peg (the software they currently use) into a round hole (mobility!) It really starts to matter if the software products in use are all designed to run differently. Can the organization's selected applications be oriented towards remote or mobile access? Generally, the answer is "YES" (but with caveats).

The Application Service Provider model, or hosted application model, was developed to provide remote access capability to applications that traditionally don't work in that capacity. Additionally, the ASP model was designed to improve application management and administration for the subscriber, reducing or eliminating the complexities of handling multiple integrated solutions. Allowing a business to "migrate" to the web gives that business new capability and, potentially, a new working model that could easily include remote offices and mobile users. Migrating with the existing in-use applications allows the business to benefit from the new working model, but avoids the difficulties of transitioning to and learning new software.

Application hosting isn't a new concept at all, it's just gaining in popularity for several key reasons:

  • Broadband is plentiful. You can get high-speed internet service now just about anywhere. That wasn't the case just a few short years ago.
  • Localized IT solutions are getting more complex. Bundled solutions (like a Microsoft Small Business Server) make it easier to purchase an array of technology solutions for your business, but there's nothing in the package that makes it easier to set up and manage over time.
  • Remote and mobile access is critical. More businesses operate with a home-based workforce ("home sourcing"), or with multiple business locations. The Internet has made it a global economy, and remote and mobile access is what helps a distributed enterprise work as a collective or unit.
  • SaaS solutions, such as online banking, have raised awareness of the possibility of secure Internet-based computing. So, as new SaaS solutions emerge, the market is beginning to recognize the value of hosting and is building trust in the model.
Once the business has adopted the new working model and has gained trust in Internet-delivered solutions, then the business is poised to take advantage of new Web-based solutions that might become available. Breaking the adoption into two parts - managed service first, Web-based or SaaS conversion second - allows the business to move forward with a minimum of disruption to systems and processes.

Joanie Mann

Throwing in the Towel - Linux on the server = yes. Linux on the desktop = not if I don't have to

Linux Linux Everywhere. Except where you can see it.

There is a lot of discussion in the media about Linux and Microsoft. The recent agreements between Microsoft and various Linux distros came as quite a surprise for some people, as there is a significant difference in the business model and philosophy of open source software versus commercial software. "Microsoft has announced a partnership with Novell and will help promote Linux. This is stunning. This is like Red Sox fans announcing they're going to root for the Yankees." (Forbes.com) But for others, these agreements simply underscore the reality of the market at large: Windows wins on the desktop. It's not because of functionality or because it's superior technology or because of the cost. It's because of momentum. This is the same reason why Intuit QuickBooks wins when it comes to smb accounting. MOMENTUM. It's the most important thing right now, and it is being leveraged quite nicely.

Take Microsoft, for example. First, they market against Linux. Then, they see the server market numbers being impacted in a big way with Linux sales for servers, so they figure out a way to make that market theirs (at least partially). What this does, in effect, is acknowledge that maybe Linux is a good thing to use on some servers, as long the desktop still runs Windows. Put your "partners" where you want them; where you can possibly control them. That way, you can still fulfill your primary mission - keep your products squarely in front of the end-user. And there are way more desktops than servers in most enterprises. Volume = Momentum. Also, the end-user works directly with their desktop and gets to experience operating the OS and applications running on it. Not so much with servers. Familiarity = Momentum.

Intuit has also taken this approach, and it's going to work for them. The Intuit team apparently heard the message coming loud and clear from the Linux community: "I really need QuickBooks on Linux", and has taken the steps necessary to satisfy the requirements of the market. Sort of.

"Answering the call for an open source option from Information Technology professionals, Intuit Inc. announced that businesses will soon be able to operate QuickBooks Enterprise Solutions from Linux servers." (Intuit press release). Amazing. But, again, it underscores the defacto standard that exists in the market: Windows runs on the desktop. Intuit is willing to acknowledge (as Microsoft did) that maybe servers are OK for running Linux. Maybe servers with Linux are even a good idea. But the application that the user sees? It's a Windows desktop application. The desktop OS that the user must run? It's Windows. Go figure.

Note that it is only the Enterprise Solutions which will be available with a Linux database server. While the QuickBooks Pro/Premier versions utilize the same Sybase database engine, Intuit must have figured that their requirement to support Linux sits only at the Enterprise level rather than the entry-level or smb markets. Maybe they, like Microsoft, believe that only larger companies need or want Linux, and only at that the server level. Again, it is momentum. Intuit essentially owns the small business accounting market, and they will continue to fight to keep it. By softening to the Linux community, at least at some level, they gain users and access to new markets without compromising their primary goal: keep the product squarely in front of the end-user.

It's not really surprising to see either Microsoft or Intuit take this approach. I fully expect other Windows-platform applications to follow this route, and to possibly make their servers available for Linux platform while keeping the client-side in Windows. It allows them to capture a growing segment of the IT market while not increasing their development (or IP?) exposure dramatically. It is typically much more cost efficient to develop to a single platform than to try to support multiple platforms well. With the Microsoft/Linux "alliance", there is an element of safety now for Microsoft-platform developers who wish to incorporate Linux support in their products. And while this all looks good for Linux platform adoption at the server level, the desktop space is still pretty much locked up with Windows (no pun intended).