Kroll as Source

Kroll is a wholesale distributor and software provider for the pharmacy industry, supplying independent pharmacies with prescription, over-the-counter, and front-end retail products. As a source in Flxpoint, Kroll provides reliable catalog imports, pricing and inventory sync, fulfillment-request submission, and shipment tracking — with configurable lookback windows so you can backfill older shipments when needed.  

 

How To Connect

📋 Phase 1: Add the Kroll Source +
Open the Sources section
Log into Flxpoint and navigate to Connections > Fulfillment Sources.
Add a new source
Click + Add Source and select Kroll from the FLX Supplier Directory. Give the source a descriptive name (e.g., "Kroll Production").
Confirm dealer agreement
In the confirmation dialog, check the box acknowledging that you have (or will obtain) a Kroll dealer account to access catalog data and submit orders. Click Continue.
🔑 Phase 2: Get Your Kroll Credentials +
Contact Kroll for API access
Reach out to your Kroll rep and request API and FTP access. They'll enable both on your account and issue you the credentials below.
Receive your credentials
Kroll provides two sets of credentials — both go into a single Kroll connection in Flxpoint, but they're used by different operations:
FTP credentials (used by Get Inventory [Primary] and Get Inventory [Secondary] — authenticate with the Kroll FTP server):
  • FTP Username — often the same value as your Kroll Account Number
  • FTP Password
API credentials (used by Send Orders and Get Shipments — authenticate with the Kroll API):
  • Account Number — typically the same value as your FTP Username
  • API Username
  • API Password
Tip: Your FTP Username and Account Number are often the same value. Keep all five credentials handy — you'll paste all of them into a single Kroll connection.
🔌 Phase 3: Connect Kroll to Flxpoint +
Open the New Kroll Connection dialog
Inside your Kroll source, click + Add Connection. The Kroll connection dialog includes both FTP and API credential fields — fill in all of them so every Kroll operation works.
Enter the Connection Name
Type a descriptive name (e.g., "Kroll — Production"). This is just a label so you can identify the connection later.
Fill the FTP credential fields
Paste your FTP Username and FTP Password exactly as Kroll provided them. These authenticate the FTP server connection used by Get Inventory [Primary] and Get Inventory [Secondary].
Fill the API credential fields
Paste your Account Number, API Username, and API Password. These authenticate the API connection used by Send Orders and Get Shipments. Note: the Account Number is often the same value as the FTP Username — verify with Kroll if you're unsure.
Test the connection
Click Test Connection. A green checkmark confirms both the FTP server and the API endpoint are reachable with the credentials you entered. If it fails:
  • Verify all five credentials are entered correctly (no leading/trailing spaces).
  • If FTP-side fails but API-side passes, double-check your FTP Username/Password with Kroll.
  • If API-side fails but FTP-side passes, confirm with Kroll that API access is enabled on your account.



 

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 and Pricing & Quantity

Supported | Kroll — Get Inventory and Pricing & Quantity

Introduction
Get Inventory and Pricing & Quantity imports Kroll catalog data, dealer pricing, MSRP/Retail, and warehouse quantities into your Global Inventory Pool. You can connect via FTP or Kroll API Token, and optionally aggregate quantities across selected warehouses.
Note: This job is the catalog and price/qty import. After each run, data is stored in the Global Inventory Pool for mapping to downstream channels.
Purpose of This Job
  • Import the full Kroll catalog with core details (brand, title/description, categories, images, weight).
  • Update dealer pricing and MSRP/Retail when available to your account.
  • Keep on-hand quantities current by warehouse; sum when multiple locations are selected.
How It Works
  • 1Choose ConnectionFTP (Basic Auth) or Kroll API Token.
  • 2Retrieve Data
    FTP: Reads the latest CSV from your provider’s FTP (you supply folder + file pattern). API: Requests product, price, and qty using Group Code / User ID / Password.
    When API is connected, API price/qty is used; otherwise, FTP is used per your configuration.
  • 3Map Fields — Match incoming columns to your Mapping Template.
  • 4Persist — Values are saved to the Global Inventory Pool and flow to channels after your next push.
KRL Pricing & Missing Cost Note: KRL provides two distinct feeds:
  • Quantity (On-hand) FTPftp.sprich.com | user onhand | pass onhand | file sprfull.ezoh (typically quantity-only).
  • Pricing FTP (Customer-Specific) — Credentials and filename are provided by KRL per customer (name varies, e.g., JPR.x12_832_0724.csv) and include your dealer pricing columns.
