ml-connector
PlexAdyen

Plex and Adyen integration

Plex runs manufacturing finance and operations. Adyen processes and settles payments globally. Connecting the two lets you track payments and refunds in real time as they clear through Adyen, and reconcile settlements back into Plex invoices and cash accounts without manual entry. When a customer payment is captured in Adyen, the matching invoice in Plex can be marked received, and refunds flow back as credits automatically.

How Plex works

Plex is a cloud-native manufacturing ERP that exposes suppliers, purchase orders, invoices, customers, sales orders, inventory, and GL accounts through REST JSON via OAuth 2.0 client credentials, as well as legacy SOAP Web Services with Basic auth and a company code PCN. Plex publishes no native webhooks, so integrations must poll the REST API on a configurable interval (5-15 minutes recommended) filtering by modified date, or use scheduled SFTP flat-file DataSource extracts for bulk loads. Role-based permissions are enforced, so the integration user must hold the correct Plex role or API calls return empty results or 403.

How Adyen works

Adyen is a global payment platform that exposes payments, captures, refunds, cancellations, transfers, and disputes through REST JSON using API Key header authentication or Basic Auth. Adyen pushes payment events to a registered webhook endpoint (AUTHORISATION, CAPTURE, REFUND, CANCELLATION, EXPIRE, REPORT_AVAILABLE, and dispute events like CHARGEBACK and CHARGEBACK_REVERSED), and ml-connector validates each webhook payload with HMAC-SHA256 signature verification. Adyen also provides settlement and transaction reports via REST that can be polled to correlate payments with Plex invoices.

What moves between them

Payment events flow both directions. When Adyen processes a customer payment, ml-connector receives the AUTHORISATION and CAPTURE events via webhook and updates the corresponding Plex invoice or sales order with payment status. When refunds or cancellations occur in Adyen, ml-connector creates credit memos or adjusts GL accounts in Plex. Plex invoices and sales orders are polled on a schedule so new orders can be mapped to Adyen transactions, and settlement reports from Adyen are fetched daily to reconcile cash received against Plex bank accounts.

How ml-connector handles it

ml-connector stores Plex OAuth 2.0 credentials (client ID and secret) and Adyen API Key encrypted, using Plex's token endpoint to refresh bearer tokens before they expire. It accepts Adyen webhooks on a registered HTTPS endpoint, validates the HMAC-SHA256 signature on each event, and deduplicates by matching Adyen pspReference (unique payment reference) against Plex external reference fields on invoices. When Plex role-based access control blocks a query, ml-connector backs off and resurfaces the blocked record for manual intervention. Adyen's payment events arrive via webhook; Plex polling runs on a configurable schedule to fetch invoices and sales orders modified since the last run, building a bidirectional map of orders to payment references. Settlement reports from Adyen are fetched daily and matched against Plex bank deposit records by date and amount. Every record carries a full audit trail and can be replayed if a downstream GL posting fails.

A real-world example

A mid-sized discrete manufacturer running Plex for production and finance accepts payments from customers through an e-commerce platform that uses Adyen for payment processing. Before the integration, the accounts receivable team received settlement reports from Adyen each day and manually found matching invoices in Plex, updating payment status one by one and reconciling cash received to bank deposits at month end. With Plex and Adyen connected, each payment capture in Adyen automatically marks the corresponding Plex invoice as received, refunds post as credits, and daily settlement reports reconcile Plex cash accounts without manual lookup. Month-end close starts with receivables already reconciled and no re-keying required.

What you can do

  • Automatically mark Plex invoices and sales orders as received when Adyen processes and captures customer payments.
  • Post Adyen refunds and cancellations as credit memos into Plex with full GL impact.
  • Map customer payments from Adyen settlement reports to Plex bank deposit accounts and validate daily cash received against Adyen transactions.
  • Authenticate Plex with OAuth 2.0 and Adyen with API Key, validate Adyen HMAC-SHA256 webhook signatures, and queue all events for audit and replay.
  • Poll Plex invoices and sales orders on a configurable schedule, correlate them with Adyen payment references, and resolve conflicts when Plex role restrictions block API access.

Questions

Which direction do payments flow between Plex and Adyen?
Payments flow both directions. Adyen pushes payment events (AUTHORISATION, CAPTURE, REFUND, CANCELLATION) via webhook and ml-connector updates matching Plex invoices. Plex invoices and sales orders are polled on a schedule to find new orders that need Adyen payment mapping. Settlement reports from Adyen are fetched daily to reconcile Plex cash accounts against Adyen deposits.
How does ml-connector handle Plex OAuth 2.0 and Adyen API Key authentication?
ml-connector stores both credential sets encrypted. It calls Plex's OAuth 2.0 token endpoint to refresh bearer tokens before expiry, and includes the Adyen API Key in the X-API-Key header on every Adyen request. Each token and key is validated at startup and monitored for expiry or rotation.
What happens when Plex role-based access control blocks a query?
Plex returns 403 or empty results when the integration user lacks the required role for an entity or company code. ml-connector logs the error, pauses polling of that entity, and surfaces the blocked record for the Plex administrator to review permissions and re-enable sync.

Related integrations

Connect Plex and Adyen

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

Get started