ml-connector
PlexWise

Plex and Wise integration

Plex runs manufacturing finance and operations. Wise executes cross-border payments and multi-currency transfers. Connecting the two keeps your payables current and international vendor payments flowing without manual handoffs. Approved invoices from Plex move to Wise for immediate execution, payment status flows back into Plex, and multi-currency rates and balances are tracked in real time. ml-connector handles the different APIs on each side and orchestrates the payment workflow on a schedule you control.

How Plex works

Plex is a cloud-native ERP and MES platform for discrete manufacturing, combining full ERP capabilities (financials, purchasing, inventory) with embedded MES for production and traceability. It exposes suppliers, purchase orders, invoices, GL accounts, and payments through REST JSON APIs via the Plex Connect gateway at https://cloud.plex.com/api, authenticating with OAuth 2.0 client credentials. Plex does not offer webhooks, so payment records are read by polling on a configurable interval. Legacy SOAP datasources are also available for bulk extracts. Rate limits are not publicly documented and stored procedure semantics vary by customer configuration.

How Wise works

Wise is a global payments platform that executes international transfers and manages multi-currency balances through REST JSON APIs at https://api.wise.com, authenticating with OAuth 2.0 (12-hour token expiry) or a long-lived personal API token. Wise exposes profiles, recipients, balances, quotes, and transfers, and can push transfer state changes and balance updates via registered webhooks with RSA-SHA256 signature verification. Wise rate limits at 100 requests per second or 1000 per minute, and requires a 4-step workflow to execute a transfer: create quote, add recipient, initiate transfer, and fund the payment.

What moves between them

Approved invoices and payment records flow from Plex into Wise. ml-connector polls Plex on a configured interval for invoices marked approved or ready for payment, extracts vendor and amount details, creates a quote and transfer order in Wise aligned to the vendor currency, and executes the payout. Payment status, completion timestamp, and Wise transaction ID flow back into Plex so the finance team can track each outbound payment. Multi-currency rates and current balances are synced on a daily basis to keep Plex's cash forecast current. Wise webhooks notify ml-connector of payment state changes, accelerating reconciliation.

How ml-connector handles it

ml-connector stores Plex OAuth credentials and Wise API token encrypted and refreshes Plex bearer tokens when a call returns 401. On the Wise side it accepts the sandbox or production base URL per customer environment, stores the Wise token securely, and validates Wise webhook signatures using RSA-SHA256 before processing transfers. Vendors in Plex are matched to recipients in Wise by name and currency; if a recipient does not yet exist, ml-connector creates one with the vendor details and assigns it a unique reference ID so future invoices to that vendor land on the same recipient. The 4-step Wise transfer workflow is handled atomically: a quote is created, a recipient is looked up or created, the transfer is initiated with an idempotency key derived from the Plex invoice, and the payment is funded via the customer's Wise account. Plex rate limits are not documented, so ml-connector implements exponential backoff on HTTP 429. Wise rate limits are tracked per second and per minute, and backoff adjusts dynamically. Every record carries a full audit trail and can be replayed if the Wise call fails partway through.

A real-world example

A mid-market discrete manufacturer with factories across Europe and North America runs Plex for production and finance. It pays suppliers in local currencies across multiple countries and previously exported approved invoices from Plex weekly, logged into Wise manually, entered quotes and recipients one by one, and tracked payment status in a spreadsheet. Month-end reconciliation meant chasing down when transfers completed and which Plex invoices matched which Wise transactions. With Plex and Wise connected, approved invoices trigger transfers immediately, each payment is recorded in Plex with its Wise transaction ID and completion timestamp, and the finance team sees real-time payment status. The manual export and re-entry step is gone, and reconciliation is automatic.

What you can do

  • Poll approved invoices from Plex and automatically create cross-border transfers in Wise matched to vendor currency and payment terms.
  • Map Plex suppliers to Wise recipients and create recipients on demand so every invoice routes to the correct payee.
  • Authenticate Plex with OAuth 2.0 and Wise with OAuth 2.0 or personal API token, refreshing tokens and handling 401 responses.
  • Receive Wise webhook notifications for transfer state changes and balance updates, and sync payment status back into Plex GL and AP records.
  • Execute the complete Wise 4-step transfer workflow (quote, recipient, transfer initiation, payment funding) atomically for every Plex invoice.

Questions

Which direction does data move between Plex and Wise?
The main flow is Plex into Wise. Approved invoices and payment records move from Plex to Wise for execution, while transfer status, transaction IDs, and completion timestamps flow back into Plex so invoices can be marked paid. Multi-currency rates and Wise balances sync in both directions daily so Plex cash forecasts stay current.
How does ml-connector handle the 4-step Wise transfer workflow and vendor matching?
ml-connector creates a quote, looks up or creates a Wise recipient matching the Plex vendor, initiates the transfer with an idempotency key tied to the Plex invoice, and funds the payment in a single atomic sequence. If a vendor does not yet exist as a Wise recipient, ml-connector creates one on demand with the vendor details so future invoices to that vendor land on the same recipient.
How are authentication and rate limits managed for both systems?
ml-connector stores Plex OAuth credentials and Wise tokens encrypted, refreshes Plex bearer tokens on 401, and validates Wise webhook signatures using RSA-SHA256. Plex rate limits are not documented so exponential backoff is used on HTTP 429. Wise rate limits are tracked per second and per minute and backoff adjusts dynamically to stay within both thresholds.

Related integrations

Connect Plex and Wise

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

Get started