Microsoft Dynamics NAV and FedEx integration
Microsoft Dynamics NAV manages purchase orders, sales orders, and vendor and customer records. FedEx handles shipping, tracking, and rate quoting. Connecting the two keeps your order fulfillment in NAV aligned with FedEx carrier status. New shipments and tracking updates from FedEx flow into NAV purchase and sales orders automatically, so your team has visibility into what is in transit without logging into FedEx separately. ml-connector handles the different APIs and refresh schedules on each side.
What moves between them
Shipments flow primarily from FedEx into Microsoft Dynamics NAV. After a shipment is created in FedEx for a NAV sales order or purchase order, ml-connector polls FedEx's Track API on a scheduled interval and retrieves tracking events and delivery status. The tracking information is written back to the NAV sales or purchase order as custom fields or as a journal entry for audit. Rate quotes can be read from FedEx and stored in NAV as reference data, but shipment creation in FedEx is initiated outside ml-connector (typically from NAV warehouse or shipping modules).
How ml-connector handles it
ml-connector authenticates to NAV via OAuth 2.0 and to FedEx via OAuth 2.0 client credentials, and caches the FedEx bearer token for the full hour to avoid hitting the IP-level rate limit of 3 tokens per 5 seconds. On the NAV side, because purchase orders are not in the webhook entity list, ml-connector polls NAV for new sales and purchase orders on a schedule you set. For each order, it matches the FedEx tracking number (either stored in a NAV field or provided manually) and retrieves the latest tracking events from FedEx's Track API. FedEx rate limits at 1,400 transactions per 10 seconds per project, so ml-connector queues Track requests and backs off on 429 or token-limit responses. Tracking data is mapped back into NAV as custom fields on the order, updated on each poll cycle. If FedEx returns stale or cached data due to carrier delays, ml-connector marks the record for retry and logs the discrepancy in the audit trail so your team can see when tracking data was last refreshed.
A real-world example
A mid-size wholesale distributor uses Microsoft Dynamics NAV for purchase orders from suppliers and sales orders to field locations across three regions. Orders ship via FedEx LTL freight and parcel services. Before the integration, the warehouse team tracked shipments in FedEx directly and manually updated NAV with expected delivery dates and carrier status, a repetitive task that often lagged behind actual carrier updates. With NAV and FedEx connected, each outbound shipment's tracking status flows into NAV automatically on a daily schedule. Sales order delivery dates sync from FedEx tracking, so the customer service team sees in-transit status without leaving NAV, and invoicing is not sent until FedEx confirms delivery.
What you can do
- Sync shipment tracking numbers and delivery status from FedEx into Microsoft Dynamics NAV purchase and sales orders on a schedule you control.
- Read FedEx rate quotes and store them in NAV as reference data for future shipment planning.
- Authenticate both systems with OAuth 2.0 and handle FedEx's strict IP-level token rate limits via token caching and backoff.
- Poll NAV sales and purchase orders for new shipments and match them to FedEx tracking numbers via custom fields.
- Maintain a full audit trail of every FedEx API call and NAV update, with retry logic for transient failures and carrier delays.
Questions
- Which direction does data move between Microsoft Dynamics NAV and FedEx?
- Tracking data flows primarily from FedEx into NAV. ml-connector polls FedEx for shipment tracking events and delivery status and writes the results back to NAV purchase and sales orders as custom fields or audit entries. Rate quotes can be read from FedEx and stored in NAV for reference. Shipment creation in FedEx is handled outside of ml-connector, typically via NAV warehouse modules or third-party shipping software.
- How does ml-connector handle FedEx's strict rate limits?
- FedEx enforces rate limits at 1,400 transactions per 10 seconds per project and at the IP level (3 tokens per 5 seconds; IP blocked for 10 minutes if exceeded). ml-connector caches the OAuth 2.0 bearer token for the full hour and queues Track API requests so tokens are reused across all customer instances. On 429 responses or token limit errors, ml-connector backs off exponentially and retries, preventing your integration from being blocked.
- What happens if a purchase order is not in the Microsoft Dynamics NAV webhook list?
- Purchase orders are not included in NAV's standard webhook entities, so ml-connector polls NAV on a scheduled interval to discover new purchase orders and sales orders. This ensures no orders are missed and gives you control over the polling cadence. The audit trail logs every poll cycle so you can see when NAV was last checked for updates.
Related integrations
More Microsoft Dynamics NAV integrations
Other systems that connect to FedEx
Connect Microsoft Dynamics NAV and FedEx
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started