ml-connector
Workday Financial ManagementSquare

Workday Financial Management and Square integration

Square handles payments and commerce transactions while Workday Financial Management manages your general ledger and accounts payable. Connecting the two keeps your financial records current without manual re-keying. Every Square payment and invoice can automatically post into Workday as a supplier invoice or GL journal entry, allocated to the correct account and cost center. ml-connector bridges the different authentication schemes and moves the data on a schedule or via webhooks you control.

How Workday Financial Management works

Workday Financial Management exposes accounts payable, accounts receivable, procurement, purchase orders, GL accounts, suppliers, and journal entries through SOAP/XML at https://{hostname}.myworkday.com/ccx/service/{tenant}/Financial_Management/v46.1 and REST/JSON at https://{hostname}.workday.com/ccx/api/v1/{tenant}/. Authentication uses either SOAP with Integration System User credentials sent via WS-Security UsernameToken on each request, or REST with OAuth2 refresh tokens exchanged for one-hour access tokens. Workday Financial Management has no native webhooks or delta sync, so records are read by polling with date-range filters every 15 to 60 minutes for transactional data and daily for reference entities such as suppliers and GL accounts.

How Square works

Square exposes payments, refunds, invoices, orders, vendors, customers, and catalog through REST at https://connect.squareup.com/v2, authenticated with OAuth2 Bearer tokens that expire after 30 days. Square provides webhooks for payment.created, payment.updated, invoice.created, invoice.updated, invoice.payment_made, and other transactional events, with HMAC-SHA256 signature verification via x-square-hmacsha256-signature. Vendors are exposed via a beta API, and Orders can model purchase-like workflows. Square has no Chart of Accounts, so GL mapping must bridge from Square line items and payment categories into Workday GL accounts and cost centers.

What moves between them

The primary flow runs from Square into Workday Financial Management. After each payment or invoice is created or updated in Square, ml-connector reads the transaction and posts it into Workday as a supplier invoice, charge, or GL journal entry, mapped to the matching Workday GL account and cost center. Refunds and payment cancellations in Square trigger reversing entries in Workday. Reference data such as vendors and payment categories are synced to establish the GL mapping that transactions follow. Square maintains no GL entries, so the flow is one-directional: Square is the source of payment truth, Workday is the accounting record.

How ml-connector handles it

ml-connector stores Square OAuth2 access tokens encrypted and refreshes them when a call returns a 401, ensuring every webhook signature is verified via HMAC-SHA256. On the Workday side it accepts the customer's tenant hostname and refreshes the OAuth2 access token or uses the Integration System User credentials per the authentication method the customer has enabled. Square webhooks push payment and invoice events in real time, eliminating the need to poll, and ml-connector can also fall back to periodic polling of Square Payments and Invoices APIs on a customer-defined schedule. Transactions are mapped by Square Payment ID and Invoice ID into Workday Journal Entries and Supplier Invoices, with each line allocated to a GL account and cost center from the mapping table. When a Square payment is refunded, ml-connector posts a reversing journal entry in Workday against the original GL account and cost center. Square access tokens expire every 30 days, and ml-connector tracks the refresh cycle and rotates credentials before expiry to avoid dropped transactions. Every record carries an audit trail and can be replayed if a downstream Workday call fails.

A real-world example

A regional retail and ecommerce company runs Square for in-store and online payments and uses Workday Financial Management for multi-entity accounting and cost allocation. Before the integration, payments settled in Square every few hours but required manual entry into Workday at day-end, with daily reconciliation work to match Square deposits to GL entries and chase discrepancies. With Square and Workday connected via ml-connector, payments post into Workday automatically the moment they are captured in Square, allocated to the store location and product category that generated the sale. Day-end closes go faster because the GL is already aligned with Square, refunds and chargebacks trigger automatic reversals in Workday, and the finance team has a full audit trail of when each transaction moved from payment to accounting record.

What you can do

  • Post Square payments into Workday Financial Management as GL journal entries or supplier invoices, allocated to the correct GL account and cost center.
  • Capture Square invoices and refunds and map them to Workday AP documents with automatic line allocation.
  • Verify webhook signatures from Square using HMAC-SHA256 and post transactions in real time via webhooks.
  • Handle Square OAuth2 token refresh and Workday ISU or OAuth2 credentials, with expiry tracking and automatic re-authentication.
  • Maintain a mapping table of Square payment categories and vendors to Workday GL accounts and cost centers so transactions land on valid dimensions.

Questions

Which direction does data move between Workday Financial Management and Square?
The main flow is from Square into Workday Financial Management. Payments, invoices, and refunds from Square are posted as GL journal entries or supplier invoice documents in Workday, mapped to the appropriate GL account and cost center. Reference data such as vendors and payment categories can be synced in both directions to establish the mapping that transactions follow. Workday GL entries do not flow back into Square, since Square is a commerce platform with no GL layer.
Does the integration use Square webhooks or polling?
Both. Square webhooks provide real-time notifications for payment.created, payment.updated, invoice.created, and invoice.updated events, allowing transactions to post into Workday immediately. ml-connector verifies webhook signatures using HMAC-SHA256 to ensure authenticity. If webhooks are not enabled or a transaction is missed, ml-connector can poll Square Payments and Invoices APIs on a schedule you define to catch any gaps.
How does the integration handle Square token expiry and Workday authentication?
Square access tokens expire every 30 days. ml-connector stores the refresh token encrypted and exchanges it for a new access token automatically, tracking the refresh cycle to avoid outages. On the Workday side, it stores Integration System User credentials or OAuth2 refresh tokens encrypted and refreshes Workday tokens when they expire, ensuring every request carries valid credentials. Both systems are monitored for token failures and alerted so credential renewal can happen before transactions are dropped.

Related integrations

Connect Workday Financial Management and Square

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

Get started