Flxpoint Help Center
All DocsContact support

McKesson as a Source

July 17, 2026

Summary

McKesson is a leading medical and healthcare products distributor. The Flxpoint integration uses two connection types: an XML API connection (B2B Key, Identity, Shared Secret, Account Number, Ship To Number) for Get Inventory (Primary and Secondary) via McKesson's XML ItemFeed, and a separate FTP/FTPS EDI connection for Send Fulfillment Requests (EDI 850), Get Shipments (EDI 856), and Get Invoices (EDI 810). Each McKesson Unit of Measure becomes its own variant in Flxpoint, and McKesson typically selects the shipping carrier on your behalf.

Get Inventory (Primary)
Imports the full McKesson catalog daily β€” products, pricing, and quantity.
Get Inventory (Secondary)
A lighter, frequent refresh of pricing and quantity only.
Send Fulfillment Requests
Sends orders (Fulfillment Requests) to McKesson.
Get Shipments
Pulls McKesson tracking numbers and ship dates back into Flxpoint.
Get Invoices
Imports McKesson invoices for reconciliation.

McKesson supports two connection types used for different operations — an XML API connection for Get Inventory (Primary and Secondary), and a separate FTP/FTPS EDI connection for Send Fulfillment Requests, Get PO Acknowledgements, Get Shipments, and Get Invoices. Add a McKesson source, start configuring an operation, and when Flxpoint prompts you click + New Connection, enter the values for that operation's connection type, then Test ConnectionSave Connection.

Option A β€” XML API
B2B KeyRequired
Your McKesson B2B Key, provided by McKesson's B2B/EDI team. Used to authenticate to McKesson's XML product feed for your account.
IdentityRequired
Your McKesson XML API Identity, provided by McKesson's B2B/EDI team.
Shared SecretRequired
Your McKesson XML API Shared Secret. Sent with every request to authenticate.
Account NumberRequired
Your McKesson customer account number.
Ship To NumberRequired
Your McKesson ship-to location number. Must match McKesson's records exactly.
Option B β€” FTP/FTPS EDI
FTP ProtocolRequired
The FTP protocol to use (FTP or FTPS), as provided by McKesson's EDI team.
HostRequired
The McKesson EDI FTP server hostname.
PortRequired
The FTP port for the connection.
UserRequired
Your McKesson EDI FTP username.
PasswordRequired
Your McKesson EDI FTP password.
The EDI connection also requires your McKesson EDI trading-partner details (your account and qualifier identifiers) — obtain these from McKesson's B2B/EDI team. Before configuring operations, confirm with McKesson which EDI documents are enabled for your account: 846 (Inventory), 850 (PO), 856 (ASN), and optionally 810 (Invoice). Contact support@flxpoint.com for setup help.

Five XML credentials required β€” all must match McKesson's B2B/EDI records exactly

The XML API connection requires: B2B Key, Identity, Shared Secret, Account Number, and Ship To Number β€” all provided by McKesson's B2B/EDI team. If Test Connection fails, re-enter each value carefully (watch for whitespace), and verify both Account Number and Ship To Number match McKesson's records. Also confirm your account has the correct EDI docs enabled: 846 (Inventory), 850 (PO), 856 (ASN), and optionally 810 (Invoice).

Each McKesson UOM (Unit of Measure) becomes a separate variant β€” SKU = itemId + units

A single McKesson item can have multiple Units of Measure (EA, PK, CS, BX, etc.). Each UOM imports as a distinct variant in Flxpoint. The recommended variant SKU format is {itemId}-{units} (e.g., 123456-EA). GIS matches inventory against this constructed SKU. Order submission via Send FR requires mapping a valid Unit Measurement Code that McKesson supports for each line item.

McKesson selects the shipping carrier β€” do not map shipping method unless specifically enabled

