ml-connector
Workday Financial ManagementGoCardless

Workday Financial Management and GoCardless integration

Workday Financial Management handles your general ledger and accounts receivable. GoCardless collects payments directly from customer bank accounts across 30+ countries. When they are connected, every customer payment that lands in your bank flows into Workday as a journal entry automatically, posted to the correct AR and cash accounts and mapped to the customer and invoice that triggered the collection. No manual bank statement entry, no end-of-day reconciliation delays, no missing payments.

How Workday Financial Management works

Workday Financial Management exposes customers, invoice and payment records, GL accounts, and journal entry submission through both SOAP and REST APIs. SOAP provides full CRUD against the Financial_Management service, while REST offers lighter-weight reads on subsidiaries, customers, invoices, and GL data. Authentication uses either an Integration System User with WS-Security UsernameToken (SOAP) or OAuth2 refresh-token flow (REST). Workday has no native webhooks, so all reads are pull-based; recommended polling intervals range from 5 to 60 minutes depending on entity type. Complex operations like journal submission require SOAP.

How GoCardless works

GoCardless is a global bank debit processor that collects payments directly from customer bank accounts and handles recurring mandates across 30+ countries. It exposes customers, bank accounts, mandates, payments, subscriptions, and payouts through a REST API and real-time webhooks. All calls use bearer token authentication, and webhooks are signed with HMAC-SHA256 and batched up to 250 events per request. Payouts are read-only and created automatically by GoCardless after settlement; events provide a complete audit trail. Amount fields are integers in the smallest currency unit (pence/cents).

What moves between them

Payment collections and payouts flow from GoCardless into Workday Financial Management. When a customer payment is collected, ml-connector receives a GoCardless webhook event, verifies its HMAC-SHA256 signature, and translates the payment into a Workday journal entry that posts the cash receipt to the customer's AR account and the bank deposit to the correct cash account. Payout events are also logged and reconciled so your cash account in Workday stays aligned with actual bank settlements. Reference data such as customers and GL account mappings is refreshed via REST polling to keep dimensions current.

How ml-connector handles it

ml-connector stores the GoCardless bearer token and Workday ISU credentials encrypted and uses the SOAP API for journal entry submission and REST for customer and GL account reads. It receives GoCardless webhook events on a registered HTTPS endpoint, verifies the HMAC-SHA256 signature against the shared webhook secret, and rejects any unsigned or mismatched requests with a 401 response so GoCardless marks the endpoint unhealthy and retries. Because Workday has no real-time event stream, ml-connector polls GoCardless API for payout records at intervals tied to your settlement cycle, typically daily or per-bank-day, and cross-checks them against Workday cash receipts to catch any gaps. Payment amounts are in pence/cents from GoCardless and must be converted to your Workday currency and decimal places. Journal entries carry a unique reference so if a downstream GL post fails, the entry can be replayed without duplication. All records are audited with timestamps and signature details for compliance.

A real-world example

A mid-market SaaS company in the UK and EU uses Workday for finance and AR, and GoCardless to collect recurring subscription payments directly from customer bank accounts across both regions. Before the integration, the finance team received daily bank settlement reports from GoCardless, manually matched them to Workday invoices, and entered each day's receipts as a single bulk journal entry. This created two-week reconciliation delays at month-end when invoices and actual collections did not line up, and bank holidays shifted settlement dates unpredictably. With GoCardless and Workday connected, each successful collection triggers a journal entry in Workday in real time, posted to the correct customer account and GL code. Payouts are reconciled automatically, so the cash account is always accurate and month-end close no longer requires manual investigation of payment timing gaps.

What you can do

  • Post successful payment collections from GoCardless into Workday as journal entries, routed to the correct customer AR account and cash GL code.
  • Verify every GoCardless webhook signature with HMAC-SHA256 and reject unsigned requests so GoCardless retries only valid messages.
  • Reconcile GoCardless payout records with Workday bank deposits on a daily cadence so your cash account never drifts from actual settlements.
  • Authenticate to Workday via SOAP with Integration System User credentials or via REST with OAuth2, supporting both API surfaces.
  • Convert GoCardless amounts from minor currency units and map multi-country collections to the correct local GL accounts and cost centers in Workday.

Questions

How does ml-connector handle GoCardless webhooks and Workday's lack of native webhooks?
ml-connector registers an HTTPS endpoint with GoCardless to receive real-time payment and payout events, verifies every webhook signature with HMAC-SHA256, and immediately translates each valid event into a Workday journal entry via the SOAP API. Because Workday has no webhooks, ml-connector also polls the GoCardless API for payout records on a daily schedule to reconcile cash settlements and catch any gaps between when collections occurred and when Workday recorded them.
What currencies and payment methods does this integration support?
GoCardless handles bank debit mandates in 30+ countries and processes amounts in the smallest local currency unit (pence in GBP, cents in EUR, etc). ml-connector converts these minor-unit amounts to your Workday currency scale and maps each payment to the correct country or region GL account so multi-currency collections are routed correctly. Only bank debit payments are processed; credit cards and alternative payment methods are not supported by GoCardless.
What happens if a journal entry fails to post in Workday after a GoCardless webhook arrives?
ml-connector stores the webhook event and the journal entry template in an audit trail, marks the record as failed, and automatically retries the post on an exponential backoff schedule. If the retry succeeds within the configured window, the entry posts normally. If it exhausts retries, the entry is flagged for manual review so the finance team can investigate the root cause in Workday and replay the entry once fixed.

Related integrations

Connect Workday Financial Management and GoCardless

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

Get started