Runaway sales departments have always scared the heck out of me as an accountant and inventory specialist. “Revenue solves all known problems,” Eric Schmidt, the former CEO of Google, was infamous for saying. Business owners around the country share that sentiment and emphasize making more sales before curtailing expenses. It’s that drive for ever more sales that leaves operations and accounting departments struggling to keep up. Well, now we have even more to track. Today, not only do we need to track inventory and revenue from one, or even a couple of sales channels, but … welcome to the “omni-channel” inventory accounting world. Business owners and their accountants need to tune in to the issues and challenges posed by this development.
In the distant past (say, 5-6 years ago in technological time), small businesses took orders over the phone, by (gasp!) fax, and might have figured out how to piece together a single web page. If they were lucky, they could attach the payments together with the orders, but the data remained locked in a report or CSV-type file. Someone still needed to convert the online orders to invoices in the accounting program and pick tickets in the fulfillment department. Combined with phone/fax sales, these were the early days of multi-channel selling or order management.
But the sales-focused business owners soon realized that if one website (or “sales channel”) covered its costs, then more must be better. Soon, Ecommerce sites like Shopify, WooCommerce, Magento, and others popped up, making it easier and easier for these companies to sell online through multiple forums. The emphasis was (and still is), on getting your product in front of as many eyeballs as possible, and even poor marketing would lead to increased sales.
Multi-Sales-Channels: The Accounting Challenge
The problems that multi-sales-channels inflict on accounting and operations go beyond just tracking more inventory and reconciling longer bank statements. Now, the IT people, accountants, bookkeepers, and warehouse folks provide the data about what’s available back to those multiple sites. One of the worst possible things a sales person can do is promise a product to a customer, only to find out that the item is out of stock. Sales people rely on the back-office folks to keep that information up-to-date, and to post the availability across all of the websites. This is fully-integrated “multi-channel integration.” The technology typically comes in bits and pieces, from multiple software vendors and tools, but relies on people to keep it all in sync and not let it break down. Therein lies the challenge.
Let’s start off with an easy example of moving orders between programs. Say your client has a QuickBooks Online account, and they just opened a Shopify Ecommerce store. There’s a couple of ways to connect these two programs. In the Shopify App Store, the client could choose QuickBooks Online to connect with it, and completed orders would become sales receipts or invoices in the accounting program, depending upon the paid status. This is a “direct connect” method.
Here is how Shopify sends the orders over:
- Orders paid in full will be created as Sales Receipts
- Refunds are created as Refund Receipts
- Products are created and/or updated
- Customers are created or updated
- Shopify Payment fees are exported
The “free” version of Shopify only exports orders. The paid plans include updating quantities from the QuickBooks Online inventory levels, which must be kept up-to-date for Shopify to reflect accurate quantities.
Another way of moving data between programs is by using “connector” or “bridge” programs. An action in the source application “triggers”’ an “event” in the receiving application. The rules governing what must happen in the originating program, and the results of what happens in the target program are defined in the bridge.
For example, say we want “pending” orders in Shopify to generate Invoices in QuickBooks Online. We could use a program like Zapier (as in this demo) or IFTTT (IF This Then That) to set up the rules and execute the action when the trigger event occurs. Zapier even models some of the most common setups for you:
Once the “rules” are defined in these programs, the customer enters their order(s) online, and the resulting actions happen automatically. Here is how it works:
- A new order is placed in Shopify.
- Zapier scans the Shopify account every 15 minutes or can be run manually.
- A QuickBooks Online customer is found or created.
- An invoice is created in their name if the order is pending payment, or
- A Sales Receipt is created if the order is marked paid.
- Quantities are updated in Shopify (from QuickBooks Online master inventory record with paid plan).
Note: Shopify does not link directly to QuickBooks Desktop products, but provides an exportable CSV-file formatted spreadsheet with the sale information.
Who’s the ‘Master’?
Either one of the above mentioned ways of getting sales data into QuickBooks works for adjusting the inventory levels. It gets more complicated if additional Ecommerce sites, like WooCommerce or BigCommerce, are added. It’s important to understand the concept of a “master record” when it comes to inventory. In these cases, QuickBooks online holds the “master record,” and the sales channels are dependent on it to update their databases. Purchases are added to the inventory, and sales deduct it. The problem remains that QuickBooks must “talk back” to these channels to update inventory in their databases, in real time. You wouldn’t want to sell an item online and take payment from a customer for an item you don’t have in stock, or are at least expecting to get in very soon.