re-loaded-c: transitioning your brick & mortar company into a virtual business one cloud at a time

Digital File Organization: Keeping Your Bookkeeping Records In Order

Running your business from a computer means that you can do away with the physical filing cabinet, and all of the associated clutter created by the “inbox” and “to be filed” baskets. You will use digital documents in the virtual world and so you need to create a system that will keep all of your records organized.

Our original bookkeeping filing system was simple. We basically had two main cabinets in our office. One was for all completed accounts payables, and other important documents such as service agreements with vendors and payroll. The second cabinet was used to organize active accounts payables that had been entered into QuickBooks, but were still awaiting payment. Along with file cabinets, we used 3 ring binders to file copies of all payments collected for accounts receivables, bank statements, transfers, and reimbursements paid to employees.

Digital bookkeeping files outline page
Click Image to View Larger

To make a digital file cabinet that duplicated our system I first wrote my system out as if it were an outline. I then created a working file on my computer and created the necessary files in each for the outlined sections. When I was completed with that, I named my file, “TEMPLATE-Bookkeeping FILES” so that I would know to keep this group that I had created preserved so I could use it over and over again each year. I decided that when you opened the file, that would be regarded as a “inbox” of where to place any documents that needed to be filed. I also included an image of what the file looks like (like the following). This is a great tool as you start working digitally in a virtual environment. It is nice to provide “road maps” since virtual can become rather abstract to those who are used to the physical world of paperwork and processing. Lastly, I made a copy of the folder, renamed it “20__-Bookkeeping FILES” and put it on the virtual terminal (VT) where my virtual assistants work.

At the closing of each year, I zip my folder, archive it on my backup drive, and then make a new copy and rename it to the upcoming year.

Initial Requirements To Start The Project

  • Identify the files that you use and list them in outline form
  • Create new digital folders to replicate these items
  • Outline instructions for the use of your folders and place it in the top tier folder

Learning Lessons Along The Way

  • Get a good scanner. It will become one of your key pieces of equipment. A bad one slows things down
  • Do not let anyone alter your system by creating new folders. By providing instructions you will discourage this bad practice. Just like any filing system that people have access to, you can end up with a mismanaged system that is disorganized.
  • If it is recognized that you need to make a variation folder that you did not make when you created your system, make it a permanent part of your system by including it in your Template file.

In conclusion, going towards digital filing systems is not difficult, even if you are in a physical office environment. Our company didn’t use very much paper and printing, but the first year alone, we saved on more than 10,000 pieces of paper and four cartridges of ink. We also saved on other office supplies we use in a regular course of one year such as paper files and filing accessories. The best savings of all is space. We have drastically cut down on storage and costs for waterproof storage bins.

Reads and resources:

  • BOOKKEEPING MONEY SAVER TIP # 8: Dumb Down Your Filing Cabinet, by E.T. Barton. Although E.T doesn’t seem to think that 100% digital file system is yet possible (and we know it is), there are great tips here on simplifying the way that you do filing and organizing of bookkeeping documents
  • Download the files we show above (and save time creating your own). It is a bare bones file outline that you can customize. Small fee: $0.99
    By clicking the button below, you agree with the Terms & Conditions.

Wishlist Fix: Your Shopping Cart is Empty!

In our business cart, our wholesale customers need to be logged in to access the cart features including Wishlist, which we have renamed to a professional, Reserve List. But when testing our consumer site, where we do not require visitors to log in to see our products, I noticed that when I tested the Wishlist button, it didn’t take me to the Wishlist, just an empty cart with the message, “Your shopping cart is empty.” The Wishlist worked after the customer logged in, but how was I going to make then have to log in first? And, how could I have the product that they were trying to put in their Wishlist, added automatically after they had logged in?

Product info page
Click Image to View Larger
Empty shopping cart
Click Image to View Larger

I found the answer in the application_top.php
In catalog/includes/application_top.php, between lines 320-390 do a search for:
// Add product to the wishlist
case 'add_wishlist' :

You will be changing the following:

