TIMS ERP Integration Setup

Learn about TIMS ERP integration and how to get it working on your industrial gas and welding supply store.

Séamus Diamond avatar
Written by Séamus Diamond
Updated this week

ERP integration for TIMS Software, developed by Computers Unlimited. TIMS is the leading software system dedicated exclusively to the industrial gas and welding supply industry. A system that not only lets you manage your cylinder assets, TIMS provides the tools to manage every aspect of your business within one rock-solid application suite.

Prerequisite: TIMS V8 R19 is expected for this integration.

Install from the App Store

Enable the TIMS ERP Integration App from the App Store under the Erp category. Go to the EvolutionX Admin and click App StoreTIMS ERP Integration.

  • Default Customer Location: Leave empty to allow TIMS to select the warehouse location to be used across whole integration, other than will call / pick up orders. Adding a location ID here will force this ID for the whole integration (orders and pricing). For test and live.

  • TIMS Default Customer: TIMS Customer Code used as a fallback if there is no logged in user (known as a Guest User). This account will be used as the customer account when getting taxes and fees from TIMS in checkout and when the order is placed. Also note that there is additional features related to this field in the "Use Multiple Customer Accounts" feature below.

  • Use EvolutionX shipping charges: If toggled on the shipping charges will be calculated by your rules in EvolutionX, else they will be calculated by TIMS

  • Show Customer Blanket Purchase Order: If toggled on customer's Blanket PO will be available as a list to choose from in checkout. This requires the IsBlanketPurchaseOrderSystemEnabled to be enabled in TIMS ERP too.

  • Override Backorder Quantity on Orders: If toggled on the orders will be send with override quantity set to true.

  • Enable Statements: If toggled on the Statements tab will be available in Invoice History menu and in Account Overview menu. This requires the permission to view Account Balance.

  • Enable Live Quotes: If toggled on the Sales Quotation area will show only the Tims Quotes, replacing the EvoX quotes. This is a read-only feature and the quotes are not able to be converted through that area.

  • Use Multiple Guest Customers: This determines if the TIMS Default Customer will be used as the only guest account or if it will be a prefix with the suffix being a country or state/province code. Read more about using multiple guest customers below.

    • One Guest Customer

    • One Guest Customer Per Canadian Province

  • Order Entered-By Initials: Sets the Entered-By order field for all orders placed in your store (only the first 4 characters inserted will be used)

  • Credit Card Payments Integration: If enabled credit card payments using Vantiv Integrated Payments Express by Worldpay are integrated with TIMS. This requires that the Vantiv Integrated Payments Express by Worldpay App Store is enabled and configured to use TIMS Credentials. NOTE: TIMS only supports the "Pre-Auth and Capture on Dispatch" configuration of the payment method.

  • Print Orders: If enabled the orders print feature will be used in TIMS.

  • TIMS Security URL: TIMS endpoint to retrieve the API authorization token

    • Provided by CU for test and live.

  • TIMS Client ID: Your TIMS Client ID

    • Provided by CU for test and live.

  • TIMS Client Secret: Your TIMS Client Secret

    • Provided by CU for test and live.

  • TIMS API URL: TIMS API URL

    • Provided by CU for test and live.

  • EvolutionX API key: API key for EvolutionX API. Create EvolutionX API key

  • Set Order "ShippingName" Value: Choose the preferred way to map the Order Company Name and User Name from EvolutionX to the TIMS order ShippingName field.

    • Company name and User name — will cause a concatenation of the two values, Company name and User name, with a hyphen between them. Example: "Acme and Sons — Joe Smith"

    • Company name only — will only use the Company name from the EvolutionX order and the User name will not be used.

    • User name only — will only set the User name value from the EvolutionX and the Company name will not be used.

  • Suspended Customer Check: If enabled, EvolutionX will perform 'IsCustomerSuspended' check from TIMS in checkout. Default behaviour is TRUE.

  • Error notification e-mail Sender: SES E-mail address to be used as sender (FROM) for emails sent when an integration error occurs. Create e-mail address under the email menu.

  • Error notification e-mail Receiver: E-mail address to receive (TO) information when an integration error occurs.

Test Integration settings

By clicking the button "Test Settings" you can validate if the settings you saved are correct. This should be used after every update of the settings to make sure the ERP connection is configured correct. Note that you should still activate your store with TIMS following these steps once all settings are saved.

