# SAP Business One + Krokul CRM

Yes. Krokul CRM integrates with SAP Business One. Client companies become business partners, won deals become sales orders with their lines, and A/R invoices and incoming payments posted in SAP Business One return to the deal in Krokul. The connection talks to the SAP Business One Service Layer, and the Krokul API and webhooks cover custom flows.

**Status:** Via API and webhooks.

## What your team gets

### Client company to business partner

A new client company in Krokul creates a customer in BusinessPartners with its name, tax number and addresses. SAP Business One returns the CardCode, and Krokul keeps it as the external key of the company. Later edits in Krokul patch the same business partner instead of making a second one.

### Won deal to sales order

When a deal is won, Krokul posts a document to Orders with the CardCode of the buyer and one entry in DocumentLines per deal product, carrying ItemCode, quantity and price. Warehouse staff pick and deliver from the sales order in SAP Business One. The order number lands on the deal, so the manager quotes it to the client.

### Invoices and incoming payments come back

On a schedule, Krokul reads Invoices and IncomingPayments changed since the last pass. An A/R invoice sets the invoice status on its deal. Each incoming payment becomes a payment fact. Sales sees what finance has billed and collected, with no SAP licence for the sales team.

### Item master as the Krokul catalogue

The Items entity feeds the Krokul product list, keyed by ItemCode. Managers build quotes from the same items the warehouse stocks. Each sales order line therefore points at an item SAP Business One already knows.

### Faster updates through the Integration Framework

Partners who run the Integration Framework for SAP Business One deploy a Krokul scenario. The Event Sender picks up changes to business partners, invoices and incoming payments, and the scenario sends the object key to the Krokul webhook URL. Krokul then reads the record at once.

## What moves between SAP Business One and Krokul

| SAP Business One | Krokul | Direction | When |
|---|---|---|---|
| BusinessPartners (customer, CardCode) | Client company | Krokul → SAP Business One | A client company is created or edited |
| Items (ItemCode) | Product | SAP Business One → Krokul | Scheduled read |
| Orders with DocumentLines | Won deal with its products | Krokul → SAP Business One | The deal is won |
| Invoices (A/R invoice) | Invoice status on the deal | SAP Business One → Krokul | Scheduled read or a framework event |
| IncomingPayments | Payment fact on the deal | SAP Business One → Krokul | Scheduled read or a framework event |
| CardCode, DocEntry | External key of the Krokul record | SAP Business One → Krokul | Right after each create |

## How to connect today

### Custom flow through the Krokul API and webhooks

1. Create a Krokul API key with scopes for client companies, deals, products and payments. On the SAP side, make the Service Layer reachable over HTTPS and create a dedicated user for the integration.
2. Log in with POST /Login (CompanyDB, UserName, Password) and send the B1SESSION cookie with every later call.
3. Subscribe a Krokul webhook to clientCompany.created and card.won, check x-crm-signature on each delivery, then post to BusinessPartners or Orders and save the CardCode or DocEntry with externalRef/api-upsert.
4. Read Invoices and IncomingPayments with a $filter on the change date, find the deal through externalRef/api-resolve and record each payment with payment/api-create and its cardUuid.

### For integrators

The Service Layer is an OData service, and SAP documents OData version 4 as its primary protocol, with $select, $filter, $orderby, $top and $skip on collections and /$metadata for field lists. On the Krokul side, externalRef/api-upsert writes by the SAP key without a lookup first, rate limits answer with 429 and Retry-After, and every webhook delivery carries an HMAC-SHA256 signature and a delivery ID for deduplication.

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

## Questions and answers

### Does Krokul integrate with SAP Business One?

Yes. Krokul exchanges business partners, items, sales orders, A/R invoices and incoming payments with SAP Business One through the Service Layer, and custom flows run on the Krokul API and webhooks.

### Does Krokul replace SAP Business One?

No. SAP Business One runs stock, purchasing, invoicing and accounting. Krokul runs the sales pipeline, quotes and the work with clients, and hands won deals to SAP Business One as sales orders.

### Does it work with SAP Business One on premises?

Yes, when the Service Layer answers over HTTPS from outside your network. Partners usually publish it through a reverse proxy or a tunnel.

### How fast do payments reach Krokul?

A scheduled read picks them up on the next pass. With the Krokul scenario in the Integration Framework, the Event Sender reports each change as it happens.

## Limits

SAP Business One stays the ERP of record for stock, purchasing, production, invoicing and the ledger. Krokul keeps the sales side. A Service Layer installed on premises has to be reachable over HTTPS from the internet, through a public endpoint or a tunnel your partner sets up.

## Related services

- [NetSuite](https://krokul.com/en/integrations/netsuite/index.md)
- [Business Central](https://krokul.com/en/integrations/dynamics-365-business-central/index.md)
- [QuickBooks Online](https://krokul.com/en/integrations/quickbooks-online/index.md)
- [Xero](https://krokul.com/en/integrations/xero/index.md)
- [Sage Accounting](https://krokul.com/en/integrations/sage-accounting/index.md)

[Accounting](https://krokul.com/en/integrations/category/accounting/index.md)

SAP and SAP Business One are trademarks or registered trademarks of SAP SE. Krokul is not affiliated with SAP.

Updated: 2026-10-15

---

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