Plex and Plaid integration
Plex runs manufacturing finance and operations. Plaid connects to your company bank account. Together, they keep vendor payments and bank cash in sync without manual re-keying. Plex invoices flow to Plaid to initiate ACH transfers, and Plaid bank transactions come back into Plex to reconcile against supplier invoices and GL postings. ml-connector handles the very different data models on each side and moves records on the schedule and approval workflow you control.
What moves between them
The main flow runs from Plex invoices into Plaid transfers. ml-connector polls Plex for new supplier invoices and approved payments on a configurable schedule and maps them to Plaid transfer requests, initiating ACH payouts to the vendor bank account. Bank transactions flow the opposite direction via Plaid webhooks, which ml-connector receives and matches against Plex GL entries and supplier invoices to produce reconciliation records that finance staff can review before posting.
How ml-connector handles it
ml-connector stores both credential sets encrypted and authenticates Plex with OAuth2 bearer tokens refreshed when calls return 401. For Plaid, it stores the client_id and secret and verifies every incoming webhook signature using the JWT ES256 public key, rejecting any webhook older than 5 minutes or with a mismatched body SHA-256. Plex payment records are polled for modified_date changes and filtered by approval status before mapping to transfer requests. Plaid transfer descriptions are truncated to 15 characters for ACH, and ml-connector includes a Plex-side reference number in the description for matching returned transactions. Bank transactions arrive via webhook and are matched against open invoices in Plex using amount and vendor, producing a reconciliation item that the finance user approves before posting to the GL. Plex rate limits are handled with exponential backoff, and transfer status is polled from Plaid to catch rejections.
A real-world example
A mid-sized discrete manufacturer runs Plex for operations, procurement, and finance, and banks with a mid-market bank connected via Plaid. Before the integration, the finance team exported approved invoices from Plex twice a week, logged into online banking, and manually initiated ACH transfers to each vendor, then received the bank statement in email and re-entered reconciliation detail into Plex by hand. With Plex and Plaid connected, each approved invoice in Plex automatically triggers an ACH transfer through the bank, Plaid webhooks deliver the cleared transactions back to Plex within 24 hours, and the finance team matches them with a few clicks instead of re-keying. Weekly payment execution is now automatic, and month-end bank reconciliation takes hours instead of days.
What you can do
- Poll Plex for supplier invoices and approved payments, and initiate ACH transfers through Plaid on a schedule you control.
- Receive bank transactions from Plaid via webhook and match them against Plex supplier invoices to produce reconciliation records.
- Authenticate Plex with OAuth2 and Plaid with JWT webhook signature verification, storing all credentials encrypted.
- Map Plex GL accounts and payment references to Plaid transfer metadata so reconciliation ties back to the original invoice.
- Handle Plaid rate limits, transfer rejections, and webhook signature verification with automatic retries and a full audit trail.
Questions
- Which direction does data move between Plex and Plaid?
- Plex invoices and payments poll into Plaid to initiate ACH transfers to vendor accounts. Bank transactions flow the opposite direction via Plaid webhook, arriving at ml-connector for matching against Plex invoices and GL postings. Reconciliation records created from matched transactions can then be posted to Plex's GL.
- Does Plex's lack of webhooks slow down the sync?
- Plex is polled on a schedule set by the user, typically every 15 to 30 minutes for finance records, which aligns with most payment approval workflows. Plaid transactions arrive via webhook within minutes of clearing at the bank, so reconciliation data is nearly real-time. ml-connector batches Plex changes and Plaid transactions to avoid excessive API calls.
- How does ml-connector handle Plaid's webhook signature verification and Plex's rate limits?
- ml-connector verifies every Plaid webhook using JWT ES256 signature validation and rejects any webhook older than 5 minutes or with a mismatched body hash. For Plex, it implements exponential backoff when the API returns HTTP 429 and retries the call. All signature failures and retries are logged in the audit trail for troubleshooting.
Related integrations
More Plex integrations
Other systems that connect to Plaid
Connect Plex and Plaid
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started