ml-connector
Microsoft Dynamics GPGoCardless

Microsoft Dynamics GP and GoCardless integration

Microsoft Dynamics GP is your on-premises accounting platform. GoCardless is your bank debit payment processor. Connecting the two keeps your accounts receivable and payout records in alignment. Customer payments collected through GoCardless flow directly into Microsoft Dynamics GP as receivables entries, mapped to the correct customers and revenue accounts. Payout reconciliation becomes automatic instead of a manual month-end task.

How Microsoft Dynamics GP works

Microsoft Dynamics GP runs on-premises and exposes customers, receivables invoices, GL accounts, and GL journal entries through a REST API called Service Based Architecture (available in GP 2015 and later) or SOAP Web Services. Authentication is Windows domain credentials mapped to an Active Directory account with GP user rights; there is no OAuth2 or API key option. Data is read via polling with date filters since Microsoft Dynamics GP does not support webhooks or push notifications. The endpoint is customer-specific: https://<server>:<port>/GPService/Tenants(<TenantName>)/Companies(<CompanyName>)/<Module>/<Resource>.

How GoCardless works

GoCardless exposes customers, mandates, payments, payouts, and refunds through a REST API that returns JSON over HTTPS. Authentication uses a bearer token issued by the GoCardless dashboard (or OAuth 2.0 for partner platforms) sent in the Authorization header. GoCardless primarily pushes events (payment, payout, refund completion) via HMAC-SHA256-signed webhooks to a registered endpoint; webhooks batch up to 250 events per request. Payouts are read-only and generated automatically by GoCardless as it collects customer payments.

What moves between them

Payment and payout data flow from GoCardless into Microsoft Dynamics GP. When GoCardless processes a customer's bank debit payment, it creates a payout record; ml-connector reads those payouts via webhook or polling, then creates a corresponding GL journal entry in Microsoft Dynamics GP under the matching customer and mapped to the revenue account for AR collection. The flow is one-way: GoCardless generates the payment data, and Microsoft Dynamics GP records it. Payment mandates and customer bank accounts are read from GoCardless for reference but do not write back.

How ml-connector handles it

ml-connector stores your Windows domain account credentials encrypted and uses them to authenticate every call to Microsoft Dynamics GP's SBA or SOAP endpoint, then stores your GoCardless bearer token separately, also encrypted. It receives GoCardless webhook events at a registered HTTPS endpoint, verifies the HMAC-SHA256 signature against your webhook secret, and processes payout notifications. For each payout, ml-connector queries GoCardless for the underlying payment details, matches the customer to the Microsoft Dynamics GP customer record, and creates a GL journal entry in Microsoft Dynamics GP's receivables posting account. If a webhook delivery fails or times out, ml-connector can poll the GoCardless /events endpoint as a fallback. Every record carries an audit trail so payments can be replayed or reconciled. The integration respects Microsoft Dynamics GP's on-premises firewall requirements (customer must expose the SBA endpoint through the network) and handles the one-way nature of GoCardless payouts without attempting to write payment data back into the payment processor.

A real-world example

A mid-market B2B service company uses Microsoft Dynamics GP for accounting and billing, and GoCardless for recurring bank debit collections from customers across the EU. Before the integration, the accounts receivable team manually recorded each GoCardless payout into Microsoft Dynamics GP at month-end, matching payment amounts to customer records and posting them to the revenue GL account. This manual work introduced transcription errors and delayed AR reconciliation. With the integration live, each customer payment collected by GoCardless flows automatically into Microsoft Dynamics GP as a receivables entry, pre-matched to the correct customer and revenue account. The AR aging report now reflects current payment status without manual intervention, and the monthly reconciliation process is reduced from two days to a quick verification that payment counts match.

What you can do

  • Receive GoCardless payout events via webhook signature verification and match them to customer records in Microsoft Dynamics GP.
  • Automatically create GL journal entries in Microsoft Dynamics GP's receivables account for each payout collected by GoCardless.
  • Authenticate to Microsoft Dynamics GP using Windows domain credentials and to GoCardless using bearer token authentication.
  • Track payout details, payment method, and customer bank account information from GoCardless for reconciliation and audit trails.
  • Handle webhook signature verification with HMAC-SHA256, token refresh, and polling fallback when webhook delivery is unavailable.

Questions

How does the integration handle Microsoft Dynamics GP's Windows authentication requirement?
ml-connector stores a Windows domain account credential set encrypted in its database. Every API call to Microsoft Dynamics GP's SBA or SOAP endpoint includes those credentials in the Windows Authentication (Negotiate/Kerberos or NTLM) header. The account must be created in your Active Directory and granted the appropriate GP user role by your GP administrator.
What happens if a GoCardless payout does not match an existing customer in Microsoft Dynamics GP?
ml-connector logs the mismatch in its audit trail and skips the journal entry to prevent orphaned records. You can investigate the payout in GoCardless and the customer record in Microsoft Dynamics GP, create the missing customer if needed, and trigger a replay of the failed payout through ml-connector.
Is the integration compatible with both SBA and SOAP Web Services in Microsoft Dynamics GP?
Yes. ml-connector supports both the newer REST API (Service Based Architecture, available in GP 2015+) and the older SOAP Web Services (available in GP 2010+). Your GP administrator can configure which endpoint the integration uses based on your installation.

Related integrations

Connect Microsoft Dynamics GP and GoCardless

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

Get started