This document covers how to connect Keystone as a source and the integrations supported with Keystone.
How To Connect
Choose the right Source Type
- You place POs/FRs to Keystone to fulfill orders to your customers.
- You don’t hold this inventory yourself.
- Use when you physically store and ship these SKUs.
- Use when a 3rd party fulfills orders for your owned inventory.
- Use only if you want Keystone content, not routing to Keystone.
- Yes (Recommended): You can route orders here.
- No: Routing/Shipping steps won’t apply.
- Override: Auto Processing (Use Global / Auto Process / Do NOT Auto Process).
- Commit Stock & Inventory Management options.
- Allow Backorders / Cancel Unacknowledged Items.
- Yes, Use Rate Shopping (real-time estimates).
- No, Set Up via Rules.
- Name: Standard Ground Policy: Standard/Ground
- Name: Expedited (2-Day) Policy: Expedited/2-Day
- Name: Priority (Overnight) Policy: Priority/Overnight
- Address, City, State/Code, Postal Code, Country/Code
- Optional: Contact Name, Phone, Email
- Protocol: FTPS (implicit TLS)
- Host: ftp.ekeystone.com
- Port: 990
- Username: your Keystone FTP username
- Password: your Keystone FTP password
- Passive Mode: Enabled (recommended)
- If you already buy from Keystone, request your FTP (FTPS) credentials from your Keystone account rep or Keystone IT/support.
- Confirm your dealer portal account is active and your FTP user has access to inventory/price files.
- If credentials fail, ask Keystone to reset your FTP password and verify FTPS implicit (port 990) is enabled on your account.
- Re-enter username/password (case-sensitive) and verify FTPS implicit with ftp.ekeystone.com:990.
- Ensure your network/firewall allows outbound FTPS on port 990.
- Confirm with Keystone that your FTP account is active and permitted for data access.
- Do NOT add prefixes in Source Inventory (keep the supplier SKU exactly as provided by Keystone).
- Create any prefix in the Master SKU only (e.g., transform: "KEY-" + [SupplierSKU]).
- If importing listings, link channel SKUs to the same Master SKU so publishing/updates sync correctly.
Product Operations
The primary operation handles the bulk of your inventory management needs, while the secondary operation allows for more detailed control, such as focusing on specific products or updates .
 
Get Inventory (Primary)
Yes, we support Get Inventory (Primary)
Using this feature with Keystone allows you to seamlessly integrate your inventory data, ensuring that you have up-to-date product information. This integration helps streamline operations, reduces manual errors, and ensures that your inventory levels are always accurate, ultimately leading to better customer satisfaction and more efficient inventory management.
 
                            
                            After connecting the integration, you must configure settings, such as ARCHIVE/UN-ARCHIVE inventory and defining a mapping template, as shown below:
 
                            
                            Configuring Mapping Templates
To ensure accurate data synchronization between Keystone and your system, follow these steps to configure mapping templates:
- 
                                    Navigate to Inventory Mapping Templates:
                                        
                                    Open the Keystone source in your integration account and go to the Mapping Template section. 
- 
                                    Edit the Mapping Template:
                                        
                                    Locate the relevant fields in your inventory and map them accordingly. For example, map the "Product Name" field in Keystone to the "Name" field in your system. 
- 
                                    Define Custom Mappings:
                                        
                                    If you have custom fields, ensure they are correctly mapped. For instance, map "SKU" to "Product SKU" to maintain consistency. 
- 
                                    Save the Mapping Template:
                                        
                                    After completing the mappings, click Save Template to apply the changes. 
- 
                                    Test the Integration:
                                        
                                    Run a test inventory sync to ensure that all fields are correctly mapped and data is accurately reflected in your system. 
Example of Mapping Configurations
- Product Name: Map to Name
- SKU: Map to Product SKU
- Price: Map to Product Price
- Quantity: Map to Stock Quantity
- Category: Map to Product Category
- Ensure all mandatory fields are mapped to prevent data synchronization issues.
- Regularly review and update mapping templates to accommodate any changes in Keystone or your system.
- Custom fields require careful mapping to maintain data integrity.
- Use descriptive names for mappings to easily identify field relationships.
Get Inventory (Secondary)
Yes, we support Get Inventory (Secondary)
Retrieves product pricing and quantity. Follow the same steps as for Primary: Connect Integration, Configure Settings, and Define a Mapping Template.
 
                                
                                