TIMS Configuration Notes when Test Your Settings is used

IsBlanketPurchaseOrderSystemEnabled

  • if true: Blanket Purchase Order System is enabled on TIMS. Show Customer Blanket PO can be Enabled

  • if false: Blanket Purchase Order System is disabled on TIMS. Show Customer Blanket PO can't be used.

IsAdvancedCylinderManagementEnabled

  • if true: Advanced Cylinder Management is enabled on TIMS. Tag & Serial Number details can be shown in the cylinder balance view and cylinder orders view.

  • if false: Advanced Cylinder Management is disabled on TIMS. Tag & Serial Number details are not included in the cylinder balance view and cylinder orders view.

IsCustomerSiteTrackingEnabled

  • if true: Cylinder tracking by Department is available in TIMS. The user role will determine if it is available.

  • if false: Cylinder tracking by Department is not enabled in TIMS. The user roles should be set to have cylinder tracking off.

Image Downloading

Image downloading of Invoices, Proof of Delivery tickets, and Receipts is automatically supported by the EvolutionX storefront views. This requires correct configuration and use of this feature in TIMS. If it is not working then contact Computers Unlimited (CU) to correctly configure TIMS.

Enable Alternative PO as Gases PO

⚠️ Important: The Gas PO support in TIMS requires the optional Blanket PO feature. Check that you have it enabled in TIMS before configuring this option. You can verify this in the App Store using Test feature which reports the value for IsBlanketPurchaseOrderSystemEnabled.

Go to the EvolutionX Admin and click Store SettingsGeneral and under

Store Preferences scroll to Order Settings section. Enable the Alternative PO and and set the preferred label, for example Gasses PO.

By following the above steps a new input will be displayed in the last checkout step for a customer.

Configure Shipping Rules

Each Shipping Rule (rules are setup within a shipping zone) a TIMS Ship Via code must be used as the "name" of the rule. This ensures that the shipping method selected by the customer will have a matching Ship Via code for the order in TIMS. Review this article for for details about how to configure shipping zones and shipping rules in EvolutionX.

  • Each shipping rule must have a matching TIMS Ship Via code saved as the "name". This is not shown the the customer but must be valid in TIMS.

  • It is not required to have every Ship Via code in TIMS used in the store.

  • It is OK to have more than one shipping rule with the same TIMS Ship Via code as the name.

  • The Label of the shipping rule is what the customer sees in checkout and does not need to be the same as the TIMS Ship Via code.

  1. Add a Rule to a Zone

  2. Set the Name value as a matching TIMS Ship Via Code

  3. Set other fields after reviewing our Shipping Rules Article.


Configure Live Pricing

Go to the EvolutionX Admin and click Store SettingsGeneral and under

Store Preferences scroll to Live Pricing section.

  • Provider: Select TIMS as your provider

  • Endpoint URL: TIMS API endpoint for live pricing

    • Provided by CU for test and live.

  • Live Inventory: Enable the toggle

  • Inventory Endpoint URL: TIMS API endpoint for live inventory

    • Provided by CU for test and live.

  • Ledger/Location: Leave empty. All pricing will come from this location if set.

  • Global Account: Account number used for Live Pricing for guest users

Leave the rest of the inputs empty.

Override Live Price with a Pricing Rule

  • Call for Price — Show call for price instead of a price. Note that where the rule applies this type will override live price.

  • Quote Me — Enable the quote me feature instead of a price. Note that where the rule applies this type will override live price.

Live UOM (Live Unit of Measure)

Live unit of measure is supported once Live Inventory and Live Pricing is enabled. All defined units of measure in TIMS are displayed on the storefront. The minimum order quantity applies only to the base unit of measure (lowest) and every additional unit of measure is allowed to sell without a minimum quantity.

Example:

TIMS UOM

TIMS UOM Count

EvolutionX Min Order Quantity

LB

1.0

set per the TIMS Standard "Sell qty" value, for example: "12.5" (see screenshot above)

CAN

50

1

SPL

12.5

1

Live Price by Volume (Gas)

Note: this is currently in pre-release. Request that it is enabled for your store.