In most McKesson EDI setups, you do not send a shipping method or carrier code with orders. McKesson selects "Best Way" based on your account and item rules. Leaving shipping method fields unmapped will not cause order failures. Only map carrier/service codes if McKesson has explicitly enabled and documented this for your account. If unsure, leave shipping method unmapped.

Multiple tracking numbers in EDI 856 are split into separate Flxpoint shipment records

As of October 16, 2025, when an EDI 856 shipment contains comma-separated tracking numbers, Flxpoint automatically splits them into separate shipment records β€” one tracking number per shipment. This is especially important for Amazon channel orders, which only accept one tracking number per shipment. After a multi-tracking shipment imports, re-sync the order to ensure each tracking number publishes correctly to the channel.


FieldMaps To β€” Notes
itemId + unitProduct / Variant → SKU. Required. Constructed as {itemId}-{units} per McKesson UOM — each UOM becomes its own variant.
description / itemDescriptionProduct → Title. McKesson's item description.
itemFeaturesProduct → Description. Extended item features/description text.
manufacturerName / itemBrandProduct → Brand.
majorCategory / minorCategoryProduct → Category 1 / Category 2.
itemImage + additional imagesProduct / Variant → Images. Primary image plus any Image Reference Number attributes; the base image URL depends on your Image Quality Preference setting (High Res / Item Detail / Thumbnail).
pricePricing → Cost. Per-UOM dealer price.
quantityAvailableInventory → Quantity. Per-UOM available quantity.
unit (UOM)Product / Variant → Option (UOM). Each McKesson Unit of Measure (EA, PK, CS, BX, etc.) becomes a distinct variant option.
itemAttributesProduct → Attributes. Name/value attribute pairs returned by McKesson.
FieldMaps To β€” Notes
itemSku ({itemId}-{units})Inventory Variant → SKU. Required. Must match the SKU created by Get Inventory Primary.
pricePricing → Cost.
quantityAvailableInventory → Quantity.
Full catalog fieldsNot included in Secondary — titles, images, categories and attributes come from Get Inventory Primary. Run Primary daily for the full catalog and Secondary more frequently to keep Cost and Quantity current.
Source FieldMaps To (McKesson EDI 850) β€” Notes
Fulfillment Request #Patient Account Number. Required. Must be unique per order — reusing a PO number causes a Duplicate PO rejection from McKesson.
Fulfillment Request line → SKUBuyer's Item Number (IN). Required. Sent per line item.
Fulfillment Request line → QuantityQuantity. Required.
Fulfillment Request line → UOMUnit Measurement Code. Required. Must be a UOM McKesson supports for that item (EA, PK, CS, etc.).
ShipTo NumberShipTo Number. Optional — only if McKesson assigned you a coded ship-to location. Mapping this suppresses sending a full shipping address.
CostCost. Optional line cost.
Shipping methodNot typically mapped — McKesson selects the carrier (“Best Way”) based on your account and item rules. Only map if McKesson has explicitly enabled carrier selection for your account.
FieldMaps To β€” Notes
TrackingNumberShipment → Tracking Number. Required. Comma-separated tracking numbers on a single 856 are split into separate shipment records (as of Oct 16, 2025).
Buyer's Item Number (IN)Shipment Item → SKU. Required.
quantityShipment Item → Quantity. Required. Units shipped for the line.
unitMeasurementCodeShipment Item → UOM. Informational — not required for matching.
PRF01 (Purchase Order)Shipment → Purchase Order reference. Required.
Carrier / ship methodMcKesson's 856 typically returns tracking number only — carrier and ship method fields are often blank and do not need to be mapped.
FieldMaps To β€” Notes
Buyer's Item Number (IN)Invoice Item → SKU. Required. Matches the invoice line back to your catalog/FR.
quantityInvoice Item → Quantity (invoiced). Required.
costInvoice Item → Per Unit Cost. Required.
unitMeasurementCodeInvoice Item → UOM. Informational.
Summary total (SAC/TDS, cents)Invoice → Total Cost. Converted from cents to dollars.
Line item charges (SAC)Invoice → Additional Invoice Items. Freight/tax/other charge lines added as separate invoice items (title = charge description, cost = charge amount).

