ml-connector
SYSPROAsana

SYSPRO and Asana integration

SYSPRO runs your manufacturing and distribution operations. Asana keeps your project teams aligned on work and timelines. Connecting the two brings supply chain visibility into your project plans. Purchase orders and supplier invoices flow from SYSPRO into Asana as trackable tasks, inventory transactions update project status, and your procurement and operations teams see the same data without re-entry or email chains. ml-connector handles the two different authentication schemes and keeps the data flowing on a cadence that matches your business cycle.

How SYSPRO works

SYSPRO Adaptive Cloud ERP exposes suppliers, purchase order headers and line items, supplier invoices, inventory transactions, goods receipts, and general ledger through e.net Business Objects as REST or SOAP web services, and as read-only OData REST endpoints. Authentication uses a session token obtained by logging in to the Utilities/Logon endpoint and passing the UserId GUID on all subsequent calls. SYSPRO has no outbound webhook system, so procurement and inventory data is read by polling the OData tables with timestamp filters, typically at 5- to 15-minute intervals.

How Asana works

Asana is a work management platform exposing tasks, projects, portfolios, and goals through a REST API backed by personal access token or OAuth 2.0 bearer authentication. Asana supports webhooks with at-most-once delivery guarantees, delivering within 10 minutes on average and auto-deleting webhooks after 24 consecutive hours of failed delivery. Asana has no native financial objects; procurement and inventory data are carried through custom fields mapped during project setup.

What moves between them

The main flow is from SYSPRO into Asana. Purchase order headers create Asana projects, and order line items create tasks within those projects. Supplier invoices create tasks to track receipt and approval. Inventory transactions update task custom fields to reflect stock on hand, received quantity, and shipment status. The sync runs on a polling interval tied to your procurement and inventory rhythm, typically daily or per shift, and carries full audit context so a failed downstream update can be replayed.

How ml-connector handles it

ml-connector stores the SYSPRO session token encrypted and re-authenticates when it expires on logoff or timeout. It polls SYSPRO's OData endpoints for tables like PorMasterHdr, PorMasterDetail, ApInvoice, and InvMaster, filtering on PostDate and timestamp fields to find new and changed records since the last poll. Because SYSPRO writes require the e.net Business Objects layer while reads use OData, ml-connector reads from OData but if a reverse flow is needed later (Asana task completion triggering a SYSPRO receipt), it switches to the e.net SOAP or REST path. It maps SYSPRO supplier and item masters to Asana teams and project templates so every task lands in the right context. Supplier invoice numbers and purchase order numbers flow into Asana task names and custom fields for traceability. Since OData is read-only, ml-connector never writes financial entries back into SYSPRO from Asana; all writes go through e.net if needed. Rate limiting is minimal on both sides, but ml-connector respects Asana's webhook auto-delete if callbacks fail, and it retries poll cycles if SYSPRO returns an error.

A real-world example

A mid-sized discrete manufacturer uses SYSPRO for procurement and inventory across three plants and a central warehouse, and uses Asana to manage assembly projects and delivery timelines. Before the integration, the procurement team submitted purchase orders in SYSPRO and manually logged them into Asana to keep the project timeline aligned with material availability. They received supplier invoices in email, checked them against SYSPRO, then manually created Asana tasks to track approval and receipt. With SYSPRO and Asana connected, every purchase order and invoice flows into Asana automatically as a task with supplier name, cost, and due date. Inventory receipts update the project's stock on hand field, so the assembly team sees real-time material readiness without asking procurement for a status call. Month-end close and project delivery forecasting start with current data already in place.

What you can do

  • Sync SYSPRO purchase order headers and line items to Asana projects and tasks, carrying order number, item, quantity, and due date.
  • Create and update Asana tasks for supplier invoices received in SYSPRO, linked to the corresponding purchase order.
  • Map SYSPRO inventory transactions to Asana custom fields to track received quantity, on-hand stock, and shipment status in real time.
  • Authenticate SYSPRO with e.net session token, Asana with OAuth2 bearer token, and store both encrypted.
  • Poll SYSPRO OData on a schedule tuned to your procurement cycle, with full retry and audit trail on every record.

Questions

Does ml-connector write purchase orders or invoices back into SYSPRO from Asana?
No. SYSPRO writes require the e.net Business Objects layer, while reads use the read-only OData endpoint. ml-connector syncs data from SYSPRO into Asana one-way. If a reverse flow is later needed (for example, Asana task completion triggering a goods receipt in SYSPRO), ml-connector can be extended to use the e.net SOAP path, but the initial sync is read-only.
How does ml-connector handle SYSPRO's session token expiry and OData filtering?
ml-connector stores the session token encrypted and re-authenticates when it expires on logoff or timeout. It polls the OData endpoints using timestamp filters on fields like PostDate and InvoiceDate to find new and changed records since the last poll, reducing the volume of data read and the polling interval required.
Asana has no native financial objects like invoices or POs. How is supplier invoice data stored?
Asana carries financial metadata through custom fields. ml-connector maps SYSPRO supplier invoice details (invoice number, amount, due date, supplier name) to Asana task custom fields during project setup, so the data is present and queryable in Asana alongside the project tasks.

Related integrations

Connect SYSPRO and Asana

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

Get started