Pro
Most popularVolume pricing
illustrativepay for labels, not for seats
Order management system shipping integration turns an order release event into a purchased carrier label and sends tracking back to the order. GoatLabels does this through a REST API or a bulk CSV import, rate-shopping USPS, UPS, FedEx, and DHL on each parcel, on Free at $0 a month or Pro at $40 flat. It has no native OMS connector, so your team builds the handoff.
When your OMS releases an order to fulfillment, USPS, UPS, FedEx, and DHL are quoted on the parcel from one account, with no carrier contracts.
Each label debits a prepaid wallet and writes a dated ledger line carrying the order reference your OMS sent.
An OMS decides what ships and from where, but order management shipping software rarely prints the carrier label itself. There are four common routes: an API and file handoff to a label service, the shipping features inside the OMS, a connected shipping app, or an enterprise multi-carrier system. GoatLabels is the first route. The table shows what each one asks of you.
Updated
| GoatLabels | An OMS's built-in shipping | A connected shipping app | Enterprise multi-carrier system | |
|---|---|---|---|---|
| How a released order arrives | Your code calls the REST API on the release event, or you import a CSV of up to 500 released orders. | Inside the OMS, where the feature exists. Check which carriers and regions your edition covers. | A packaged app syncs orders out of the OMS. You install it, map fields, and keep it current. | Connected by the vendor or a partner as an implementation project. |
| Carrier accounts needed | None. Labels are bought on GoatLabels' accounts, and your own negotiated rates cannot be added. | Usually your own. Microsoft documents that Dynamics 365 Supply Chain needs a rate engine you develop with the carrier or a carrier hub service. | Usually your own accounts, sometimes with the app's own rates as well. | Your own carrier contracts, often across many carriers. |
| Rate shopping per parcel | USPS, UPS, FedEx, and DHL quoted on every parcel, one all-in number per carrier. | Depends on the OMS and on the carriers you have connected. | Across the carrier accounts you connect to the app. | Rule-based across your contracted carriers. |
| Tracking back to the order | Returned by the API at purchase and on signed, replayable webhooks. Your code writes it to the OMS. | Native, because the shipment record lives in the OMS. | Written back by the app once the mapping is configured. | Written back by the integration. |
| Price and commitment | Free at $0 a month with 50 shipments, or Pro at $40 a month flat with unlimited shipments. No contract. | Part of the OMS license or an added module. Not stated generically. | An app fee, a platform subscription, or both. | Varies by vendor. Check the vendor's pricing page and ask about implementation work. |
Third-party details checked on from each vendor's own pages: Microsoft Learn: small parcel shipping in Dynamics 365 SCM (viewed 2026-10-06). Plans and features change, so confirm on the vendor's current page before you decide.
Order management system shipping integration is the handoff that takes an order the OMS has released to fulfillment, buys a carrier label for it, and returns the tracking number to the order record. The OMS owns the decision about what ships, from which location, and when. The label service owns the OMS carrier integration side: carrier choice, rates, and the label itself.
The handoff has a clear start and end. It starts with a release event or a list of released orders, and it ends when the order shows a tracking number that customer service and the buyer can see. Everything between those two points is either a packaged connector or code and files your team controls.
A small service on your side listens for the release event and calls the GoatLabels REST API to create the shipment, read the carrier quotes, and buy the label your rule selects. Many order systems can publish that event to a queue, a webhook, or a workflow step, so check which of those your OMS supports before you design the service.
Send an Idempotency-Key with each purchase call. Order events are often delivered more than once, and the key means a repeated event returns the first label instead of buying a second. Live and test keys let you run the whole flow against test orders before any wallet funds are spent, and rate-limit headers tell the service when to slow down.
The tracking number comes back in the API response when the label is bought, and later tracking events arrive on signed webhooks that your endpoint verifies and then writes to the order. GoatLabels does not write into any OMS itself, so the update call to your order system is part of the service your team builds.
Webhooks can be replayed, which matters when your endpoint was down during a deploy or an outage. Replay the missed events rather than polling every open shipment. If one order ships in several cartons, each carton is its own label and its own tracking number, all carrying the same order reference so the OMS can attach them to one order.
Yes, with a file. Export the orders your OMS has released as a CSV and import it into GoatLabels, which takes up to 500 rows per file and names the row and field behind any error. One bad row does not fail the batch, so the other orders in the wave still get labels while someone corrects the address.
The file route is manual in both directions: a person runs the export, and tracking numbers go back through whatever import your OMS offers. That is reasonable for a daily wave or a pilot. Once release volume is spread through the day, you can move the same flow to the API so labels follow the release event without a person in the loop.
GoatLabels is the wrong fit if you need a vendor-supported connector installed in your OMS, labels on your own negotiated carrier contracts, LTL or freight booking, or a contractual SLA. It offers none of those. It is a parcel label service reached by CSV or API, with no SDK and no automatic write-back to any order system.
It also does not produce retailer compliance labels such as GS1-128 or any EDI document, so orders bound to a retailer's routing guide need other tooling. It suits teams whose OMS can emit a release event or an export, who have a developer or an operations analyst to own the handoff, and who want four carriers without opening carrier accounts.
Handing off from a warehouse system instead? See WMS shipping integration. Ready to design the event handler? Read the shipping API for developers.
Your OMS already holds the ship-to address, the order lines, and the fulfillment location. A service that listens for its release event can call the REST API to rate-shop and buy the label, then receive tracking on signed webhooks. Calls are unlimited on every plan, with live and test keys, Idempotency-Key support, an OpenAPI 3.1 spec, and rate-limit headers.
POST /api/v1/shipments
Authorization: Bearer sk_live_…
Idempotency-Key: ord_8421
{
"to": { "name": "Joyce", "city": "Berlin", "country": "DE" },
"parcel": { "weight": 2.6, "weight_unit": "lb" },
"service": "fedex_intl_priority"
}
Free is $0 a month with 50 shipments a month. Pro is $40 a month flat with unlimited shipments and cheaper label rates. Bulk CSV, 13 connectors, and the REST API come with both, and labels are paid from a prepaid wallet.
Volume pricing
illustrativepay for labels, not for seats
$0 / forever
Enough to prove one release-to-label flow before you commit.
The in-app assistant drafts a label from a pasted order or email for you to confirm. It is part of the product, not an add-on.
GET /api/v1/shipments
200 OK · plan: free
Unlimited calls. The same wallet as the dashboard.
Put real parcels through the side-by-side quotes and compare against what those labels cost you on
ShippoPirate ShipShipStationLabel prices are quoted live from USPS, UPS, FedEx, and DHL and shown as one number, the same number that leaves your wallet. Other vendors' plans move, so compare against their current pricing page. Full pricing details
Related reading: WMS shipping integration, ERP shipping integration, B2B ecommerce shipping software, the shipping API for developers.
WMS and order system shipping guides: Brightpearl shipping software, Cin7 shipping labels, Drop ship vendor shipping labels, EDI shipping labels, Extensiv shipping labels, Fishbowl shipping software, Linnworks shipping labels, ShipHero alternative, WMS shipping integration.
Call the API from your release event or import a CSV, compare USPS, UPS, FedEx, and DHL on each parcel, then decide. Free is $0 a month; Pro is $40 flat with unlimited shipments.
No contract. No card for the Free plan.