An aACE+ eCommerce integration automatically transfers information about your customers' online orders to aACE to be fulfilled. It eliminates the need for a team member to manually enter orders in aACE and manually update the online order as complete when it's finalized in aACE.
This guide outlines a general ecommerce workflow. It does not include specific details regarding your organization's workflow. (Note: If your regular order entry process has been customized in aACE, those customizations may need to be recreated for the ecommerce workflow.) This guide also does not cover the specifics of a particular ecommerce platform. If you do not have a web store, see the platform help guide for information about choosing a platform.
Steps of General eCommerce Workflow
- aACE queries your web store for new orders and creates a new record for each order.
- aACE creates a new Company and Contact record for the customer (optional).
- aACE creates a receipt to account for the customer payment.
- Your team fulfills the order in aACE.
- aACE closes the web order.
Step 1: aACE Queries Web Store for New Orders
aACE queries the designated ecommerce platform for new orders periodically (as determined by the frequency set for the eCommerce Integration automation schedule). To ensure that website downtime or lost connections do not result in lost orders, "new" orders are identified using one of these criteria, as specified in your integration settings:
- Any order with a timestamp later than the last web order successfully transferred to aACE (most common method)
- Any order with an ID number higher than the last web order successfully transferred to aACE
Line Item Code Mapping
When a new order is transferred to aACE, the included products are mapped to your aACE line item codes. This mapping uses various data points (depending on the specific ecommerce platform) and the following hierarchy:
- If a product code and a SKU are both present, the product code is used to sequentially query aACE products based on: Line Item Code (LIC) > Description > Barcode > SKU > Vendor Product Code.
- If no match is found, the SKU number is used to query aACE products using the same sequence as above.
- If no match is found, an error results and an aACE notification is sent.
Shipping and Taxes
Because ecommerce orders are typically paid for up-front, aACE is designed to preserve downloaded values and avoid reconciliation errors:
- If you charge for shipping on your ecommerce site, that shipping value is downloaded into the aACE order, then Prevent Shipping Override (PSO) flag is marked to ensure that additional shipping logic does not modify the charge your customer has paid.
- The tax value is downloaded into the aACE order and locked to prevent additional tax calculations from modifying the amount your customer has paid.
- If your aACE tax profiles are mapped to postal codes, the tax profile for the aACE order is set based on the shipping address.
Settings for eCommerce Orders
After your system administrator installs the aACE integration file for ecommerce, the automation schedule must be configured. Navigate to Menu > System Admin > Preferences > Automation Schedules > Schedule Setup:
- Mark the flag to activate the eCommerce Integration schedule.
- Configure the On Days... and the Between Hours... fields so that this schedule only runs during your regular business hours.
Note: We recommend that you set the schedule starting time for an hour before you open for business. This helps ensure that any new orders are present when your team members begin work.
Additional settings can be modified at the eCommerce Integration portal: Menu > System Admin > Preferences > Database Management > eCommerce Integration > Open Settings:
Opening Orders
aACE can automatically Open new orders or leave them Pending. In the Web Order Settings screen, the 'Leave order pending over' setting lets you specify how each order is handled. Setting this value to 0.00 will keep all orders pending. This allows team members to review and open every order. Setting this value higher will allow conditional review.
(This feature can be used temporarily to give your team the opportunity to gain comfort with the overall process. After your team is comfortable with the process, you can modify the setting to automatically open orders under a certain value, manually reviewing only the higher value orders.)
Note: To prevent fraud, we recommend that orders over a certain amount always be left Pending for manual review.
Creating New LICs
aACE can automatically generate a new aACE line item code if no matching product is found. Enable this setting from the Web Order Settings screen: 'Create new line item codes if no match is found'.
Attention: This should be enabled with caution and with policies for careful oversight, since new LICs typically require additional manual configuration.
Mapping Courier Service Labels
aACE automatically "translates" the technical courier services labels often used by ecommerce solutions into user-friendly labels. In the Courier Services screen, you can map these courier service labels. Enter a technical courier service value on the left (e.g. “ups-GND”), then enter the corresponding aACE value on the right (e.g. “UPS Ground”).
Ideally, this mapping should be done before you begin using the ecommerce solution. However, some ecommerce platforms do not make this information available, so the mapping may need to be configured as orders are downloaded; over time the list will be completed. If an unexpected courier service ends up in an order, use this as an opportunity to update the mapping.
Payment Methods & GL Accounts
Each ecommerce platform you enable should use its own payment method (e.g. "SHOPIFY") and have its own undeposited funds GL account (e.g. “Undeposited Funds — Shopify”). Even though customers across various web stores might all be paying the same way (i.e. credit card), this additional configuration is helpful in recording deposits and reconciling accounts. When the receipt is generated, it will use the specified GL account as the bank account. If you don't configure these solution-specific payment methods and undeposited funds accounts, all receipts in aACE will use the default bank account, which may be a cash account.
In the Payment Methods screen, you can map these payment methods. Enter a typical payment method value on the left (e.g. “shopify_payments”), then enter the corresponding aACE value on the right (e.g. “SHOPIFY”) and the related undeposited funds account (e.g. “1234 Undeposited Funds — Shopify”).
Step 2: aACE Creates New Company / Contact Records (Optional)
aACE orders require a customer; a contact is optional. In Web Order Settings, the Company and Contact settings allow you to specify how these assignments are handled. If the process is configured to map a web store customer to an aACE company record, it can create a new record if a match is not found.
Creating new records is most useful when:
- Your web store sees repeat customers and requires them to log in before they place an order.
Note: If your web store does not require customers to login, aACE might become populated with duplicate records from customers' data entry inconsistencies (e.g. “Robert Smith” vs “Bob Smith”). Using a login page helps ensure orders have a customer ID to match. - Your customers place orders from multiple channels (e.g. online, by phone, or store walk-ins).
- You plan to leverage this contact information for follow-up sales and marketing activities.
Note: Not all ecommerce platforms include email or phone information in the order details.
If these criteria do not apply to your business, it may be more effective to create a generic company and contact record (e.g. “Web Store Customer”). After you designate the generic company and contact for these Web Order Settings, all orders will be assigned to these records.
Step 3: aACE Creates a Receipt
In the Web Order Settings, your Order settings specify when receipts for web orders are processed:
- 'Process receipt when order is opened' — Select this option if you receive payment from the ecommerce platform when the order is placed.
- 'Process receipt when order is shipped' — Select this option if you receive payment when the order is fulfilled. With this option, the receipt is not created until after the order is complete.
Note: Receipts are only processed for web orders that have a payment. Certain ecommerce platforms allow customers to pay at a later date; these payments must be entered manually when you receive them.
Your ecommerce settings are separate from the preferences that control other orders. For example, invoices and receipts for web orders can be generated when the order is marked as Open, while invoices for non-web orders may be generated when the shipment is marked as Shipped. Despite the separate ecommerce processes, web order invoices will not be duplicated when the shipment is shipped.
Step 4: Your Team Fulfills the Order
At this point in the process, there is an order in aACE that should be fulfilled according to your organization's normal workflows. Web orders do not inherit special handling, so all aACE preferences pertaining to order fulfillment will apply.
Step 5: aACE Closes the Order
When the aACE shipment is marked as Shipped, the web order is updated that fulfillment has been completed and tracking information is uploaded to the web store (if applicable). If your process is configured to generate a receipt on shipment (see Step #3), that also occurs at this point.