# GoCardless + Krokul CRM

Yes. Krokul CRM integrates with GoCardless. A won deal sends the client a mandate request, each line of the payment plan is collected as a Direct Debit payment against that mandate, and a confirmed GoCardless payment closes the line in Krokul. It runs through the Krokul app in Zapier and Make, or through the Krokul API and webhooks.

**Status:** Via API and webhooks. **Automation platforms:** Zapier, Make.

## What your team gets

### A won deal asks the client for a mandate

Recurring B2B contracts often run on Direct Debit. When a deal is won, Krokul creates a GoCardless mandate authorisation request for the client company and puts the authorisation link on the deal. The manager sends it with the contract, and the client approves the mandate on the GoCardless page.

### An active Mandate is stored on the client company

GoCardless reports the mandate as active once the client bank accepts it. Krokul saves the Mandate ID on the client company and marks the company as ready for collection, so the next invoice does not wait for paperwork.

### The payment plan collects itself

Each payment plan line with a date and the method Direct Debit becomes a GoCardless Payment against the active mandate, with the line as reference. Krokul shows the GoCardless state next to it, so the accountant sees what is pending before the charge date.

### A confirmed Payment closes the line, a failed one opens a task

When GoCardless confirms that the bank collected the money, Krokul records a payment fact on the plan line and fires `payment.received`. A failed Payment or a cancelled Mandate creates a task for the account manager. If GoCardless says it will retry the charge, Krokul waits for the retry before it creates the task.

## What moves between GoCardless and Krokul

| GoCardless | Krokul | Direction | When |
|---|---|---|---|
| Mandate authorisation request | Won deal and its client company | Krokul → GoCardless | The deal is won |
| Mandate (active, cancelled) | Mandate state on the client company | GoCardless → Krokul | GoCardless events for `mandates` |
| Payment | Payment plan line with the method Direct Debit | Krokul → GoCardless | The plan line is saved with a date |
| Payment confirmed | Payment fact closing the line | GoCardless → Krokul | GoCardless event for `payments` with the action `confirmed` |
| Payment failed | Task on the deal | GoCardless → Krokul | GoCardless event for `payments` with the action `failed` |
| Refund | Refund linked to the payment | GoCardless → Krokul | A refund is made in GoCardless |

## How to connect today

### Krokul app in Zapier or Make

1. Connect the Krokul app with a Krokul API key.
2. Use the Krokul trigger Deal Won with the GoCardless action Create Mandate Authorisation Request, or Document Created with Create Direct Debit Payment.
3. Start the return path from Payment Confirmed, Failed Payment or Mandate Cancelled and use the Krokul action Record Payment, Create Task or Save External Key.

### Custom flow through the Krokul API and webhooks

1. Create an access token in the GoCardless developer settings, and a Krokul API key with scopes for client companies, payments and tasks.
2. Subscribe a Krokul webhook to card.won, verify x-crm-signature with your secret, create the mandate request in GoCardless and keep the Mandate ID on the client company with externalRef/api-upsert.
3. Add your receiver as a webhook endpoint in GoCardless and check the Webhook-Signature header on each event.
4. For a confirmed payment, call payment/api-create with the cardUuid of the deal. For a failed one with will_attempt_retry set to false, open a task with task/api-create.

**Triggers:** New Mandate Created; Mandate Activated; Mandate Cancelled; Payment Confirmed; Payment Paid Out; Failed Payment.

**Actions:** Create Mandate Authorisation Request; Create Direct Debit Payment; Create Subscription; Search for a Customer; Search for a Mandate; Search for a Payment.

### For integrators

GoCardless webhooks carry a `resource_type` such as `payments` or `mandates`, an `action` such as `confirmed` or `cancelled`, and links to the affected object, and each request is signed in the `Webhook-Signature` header. A failed payment event has a `will_attempt_retry` flag. For your own bridge, the Krokul API stores the Mandate ID as an external key on the client company and takes payments with `kind` set to `fact`; n8n and Albato reach GoCardless through plain HTTP steps.

[API documentation](https://app.krokul.com/api/v1/docs)

## Questions and answers

### Does Krokul integrate with GoCardless?

Yes. Krokul integrates with GoCardless through the Krokul app in Zapier and Make, and through its API and webhooks.

### When does a GoCardless payment count as received in Krokul?

GoCardless marks a payment confirmed when the bank has collected it and paid out when the money is on its way to you. You choose one of the two in your flow, and Krokul uses it for every client.

### Where does Krokul keep the GoCardless mandate?

On the client company, as an external key with the mandate state. Every Direct Debit line of that client uses it.

### What happens when a Direct Debit fails?

Krokul creates a task for the account manager on the deal. When GoCardless plans a retry, Krokul waits for its result first.

## Limits

Mandates are authorised by the client on the GoCardless page, and payouts to your bank account stay in GoCardless. Krokul keeps the mandate state on the client company and the collected money on the deal.

## Related services

- [Stripe](https://krokul.com/en/integrations/stripe/index.md)
- [PayPal](https://krokul.com/en/integrations/paypal/index.md)
- [Chargebee](https://krokul.com/en/integrations/chargebee/index.md)
- [Xero](https://krokul.com/en/integrations/xero/index.md)
- [QuickBooks Online](https://krokul.com/en/integrations/quickbooks-online/index.md)

[Payments and banking](https://krokul.com/en/integrations/category/payments/index.md)

GoCardless is a trademark of GoCardless Ltd. Krokul is not affiliated with GoCardless.

Updated: 2026-10-12

---

App: https://app.krokul.com/ · API: https://app.krokul.com/api/v1/docs