If you only connect to the on-hand FTP, costs will import empty. Connect your pricing FTP or switch to the API to bring in cost/MSRP.
Quantity example: Selecting Dallas and Phoenix warehouses with 4 and 7 units results in an available quantity of 11.
Setup Instructions
  • 1Connect an Integration — Choose Kroll, then create a connection.
    Connection Type
    • FTP (Basic Auth)
      Fields: Connection Name, FTP Host/Port, FTP User, FTP Password.
      Advanced: File Transfer Mode (Binary), Maintain Constant Connection, Use Unbuffered Private Data Channel (FTPS 534 policy only).
      Tip: Use Test Connection to validate credentials and folder visibility.
    • Kroll API Token
      Fields: Connection Name, Group Code, User ID, Password.
      Use When: You need dealer pricing and direct price/qty from the API.
  • 2Configure Settings
    • Remote File Name Pattern (FTP) — e.g., *.csv or an exact filename.
    • Inbound Remote File Folder (FTP) — e.g., /incoming/products.
    • File Action — set to Read for this job.
    • Warehouses — choose All or specific locations. Selected warehouses are summed for Available Quantity.
    • Archive/Un-Archive Inventory — Optionally archive SKUs missing from the feed and auto-restore when they reappear.
    Recommendation: Avoid enabling Archive on both this job and any secondary import for the same source.
  • 3Create a Mapping Template — Start with the recommended fields below and adjust as needed.
  • 4Save & Schedule — Run manually or set a schedule (jobs run in UTC).
Pricing Feed Details (SPR)
Feeds You May Receive
  • Quantity (On-hand) FTPftp.sprich.com | user onhand | pass onhand | file sprfull.ezoh.
    This file is typically quantity-only.
  • Pricing FTP (Customer-Specific) — Provided by KRL per customer; filename varies.
    Sample: JPR.x12_832_0724.csv  |  Specs: Price File Header List & Descriptions.xlsx.
Column Mapping (Pricing File)
Flxpoint Target KRL Column Description
Wholesale Cost CI — “Promo Level 1 Dealer Cost” Dealer/contract cost used as item cost.
MSRP AF — “Current Retail Price” Retail/MSRP reference.
Required for costs: Connect your pricing FTP or use the API. If only the on-hand FTP is connected, cost/MSRP will be empty.
When to use API: If KRL indicates your pricing FTP is unavailable or delayed, request API credentials (Group Code, User ID, Password) and switch the connection to API to fetch price & quantity directly.
Recommended Mapping (Inventory + Price)
Field Kroll Field Notes
SKU Sku / Catalog Sku Unique identifier.
Title Description 1 (fallback Description 2/3) Readable product name.
Brand Brand Name / Manufacturer Name Normalize as needed.
Quantity Quantity Summed across selected warehouses.
Client Price Dealer Price Account-specific dealer pricing (when present).
Cost CI — “Promo Level 1 Dealer Cost” Map from pricing FTP/API.
MSRP AF — “Current Retail Price” Map from pricing FTP/API.
Category 1 Department Name Top-level category.
Category 2 Class/Subclass Name Second-level category.
Weight Weight Pounds.
UPC Upc Barcode when present.
Attributes Specifications / Marketing Text Map as custom fields.
Images (Image URL fields) Single primary image; extras as custom fields if desired.
Operation Details
Price Source API or FTP API takes precedence when connected.
Currency USD Values imported as provided by Kroll.
Rounding NONE Imported raw; apply pricing rules downstream if desired.
Quantity Logic SUM Sum of selected warehouses.
Variations NOT SUPPORTED Simple products only.
Delta vs Full FULL FEED Processes full catalog.
Archive SUPPORTED Missing SKUs archived; re-appear when present.
Custom Fields SUPPORTED Extra attributes saved at variant level.
Troubleshooting
  • Costs are empty:
    • Confirm you have a pricing FTP from KRL (customer-specific credentials) or use the API. The onhand FTP (ftp.sprich.com / onhand/onhand) is typically quantity-only.
    • Verify you’re pulling the correct pricing file (name varies; example JPR.x12_832_0724.csv) and mapping CICost, AFMSRP per “Price File Header List & Descriptions.xlsx”.
    • If KRL confirms the FTP file no longer carries pricing, request API credentials (Group Code, User ID, Password) and switch the connection to API.
  • FTP auth errors: Re-check host/port/user/pass; try Test Connection. For FTPS 534, toggle “Use Unbuffered Private Data Channel.”
  • API credential errors: Confirm Group Code, User ID, Password and endpoint access.
  • Missing qty: Ensure the same warehouse selection is used consistently and that the source returns non-zero Quantity.
  • Items missing post-run: If Archive is enabled, SKUs absent from the feed are archived until they reappear.
