ml-connector
SAP Business OneMonday.com

SAP Business One and Monday.com integration

SAP Business One runs financials, purchasing, and inventory for small-to-midsize businesses. Monday.com organizes work into customer-configured boards. Connecting them brings purchase order workflows, invoice tracking, and payment status into your Monday.com workspace without re-keying, so finance teams and operations teams see the same data in real time and can collaborate on approval and exception handling inside Monday.com.

How SAP Business One works

SAP Business One exposes purchase orders, invoices, payments, items, chart of accounts, profit centers, and dimensions through OData v4 REST at a customer-specific Service Layer URL (no global endpoint). Authentication uses session tokens via POST /Login, returning a B1SESSION cookie valid for 30 minutes of inactivity; session reuse is required since authentication is a cold-start operation. The platform supports webhooks in version 10.0 FP 2602 and later if the Webhook Messenger Service is activated, but polling with UpdateDate filters is the recommended default. OData associations support $expand for related entities, but complex queries require multiple calls since SQL joins are not available.

How Monday.com works

Monday.com exposes boards, items, columns, and column values through a single GraphQL endpoint at https://api.monday.com/v2, with schema introspection available. Authentication uses either a personal API token (long-lived, user-scoped) sent directly in the Authorization header, or OAuth 2.0 authorization code flow returning a bearer token. Webhooks are push-based and cover board-level events such as create_item, change_column_value, and item_deleted, with challenge-based verification required on registration. Monday.com enforces rate limits per plan tier (1,000 to 5,000 requests per minute) and a complexity score limit (5,000,000 points per query), with cursor-based pagination that expires if not completed in a continuous pass.

What moves between them

The main flow runs from SAP Business One into Monday.com. Purchase orders, invoices, and payments are read from SAP Business One on a schedule or via webhook-triggered polls, and each record is upserted as a Monday.com item with columns mapped to the source document fields: document number, supplier/partner name, amount, posting date, profit center, and GL account reference. Reference data such as supplier masters and GL accounts may flow in both directions for validation. SAP Business One documents are read-only in Monday.com; ml-connector does not write financial postings back to SAP Business One.

How ml-connector handles it

ml-connector stores SAP Business One and Monday.com credentials encrypted. On the SAP Business One side, it authenticates with a session token per customer Service Layer URL, reuses the session across multiple API calls to avoid cold-start latency, and validates document numbers before retry to prevent duplicates since SAP Business One lacks published idempotency keys. On the Monday.com side, it accepts either an OAuth token or a personal API token, normalizes OData payloads from SAP Business One into GraphQL mutations using variable parameters, and maps each source column to the appropriate Monday.com column type (text, number, date, status, etc.). Polling is the default cadence with UpdateDate filters on SAP Business One; if webhooks are enabled on the customer's Service Layer instance, ml-connector can subscribe to board-level events instead. Column value arguments in Monday.com mutations are JSON-encoded strings, so ml-connector handles that serialization. Rate limits on Monday.com are tracked per plan tier, and ml-connector backs off and retries on HTTP 429 responses. Every record carries a full audit trail and can be replayed if a downstream call fails.

A real-world example

A mid-sized manufacturing company runs SAP Business One on-premise for procurement and accounting. Their operations team uses Monday.com for purchase order workflows and supplier tracking. Before the integration, purchase orders created in SAP Business One were manually entered into Monday.com by the procurement coordinator, creating a two-hour lag and frequent data entry errors. With SAP Business One and Monday.com connected, new purchase orders appear as Monday.com items within minutes, complete with supplier name, amount, and approval status from SAP Business One. Operations and finance teams now work from a single source of truth, and month-end reconciliation of PO-to-invoice matching is now automated instead of a manual spreadsheet check.

What you can do

  • Sync purchase orders, invoices, and payments from SAP Business One into Monday.com as board items with typed columns for financial and supplier data.
  • Authenticate SAP Business One with session tokens, reusing sessions across calls to avoid cold-start overhead, and handle token refresh on 30-minute inactivity.
  • Map SAP Business One document fields to Monday.com column types (text, number, date, status, link) so finance semantics are preserved in the workflow board.
  • Support both polling on UpdateDate filters and webhook-triggered syncs if the customer's Service Layer instance has the Webhook Messenger Service activated.
  • Track Monday.com rate limits per plan tier, back off on HTTP 429, and maintain a complete audit trail of every record synced.

Questions

How does ml-connector handle SAP Business One's lack of a global endpoint?
Each customer provides their own Service Layer URL when setting up the connection. ml-connector stores and uses that customer-specific URL for all OData requests, so it works with both on-premise instances and partner-hosted deployments. There is no shared base address across customers.
Can ml-connector write changes from Monday.com back into SAP Business One?
No. The integration is read-primarily from SAP Business One into Monday.com. Reference data such as suppliers and GL accounts may sync in both directions for validation, but financial documents like invoices and payments remain read-only in Monday.com and are never written back to SAP Business One.
What happens if SAP Business One's Service Layer goes offline during a sync?
ml-connector retries with exponential backoff. If the Service Layer remains unavailable, the sync job is suspended and surfaced to the user via audit log and optional alert. Once the Service Layer is back online, ml-connector resumes from the last successful record using UpdateDate filters to avoid re-syncing old documents.

Related integrations

Connect SAP Business One and Monday.com

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

Get started