TIMS supports pricing by volume for gas products. There are two ways to price your gas products in TIMS for display on EvolutionX. Here are the two methods and their advantages.

  • per container pricing — If each product in TIMS is set with a special factor based on the container size and the price is set as the price for that size, then the normal live pricing behaviour will show the correct price on EvolutionX.

    • Pros: Setting prices does not require any additional product setup in EvolutionX because the price in TIMS is the price of the container size.

    • Cons: Pricing must be set per each container rather than based on the commodity pricing of the gas.

  • per gas commodity pricing — If each product is set as having a standard volume size, say 100ft³, then all pricing can be uniform and based on the commodity price of the gas.

    • Pros: Pricing is easier because only a one price per a standard volume is needed for each gas. That price can apply to all customers and container sizes. This pricing can be quickly updated as the market changes.

    • Cons: One time additional setup is needed in EvolutionX so that the Pack size of the container presented is set as the example container size.

To use the per gas commodity pricing method in EvolutionX, check that the following have been set:

  • TIMS product has the Volume set as your standard volume size for pricing, 100 for example. Each product container can use the same volume size because the pricing in TIMS is always based on this size.

  • EvolutionX products will each describe a gas and container size. Use the product overlay record to set the "Pack Size" based on an example volume of the container described. The price of each cylinder size will be calculated using the standard volume price multiplied by the container pack size.

    • 75ft³ container — set EvolutionX pack size = 75

    • 145ft³ container — set EvolutionX pack size = 145

    • 310ft³ container — set EvolutionX pack size = 310

    • Optionally set the EvolutionX pack includes value for each to describe that the final price is based on the fill volume on delivery.

Set your Cart Limit

TIMS has a limit for how many lines can be added to the cart. So be sure to set your limit to 50 or less (unless tested to ensure good performance at the payment step of checkout).

Suspended Customer Check in Checkout

The Suspended Customer Check toggle in the appstore determines if EvolutionX makes a request to TIMS to check if a customer in checkout is suspended or not. The toggle is set to TRUE by default.

How the Suspended Customer Check works in the checkout:

  • A storefront user clicks "checkout"

  • 'isCustomerSuspended' flag is checked on TIMS on the current customer record.

  • If TIMS response on the customer results in 'isCustomerSuspended' set as True, then EvolutionX will redirect the customer to their shopping cart with an error message:
    "Your account is on hold. Please contact our staff for assistance"

Customise Suspended Customer Check Error Message

Dealers are able to customise the Suspended Customer Check message for their store. The default error message is "Your account is on hold. Please contact our staff for assistance".

To change the error message, make use of the Translation module provided in the EvolutionX Admin Portal.

On the translation module, search the "Key" field with the text "customer_on_hold" and press Enter. This provides you with a filtered list showing the default message set for the error message.

Provide your custom message in the Custom Translation box provided and click "Save Changes". With this, your custom message will be shown to the customer instead of the default message.

Custom Order Field Mapping

With the TIMS App installed, EvolutionX allow dealers set custom field mappings for orders sent to TIMS using the API Order submission.

To use the custom order field mapping, click the "Setup Order Mapping" button on the TIMS App.

The custom order mapping page shows three rows, Order Header Field, Default and Custom Value.

  • Order Header Field: This row shows the TIMS order fields

  • Default: This row shows the default mapping EvolutionX sends to TIMS for the corresponding TIMS order fields.

  • Custom Value: This row shows the dealer defined custom mapping to be sent to TIMS, which will override the default EvolutionX mapping

N.B: Some Custom Value columns are Read Only, which means EvolutionX do no allow setting custom values for such fields

Setup Order Mapping

For TIMS order fields that EvolutionX allow custom field mappings on, you will see a "Select Attribute" dropdown on the Custom Value column

The dropdown shows all available EvolutionX order data and dealers can select the order data attribute they want as the custom value to be mapped on the TIMS order field

After selecting all the desired custom values, click the "Save Changes" button. Orders sent to TIMS after the configuration will map values to the TIMS order field using the custom value attribute instead of the EvolutionX default value. For the example, in the image provided above, EvolutionX won't map any value of the Comment line 3 to TIMS.

Updating/ Removing Custom Order Mapping

Dealers can change their previously configured custom mapping by selecting a new attribute they want as their custom value and click the "Save Changes" button after making updates. Orders sent after the update will use the new custom value.

To remove a previously configured custom mapping, click on the "X" icon on the custom value and click "Save Changes". Orders sent after the configuration will default back to using EvolutionX default mapping for the order mapping to TIMS

Using Multiple Guest Customers for Orders for Canadian Tax