case 'add_wishlist' :
if (isset($_POST['products_id']) && ereg('^[0-9]+$', $_POST['products_id']) && $_POST['products_id'] > 0) {
if (!isset($_SESSION['customer_id'])) {
$_SESSION['WISHLIST_PRODUCT'] = $_POST['products_id'];//this might be making redirect not work. comment out and test.
$_SESSION['WISHLIST_ATTRIBUTES'] = $_POST['id'];//this might be making redirect not work. comment out and test.
$navigation->set_snapshot();
tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
}

Change it to this:

case 'add_wishlist' :
if (isset($_POST['products_id']) && ereg('^[0-9]+$', $_POST['products_id']) && $_POST['products_id'] > 0) {
{
$_SESSION['WISHLIST_PRODUCT'] = $_POST['products_id'];
$_SESSION['WISHLIST_ATTRIBUTES'] = $_POST['id'];
if (!isset($_SESSION['customer_id']))
$navigation->set_snapshot();
tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
}

After this fix, if the customer is not logged in,

Wishlist
Click Image to View Larger

Encrypt Decrypt Credit Cards – CRE Loaded Fix

For all modifications, fixes, and code suggestions for
CRE Loaded, please note that we use the B2C PCI v 6.4.1, and have used B2B version 6.4.0. All the cart versions is similar, so you should be able to use this code for fixes by finding files by name and the code that I suggest. I highly recommend that you back up your database and your entire program before making any changes.

During the update to CRE Loaded PCI, the upgrade version gave an option to purge or mask any credit card information that was existing on our database. I was under the impression that this would be a continuing function as new credit cards were entered. However, very shortly after getting our “PCI Compliance status” I noticed that credit cards were showing up in the database. The CREloaded.org forum had a few threads from people asking what they could do to hide the card numbers, but the folks at CRE Loaded seemed to be under the belief that numbers were not being stored. They were.

I found this extension on the CREloaded.org forum site and have successfully used it. I want to note the fact that for the most part it has been tested by us and has worked, but I found that the extension was incomplete. Some code was missing or caused errors on our site. They were minor and I have listed them. I have made recommendations what to do if you have problems. If you follow my directions exactly, you should have success without any issue.

CRE Loaded now has an updated version of B2B. I do not know if this issue has been fixed.

Download the missing files here: Encrypt/Decrypt CC Numbers

Notes about the files: catalog/admin/popup_encrypt_help.php
This file may already exist in your program files and is residue from an earlier version of the shopping cart. Don’t be confused that you did something without remembering. No modification seems to be needed. You can overwrite your earlier version.

Suggest changes to an existing file in your existing store:
catalog/admin/includes/header_navigation.php

If your store is heavily modified like ours, you may want to just use the code that is going to make this extension work:

Around line 43 find
array('localization', 'localization.php' , BOX_HEADING_LOCALIZATION),
array('tools', 'tools.php', BOX_HEADING_TOOLS)

Change it to
array('localization', 'localization.php' , BOX_HEADING_LOCALIZATION),
array('crypt', 'crypt.php', BOX_HEADING_CRYPT),
array('tools', 'tools.php', BOX_HEADING_TOOLS)

The following code is missing from the downloadable extension, but can be easily added to your existing code.

catalog/admin/includes/filenames.php

Missing code: At the end of file, before the “?>” add the following

//encrypt files
define('FILENAME_CRYPT','crypt.php');
define('FILENAME_CRYPT_TEST','crypt_test.php');
define('FILENAME_CRYPT_PURGE','crypt_purge.php');
define ('FILENAME_EDIT_KEY', 'edit_key.php');
define ('FILENAME_CRYPT_UPDATE', 'crypt_update.php');
define ('FILENAME_EDIT_KEY_HELP', 'edit_key_help.php');

Also, the configuration file includes a alteration to your “configuration_group” table that might already be present (maybe was connected to that residue file for popup window help…). To avoid an error message, I would suggest running it separate from the other three alterations which are for your “configuration” table.

This next one isn’t in the extension or in the program, and so I am beyond perplexed, but if it isn’t addressed, it will cause a problem when you try to use Encrypt/Decrypt in your administration:
You must make changes to your database to include a column in recordset: orders or you will get this error:
1054 - Unknown column 'cc_ccv' in 'field list'
update orders set cc_ccv = null

Our webhosting service is with Lunarpages. They, like many server providers, use a control panel that includes the user friendly, phpMyAdmin.
For variety, I have added images of my phpMyAdmin and how to add a column to your table without writing sql. (All images enlarge upon clicking on them)

At the top of the table, “orders” select the “structure” table. You add a column towards the end of your table structure. It looks like this:

Add column in phpMySQL admin panel
Click Image to View Larger

I suggest that you add the column named ‘cc_ccv’ after ‘cc_number’. It just seems logical to me.

This column’s options should follow the image. VARCHAR can be any number that is more than 4 digits (most ccvs are not longer than 4 digits on most credit cards). I have it at 90 for no other reason than I copied the attributes of another column for speed.

Add column in phpMySQL admin panel
Click Image to View Larger

Once you log into your admin panel in your CRE Loaded cart, you should see ‘Encypt/Decrypt’ in your navigation. Instructions on how to use the program can be found there.

The Journey Into Open Source Shopping Carts

As a business, we serve retailers and consumers. We started as a predominant wholesale business and the majority of our business is still wholesale. However, we later joined the ranks of consumer sales. I will talk about that in another post.

Our early requirement for going mobile, was to create some sort of central access program that would allow our sales reps to see what inventory that we had, be able to write orders for our customers, and have a place to catalog our products so that sales reps could show what we offered.

I have had a “don’t touch it more than one time rule” that I try to work towards when creating procedures, so it had to work with the current program that we used for inventory and invoicing: QuickBooks.

Our company began to solicit web designers and developers in 2007 to see what costs would be involved in the type of site that we wanted. It really blew my mind when I started getting back quotes of $20,000 to $100,000 for the type of site that we were desiring. At the time we were not serving the direct consumer, as I have already stated, and as a company in the position we were at that time, we couldn’t justify a content management system that would basically be used for order taking and moving inventory with a cost of almost $50,000 on an average.

I knew that we needed to develop a way for our dealers to order online and for our sales force to write orders. I then realized that the “shopping cart” concept could be customized to do what we needed. Once I changed the wording ‘shopping cart’ I saw that I had discovered an excellent solution for the requirements of servicing people who interacted with my business. Hence I began to look at a solution with a different eye on what we were trying to achieve.

Initial Requirements To Start The Project

  • Integration with current inventory and bookkeeping system (QuickBooks)
  • Easily accessible via the internet
  • Be user friendly straight out of the box
  • Economical
  • Scalable

Choosing a shopping cart was one of the early challenges of becoming a mobile business and one of the greatest areas of my growth as a developer of a mobile environment.

In the searches that I performed in my quest to learn about economical shopping cart options that would satisfy my initial list of requirements, osCommerce and ZenCart appeared the most. Both could be integrated with QuickBooks (after a little tweaking), both would make accessibility from the internet possible via web stores and back-end content management systems. Both were relatively user friendly in that I could upload them and get started with their basic framework and straight out of the box. They are both open source platforms so they are free. And finally, I could add additional code that to perform custom functions so they both were scalable.

I downloaded both programs and started messing with them in a test environment. Being a newbie, the more I tried to customize the program for our business, the more I needed online support for the questions that I had. The more I needed support, the more I found osCommerce to be the most expansive in answers through their forums. I later learned that osCommerce was the basis of ZenCart.

Once I downloaded the program and really began to get my feet wet, I discovered that what I could imagine for our site, could become a reality. Contributions were like a golden grail for me. I could start to incorporate all of the wishlist items that I had given to the early developers that we met with. But the more that I got into it, the more time it was requiring me to rewrite code (which I was learning to do along the way) and test whether the contributions were user friendly and made sense for what we were doing. After about a month of working on just the basic framework of tweaking our site, I estimated that it would take be many months more to add everything that I wanted to add. I just didn’t have the time that was required of me to run a company, and work on this “side-project” for a future world.

This is how I came to know CRE Loaded. CRE Loaded took OsCommerce and contributions that would make sense to a B2B company like we were, and combined them as a package. I reasoned that the $470, it cost at the time, would be worth the months of work that I would have to do, or pay someone else to do for more money. Buying the program did not solve all of my needs, or work exactly the way that I visioned our system, but it laid a very strong foundation for us to move forward. And because it has the same basic code as contributions and the OsCommerce platform, I saw that whatever was lacking, I could add along the way as I became more proficient in what I was doing as a side-line programmer.

CRE Loaded offers a variety of shopping carts.

Learning Lessons Along The Way

  • I began to learn basic PHP code because it is required in order to integrate and expand an open source platform like CRE Loaded, ZenCart or osCommerce.
  • I also learned the words I needed to communicate to developers and programmers the objectives of a project that didn’t leave room for open-ended suggestions requiring large sums of money.
  • I learned that the word, “Shopping Cart” like most other words, can be redefined and examined for broader potential in developing a mobile environment

Conclusion

You will see that I have CRE Loaded (now Loaded Commerce) listed in my virtual partners on the right hand column. Working with CRE Loaded for me has been like breaking a wild horse into being a submissive kiddie pony for the carnival. And even then, I am constantly refining, changing, fixing newly discovered glitches, etc.

If I have scared you, then I recommend that you look into other carts and their reviews. As I don’t have experience with other carts, I cannot make recommendations for any. However, at the end of this post I will have links where you might start your investigation into carts.

Suggested Action Items For You to Start Now

  • Get yourself up to speed on basic terminology like PHP, CSS, HTML. It will be a language that you will use often even if you are only going to be managing others. It will save your company money.
  • List what you want to accomplish via an ordering and inventory management system and then use those words in searches on the internet. You may find new definitions, or a broader idea of what you want
  • Look into open-source programs as an option to fee-based programs. A lot is out there, and free doesn’t mean cheap or less valuable.

Resources

  • w3schools.com Easy lessons to learn PHP, HTML, MySQL and CSS
  • Review and chart of the programs I have listed as well as other popular open-source carts: itwebexperts.com
  • Basic rundown description of carts. A lot of comments are made on this page from people about their experiences.webtecker.com

And please, if you decide to use the resources that I mention, I hope you will use our affiliate/sponsor links whenever provided. Your support will help to support this site.

Hello World! (Or: How To Start From Where You Are Now)

I have a reloaded company.

One and a half year ago our product-based business existed in a brick and mortar world like most product-based businesses. We had employees who showed up for work each day from 9 – 5, an active 3000 sq ft warehouse that contained the goods we imported from Hong Kong, and a front office, meeting room, file cabinets, break room and his/her bathrooms.

Today I work from wherever I desire. The only requirement for me is internet access. I have an employee base that is scalable to my company’s needs and we can service our customers as they need it, not limited by the hours we set. Our shipping is more efficient and warehousing is flexible to the inventory space that we have presently, and the space that we will need when our goods come in from our factory. My meetings are held online. The post-twitter world has increased the impact of my communication skills using IM. I can now communicate in real time the highlights of a particular project in a few keystrokes. The detailed project itself having been sent ahead as a pdf, onenote, evernote, email, or other form of digital organization, only clarifies our company’s objectives and probably makes everyone a bit more focused on the task at hand. My contribution to a healthy earth have been evident in the enormous savings of office supplies that we now no longer need, and the waste-paper baskets which now rarely need to be emptied. Files for important paperwork such as bills and invoicing are digital as well as the documents themselves. Most important, we have automated our processes to the point that nobody on my staff ever touches the same thing twice and communication as a whole, with staff and our customers, is more transparent than it has ever been. We are a work force of forward movement! Our customers are a band of happy campers! As an owner of a business, I now have the freedom to think bigger. Being digital starts to blur any boundaries that once seemed so physical.

I guess you can say that our business is ran in a cloud. Or at least this is the current buzz word that best describes my business. Our business model began being developed in 2006 before words like this existed. I got an idea that I would like to run a business completely from my laptop while traveling by air to visit my daughter. At that time internet was not even common on commuter planes, but I got a ‘vision’ that it could be done. It seemed that every part, segment, and condition has changed to accommodate this idea. Now, I have plans to run my business on my iphone. It may take a few more tweaks to the system, but now I see how possible it is.

Once again, I want to remind you, because it still blows me away that we have done what we have done: We are a product-based business. We are not an internet start-up, not a predominantly laptop based business like web-design or writing, and not a finance or service group that can easily exist in the cloud. Our transition was challenged by a lot of physical-based processes and business activities. We had a brick and mortar building and all the other traditional makings of a “real” business existing in “solid” time. Now, my business is a re-loaded company. This means that it has more power, more room to grow as it needs to, and more freedom to hire from a boundry-less world of talent by doing business the way we do it now.

I can’t see why everyone, especially in the music instrument and accessories industry that we belong to, wouldn’t want to do it. Guitar Center almost does. Fender probably could. My company, Core One, already does.

This blog is written for product-based businesses who currently exist in a brick and mortar world but are streamlining their business or are transitioning into a more mobile way of doing business. If you plan on going 100% into the cloud as we have, I hope I can share some of my experiences with you.

If you have a start-up businesses and are planning your mobile strategy and business organization from the ground up, good. I hope you will follow. Maybe some of my experience will help.

Please subscribe to my blog. It will allow you to post comments, be able to submit articles, and (someday) will give you some inside track information that I will eventually share. I want to know who you are.

Open-source solutions are a big part of the organization and procedure based solutions that we have found. I believe that shared knowledge is power. I hope you will share with me some of your experiences, tips and comments to the posts that will make up this blog as I share with you as time passes.

Welcome.

~Kimmy McCann, Executive Director, Core One