eCommerce and Accounting Package Integration (Part 2): Creating Orders Automatically
Part 2: Creating Orders Automatically
By: Mike Catalfamo
The goal of the order posting process into the accounting system is to automatically create a document such as a Sales Order that would reflect the same order details in the eCommerce cart that also satisfies the accounting and business systems requirements. Refer back to the steps in the previous post, Overview of Order Fulfillment Cycle as we consider the following:
Step 1: Order Filtering
Sandy doesn’t want to waste time sifting through orders that have not been finalized and certainly does not want these to show up in her accounting system which means ignoring whatever hasn’t been paid for (authorized) successfully. Filtering is typically handled by the Integration Platform which looks at the status of the orders and tracks the last time orders were pulled so only new orders will be downloaded.
Step 2: Validation (Catching Errors)
- Replicate manual data entry process as closely as possible
You should have the flexibility to refine the data coming from the eCommerce cart prior to importing it into your accounting system. Sandy needs to be able to do the following as part of the order creation process in her accounting system.
- Add the word ‘web’ to a notes field in her accounting to indicate that this was an E-Commerce order. She will later be able to use this notes field as a filter for creating a custom report.
- Concatenate ‘first’ and ‘last’ name fields which are separate in the order but need to be one field in the accounting system.
- Add free shipping if the order is over $100. Note: Calculations such as adding discounts and taxes are best handled by the E-Commerce site or accounting system but you should be able to massage the data conversion process if necessary.
- Control error levels for key pieces of data such as mismatched pricing (order vs. accounting)
Depending on your business and how you have your accounting system configured, correct item pricing for a specific customer may come from the eCommerce cart or it may come from the accounting system. For example, Sandy has both end customers and wholesale book dealers that order online; the end customer pays full price as indicated online but the wholesalers get special pricing as indicated in the accounting system. The integrated solution should allow the flexibility of taking either the store or accounting pricing on a customer-by-customer basis or even alert you if there’s a price mismatch.
Step 3: Accounting Package Preparation
- Perform the same validation checks that are done when you manually key data into your accounting system.
Your integration solution provider should be a certified partner of your accounting system publisher. Ensuring this will mean that the 3rd party solution has been developed and tested using the official development tools such as an SDK or API. Your integrated orders, for example, should use the next document number in your accounting system, be able to check for and manage duplicate PO’s and check for inventory quantities to name a few.
- Match key information such as customers
Sandy has customers in her accounting system that used to phone in orders before she launched Sandy Shores Books online. How does she make sure the online customers matches the customers in her accounting system and not create duplicates? The short answer is that for existing customers, some manual work needs to be done to link the two but once that’s done, a strategy can be employed moving forward to automate this process.
In order to create an order in most accounting systems, you need to be able to associate it with a customer account whether it is pre-existing or created on-the-fly (if supported). Before we look at some ways to handle matching for pre-existing customers, decide whether you really want a separate customer record created in your accounting system for every E-Commerce order, or if it’s sufficient to just capture the customer’s information on the order.
- Do you have many repeat customers? If most of your customers (>80%) are one-offs, do you really need separate customer records? If you receive 20 orders every day for one year, that’s 7300 orders and if 80% of those customers never order from you again, you will have created 5840 customer records that will need to managed, (i.e. cross-referenced with other systems, backed up, and migrated when you upgrade accounting systems).
- Why do you need a separate customer record? Is it for reporting purposes? Are there legal reasons? Do you plan on direct marketing to them based on what they have purchased in the past? If so, can you export this information directly from the eCommerce cart when it’s needed?
If you can’t think of some good reasons to create a separate customer record, perhaps you could skip creating the customer and process the order with the address information on the order.
If you are moving ahead with creating the customer record, you need to think about how you are going to manage potential duplicates. Let’s assume that Sally has a customer, John Smith in her accounting system who previously place phone orders but will now be ordering online. John is going to create a new account on the eCommerce cart that needs to be linked to his account in Sally’s system. The most universal way to handle this is to export the customer records from both systems and add the accounting system customer ID’s into a custom field in the eCommerce cart that the Integration Platform can use as a cross-reference.
If you’re taking orders externally (phone, email, fax), try to have your customer service team create the customer in the eCommerce cart instead of directly in the accounting system. This will prevent having to manually match customers going forward which means the manual customer matching should only be a one-time exercise.