Customer Action (when costs missing): Contact SP Richard to request the correct pricing FTP credentials/file or API credentials for pricing access.
 
 

 

Order Operations

It submits orders to vendors for fulfillment and subsequently imports the shipment details, ensuring an integration between order processing and shipment tracking.        
 

Send Orders

Supported | Kroll — Send Orders

Introduction
Use Send Orders to transmit customer orders as supplier-ready XML Purchase Orders to Kroll over your configured FTP (Basic Auth) connection. The job writes XML files to your Outbound Remote File Folder and flags the order as sent when the upload completes without errors.
Mapping behavior: This job’s Mapping Template uses per-field Enable / Disable. Only fields set to Enable are written into the XML.
Purpose of This Job
  • Create one supplier-ready XML order per eligible Fulfillment Request.
  • Deliver the XML to Kroll via FTP using your outbound folder path.
  • Control timing with Hold for X hours and Only Send During Business Hours.
How the Job Works
  • 1Build XML — The job assembles an order XML using your Mapping Template (header + lines).
  • 2Upload — The file is posted to your configured Outbound Remote File Folder on Kroll’s FTP.
  • 3Mark Sent — If the upload returns no error, the order is marked as sent/processed.
Example: FR #PO-78431 → XML to /outbound/orders/. No upload errors ⇒ marked sent.
Setup Instructions
  • 1Connect an Integration — Choose Kroll and select your FTP (Basic Auth) connection.
  • 2Configure Settings
    • Outbound Remote File Folder * — Remote path where order XML files will be written.
    • Ship To Account Number * — Required header value used by Kroll to route the shipment.
    • Advanced
      • Hold for X hours — Delay sending for X hours to allow review or edits.
      • Only Send During Business Hours — Restrict transmissions to business hours.
  • 3Select a Mapping Template — Pick an existing template (e.g., Send Orders 1) or create a new one.
  • 4Save & Schedule — Run now or schedule (jobs run in UTC).
Automation & Schedule

Enable scheduling so orders go out automatically. The status page will show Connected, Configured, and Mapped (e.g., template Send Orders 1). Schedules run in UTC.

Mapping Template (Enable / Disable)
Header Fields
Field Purpose Status
CustomerPONo Unique order/FR number sent to Kroll. Enable
ShipToAccount Ship-to account number associated with your Kroll account. Enable
ShipToName Customer name shown on the shipping label. Enable / Disable
ShipToAddress1, Address2, City, State, PostalCode, Country Destination address details. Enable / Disable
Email, Phone Buyer contact info for carrier notifications (if supported). Enable / Disable
ParcelZone / Carrier fields Pass a requested shipping method/carrier code to supplier. Enable / Disable
Notes / Reference Free-text notes or internal reference for the supplier. Enable / Disable
Line Item Fields
Field Purpose Status
SKU Supplier-recognized SKU for the item. Enable
Quantity Units to fulfill for this SKU. Enable
UnitPrice Dealer price per unit (if required by supplier). Enable / Disable
LineNotes Optional notes per line. Enable / Disable
Practice: Toggle a required field:
Guidance: Keep CustomerPONo, ShipToAccount, SKU, and Quantity set to Enable. Disable optional fields you don’t want to transmit.
Operation Details
Transport FTP Uploads to your configured outbound folder.
Payload XML Supplier-defined XML schema.
Acknowledgement Not expected Upload success (no error) marks order as sent.
Shipping Method UI Not supported Pass method via mapped fields (e.g., ParcelZone).
Attachments Not supported Only the XML order is transmitted.
Troubleshooting
  • Upload failed? Re-check FTP host/port/user/pass and the outbound path; re-run after fixing.
  • Supplier rejected? Validate required fields (PO number, ShipToAccount, SKU, Quantity) are Enabled and present.
  • Missing lines? Ensure each item maps an SKU and Quantity and that they’re Enabled.
  • Wrong shipping method? Map and Enable the supplier shipping method field (e.g., ParcelZone).
 
 

Get Shipments

Supported | Kroll — Get Shipments

Introduction
Get Shipments (GS) retrieves shipment confirmations from Kroll via FTP as .xml files and updates your orders with carrier, method, tracking, ship date, and item-level shipped quantities.
Note: Some shipments may not populate a carrier number. Useful identifiers can appear on Carton ID or BOL. Map these fields and add rules to keep the best identifier available.
Configuration setting — Shipments from Last X Days (INT-55671):