The App Store Setting "Use Multiple Guest Customers" is set as One Guest account by default. This is used if the customer is a guest (not logged in) when creating a draft order in TIMS for the calculation of fees and taxes and when creating the final order.

The two values have different behaviour but both use the TIMS Default Customer value set in the App Store.

"One Guest Customer" behaviour — default value

"One Guest Customer is the default value of the "Use Multiple Guest Customers" setting. When creating the draft or final order for a user who is not logged-in the customer account will set based on combining the prefix value of the TIMS Default Customer and the suffix value of the country or state two-digit ISO code.

Distributor Setup in TIMS when using "One Guest Customer per Canadian Province"

If you will collect taxes based on the Canadian province of the shipping address for guest orders then use the "One Guest Customer per Canadian Province" setting. When you enable it ensure your setup in EvolutionX and TIMS satisfies these requirements:

  • Setup a default customer prefix value in the EvolutionX TIMS App Store in the field called TIMS Default Customer

    • example: "B2C"

  • Setup a guest account for each province in Canada and each Country outside of Canada that you will accept orders from.

    • Each customer record in TIMS should use the prefix followed by the Canada Province Code or Country Code. Note that only ISO codes for countries or states/provinces can be used. List of valid Canadian Province codes. Set each customer in TIMS with the desired tax settings.

    • Example setup of Customers in TIMS:

      • B2CUS - USA only

      • B2CAB - ALBERTA

      • B2CBC - BRITISH COLUMBIA

      • B2CNB - NEW BRUNSWICK

      • B2CNL - NEWFOUNDLAND/LABRADOR

      • B2CNS - NOVA SCOTIA

      • B2CON - ONTARIO

      • B2CPE - PRINCE EDWARD

      • B2CQC - QUEBEC

      • B2CSK - SASKATCHEWAN

      • B2CMB - MANITOBA

      • B2CYT - YUKON TERRITORY

      • B2CNT - NORTHWEST TERRITORY

      • B2CNU - NUNAVUT TERRITORY

Once saved, these settings will automatically use the corresponding TIMS customer for guest orders based on their country or Canadian province.

Configure TIMS Integrated Payments with Vantiv by Worldpay

👍 Important: This is only available after setup with CU. Contact CU to get started.

TIMS integration with Vantiv by Worldpay allows for Pre Authorization of credit cards for orders placed in the store Checkout and CC Payment of outstanding Invoices.

TIMS Setup

  1. Support staff at Computers Unlimited can help you with the correct configuration of TIMS for Credit Card integration with EvolutionX.

EvolutionX Admin App Store Steps

  1. Check that the TIMS App store setting Credit Card Payments Integration is enabled

  2. Install the App Store for Vantiv Integrated Payments Express by Worldpay and configure it with default credentials. Read detailed instructions for Vantiv setup here.

    • Ensure that the Select Credentials option is set to use TIMS credentials.

    • Consult our documentation about the other settings.

EvolutionX Admin Payment Methods Steps

  1. Enable the Vantiv Payment method.

    1. Open settings of the Vantiv Payment method and set the Charge Option as Pre Auth & Capture on Dispatch (the only option supported by TIMS)

Enable Payments of Invoices

Enable Statements

👍 Important: This is only available for certain TIMS versions. Talk to CU to find out, if it works for your version.

  1. Toggle on the “Enable Statements” in TIMS ERP configuration.

  2. Turn on the permission Account Balance View for the roles that should see the Statements tab.

  3. Statements tab will appear in Invoices History and Account Overview views.

Frequently Purchased Items (Beta Release: ask us to enable it on your store)

Enable Frequently purchased items for your customers. The items will be called in realtime from TIMS and matched to any items that are available in your store. If the items aren't available to purchase in the store then the items won't be shown to the customer in the list.

👍 Important: Items are the most frequently purchased items from across the account. It is not the most frequently purchased items for just that single user but for the entire TIMS account.

Limit: Most recent 1,000 items being called from TIMS, by purchase date. We then match them so the real number shown to the customer could be less than 1,000.

Enable via the customer roles

Web Order Processing and Checkout Integration

Tax and Fees Integration

  • Item fees — added as line items in the order

  • Shipping fees — added to the order from either EvolutionX or TIMS subject to app store configuration.

  • Taxes — added in the order totals from TIMS draft order

Note: Credit Card Fees / Surcharge are not supported for the TIMS integration.

Split Orders

Split orders are not enabled by default in TIMS. When configured it can cause orders with multiple items to split based on the location they are processed from.

