ml-connector
SAP ECCJira

SAP ECC and Jira integration

SAP ECC is an on-premises ERP system that holds purchase orders, vendor records, and materials. Jira is an issue and project tracking platform. Connecting them keeps procurement and supply-chain visibility synchronized with issue tracking and product management. New purchase orders in SAP ECC can be reflected as issues in Jira, and vendor or material changes can update issue custom fields without manual re-entry. ml-connector manages the different authentication models, polling schedules, and data mapping between these two distinct systems.

How SAP ECC works

SAP ECC exposes vendors, purchase orders, materials, GL accounts, cost centers, and customers through RFC/BAPI function modules, OData v2 via SAP Gateway, SOAP web services, and IDoc XML. Calls authenticate with HTTP Basic Auth (username and password) for OData and IDoc, or via RFC Basic Auth for BAPI through the SAP .NET Connector or Java Connector agent running on the customer network. SAP ECC has no native webhook registry for outbound events, so records are read by polling RFC_READ_TABLE on demand or on a scheduled interval, or via IDoc HTTP delivery if the customer configures it in WE21 and WE20.

How Jira works

Jira exposes issues, projects, users, versions, sprints, and worklog entries through REST API v3 with JSON request and response. Authentication uses OAuth 2.0 authorization code flow (recommended) or Basic auth with email and API token. Jira publishes events via webhooks at a registered REST endpoint for issue creation, updates, deletion, comments, and attachments. Webhooks expire after 30 days and must be refreshed. Jira has no native vendor, invoice, purchase order, or GL account entities, so integrations map domain-specific data into issue custom fields and linked issues.

What moves between them

The main flow runs from SAP ECC into Jira. Purchase orders from SAP ECC are polled on a scheduled interval and created or updated as Jira issues in a designated project. Vendor records and material hierarchies from SAP ECC are synced into Jira custom fields so issue context includes cost center, vendor, and material dimensions. SAP ECC is treated as the primary source; Jira is updated from SAP ECC, and Jira changes do not flow back to SAP ECC. Data moves on a schedule you define, not in real-time.

How ml-connector handles it

ml-connector stores SAP ECC credentials encrypted and connects via the RFC protocol through the SAP .NET Connector or Java Connector agent on the customer network. On each sync run, it polls RFC_READ_TABLE and BAPIs to fetch purchase orders, vendors, and materials from SAP ECC, normalizes the data, and maps SAP cost centers and GL accounts to Jira issue custom field IDs (which are instance-specific and vary by deployment). It authenticates to Jira via OAuth 2.0, creates or updates issues in the target project, attaches vendor and material metadata as custom field values, and links related issues where purchase orders reference each other. Polling avoids the need to configure SAP WE20 IDoc delivery, and each record carries an idempotency key (the SAP purchase order number) so a retry does not duplicate issues. ml-connector handles RFC call timeouts and reruns the batch, and tracks the Jira webhook subscription so it can be renewed before expiry.

A real-world example

A mid-sized manufacturing company runs SAP ECC for procurement and materials management, and uses Jira for product development and supply-chain tracking. Before the integration, the procurement team managed purchase orders in SAP ECC and manually created Jira issues to track vendor performance and delivery status, re-entering vendor names, material codes, and cost center allocations. With SAP ECC and Jira connected, each new purchase order in SAP ECC automatically creates a Jira issue in the Supply Chain project, populated with vendor, material, and cost center details. The product team sees real-time visibility into active orders, and the procurement team reduces manual data re-entry and keeps issue tracking synchronized with the source of truth in SAP ECC.

What you can do

  • Sync purchase orders from SAP ECC to Jira issues on a scheduled interval, mapped to a target project.
  • Attach vendor names, material codes, and cost centers from SAP ECC as custom field values in Jira issues.
  • Authenticate SAP ECC via RFC/BAPI using the .NET Connector or Java Connector agent, and Jira via OAuth 2.0.
  • Poll SAP ECC on your schedule without requiring outbound IDoc delivery configuration in SAP.
  • Deduplicate retried records using SAP purchase order numbers as idempotency keys, and refresh Jira webhook subscriptions before expiry.

Questions

Which direction does data move between SAP ECC and Jira?
The main flow is SAP ECC into Jira. Purchase orders, vendors, and materials are read from SAP ECC and synced into Jira issues and custom fields. Jira issue updates do not flow back to SAP ECC, so SAP remains the source of truth for procurement data.
How does the integration handle SAP ECC's on-premises RFC requirement?
ml-connector connects to SAP ECC via the RFC protocol using the SAP .NET Connector or Java Connector agent, which must run on the customer network with access to the SAP instance. The agent handles the low-level RFC communication, and ml-connector polls RFC_READ_TABLE and BAPIs through the agent to fetch purchase orders and vendor data.
What happens if a Jira webhook subscription expires or a sync run fails?
Jira webhooks expire after 30 days and ml-connector tracks the subscription to renew it before expiry. If a sync run fails partway through, each record is keyed by the SAP purchase order number, so rerunning the sync does not duplicate issues in Jira. ml-connector retries the batch on schedule until success.

Related integrations

Connect SAP ECC and Jira

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

Get started