Order Operations
It submits orders to vendors for fulfillment and subsequently imports the shipment details, ensuring a seamless integration between order processing and shipment tracking.    
 
Send Fulfillment Requests
Keystone — Send Fulfillment Requests
Send Fulfillment Requests (SFR) places Keystone orders using your configured default Order Type and the fields mapped in your template. You can optionally hold requests for review and restrict sending to business hours.
- 1Connect an Integration: Choose Keystone → Create New Connection → enter Full Account No and Key → Test → Save.
- 2Configure Settings: Select default Order Type (KAO Dropship or KAO Jobber). Optional: Hold for X Hours, Only Send During Business Hours.
- 3Define a Mapping Template: Open Send Fulfillment Requests template → map header + line fields (see next dropdown) → Save & Complete.
- 4Run / Schedule: Run on demand or enable a schedule once connected, configured, and mapped.
- KAO Dropship Customers — Multiple line items per order; supports custom ship-to address.
- KAO Jobber Customers — For Keystone Truck Runs; uses the account ship-to on file and allows only one part number per FR. Quantity > 1 is allowed for that single part.
| Template | Use Case | What it Sends | Availability | 
|---|---|---|---|
| Send Fulfillment Requests | Place Keystone orders (Dropship or Jobber) | Header (FR #, Order Type, Ship-To/DropShip*) + Lines (SKU/Part, Qty) | Available | 
| Your Field | Maps To | Notes | 
|---|---|---|
| FR / Order Number | Fulfillment Request Number | Limited to 20 alphanumeric characters. | 
| Order Type | Order Type | KAO Dropship or KAO Jobber. Mapping here overrides the default config. | 
| Service Level | Service Level | If blank, Keystone uses the cheapest service level by default (e.g., U11,U2). | 
| Ship-To Address | DropShip* fields | With Jobber, custom ship-to is ignored; the account address on file is used. | 
| Your Field | Maps To | Notes | 
|---|---|---|
| SKU / Part Number | SKU | Primary line identifier; sent in the FR. | 
| Quantity | Quantity | For Jobber, only one distinct part per FR; quantity for that part can be > 1. | 
| Rule | Type | When it Helps | What it Does | 
|---|---|---|---|
| Force Jobber for Truck-Run Accounts | Conditional | Specific Keystone accounts | Sets Order Type = KAO Jobber Customers when criteria match. | 
| Leave Service Level Empty | Static / Fallback | Use Keystone’s cheapest rate | Omits Service Level to allow cheapest-auto selection. | 
U11, U2).
    - Use a specific method: Map a Service Level value in your SFR template.
- Prefer cheapest: Leave Service Level blank; Keystone will choose automatically.
- Dropship vs Jobber: Same service-level behavior; Jobber still uses the address on file.
Examples:
- 
Force a standard level: Set Service Level to a static code (e.g., U11).
- Cheapest by default: Don’t map Service Level; Keystone selects the lowest-cost option.
- Connection test to Keystone succeeds.
- FR number respects the 20-character limit.
- Lines map SKU and Quantity correctly.
- Service Level left blank if you want Keystone to choose cheapest.
| Capability | Status | Notes | 
|---|---|---|
| Fulfillment Request Number | Supported | ≤ 20 alphanumeric. | 
| Customer Association | Not Supported | — | 
| FR Item Association | Supported | SKU is sent in FR lines. | 
| Auto Acknowledgements | Supported | Successful FR returns “OK”. | 
| Shipping Selection | Supported | Service Level sent when mapped; default = cheapest if blank. | 
| Custom Fields | Not Supported | — | 
| Attachments | Not Supported | — | 
| Address & Field Limits | Limits | 
 | 
| KAO Jobber Rules | Enforced | 
 
              Error example: “KAO Jobber: Only one part per FR is allowed. Please create a separate FR for each part.”
             | 
- Multiple line items with Jobber selected: Split into one FR per part. Quantity > 1 is fine for the single part.
- Where do I switch between Dropship and Jobber? Set the default in Configure Settings → Order Type. Override per FR in the Mapping Template.
- Error 210 — Shipping Error: If vendor rejects the cheapest level, set a specific Service Level in your template.
Get Shipments
Yes, we support Get Shipments
Using this feature with Keystone allows you to retrieve shipment data, including SKU and partial shipments. We support partial shipments, and only the tracking number is visible in the Get Shipments response. Carrier and method are not included.
