ml-connector
AcumaticaMonday.com

Acumatica and Monday.com integration

Acumatica runs finance, distribution, and operations. Monday.com runs the boards where teams track and approve work. Connecting the two gives non-finance staff a place to see and act on Acumatica documents without an ERP login. ml-connector pushes bills and purchase orders into a Monday.com board as items, then watches the status column so that an approval on the board moves the matching document forward in Acumatica. Because Monday.com has no native accounting objects, Acumatica stays the system of record and Monday.com is the work surface on top of it.

How Acumatica works

Acumatica Cloud ERP exposes vendors, bills, purchase orders, payments, GL accounts, journal transactions, and employees through its Contract-Based REST API. Each instance has its own URL and a version-locked endpoint path, such as /entity/Default/24.200.001/, that must match the customer's ERP release or the call returns 404. All field values are wrapped in value objects, and document actions such as releasing a bill are POSTed to an action path. Authentication is OAuth 2.0 through the built-in OpenID Connect server, or a legacy login session cookie. Acumatica offers Push Notifications, but the common and reliable pattern is polling on LastModifiedDateTime with OData $top and $skip.

How Monday.com works

Monday.com is a work OS, not an ERP, so it has no native vendor, bill, purchase order, or GL account objects. Everything lives as boards holding items, where each item carries typed columns such as numbers, status, date, text, and connect_boards. It is reached through one GraphQL endpoint at api.monday.com/v2, authenticated with a raw personal API token or an OAuth2 app token sent in the Authorization header with no Bearer prefix. A column value is written with change_column_value, whose value argument is a JSON-encoded string rather than an object. Monday.com can push board events by webhook, and app webhooks are signed with a JWT for verification.

What moves between them

The main flow runs from Acumatica into Monday.com. ml-connector reads new and changed bills and purchase orders and creates or updates one item per document on a configured board, writing amount, vendor, dates, reference number, and document status into the mapped columns. Status changes flow the other way: when a status column on the board moves to a value such as Approved, ml-connector takes the matching action in Acumatica, for example releasing the bill or updating the PO. Vendors and reference lists are pushed into Monday.com so item dropdowns and connect_boards links reference real Acumatica records. Monday.com is not an accounting source, so financial totals are written by Acumatica and only status decisions flow back.

How ml-connector handles it

ml-connector stores both credential sets encrypted, holds an Acumatica OAuth token against the tenant's OpenID Connect server, and sends the Monday.com personal token as the raw Authorization header that GraphQL expects. On the Acumatica side it accepts the full instance URL and exact endpoint version per customer, since a mismatch returns 404, and wraps every field value in the required value object so reads and writes do not fail with a 400. Each Acumatica document maps to one Monday.com item, and every column write is JSON-encoded the way change_column_value requires. Because Acumatica cloud is reliably polled, documents are read on a schedule using the LastModifiedDateTime high-water mark, while a Monday.com webhook on the status column triggers the write back; the connector answers Monday's challenge handshake on registration and verifies the JWT on app webhooks. Acumatica actions are checked against document status before firing so an already-released bill is not released twice, Monday's 40-mutations-per-minute board cap and 429 responses on both sides are handled with backoff, and every record carries a full audit trail with error replay.

A real-world example

A mid-sized construction firm with around 200 staff runs Acumatica Cloud ERP for project accounting and accounts payable, while project managers and site supervisors live in Monday.com. Before the integration, AP entered vendor bills in Acumatica, then chased approvals over email and chat because the approvers had no ERP access, and bills sat unreleased while close approached. With Acumatica and Monday.com connected, each new bill appears as an item on the approvals board with its amount, vendor, and due date, the project manager sets the status to Approved, and ml-connector releases the bill in Acumatica. Approvals happen where the team already works, and finance keeps a clean record of who approved what and when.

What you can do

  • Push Acumatica bills and purchase orders into a Monday.com board as items with amounts, vendors, dates, and document status.
  • Read Monday.com status-column changes and take the matching Acumatica action, such as releasing an approved bill.
  • Map Acumatica vendors and reference data into Monday.com dropdown and connect_boards columns so items link to real records.
  • Bridge Acumatica tenant OAuth with Monday.com raw-token GraphQL and the JSON-encoded column value format.
  • Poll Acumatica on a LastModifiedDateTime schedule and react to Monday.com webhooks, with retries, error replay, and a full audit trail.

Questions

Which direction does data move between Acumatica and Monday.com?
The main flow is Acumatica into Monday.com. Bills, purchase orders, and vendor reference data move from Acumatica onto a board as items, and status decisions made on the board flow back to trigger Acumatica actions such as releasing a bill. Because Monday.com has no native accounting objects, Acumatica remains the system of record and financial totals are never authored on the board.
Can Monday.com act as the accounting source for AP or the general ledger?
No. Monday.com is a work OS built on boards, items, and typed columns, with no native vendor, bill, or GL account objects. The integration uses it as an approval and tracking surface, while Acumatica holds the documents and the ledger. Amounts and document state are written by Acumatica, and only status changes are read back from Monday.com.
How does the integration handle Acumatica's version-locked URL and Monday.com's webhook verification?
ml-connector accepts the full Acumatica instance URL and the exact endpoint version per customer, since a version mismatch returns a 404, and it wraps every field value as Acumatica requires. On the Monday.com side it answers the challenge handshake when a webhook is registered and verifies the JWT that app webhooks include, so writes back into Acumatica are only triggered by genuine board events.

Related integrations

Connect Acumatica and Monday.com

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

Get started