Get Shipments has a Shipments from Last X Days setting in the integration's configuration area that controls how far back Kroll's API is queried for shipment data. The default is 7 days.

  • For ongoing, real-time tracking updates, the default of 7 days is usually sufficient.
  • If you have older unimported shipments (e.g., from FRs sent more than a week ago), increase this value to cover the date range you need to retrieve.
  • Example: Set to 30 to pull all shipments from the last 30 days during an initial backfill.

Note: This setting controls the shipment date window queried from Kroll's API. It is separate from the FR Lookback Period (Advanced Settings), which controls which Fulfillment Requests are eligible for shipment retrieval. For shipments to import, both windows must cover the relevant dates.

Purpose of This Job
  • Fetch shipment XMLs from the supplier’s FTP inbound folder.
  • Update orders with carrier, shipping method, tracking ID, and ship date.
  • Associate shipped items by SKU and support partial shipments.
How the Job Works
  • 1Pull XML — Reads files matching your Remote File Name Pattern from the configured Inbound Remote File Folder.
  • 2Parse — Extracts carrier, method, tracking, carton/BOL, and line items (SKU & shipped qty) into your mapping template.
  • 3Apply Lookback — Only Fulfillment Requests created within the FR Lookback Period are considered (default 90 days).
  • 4Save — Posts shipment data back to the order; supports partials.
Example: XML shows Carrier=UPS, Method=Ground, Tracking=1Z…, ShipDate=2025-08-17, and line with SKU=ABC-123, ShippedQty=2 → order updated accordingly.
Setup Instructions
  • 1Connect an Integration — Choose Kroll and select your FTP (Basic Auth) connection.
  • 2Configure Settings
    • Remote File Name Pattern * — Mask for shipment XML files (e.g., krl_shipments_*.xml).
    • Inbound Remote File Folder * — FTP directory to read shipment files from.
    • File ActionRead (leave files) or other actions per your policy.
    • Advanced → FR Lookback Period for Get Shipments — Maximum age of FRs to match (default 90 days).
  • 3Define a Mapping Template — Use the recommended fields below.
  • 4Save & Schedule — Run manually or schedule (UTC).
Operation Workflow
  • Files are fetched over your configured FTP connection.
  • Format is .xml; a sample file is referenced in internal docs.
  • If tracking is absent, use Carton ID or BOL and map accordingly.
Automation & Schedule

Enable scheduling to pull shipments automatically. The status page will show Connected, Configured, and Mapped (e.g., template Get Shipments 2). Schedules run in UTC.

Mapping Template (Enable / Disable)

Toggle each field to control what is saved to the shipment record. Only fields set to Enable will be imported.

Shipment Header
Field Kroll Field Notes Status
Carrier Carrier Header text value. Enable / Disable
Shipping Method Shipping Method Supplier method string. Enable / Disable
Tracking ID Tracking ID May be blank on LTL. Enable / Disable
Carton ID Carton Id Use when tracking is missing. Enable / Disable
BOL BOL Bill of Lading for freight/LTL. Enable / Disable
Shipped At Ship Date Maps to shipment timestamp. Enable
PO / FR Number Purchase Order Number Links XML to FR/Order. Enable
Total Weight Actual/Estimated Weight If provided. Enable / Disable
Shipment Items
Field Kroll Field Notes Status
SKU SKU Line association key. Enable
Shipped Quantity Shipped Quantity Supports partials. Enable
UOM UOM Optional; reporting. Enable / Disable
Line Weight Weight If present per line. Enable / Disable
Practice: Toggle a required field:
Guidance: Keep PO / FR Number, Shipped At, SKU, and Shipped Quantity set to Enable. Add Carton ID and BOL as fallbacks when Tracking ID is missing.
Older shipments not importing? Check the Shipments from Last X Days setting in your Get Shipments configuration. The default is 7 days — if the shipment is older than this window, Flxpoint will not query Kroll's API for it. Increase the value (e.g., to 30 or 60) to cover the date range of the missing shipments, then re-run the job.
Operation Details
Carrier & Method SUPPORTED Available in XML header.
Shipment Item Association SUPPORTED By SKU.
Partial Shipments SUPPORTED Multiple files/lines can complete fulfillment.
Invoice Information NOT SUPPORTED Not included in this feed.
Custom Fields NOT SUPPORTED Standard shipment fields only.
Troubleshooting
  • No shipments found? Confirm file pattern/folder and Lookback window cover targeted FRs.
  • Missing tracking? Map Carton ID or BOL as alternates and surface them for customer notifications if needed.
  • Lines didn’t attach? Ensure each line includes a mapped SKU and that it’s Enabled.
 
 

 

Troubleshooting

Common issues for the Kroll integration. Expand each item to learn more.