In the checkout, the Customer does not see that the orders have split and the fees and taxes from all split orders are summed in the checkout.

Only whole lines, along with the full quantity, can split to a second or third order. Take this example: you sell Gas and Dry Ice but your Dry Ice must be on a separate order for processing. Any order that has both Gas and Dry Ice lines will split into two orders, where one has all the Gas lines and the other has the Dry Ice lines.

After placing the order, the customer will see that multiple orders were created in in the live order history.

TIMS Draft Orders and Order Conversion

In checkout, after the shipping step, a draft order is created in TIMS to calculate the taxes, line fees, and shipping fees (subject to app store settings) that apply to the order. Fees are added to the order as line items, while shipping fees and taxes are displayed with the totals in checkout.

A draft order is converted to a TIMS order after the user sees the Thank You page. If the order can't be processed then the EvolutionX order status changes to On Hold and an email is sent to the distributor based on the configuration of the app store. To reprocess an on hold order from EvolutionX to TIMS, just change the EvolutionX order status to New Order and save.

In the event that the order was created but not communicated back to EvolutionX (Order will have TIMS Status Code 0). In the reprocessing step, we don't process it again but communicate payment and perform the orders print, both actions are subject to app store settings.

Order, Print and Payment Actions Sent to TIMS

TIMS Status 4 (aborted/draft order from Checkout)

  • update the draft and convert to order status 0 in TIMS

  • send payment card details to TIMS if applicable

  • print order in TIMS

TIMS Status 0 (unselected)

  • send payment card details to TIMS if applicable

  • print order in TIMS (note: this could be a duplicate print)

TIMS Status other than 0,4

  • do nothing on TIMS

  • update EvoX order timeline with "Tims Order status is [N]"

Customer Account Integration

Customer and Address Data and User Management

Customer and address data in synced to EvolutionX directly from TIMS though our API's. TIMS is the record of truth and should be managed directly in TIMS. Adding users to accounts is managed in the EvolutionX admin. Adding users to an account is a simple process of locating the proper account and adding the users under the respected account. See our article on Accounts, Users & Roles for more information on adding users.

Note: Do not add users via the All Users Screen. Add them by first locating the account and adding the users from within the from within the account under the users screen.

Live Order History

In order details is possible to know the Tracking Information with the respective tracking number linked to the tracking service, the delivery and shipping dates, the status of the delivery and the weight of the package.


Live Invoice History

We provide a list of invoices for your customer. All data is retrieved from TIMS in realtime without limitations, allowing the customer to download the invoice or pay the remaining value.

Cylinder Collection

In Gas product details is possible to request the collection of empty cylinders. For that the user needs to select the checkbox "Cylinder Collection Only" above "Add to cart" button and then add the item to the cart.

To hide this feature from the user the following CSS rule should be applied:

.cylinder-collection-only {
display: none;
}


Shipping rules

It could be possible the user create an order only with the collection of empty cylinders and in this case the user will have shipping costs associated. So to avoid this situation, could make sense create a shipping rule that if the cart value is 0, the shipping is free.

Frequently Asked Questions

Can the store show the TIMS preferred inventory location per customer and product?

The preferred location value supported for TIMS live inventory lookup on EvolutionX addresses a problem faced by customers of TIMS who deliver orders from distribution centers rather than customer branches. This feature requires R19 of TIMS.

The solution involves delivering the "is_preferred_location" attribute in the storefront as reported by TIMS. Here is how it works:

Live Inventory Lookup: The storefront request for live inventory sends the customer account number and the list of items to TIMS. The TIMS response includes a preferred location (true or false) for each returned inventory value. If the cart/quote is a delivery, the list for the storefront has the preferred location as reported by TIMS. If the cart/quote is a will call, the list sent to the storefront has the preferred location set to the location matching the will call branch.

Custom storefront design can be commissioned to use this information. The preferred location would be added to the display of inventory on the Storefront List and Product Page. The preferred location is highlighted on the display, replacing the customer location. However, not all customers may require this, and the change can be implemented upon request.

This change primarily resolves an issue where inventory values did not represent the most likely distribution location for delivery orders that do not come from the customer's home branch.

Can I add a TIMS Credit Card Fee or Surcharge for paying invoices or orders in checkout?

No, Credit Card Fees / Surcharge are not supported for the TIMS integration.

Did this answer your question?