A leading distributor of healthcare products and medical supplies, serving pharmacies, hospitals, and clinics.
How To Connect
📋 Phase 1: Create the Source
+
Open Fulfillment Sources
Go to Connections > Fulfillment Sources and click + Add Source.
Name & Select from Directory
Name it McKesson, then select McKesson in the FLX Supplier Directory and click Continue.
Tip: Keep the source name short (e.g., “McKesson”) so it’s easy to find in reports and filters.
Save the Source
Click Save Connection to create the source record.
🔐 Phase 2: Connection & Credentials
+
Create a New Connection
When prompted, click + New Connection and use a clear name (e.g., “McKesson EDI”).
Get Your Credentials
Contact your McKesson account manager or the EDI Onboarding team. They will provide:
- B2B Key
- Identity
- Shared Secret
- Account Number
- Ship To Number
Pro Tip: Confirm that your account is enabled for Inventory (846) and Order Fulfillment (850/856) feeds if you plan to use orders and shipments later.
⚙️ Phase 3: Add Required Jobs
+
Add Integrations
From the source, click Start Creating Integrations and add:
- Get Inventory (Primary) — imports the full catalog with attributes.
- Send Fulfillment Requests — sends orders to McKesson for fulfillment.
- Get Shipments — retrieves tracking numbers and shipment status.
Recommended order: Set up Get Inventory (Primary) first, then enable orders and shipments once items are verified.
🧩 Phase 4: Mapping Template
+
Select or Create Template
In Get Inventory (Primary) Step 3, select or create a mapping template (e.g., McKesson Inventory).
Map Required Fields
At minimum, map:
- SKU
- Quantity
- Price / Cost
- Title / Description
- UPC / GTIN (if provided)
✅ Phase 5: Run & Schedule
+
First Runs
Click Save and Complete, then run Get Inventory (Primary) manually to bring in initial products.
Scheduling
Set schedules for each integration job (runs use UTC). Many teams schedule Inventory once daily and Shipments hourly during business hours.
Verify: After your first run, check SKUs against the McKesson portal to confirm quantities, pricing, and tracking match.
Product Operations
Get Inventory and Pricing & Quantity
Supported | McKesson (EDI)
Introduction — Get Inventory and Pricing & Quantity (McKesson)
This guide unifies the catalog import (Get Inventory [Primary]) and the lightweight Pricing & Quantity updates for McKesson.
Use the catalog job to ingest products, images, categories, and attributes; use the pricing/quantity job to keep UOM-level Cost and Quantity fresh throughout the day.
The McKesson integration enables you to:
- Import the full item catalog (identifiers, attributes, images, categories).
- Maintain up-to-date UOM pricing and on-hand quantity via a lightweight job.
- Map data into your Source Inventory with separate Parent (catalog) and Variant (UOM) templates.
- 1 Connect: Create a connection with B2B Key, Identity, Shared Secret, Account, and Ship To. Test Connection then Save Connection.
-
2 Select Job Type(s):
- Catalog (Full): Pulls the complete item feed and images.
- Pricing & Quantity (Delta): Refreshes UOM price and quantityAvailable without reloading the full catalog.
- 3 Map Data: Use a Catalog (Parent) template for product fields and a Pricing & Quantity (Variant) template for SKU, Cost, Quantity, and UPC.
- 4 Run / Schedule: Execute on demand or schedule. Run Pricing & Quantity more frequently than Catalog.
Important: Turn on Archive/Un-Archive Inventory in only one of the two jobs to avoid flip-flopping item state.
Connection Fields
Field | Description | Notes |
---|---|---|
B2B Key | Key used in request URL path. | Provided by McKesson. |
Identity | API identity/username. | Provided by McKesson. |
Shared Secret | Password/shared secret. | Provided by McKesson. |
Account | Account number for data access. | Required. |
Ship To | Ship-to identifier. | Required. |
Settings
Setting | Options | Default | What it does |
---|---|---|---|
Image Quality Preference |
high_res , item_detail , thumbnail
|
high_res |
Determines base URL for images. |
Archive/Un-Archive Inventory | Yes / No | No | Archives items absent from latest run; restores when they reappear. |
Scheduling | Manual / Scheduled | Manual | Set separate cadences for Catalog vs Pricing & Quantity. |
Use a more frequent schedule for Pricing & Quantity to keep UOM availability and costs current.
Interface Overview
- Template actions: Delete, Duplicate, Save.
- Columns: From Value (McKesson) → To Field (your Inventory).
- Enable/Disable toggles: The key difference between jobs. Catalog (Parent) enables product fields; Pricing & Quantity (Variant) enables only SKU/Cost/Qty/UPC.
Catalog (Parent) — Recommended Mappings
McKesson Field | Maps To (Parent) | Example | Notes |
---|---|---|---|
itemId |
Parent SKU | MK-123456 | Main product identifier. |
description or itemDescription
|
Title | Acetaminophen 500mg | Choose one for consistency. |
itemFeatures |
Description | Capsule; Pain Relief; 100 ct | Multi-line → body text. |
manufacturerName / itemBrand
|
Brand | McKesson Brand | Either is acceptable. |
majorCategory |
Category 1 | OTC | Top-level category. |
minorCategory |
Category 2 | Pain Relief | Second-level category. |
itemImage (+ refs) |
All Images | — | Primary and additional images. |
itemAttributes |
All Attributes | UPC, dosage, size… | Direct-copy key/values. |
Pricing & Quantity (Variant) — Recommended Mappings
McKesson UOM Field | Maps To (Variant) | Example | Notes |
---|---|---|---|
itemSku |
SKU | MK-123456-CS | Typically itemId -units (PK/CS). |
price |
Cost | 12.75 | UOM cost. |
quantityAvailable |
Quantity | 42 | On-hand per UOM. |
(from itemAttributes ) |
UPC | 012345678905 | Use a lookup rule to extract UPC. |
units |
Option Value | PK | Option Name: UOM. |
Images (Catalog)
Build image URLs from the selected Image Quality Preference and feed fields:
<base-from-image_quality_pref>/{itemImage}
For each attribute where name starts with
For each attribute where name starts with
Image Reference Number
, append its value to the same base URL.
Practice: Enable/Disable
Catalog (Parent): Toggle sending itemFeatures → Description
Pricing & Quantity (Variant): Toggle sending price → Cost
Note: Each item can have multiple Units of Measure (UOM). Each UOM maps to a distinct Variant in your inventory.
Catalog (Full)
-
Feed URL:
https://mms.mckesson.com/services/xml/{b2b_key}/ItemFeed
- Pagination: Pages of 50 items per request.
-
Transform: XML parsed into
SourceProductDto
/SourceVariantDto
, then mapped.
Pricing & Quantity (Delta)
- Scope: Refreshes UOM price and quantityAvailable only.
- Connection: Uses the same credentials as Catalog.
- Scheduling: Recommended more frequently than Catalog (e.g., hourly).
Capability | Status | Notes |
---|---|---|
Custom Fields | NOT SUPPORTED | Attributes are saved as direct-copy. |
Variations / Options | SUPPORTED | Variants per UOM. |
Generic Pricing (& Currency) | SUPPORTED | Single price per UOM. |
Client-Specific Pricing | NOT SUPPORTED | No per-client prices in feed. |
Quantity | SUPPORTED | From quantityAvailable . |
Multiple Warehouses | NOT SUPPORTED | No warehouse breakdown. |
Weights & Dimensions (& Units) | SUPPORTED | If present, normalized. |
Images | SUPPORTED | Primary + additional references. |
Delta vs Full Feed | SUPPORTED | Use Catalog for full; Pricing & Quantity for deltas. |
Archive Support | SUPPORTED | Enable in one job only. |
- 1 Add the Integration: Source ➜ McKesson (EDI) ➜ Get Inventory and Pricing & Quantity.
- 2 Create Connection: Enter B2B Key, Identity, Shared Secret, Account, Ship To ➜ Test ➜ Save.
- 3 Configure Jobs: Set Image Quality (Catalog) and Archive/Un-Archive (choose one job).
-
4 Mapping Templates:
- Catalog (Parent): itemId, Title, Description, Brand, Categories, Images, Attributes.
- Pricing & Quantity (Variant): itemSku, price→Cost, quantityAvailable→Quantity, UPC, units→UOM option.
- 5 Automate: Schedule Catalog (e.g., daily) and Pricing & Quantity (e.g., hourly) or run on demand.
- Auth failures: Verify Identity/Shared Secret and that the B2B Key, Account, and Ship-To match.
- Empty results: Confirm account permissions and correct B2B key.
- Images missing: Check Image Quality Preference and URL construction.
- Unexpected archiving: Ensure only one job has archiving enabled.
-
UPC missing: Add a rule to extract UPC from
itemAttributes
.
Diagnostic Tip: Run the Pricing & Quantity job in a short window and compare a few SKUs to validate UOM cost/qty updates.
-
Feed URL (Catalog):
https://mms.mckesson.com/services/xml/{b2b_key}/ItemFeed
(50 items/page). -
UOM ➜ Variants: Option name UOM, value from
units
. - Scheduling: Run Pricing & Quantity more often to minimize stockouts and stale costs.
Pro Tip: Include UPC, Brand, and both category levels in the Catalog template for stronger channel matching.
Conclusion
Get Inventory and Pricing & Quantity combines full-catalog import with fast UOM price/qty refreshes for McKesson. Connect once, maintain separate Parent/Variant templates with enable/disable toggles, and schedule each job for reliable, up-to-date products and availability.
Order Operation
Send Orders
Supported | McKesson (EDI)
Introduction to Send Orders
Submit orders (often called Fulfillment Requests) to McKesson over EDI via FTP/FTPS. Your order header and lines are transformed to McKesson’s expected fields (e.g., Patient Account Number, ShipTo Number, Buyer’s Item Number (IN), Quantity, Unit Measurement Code) and deposited to the configured remote folder.
The McKesson Send Orders integration enables you to:
- Authenticate to McKesson’s EDI FTP/FTPS endpoint.
- Place outbound files into the Outbound Remote File Folder; optionally pull responses from the Inbound Remote File Folder.
- Map order header and line fields (SKU/UOM/Qty) to McKesson’s format.
- Control timing with Hold for X Hours and Only Send During Business Hours.
The integration follows these steps:
- 1 Connect: Create an FTP/FTPS connection (Host, Port, User, Password). Advanced toggles are available for persistent connections and certain FTPS servers.
- 2 Configure: Provide remote folders, EDI qualifiers/IDs (sender/receiver), and your McKesson Customer Account Number. Optionally set send windows.
- 3 Map: Choose or create the Send Orders template and map fields (see details below).
- 4 Execute: Run on demand or schedule (e.g., every 15–60 minutes).
Tip: If you set ShipTo Number, ship-to address is omitted by design for coded ship-to locations.
Field | Description | Notes |
---|---|---|
FTP Protocol | Transport protocol (FTP or FTPS). | Use FTPS if required by McKesson. |
FTP Host | Server hostname. | Provided by McKesson. |
FTP Port | Port for protocol. | 21 for FTP; FTPS may vary. |
FTP User | Username issued for your account. | Required. |
FTP Password | Password for the above user. | Required. |
Maintain Constant Connection | Keep the connection open across transfers. | Optional. |
Unbuffered Private Data Channel | FTPS troubleshooting toggle. | Use only if your FTPS server requires it. |
Config | What it is | Guidance |
---|---|---|
Outbound Remote File Folder | Remote path where order files are deposited. | Provided during onboarding. |
Inbound Remote File Folder | Remote path to retrieve inbound responses. | Optional. |
Our Sender/Receiver Qualifier | ISA qualifier for your EDI ID. | Common: ZZ or 01 . |
Our Sender/Receiver ID | Your ISA identifier. | Matches chosen qualifier. |
Their Sender/Receiver Qualifier | McKesson’s ISA qualifier. | Provided by McKesson. |
Their Sender/Receiver ID | McKesson’s ISA identifier. | Provided by McKesson. |
Customer Account Number | Your McKesson account number. | Required. |
Hold for X Hours | Delay window before sending. | Great for manual review. |
Only Send During Business Hours | Restrict to specific hours. | Optional; reduces after-hours sends. |
Mapping templates control which order data is sent to McKesson.
Interface Overview
- Screen labeled “Send Orders”; name your template (e.g., “McKesson Send Orders 1”).
- Buttons: Delete, Duplicate, Save Mapping.
- Columns: Your fields (left) → McKesson fields (right).
Mapping Options
- Enable: Send the field (e.g., Patient Account Number).
- Disable: Ignore the field.
- Required Fields: Patient Account Number, Buyer’s Item Number (IN), Quantity, Unit Measurement Code.
Order-Level (Header) Mappings
Your Field | Maps To | Notes |
---|---|---|
Order Number (unique) | Patient Account Number | Must be unique per order. |
Ship-To Code | ShipTo Number | If set, ship-to address will not be sent. |
Line-Level Mappings
Your Field | Maps To | Example | Notes |
---|---|---|---|
SKU | Buyer’s Item Number (IN) | 123456-EA | Primary item identifier expected by McKesson. |
Quantity | Quantity | 2 | Ordered units for the UOM. |
Unit of Measure | Unit Measurement Code | EA, BX, CS | Send valid McKesson UOM codes. |
Cost (optional) | Cost | 9.99 | Include if your flow requires it. |
Practice Mapping
Try enabling/disabling Patient Account Number:
The mapping UI exposes header fields like Patient Account Number and ShipTo Number, plus item fields such as Buyer’s Item Number (IN), Quantity, and Unit Measurement Code.
Be aware of these limitations:
- Attachments/Custom Fields: Not supported in the order file.
- Ship-To Address: Omitted when ShipTo Number is provided.
- Protocol: Only FTP/FTPS file exchange (no REST endpoints).
- FTP authentication failures: Re-check host/port/user/password and protocol (FTP vs FTPS). Toggle the FTPS data-channel option only if required.
- No files received by McKesson: Verify outbound folder paths and permissions; confirm the job executed.
- Order rejections: Ensure Patient Account Number is unique and all required item fields are mapped.
- Missing ship-to address: Expected behavior if ShipTo Number is provided.
Diagnostic Tip: Send a single-line test order first; verify file presence in the outbound folder before scaling up.
Key information:
-
Identifiers: ISA qualifiers commonly
ZZ
(mutually defined) or01
(DUNS). - Uniqueness: Patient Account Number must be unique per order.
- UOM: Use valid McKesson codes (EA, BX, CS, etc.).
- Timing: Use Hold for X Hours and Business Hours only to manage when orders are transmitted.
Pro Tip: Schedule sends shortly after your Pricing & Quantity job to reduce backorders and price mismatches.
Conclusion
Send Orders for McKesson (EDI) automates compliant order submission via FTP/FTPS. Configure connection and EDI IDs, map required fields, and schedule sends for a reliable, auditable purchasing flow.
Get Shipments
Supported | McKesson (EDI)
Introduction — Get Shipments
Retrieve shipment confirmations from McKesson via EDI 856 (downloaded from your inbound FTP/FTPS directory), map them to shipments in your system, and on success post a EDI 997 functional acknowledgment to the outbound directory.
Use Get Shipments to automatically:
- Poll McKesson’s FTP/FTPS for new 856 files and parse shipment details.
- Attach tracking (including multiple tracking numbers) to related orders/FRs.
- Send back a 997 acknowledgment after a successful import.
- 1 Connect: Create an EDI FTP/FTPS connection with your McKesson host, port, user, and password.
- 2 Configure: Provide Outbound/Inbound remote directories, your Customer Account Number, and both parties’ ISA Qualifiers and IDs. Set an FR Lookback Period (default 3 months) to match shipments to recent FRs.
- 3 Map: In the Get Shipments template, map McKesson Shipment Item → Buyer’s Item Number (IN) to your SKU. If your catalog uses vendor item numbers, map to vendorItemNumber instead.
- 4 Run / Schedule: Save and Complete, then run manually or enable scheduling from Configure.
Tip: When testing, drop a single 856 in the inbound folder and confirm PO (PRF01), line match, and tracking values on the created shipment.
Config | What it is | Guidance |
---|---|---|
Outbound Remote File Folder | Where the job uploads the 997 acknowledgment. | Provided by McKesson. |
Inbound Remote File Folder | Where the job reads inbound 856 files. | Provided by McKesson. |
Customer Account Number | Your McKesson customer number. | Required to associate shipments. |
Our Sender/Receiver ID & Qualifier | Your EDI ISA identifier & qualifier. | Qualifier often “ZZ” (mutually defined) or “01” (DUNS). |
Their Sender/Receiver ID & Qualifier | McKesson’s EDI ISA identifier & qualifier. | Provided during onboarding. |
FR Lookback Period | How far back to search for matching FRs. | Default 3 months (≈90 days). |
Interface Overview
- Screen labeled Get Shipments; actions: Delete, Duplicate, Save.
- Layout: From Value (McKesson Shipment Item) → To Shipment Item Field.
Core Line Mapping
McKesson Field | Maps To | Notes |
---|---|---|
Buyer’s Item Number (IN) | SKU | Or map to vendorItemNumber if that’s your primary identifier. |
Practice Mapping
Choose the identifier you plan to use for line matching:
Operation Workflow
- Reads 856 EDI files from the inbound directory.
- Purchase Order Number is parsed from PRF01 (e.g.,
PRF*49527293-4~
). - Line item match uses your mapped identifier (
SKU
orvendorItemNumber
). - When multiple tracking numbers are present, they are saved as a comma-separated list.
- On success, a 997 acknowledgment is uploaded to the outbound directory.
Overview
The integration supports multiple tracking numbers per shipment when provided by the 856.
Behavior
- All tracking numbers in the 856 are preserved.
- Values appear in the shipment’s tracking field as a comma-separated list.
- No UI changes required—data fits existing fields.
Example
EDI input:
Shipment tracking:
EDI input:
123456789, 987654321
Shipment tracking:
123456789, 987654321
Capability | Status | Notes |
---|---|---|
Inbound Format | EDI 856 | Read from inbound FTP/FTPS directory. |
Outbound Ack | EDI 997 | Uploaded after successful processing. |
Tracking Numbers | Multiple | Stored comma-separated when present. |
Line Matching | SKU or Vendor Item # | Configured in mapping template. |
FR Lookback | Configurable | Default 3 months (≈90 days). |
- 1 Add Integration: Source ➜ McKesson (EDI) ➜ Get Shipments.
- 2 Create Connection: Enter FTP/FTPS details ➜ Test ➜ Save.
- 3 Configure: Inbound/Outbound folders, account number, EDI IDs/qualifiers, and lookback window.
- 4 Mapping Template: Map Buyer’s Item Number (IN) → SKU (or vendorItemNumber).
- 5 Automate / Run: Save and Complete, then schedule or run on demand.
- No shipments created: Verify inbound directory path and 856 file presence; confirm lookback window covers the order’s date.
-
Lines not matching: Ensure your mapping uses the correct identifier (
Buyer’s Item Number (IN)
vsvendorItemNumber
). - No tracking returned: Inspect the 856; multiple tracking values will appear comma-separated if provided.
- 997 not posted: Confirm outbound folder permissions and connectivity.
Diagnostic Tip: Start with a single 856 test file and validate PO (PRF01), line matching, and tracking on the created shipment.
Conclusion
The McKesson (EDI) Get Shipments integration automates 856 intake, preserves multiple tracking numbers, and closes the loop with a 997 acknowledgment—keeping orders up to date with accurate shipment details.