Distributor connections
A distributor connection links Outpost to a distributor’s own systems. Orders you approve can be submitted to the distributor, and its order status, tracking, serial numbers, backorders, and bills come back without anyone re-typing them. Pax8 and StreamOne connections bring in subscriptions. This page covers what each connection does, how to set one up, and the safeguards on live ordering.
What each connection does
Section titled “What each connection does”| Connection | Orders | Status, tracking, and serials | Bills | Catalog | Vendor webhook |
|---|---|---|---|---|---|
| Ingram Micro | Submitted | Pulled every 15 minutes | Pulled every 6 hours | Daily | Yes |
| TD SYNNEX (Digital Bridge) | Submitted | Pulled every 15 minutes | Pulled every 6 hours | Daily | Yes |
| CDW | Built in PunchOut, then submitted | Pushed by CDW | Entered by hand | None | Yes |
| Pax8 | Subscription orders | Subscriptions daily | Pulled every 6 hours | None | Yes |
| StreamOne (TD SYNNEX StreamOne Ion) | Subscription orders | Subscriptions daily | From a billing report | None | No |
For Pax8 and StreamOne subscriptions, see Subscriptions and reconciliation.
Before you begin
Section titled “Before you begin”- Managing connections needs
integrations:admin. People withprocurement:readcan see them. - Turning on live ordering needs a second factor on your account: a passkey or an authenticator app. See Secure your console account.
- Get API access from the distributor, and store it in the vault as a credential. The credential’s Username holds the client ID or account ID, and its secret holds the client secret, shared secret, or token. See Credentials vault.
Add a connection
Section titled “Add a connection”- Select Settings > Integrations > Distributors, then Add connection.
- Choose the Vendor, and enter a Name, such as Ingram main account.
- In Credential, choose the vault credential. Outpost opens it only when it calls the vendor, and records its use in the audit log once a day.
- Under Vendor settings, select Add a setting for each value the vendor needs, listed under each vendor below. Settings are account values, never a password.
- Leave Enabled (sync catalog, order status and invoices) selected.
- Select Add connection.
- Open the connection and select Test connection.
Live ordering is off on a new connection. A connection’s bills need a supplier to be from, so Outpost links one: a supplier already named after the vendor, or a new one. The connection page shows it under Bills from. To order through the connection, the supplier’s Distributor connection names it. See Purchase orders.
Turn on live ordering
Section titled “Turn on live ordering”Live ordering is what lets an approved purchase order be submitted as a real order. Three safeguards stand between a purchase order and the distributor:
- Live ordering is off per connection until an administrator turns it on.
- Each submission needs an explicit confirmation of the expected total,
by someone with
procurement:approve. If the total changes after they open the dialog, the submission is refused. - An order is never placed twice. Before submitting, Outpost asks the distributor whether it already has an order with the purchase order’s number, and records that order instead of placing another.
To turn it on:
- Open the connection, and in the Danger zone card select Turn live ordering on.
- Confirm it is you with a passkey, an authenticator code, or a recovery code. See Confirm it is you.
The card shows who turned it on and when. Turn live ordering off needs no second factor, so anyone who manages the connection can stop ordering at once. API keys and Pioneer AI can never turn live ordering on.
Live ordering gates every connection. On Ingram Micro, TD SYNNEX, and CDW it gates purchase order submissions. On Pax8 and StreamOne it gates subscription changes, which also need their own confirmation. See Subscriptions and reconciliation.
What submitting does
Section titled “What submitting does”When someone selects Place the order on a purchase order, the order is queued, and Outpost submits it within a minute:
- The distributor’s order carries your purchase order number, the ship-to address of the stock location, or of the client’s site on a drop ship, and each line’s supplier SKU or manufacturer part number.
- The
purchase_order.submittedwebhook event is sent when the order is submitted, andpurchase_order.acceptedwhen the distributor accepts it. - The purchase order’s Submission shows Accepted by distributor with the distributor’s order number, or Rejected by distributor or Submission failed with the reason. A refused or failed submission returns the order to Approved. A temporary error is retried, up to 5 attempts.
- From then on, status syncs record shipments with their carrier, tracking, and serial numbers, mark backordered lines, and cancel lines the distributor canceled. Reported serial numbers are filled in on the receive page. A purchase order whose every line the distributor canceled is canceled.
Each stock location you order into needs a ship-to address. See Inventory.
Sync and status
Section titled “Sync and status”Outpost syncs each enabled connection on its own schedule. Under Sync, Last sync by kind shows Catalog, Order status, Invoices, and, for Pax8 and StreamOne, Subscriptions. Select Sync now to queue one pass of that kind at once.
Last error says what went wrong on the last call, such as The vendor refused the credential. or The connection settings are wrong or incomplete. The Distributors list shows each connection’s Live ordering, Last sync, and Last error.
Bills pulled from a distributor arrive as supplier bills and are matched at once. See Supplier bills.
Set up the vendor webhook
Section titled “Set up the vendor webhook”A webhook lets the distributor tell Outpost the moment an order or subscription changes, instead of waiting for the next sync.
- Open the connection and select Set up webhook.
- Confirm. Outpost shows the Webhook URL and Signing secret once.
- Copy both into the distributor’s webhook settings, as described for each vendor below, then select I have copied it.
Rotate webhook makes a new URL and secret. The old ones stop working right away, so update the distributor at the same time. Outpost never trusts what a webhook says. It treats each one as a hint and fetches the change from the distributor itself.
Ingram Micro
Section titled “Ingram Micro”| Item | Value |
|---|---|
| Credential | Username: the Ingram Micro API client ID. Secret: its client secret. |
customerNumber | Your Ingram Micro customer number. Required. |
countryCode | Your Ingram Micro country, two letters. US when not set. |
senderId | Optional. The sender ID Ingram Micro gave you. |
| Webhook | Enter the URL and secret in Ingram Micro’s webhook settings. Ingram Micro signs each call with the secret. |
TD SYNNEX
Section titled “TD SYNNEX”The TD SYNNEX connection is TD SYNNEX Digital Bridge, for hardware.
| Item | Value |
|---|---|
| Credential | Username: the Digital Bridge client ID. Secret: its client secret. |
accountNumber | Your TD SYNNEX account number. |
region | Your TD SYNNEX region. US when not set. |
| Webhook | Enter the URL and secret in Digital Bridge’s webhook settings. Each call is signed with a timestamp, and calls more than 5 minutes old are refused. |
CDW connects through cXML. You build the cart on CDW’s own site with PunchOut, and the cart comes back to Outpost as a draft purchase order.
| Item | Value |
|---|---|
| Credential | Secret: the cXML shared secret CDW issued. |
fromIdentity | The buyer identity CDW issued you. Required. |
fromDomain, toDomain, toIdentity | The credential domains and CDW’s identity, if CDW gave you values other than NetworkID, DUNS, and CDW. |
deploymentMode | production, or test for CDW’s test environment. |
billToAddressId | Optional. CDW’s bill-to address ID for your account. |
| Webhook | Give CDW the URL as the address for order confirmations and ship notices, and the secret as the shared secret CDW sends with them. |
CDW does not offer an order lookup, catalog, or invoice download through cXML:
- Order status arrives only by CDW’s push, so set up the webhook.
- Enter CDW’s bills by hand. See Supplier bills.
- A resubmitted order carries the same cXML identifiers, so CDW recognizes it as the same order.
Build an order in PunchOut
Section titled “Build an order in PunchOut”- On a new purchase order, find the Find at distributors panel.
- Select Shop at followed by the CDW connection’s name. CDW’s store opens in a new tab.
- Build the cart and check out there.
The cart comes back as a draft purchase order, marked Built in the
distributor’s PunchOut catalog., and opens in the console. Review, approve,
and submit it like any other. Starting PunchOut needs procurement:write.
| Item | Value |
|---|---|
| Credential | Username: the Pax8 API client ID. Secret: its client secret. |
| Settings | None. |
| Webhook | In Pax8’s webhook settings, enter the URL, and the secret as the authorization value. Pax8 does not sign webhooks, so Outpost compares that value. |
Map each Pax8 company to its client on the connection’s Company map before subscriptions are billed. See Subscriptions and reconciliation.
StreamOne
Section titled “StreamOne”The StreamOne connection is TD SYNNEX StreamOne Ion, for subscriptions.
| Item | Value |
|---|---|
| Credential | Username: your StreamOne Ion account ID. Secret: a refresh token from StreamOne Ion. |
accountId | Optional. The account ID, when it is not the credential’s Username. |
billingReportId | The StreamOne Ion billing report that bills are read from. Without it, no bills are pulled. |
| Webhook | StreamOne Ion has none. Subscriptions sync daily, and Sync now syncs at once. |
A StreamOne Ion refresh token works once. Each time Outpost uses it, StreamOne issues a new one, and Outpost saves it into the vault credential. Do not use the same token anywhere else, or the connection stops working.
Find and compare at distributors
Section titled “Find and compare at distributors”- Find at distributors, on a purchase order you are writing, searches the catalogs synced from your connections by SKU, manufacturer part number, UPC, or description. Add puts a result on the order as a line with the distributor’s SKU and cost. Costs and stock are as of the last catalog sync. See Purchase orders.
- Compare prices, on a stock item, asks every enabled distributor
connection at once for its live cost and availability, using the item’s
part number, UPC, and supplier SKUs. The cheapest answer is marked
Lowest, and a distributor that does not answer in time is named. It
needs
procurement:read, and the item needs a part number, UPC, or supplier SKU to ask about. Live checks are rate limited, so wait a minute if Outpost says there were too many.
Delete a connection
Section titled “Delete a connection”Select Delete connection in the Danger zone. Deleting removes the connection and its synced catalog. It is refused while suppliers, orders, or subscriptions still use it. Turn the connection off instead.
Verify
Section titled “Verify”- Test connection succeeds, and Last error shows None.
- After Sync now for Order status, Last run shows the time.
Next steps
Section titled “Next steps”Content is licensed CC BY 4.0. Code samples are MIT. Outpost and the Outpost mark are trademarks of Outpost Business Solutions, PBC and are not covered by either license.