SAP ECC and Asana integration
SAP ECC runs procurement and finance operations. Asana runs project and task workflows. Connecting the two keeps procurement visibility in Asana aligned with ECC purchase orders and vendor master data. Procurement teams see real-time PO status in Asana without logging into SAP, and vendor changes in ECC automatically update team task assignments. ml-connector handles SAP's on-premises RFC authentication, manages the cloud to on-premises communication bridge, and keeps both systems in sync on a schedule you control.
What moves between them
Vendor master data and purchase orders flow from SAP ECC into Asana. ml-connector polls ECC on a schedule tied to your procurement calendar, reading vendors via BAPI_VENDOR_GETLIST and purchase orders via BAPI_PO_GETDETAIL1. Each new vendor creates or updates an Asana project within the team workspace, with vendor name, vendor number, and payment terms stored in Asana custom fields. Purchase orders become Asana tasks assigned to the appropriate buyer, with order number, supplier, amount, and delivery date visible in the task detail. When a vendor is marked inactive in ECC, the corresponding Asana project is archived. Task updates in Asana do not flow back to ECC, keeping the integration one-directional from the source of truth.
How ml-connector handles it
ml-connector requires an on-premises RFC agent (SAP .NET Connector or Java Connector) installed on the customer's network with SAP Basis configuration of the required RFC function modules. The agent authenticates with the ECC system using HTTP Basic Auth credentials provided by the customer, and ml-connector communicates with the agent over HTTPS. On the Asana side, ml-connector authenticates with a Personal Access Token or OAuth credentials. Because SAP ECC publishes no native webhooks, ml-connector polls ECC on a customer-defined schedule (typically daily or weekly) using RFC_READ_TABLE with a 512-character row width constraint on classic ECC versions. Vendor and PO data is normalized, mapped to Asana custom field definitions (which must be created before sync begins), and upserted into Asana projects and tasks. If a PO exceeds RFC row width limits, ml-connector reads the full detail record via BAPI_PO_GETDETAIL1. Retries are exponential on both sides: ECC RFC timeouts are retried after 30 seconds, and Asana rate limits (typically 150 requests per minute per token) trigger backoff. Every record carries a full audit trail showing the timestamp and status of each sync.
A real-world example
A mid-sized manufacturing company with SAP ECC for procure-to-pay and Asana for operational planning. The procurement team manages dozens of active suppliers and hundreds of active purchase orders across multiple cost centers. Without the integration, buyers must manually check ECC several times a day to find new POs and update Asana with status, or they miss critical deadlines because the task list in Asana lags reality. When vendors change payment terms or contact information, the SAP Basis team must coordinate Asana project updates separately. With the integration, new purchase orders appear in Asana within the polling window, assigned to the right buyer based on cost center, with order totals and delivery dates pre-filled. Vendor profile changes in ECC automatically surface in Asana, so procurement knows immediately when a preferred supplier changes status or terms.
What you can do
- Poll SAP ECC purchase orders and vendor master data on a schedule tied to your procurement calendar, with RFC row width handling and multi-record detail lookup.
- Create and update Asana projects and tasks for each vendor and purchase order, with custom fields for order number, supplier, amount, and delivery date.
- Map SAP cost centers to Asana team ownership so purchase orders are assigned to the correct buyer.
- Authenticate through an on-premises RFC agent with HTTP Basic Auth, and bridge the cloud Asana API with secure encrypted credential storage.
- Maintain a full audit trail of every sync with timestamps, record counts, and error replay capability for missed or failed records.
Questions
- How does ml-connector handle SAP ECC's requirement for an on-premises RFC agent?
- ml-connector requires an SAP .NET Connector or Java Connector agent installed on your network with access to the ECC system. The agent authenticates with ECC using HTTP Basic Auth credentials you provide, and ml-connector communicates with the agent over HTTPS from the cloud, so there is no direct internet exposure of your SAP instance. The agent is configured once and then runs as a service.
- Can Asana task edits flow back into SAP ECC purchase orders?
- No. The integration is one-directional, from SAP ECC to Asana. Purchase orders and vendor data are read-only in Asana and exist as tasks and custom fields for visibility and coordination. Updates to task status or assignments in Asana do not modify the PO or vendor record in ECC. ECC remains the system of record for procurement data.
- What happens if SAP ECC data exceeds RFC polling limits or Asana webhooks fail?
- SAP ECC RFC polling has a 512-character row width limit on classic versions. ml-connector detects wide records and retrieves the full detail via BAPI_PO_GETDETAIL1. If Asana webhooks fail or the endpoint is unavailable for 24 hours, Asana auto-deletes the webhook, but ml-connector maintains an audit trail and can replay the record on the next poll cycle.
Related integrations
More SAP ECC integrations
Other systems that connect to Asana
Connect SAP ECC and Asana
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started