Deltek and UPS integration
Deltek Vantagepoint runs projects, finance, and the firm records for clients and vendors. UPS handles shipping labels, rates, address validation, and package tracking. Connecting the two lets you create UPS shipments from the firm and project data already in Deltek and bring tracking numbers and delivery status back without re-keying. ml-connector reads firm addresses and project references from Deltek, validates them with UPS, books the shipment, and records the result against the right project. It handles the very different APIs on each side and keeps the flow moving on the schedule and events you set.
What moves between them
The flow runs from Deltek into UPS for shipment creation and from UPS back into Deltek for tracking and charges. ml-connector reads ship-to addresses from Deltek firms and the related project number, validates each address with UPS Address Validation, creates the UPS shipment label, and writes the tracking number, service level, and shipping charge from the response back onto the matching Deltek project or firm as an activity. As packages move, UPS Track Alert webhook events and a scheduled tracking poll update delivery status on the same Deltek record. Because UPS has no invoice API, ml-connector records the shipment charge returned at label time rather than reconciling against a downstream UPS bill.
How ml-connector handles it
ml-connector stores both credential sets encrypted and bridges the two token models, getting a Deltek password-grant bearer token against the tenant URL and refreshing it on a 401, while caching the UPS client-credentials token for its roughly four-hour life so it never approaches the 250-token daily ceiling. Deltek firm addresses are run through UPS Address Validation first, since residential versus commercial classification changes the rate, then the shipment is created with the account number supplied as x-merchant-id for negotiated rates. UPS shipment creation is not idempotent, so each label job carries a stable jobId to stop duplicate shipments on retry, and the returned tracking number is checked against existing Deltek activities before a new one is written. Delivery status arrives two ways: a UPS Track Alert subscription pushes scan events to a webhook validated by the shared credential header, and a scheduled poll backfills anything missed, which matters because Track Alert subscriptions expire after 14 days and must be renewed for shipments still in transit. UPS rate limits return HTTP 429 with no retry-after header, so ml-connector backs off and retries with a full audit trail and replay on every record.
A real-world example
A 200-person architecture and engineering firm runs Deltek Vantagepoint for projects, billing, and its client and vendor firm records, and ships drawing sets, material samples, and signed deliverables to job sites by UPS. Before the integration, staff re-typed client site addresses from Deltek into the UPS dashboard for every shipment, then pasted tracking numbers back into project notes by hand and fielded calls asking where a package was. With Deltek and UPS connected, a shipment is created straight from the project's firm address after a validation check, the tracking number and delivery status land on the project automatically, and the team can see what shipped and whether it arrived without leaving Deltek.
What you can do
- Create UPS shipment labels directly from Deltek firm addresses and project references with no re-keying.
- Validate every ship-to address with UPS before booking so residential and commercial rates are correct.
- Write UPS tracking numbers, service level, and shipping charges back onto the matching Deltek project or firm.
- Update delivery status on the Deltek record from UPS Track Alert webhooks and a scheduled tracking poll.
- Bridge the Deltek password-grant token and the cached UPS client-credentials token, with retries and a full audit trail.
Questions
- Can this integration pull UPS invoices into Deltek for AP processing?
- No. UPS does not expose a billing or invoice download API, so there is no UPS bill to pull. ml-connector records the shipping charge that UPS returns when the label is created and posts it against the Deltek project, but full invoice reconciliation would still rely on the UPS Billing Center.
- How does data move between Deltek and UPS?
- Ship-to addresses and project references move from Deltek into UPS to create shipments, and tracking numbers, delivery status, and charges move from UPS back into Deltek as project activities. Deltek firm and project data is the source of truth for who and where, and UPS owns the shipping and tracking detail. UPS holds no financial records, so ml-connector never writes ledger entries to UPS.
- How does the integration get delivery updates if UPS does not sign its webhooks?
- UPS pushes scan events through a Track Alert subscription and authenticates each delivery by echoing a secret credential in the webhook header rather than an HMAC signature. ml-connector validates that credential on every inbound event and also runs a scheduled tracking poll as a backstop. This matters because Track Alert subscriptions expire after 14 days, so the connector renews them for packages still in transit.
Related integrations
More Deltek integrations
Other systems that connect to UPS
Connect Deltek and UPS
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started