Flxpoint Help Center
All DocsContact support

Keystone as a Source

July 2, 2026

Summary

Keystone is an automotive and powersports parts distributor. Get Inventory (Primary and Secondary) connect over FTPS (implicit TLS) at ftp.ekeystone.com on port 990, while Send Orders and Get Shipments use a separate order connection authenticated with a Full Account No and Key.

Get Inventory (Primary)
Imports the Keystone catalog over FTPS – product name, SKU, price, quantity, category and images
Get Inventory (Secondary)
Refreshes pricing and quantity (plus category and archive state) on the catalog already imported by Primary
Send Orders
Submits Fulfillment Requests to Keystone as KAO Dropship Customers or KAO Jobber Customers orders
Get Shipments
Pulls shipment tracking numbers – including partial shipments – back into Flxpoint

Get Inventory jobs use an FTPS connection; Send Orders and Get Shipments use a separate order connection. On each job click + New Connection, enter the matching values below, then Test ConnectionSave Connection.

ProtocolSetting
For the inventory connection, select FTPS (implicit TLS).
Keystone inventory files are served over implicit-TLS FTPS.
HostRequired
The Keystone FTP host: ftp.ekeystone.com.
Inventory (FTPS) connection.
PortRequired
990 – the implicit-TLS FTPS port.
Inventory (FTPS) connection.
UsernameRequired
Your Keystone FTP username (case-sensitive).
Provided by your Keystone account rep or IT/support.
PasswordRequired
Your Keystone FTP password (case-sensitive).
Provided by your Keystone account rep or IT/support.
Passive ModeSetting
Not required – there is no such connection option available on the Flxpoint end.
If needed, check Passive Mode settings from the Keystone end instead.
Full Account NoRequired
Entered on the order connection used by Send Orders and Get Shipments – not your FTP credentials.
Provided separately by Keystone.
KeyRequired
The key paired with your Full Account No on the order connection.
Provided separately by Keystone.
Inventory FTP credentials come from your Keystone account rep or IT team; the order connection needs a separate Full Account No and Key. Use live production credentials – sandbox credentials return a "successful" response but never post orders. If the FTPS test fails, Passive Mode isn't a setting available on the Flxpoint side – ask Keystone to check on their end whether Passive Mode / implicit TLS is properly enabled on ftp.ekeystone.com:990 for your account.

Two separate credential sets – FTP for inventory, Full Account No + Key for orders

The FTP credentials for Get Inventory (Primary/Secondary) are different from the order credentials. Send Orders and Get Shipments need a Full Account No and Key, provided separately by Keystone – not your FTP username and password. Using FTP credentials on the order connection will fail.

KAO Jobber Customers allows only one part per Fulfillment Request

With the KAO Jobber Customers order type, each FR may contain only one unique part number (quantity for that part can be > 1). A multi-part Jobber FR is rejected with "KAO Jobber: Only one part per FR is allowed." Jobber ships to your Keystone account address on file – for multi-item, custom ship-to orders use KAO Dropship Customers.

Use live (production) credentials – sandbox appears to succeed but posts nothing

Orders submitted with Keystone sandbox/test credentials return a "successful" response without actually posting to the Keystone dealer portal. Always use live production credentials on the order connection. If orders never appear in your dealer portal after successful Send FR runs, confirm you are not on sandbox credentials.

You can prefix Keystone SKUs at the source level – just strip the prefix before sending orders

While prefixing only at the Master SKU level is correct, we can set a rule to remove that SKU prefix in the Send Fulfillment Request mapping template so that the FR sends what Keystone expects, with the matching SKU in their system. That means you can still use the SKU prefix on Keystone SKUs.