"Duplicate PO" rejection from McKesson β€” EDI 850 rejected
McKesson requires a unique PO number (Patient Account Number) per order. Reusing PO numbers β€” especially when retrying failed test orders in production β€” causes EDI rejection with a "Duplicate PO" error. To fix: generate a new unique PO number for each resubmission (e.g., include a date/timestamp component like YYYYMMDD-####). Set up a mapping template rule to always output a unique value per order submission. Do not retry a failed FR using the same FR number as the original failed submission.
Products archiving unexpectedly β€” Archive/Un-Archive enabled on multiple jobs
Unexpected archiving is almost always caused by Archive/Un-Archive being enabled on both GIP and GIS simultaneously. One job archives an item (not found in its feed), and the other may or may not unarchive it, creating inconsistent states. Enable Archive/Un-Archive in only one job β€” typically GIP for full catalog management. Use GIS for faster quantity/price refreshes without archiving. If mass-archiving has already occurred, disable Archive/Un-Archive on GIS, then re-run GIS to let it restore items without archiving logic.
Shipments not pulling β€” Get Shipments returning no data
If Get Shipments returns nothing: (1) increase the Fetch shipments within last X days lookback β€” McKesson may have a delay between order processing and EDI 856 file availability; try 14 days if 7 isn't working; (2) verify the EDI FTP inbound folder path and credentials are correct; (3) note that McKesson EDI 856 typically returns tracking number only β€” carrier and method fields may be blank; map only Tracking Number and Purchase Order (PRF01) as required fields. Partial shipments across multiple 856 files are supported.

How does GIP import products and images from McKesson?
GIP fetches McKesson's XML ItemFeed in pages of 50 items. Each item includes: Item ID (Parent SKU), Description/Item Description (Title), Item Features (Description), Manufacturer Name/Item Brand (Brand), Major/Minor Category (Category 1/2), Item Image (primary image), and additional images via attribute references. Product images are served from McKesson's image host based on your Image Quality Preference setting. Set Archive/Un-Archive in only one job (Primary or Secondary) to avoid unintended archiving.
What are the required Send FR fields for McKesson EDI?
Required per order: Patient Account Number (must be unique per order β€” reusing PO numbers causes EDI rejection), Buyer's Item Number (IN) → maps from SKU, Quantity, and Unit Measurement Code (EA, PK, CS, etc.). Optional: ShipTo Number (if McKesson assigns you a coded ship-to location β€” note that mapping this suppresses sending a full shipping address), and Cost. Send a one-line test order first to validate Patient Account #, SKU/IN mapping, Qty, and UOM before enabling automatic scheduling.
How does Get Invoices work and what lookback window should I set?
Get Invoices reads EDI 810 files from your McKesson inbound FTP folder, maps them to Flxpoint invoice records, and posts an EDI 997 acknowledgement to your outbound folder on success. Set the Lookback window to approximately 30 days to ensure invoices match your recent FRs. Line matching uses Buyer's Item Number (IN) → SKU. Required mappings: SKU, Quantity (invoiced), and Per Unit Cost. If no invoices appear, confirm EDI 810 files exist in the inbound folder and the lookback covers the FR creation date.
What causes "Failed to fetch inventory during Get Inventory" errors?
This error is typically a brief, transient connection hiccup during the job's initial check β€” not a problem with your credentials or data. Flxpoint automatically retries the connection up to 5 times to self-recover. If you see this error but the job otherwise completed, no action is needed. If the error appears consistently and the job fails to import any data, verify your B2B Key, Identity, Shared Secret, Account Number, and Ship To Number and confirm they are active with McKesson.
Β© 2026 Flxpoint. All rights reserved.