ml-connector
Microsoft Dynamics GPFedEx

Microsoft Dynamics GP and FedEx integration

Microsoft Dynamics GP handles purchasing, inventory, and cost accounting. FedEx ships packages and provides tracking visibility. Connecting the two moves outbound orders from GP into FedEx for label creation and tracking, then routes tracking events back to GP so procurement teams see where shipments are in real time. Purchase orders flow one direction; tracking events flow back automatically so your GL cost allocations include freight visibility.

How Microsoft Dynamics GP works

Microsoft Dynamics GP exposes purchase orders, line items, vendors, GL accounts, inventory items, and shipment details through Service Based Architecture (SBA) REST or SOAP Web Services at a customer-provided on-premises endpoint. Calls require Windows Active Directory credentials tied to a domain account with GP user permissions and role-based security. Since GP does not support webhooks, data is read by polling with ModifiedDate filters; SBA requires request bodies to wrap data in a top-level Payload key. Fiscal periods and company contexts are required on all transactions, and posting rules are enforced (unposted transactions are mutable, posted ones are read-only).

How FedEx works

FedEx exposes shipment creation, tracking, rates, freight LTL management, and customs documents through REST APIs at https://apis.fedex.com. All calls require OAuth2 bearer tokens issued via Client Credentials flow using an API Key and Secret from the FedEx Developer Portal. FedEx offers optional paid webhooks for tracking events; otherwise, tracking is read via the Track API using tracking numbers from the shipment response. FedEx enforces API rate limits (1,400 transactions per 10 seconds) and IP-level auth limits (3 tokens per second), and the Track API accepts up to 30 tracking numbers per request for batch lookups.

What moves between them

Purchase orders and line items flow from Dynamics GP to FedEx. ml-connector reads new or modified purchase orders from GP, extracts shipping details (recipient address, weight, dimensions), and creates shipments in FedEx via the Ship API, capturing the FedEx tracking number. Tracking events flow back through FedEx's Track API into GP, where they are attached to the purchase order so procurement teams can monitor delivery. GL cost allocations are mapped at shipment time so freight costs land on the correct GL account and cost center in GP.

How ml-connector handles it

ml-connector stores the FedEx API Key and Secret encrypted and uses them to refresh OAuth2 bearer tokens on a 1-hour cycle to avoid IP-level auth rate limits. For Dynamics GP, it accepts the customer-provided on-premises SBA endpoint URL and a dedicated Windows domain account credential, preserving Windows auth context on every call. Because GP does not support webhooks, ml-connector polls purchase orders on a schedule you define (e.g., hourly or per-business-day), filtering by ModifiedDate to avoid re-processing. It wraps SBA request bodies in the required top-level Payload key and validates fiscal period and company context before submitting shipments. Tracking lookups use FedEx's batch Track API to retrieve up to 30 tracking numbers at once, reducing API calls. ml-connector backs off and retries on FedEx 429 and 503 responses, caches OAuth2 tokens to stay under IP limits, and maintains an audit trail so shipments and tracking events can be replayed or reconciled if a call fails.

A real-world example

A mid-sized wholesale distributor runs Dynamics GP for purchasing and inventory across three warehouses. They receive purchase orders from suppliers and ship outbound orders to customers. Before the integration, the warehouse team created FedEx labels manually and then emailed tracking numbers to the procurement department, who pasted them into GP order notes for visibility. With Dynamics GP and FedEx connected, purchase orders flow directly into FedEx for label generation, tracking numbers are captured automatically, and the finance team allocates freight costs to the correct GL accounts by warehouse. Procurement can now track delivery status from within GP, and month-end reconciliation includes all freight costs without manual re-entry.

What you can do

  • Create FedEx shipment labels directly from Dynamics GP purchase orders, capturing tracking numbers without manual handoff.
  • Route tracking events from FedEx back to Dynamics GP so procurement teams monitor delivery status in real time.
  • Map shipment costs to GP GL accounts and cost centers by warehouse and order origin.
  • Handle Dynamics GP on-premises Windows authentication, FedEx OAuth2 tokens, and IP-level rate limit compliance.
  • Poll purchase orders on a schedule you define, with retries and audit trail replay on shipment and tracking failures.

Questions

How does the integration handle Dynamics GP's on-premises architecture and Windows authentication?
ml-connector accepts the customer-provided SBA REST or SOAP endpoint URL and a dedicated Windows domain account credential. It preserves Windows auth context (Negotiate or NTLM) on every call to GP, so no API keys or OAuth2 are required on the GP side. The endpoint must be exposed through the customer's firewall or via a local agent with a valid SSL certificate.
Which direction does data move between Dynamics GP and FedEx?
Purchase orders and shipping details flow from Dynamics GP to FedEx for label creation and shipment submission. Tracking events and status flow back from FedEx into Dynamics GP, so procurement teams can monitor delivery in real time. Costs are allocated to GP GL accounts at the time of shipment based on purchase order dimensions such as warehouse or cost center.
How does the integration respect FedEx's API rate limits and Dynamics GP's polling model?
ml-connector caches FedEx OAuth2 tokens for the full 1-hour TTL to avoid IP-level auth rate limits, and batches up to 30 tracking numbers per Track API call to stay under the 1,400-transaction-per-10-seconds limit. Because GP does not support webhooks, ml-connector polls purchase orders on a customer-defined schedule with ModifiedDate filters so only new or changed orders are processed, reducing load on the on-premises server.

Related integrations

Connect Microsoft Dynamics GP and FedEx

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started