# Revolut Business + Krokul CRM

Yes. Krokul CRM integrates with Revolut Business through the Revolut Business API and its webhooks, with the access your company approves. Each completed incoming transaction is matched to an open line of the payment plan and recorded as received on the deal. In Zapier and Make, the Krokul app works with the Revolut Business apps there.

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

## What your team gets

### A completed incoming Transaction pays the deal

Revolut Business sends `TransactionCreated` and then `TransactionStateChanged` as money arrives. When an incoming Transaction reaches the state completed, the Krokul connector compares its amount and currency with open payment plan lines. With exactly one match, Krokul records a payment fact on that line and fires `payment.received`.

### Pending money waits for the completed state

A Revolut Transaction starts as pending and can end as completed, declined, failed or reverted. Krokul shows a pending credit on the matching line as expected money and books the fact only at completed. If a recorded Transaction is later reverted, Krokul opens a task for the accountant on the deal.

### Two equal amounts go to the accountant

When the same amount is due on two deals, or no line matches, the credit stays unmatched in the payments register with a task for the accountant. The accountant picks the line, and Krokul remembers the Revolut Transaction ID so the credit is never booked twice.

### The receiving account prints on invoices

Each Revolut Business account the connector sees appears as a receiving bank account in Krokul. The manager chooses it on the invoice draft, so the client pays into the account whose transactions Krokul already watches.

## What moves between Revolut Business and Krokul

| Revolut Business | Krokul | Direction | When |
|---|---|---|---|
| Transaction (incoming, completed) | Payment fact closing a payment plan line | Revolut → Krokul | Webhook `TransactionStateChanged` to completed, one matching line |
| Transaction (pending) | Expected money on the matching line | Revolut → Krokul | Webhook `TransactionCreated` |
| Transaction without a single match | Unmatched credit and a task | Revolut → Krokul | Zero or several matching lines |
| Transaction reverted or declined | Task on the deal | Revolut → Krokul | Webhook `TransactionStateChanged` |
| Account | Receiving bank account on the invoice | Revolut → Krokul | When the connector is set up |

## How to connect today

### Krokul app in Zapier or Make

1. Connect the Krokul app on the platform with a Krokul API key.
2. Start a Zap with the Revolut Business trigger New Transaction and filter on incoming, completed transactions. Find Account tells you which Revolut account received the money.
3. Finish with the Krokul action Record Payment, or Create Task when no deal matches. Make lists a Revolut Business app, and the Krokul steps are the same there.

### Custom flow through the Krokul API and webhooks

1. Issue a Krokul API key with the payments scope and subscribe a Revolut webhook v2 to `TransactionStateChanged`. Verify the Revolut HMAC-SHA256 signature before you parse.
2. For a completed incoming Transaction, read the open lines with `payment/api-readList` and `openPlans: true`, and post the match to `payment/api-create` with the `cardUuid` of the deal.
3. Store the Revolut transaction ID on the payment with `externalRef/api-set`, so a retried delivery finds the existing record.
4. Subscribe a Krokul webhook to `payment.received` if another system needs the fact, and check `x-crm-signature` on each delivery.

**Triggers:** New Transaction.

**Actions:** Find Account.

### For integrators

In Revolut Business webhooks v2 you subscribe to `TransactionCreated`, `TransactionStateChanged`, `PayoutLinkCreated` and `PayoutLinkStateChanged`. Each notification is signed with HMAC-SHA256 over a version prefix, the timestamp and the raw body, so verify before you parse. A state change can arrive before the creation event when a delivery was retried, so a bridge writes to Krokul idempotently with `externalRef/api-upsert` keyed by the Revolut transaction ID.

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

## Questions and answers

### Does Krokul connect to Revolut Business directly?

Krokul connects through the Revolut Business API with the access your company approves in Revolut. It reads the accounts and transactions of that access and can be cut off from the Revolut side.

### Which Revolut events does Krokul use?

The webhooks `TransactionCreated` and `TransactionStateChanged`. In Zapier, the Revolut Business trigger New Transaction does the same job for custom flows.

### What if the same amount is due on two deals?

Krokul does not pick one. The credit waits in the payments register with a task for the accountant, who closes the right payment plan line.

### Can Krokul create a transfer or payout in Revolut?

No. Krokul records incoming payments and refunds against deals. Outgoing money is managed in Revolut Business.

## Limits

Transfers, card spending and payouts stay in Revolut Business; Krokul reads incoming money and does not move it. A Revolut transaction counts as received only in the state completed.

## Related services

- [Wise Business](https://krokul.com/en/integrations/wise-business/index.md)
- [Stripe](https://krokul.com/en/integrations/stripe/index.md)
- [PayPal](https://krokul.com/en/integrations/paypal/index.md)
- [GoCardless](https://krokul.com/en/integrations/gocardless/index.md)
- [Xero](https://krokul.com/en/integrations/xero/index.md)

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

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

Updated: 2026-10-12

---

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