ml-connector
Exact OnlineAsana

Exact Online and Asana integration

Exact Online runs accounting and purchasing. Asana coordinates work and projects. Connecting the two keeps your financial documents and team workflows in sync. Purchase orders and invoices flow from Exact Online into Asana as trackable tasks and projects, so procurement teams see incoming documents immediately. Project completions and work progress flow back to Exact Online to update project costs and milestone tracking. ml-connector handles the authentication differences and the mapping between financial entities and work items.

How Exact Online works

Exact Online exposes accounts, sales and purchase invoices, purchase orders, GL accounts, cost centers, items, projects, and financial transaction lines through a region-specific REST API with OData v3 query syntax. It authenticates with OAuth 2.0 Authorization Code Grant, with short-lived access tokens (10-minute lifetime) and rotating refresh tokens (30-day lifetime). Exact Online requires app registration in the App Center and supports webhooks for create/update/delete notifications on purchase orders, sales invoices, accounts, and projects, delivering a payload with only the entity key and action type so full data must be fetched separately via the REST API.

How Asana works

Asana exposes tasks, projects, portfolios, teams, users, goals, and custom fields through a REST API authenticated with Personal Access Token or OAuth 2.0. Financial metadata such as invoice amounts, purchase order numbers, and GL account codes are carried in custom fields rather than as native objects. Asana supports push webhooks with at-most-once delivery and auto-deletes webhooks after 24 consecutive hours of failed delivery or missed heartbeats.

What moves between them

The main flow is from Exact Online into Asana. Purchase orders and sales invoices from Exact Online are mapped to Asana tasks, with invoice lines as subtasks. GL accounts and cost centers map to custom fields so Asana tasks can be categorized and reported by financial dimension. On the reverse side, task completions and project status updates in Asana are read back to Exact Online to update project cost allocations and milestone tracking. The sync is driven by Exact Online webhooks for document changes and by polling Asana for work-item status updates on a regular schedule.

How ml-connector handles it

ml-connector stores the Exact Online OAuth credentials and refreshes the access token before it expires every 10 minutes, managing the short token lifetime transparently. It fetches the division ID from the /current/Me endpoint and includes it in all subsequent API calls, since every Exact Online resource is division-scoped. For outbound flows, ml-connector subscribes to Exact Online webhooks for purchase orders and invoices, receives notifications with only the entity key, fetches the full document via REST and OData filters, then creates a corresponding task or project in Asana, mapping GL accounts and cost centers to custom fields. For inbound flows, ml-connector polls Asana tasks tied to purchase orders, reads their completion status and custom-field values, and updates Exact Online project costs and milestone records. Because Asana has no native finance objects, financial data is normalized into custom fields using a standard naming convention across all integrations. Webhook retry and delivery tracking is handled separately for each system.

A real-world example

A mid-sized services firm uses Exact Online for accounting and project cost tracking, and Asana for team task management and project coordination. Before integration, purchase orders were logged in Exact Online by the finance team, then manually re-entered into Asana as projects and tasks so the delivery team could track milestones and costs. This duplication created lag and reconciliation errors. With Exact Online and Asana connected, each purchase order flows automatically into Asana as a project, with invoice lines as tasks and GL accounts mapped to custom fields. As the team completes milestones in Asana, those updates flow back to Exact Online to mark project stages complete and update cost allocations. The finance team now sees work progress in real time, and month-end close is faster because financial and operational data are already aligned.

What you can do

  • Map Exact Online purchase orders and sales invoices into Asana tasks and projects, with invoice lines as subtasks and GL account codes in custom fields.
  • Sync GL accounts and cost centers from Exact Online to Asana custom fields so tasks can be filtered and reported by financial dimension.
  • Receive purchase order and invoice changes from Exact Online via webhooks and create or update corresponding Asana work items automatically.
  • Read task completions and project status updates from Asana and update Exact Online project cost allocations and milestone tracking.
  • Handle Exact Online OAuth token refresh (10-minute lifetime) and division ID routing transparently on every call.

Questions

How does the integration handle Exact Online's short-lived access tokens?
Exact Online access tokens expire after 10 minutes. ml-connector automatically refreshes the token before each request using the 30-day rotating refresh token, so you never see an authentication failure. If a refresh token expires (after 30 days of inactivity), the user is prompted to re-authorize once.
Which Exact Online financial entities map to Asana tasks?
Purchase orders, sales invoices, and their line items map to Asana projects and tasks, with GL accounts and cost centers encoded in custom fields. Related accounts (suppliers and customers) are also synced so Asana tasks can be filtered by vendor or customer. Project-level work in Exact Online maps to portfolio-level organization in Asana.
Does the integration support bidirectional sync?
Yes. Exact Online purchases and invoices flow into Asana as projects and tasks. Task completions and milestone status changes in Asana flow back to Exact Online to update project costs and progress tracking. Exact Online uses webhooks to notify ml-connector of financial changes, while ml-connector polls Asana on a regular schedule for work-item updates.

Related integrations

Connect Exact Online and Asana

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

Get started