Keystone FieldMaps To – Notes
Product NameNo such field or mapping is available.
SKU / Part NumberSKU. Based on requirements, you can keep the SKU prefix – just set a rule to remove that SKU prefix in the Send Fulfillment Request mapping template so the FR sends what Keystone expects, with the matching SKU in their system.
PriceJobber Price. Your Keystone cost for the item.
QuantityQuantity. On-hand units from Keystone.
CategoryCategories are not available/supported. Can be mapped to another field if required.
ImagesProduct images are imported over FTP. Archive / Un-Archive applies to quantity and pricing, not to images.
Optional. Retrieves product pricing and quantity (and updates archive state) for the catalog already imported by Primary – follow the same Connect → Configure Settings → Mapping Template steps. It does not update custom fields, multiple warehouses, or weights & dimensions.
Your FieldMaps To – Notes
PO NumberFulfillment Request Number. There is no separate Order Number field or mapping available, so it isn't required. Limited to 20 alphanumeric characters – truncate longer PO numbers in the template.
Order TypeOrder Type. KAO Dropship Customers or KAO Jobber Customers; a value mapped here overrides the default set in Configure Settings.
Service LevelService Level. If blank, Keystone auto-selects the cheapest option (e.g. U11, U2). Map an explicit code to avoid Error 210.
To Keystone Shipping Address FieldDropShip* fields (required for KAO Dropship Customers). With KAO Jobber Customers the custom ship-to is ignored and the account address on file is used.
SKU / Part NumberSKU (line). Primary line identifier sent in the FR.
QuantityNot required – no separate quantity mapping/field is available for Send Orders. For KAO Jobber Customers, only one distinct part per FR; quantity for that part can be > 1. A successful FR returns "OK", used as the auto-acknowledgement.
Retrieves shipment data including SKU and partial shipments. Tracking number, carrier and method are all returned; invoice information is not provided. Map the tracking number field so shipments associate back to the FR.

Inventory shows 0 or wrong quantities in Flxpoint vs Keystone
Flxpoint reflects quantities from the last successful Get Inventory run. Confirm the FTPS connection is healthy and Passive Mode is enabled (required on port 990). Run Get Inventory (Secondary) manually and check the job log for file-transfer errors – a failed connection can leave stale or zero quantities without an obvious error.
Order rejected – "KAO Jobber: Only one part per FR is allowed"
A KAO Jobber Customers FR contained more than one distinct part number. Split it into separate FRs with one part each (quantity > 1 is fine), or switch to KAO Dropship Customers for multi-item orders. Review your FR routing rules so multi-item orders aren't sent to the Jobber order type.
Error 210 – shipping error when submitting orders
Keystone returns Error 210 when the shipping service level is unavailable or rejected – common when no Service Level is mapped and the auto-selected cheapest option (e.g. U11) isn't valid for that destination. Map an explicit Service Level code in the Send FR template; contact Keystone for the valid codes for your account.
Orders not appearing in the Keystone dealer portal after a successful Send FR
You are almost certainly using sandbox/test credentials, which return "successful" without posting. Update the order connection with your live Keystone credentials (production Full Account No and Key) and resubmit the orders.
Product images missing after setup or a settings change
Keystone imports images over FTP. If images disappear after a config change or re-run, verify the FTP image path is still valid on Keystone's server – if the directory structure changed on Keystone's side, images stop importing. Compare the current path against the one used before the issue started.
Cost is wrong when a SKU is linked to Keystone and another source (e.g. CWR)
When a SKU is linked to both Keystone and another source such as CWR, Flxpoint may display the cost from whichever source last synced, creating sell-at-loss risk. Set an explicit source routing priority or cost-override rule for dual-linked SKUs so the intended source's cost is used for pricing and routing.

What is the difference between KAO Dropship Customers and KAO Jobber Customers?
KAO Dropship Customers supports multiple line items in one FR and ships to a custom ship-to address (your customer). KAO Jobber Customers supports only one part number per FR (any quantity of that part) and ships to your Keystone account address on file – no custom ship-to. A Jobber FR with more than one distinct part is rejected.
What does Service Level control in Send FR, and what is Error 210?
Service Level is an optional Send FR mapping. Left blank, Keystone auto-selects the cheapest available option (e.g. U11, U2). If that option is unavailable or rejected you get Error 210, a Keystone shipping error. Resolve it by mapping an explicit Service Level code rather than relying on auto-select; ask your Keystone rep for valid codes.
What does Get Shipments return from Keystone?
Tracking number, carrier and shipping method are all returned in Keystone's shipment response. Partial shipments are supported (multiple tracking numbers per order). Map the tracking number field in your Get Shipments template or the shipment won't associate to the FR.
What is the FR Number character limit for Keystone orders?
Keystone enforces a 20 alphanumeric character limit on the FR Number (PO Number). FR numbers over 20 characters are rejected – use the Send FR mapping template to truncate or transform the FR Number before submission.
Does Keystone support Auto Acknowledgements?
Yes. A successfully submitted FR returns "OK", which Flxpoint uses as the auto-acknowledgement, so the FR is marked acknowledged without a separate Get FR Acknowledgements job. Any response other than "OK" means the FR was not acknowledged and should be investigated.
© 2026 Flxpoint. All rights reserved.