Workday Financial Management and Avalara integration
Workday Financial Management tracks spend and obligations across procurement and payable. Avalara calculates tax exposure across jurisdictions in real time. Connecting the two keeps your tax calculations in sync with your spend, surfaces tax obligations as they are incurred, and automates tax compliance during month-end close. When a purchase order or invoice is recorded in Workday, ml-connector sends it to Avalara for tax validation, retrieves the calculated tax, and records the tax liability back into Workday's general ledger.
What moves between them
Purchase orders, invoices, and journal entries flow from Workday to Avalara. When a new or updated transaction appears in Workday within the polling window, ml-connector extracts the supplier address, line items, and amount, constructs a CreateTransaction request to Avalara, and applies the returned tax rate and obligation flag back to the corresponding journal entry or AP holding account in Workday's general ledger. Addresses are pre-validated against Avalara's address resolution service before tax calculation to avoid silent failures. The flow runs in one direction: Workday to Avalara to Workday. Reference data such as tax codes and jurisdictions are also synchronized from Avalara to Workday at a slower cadence, typically daily, to keep the GL mapping current.
How ml-connector handles it
ml-connector stores Workday's Integration System User credentials (or OAuth2 refresh token) and Avalara's Account ID and License Key encrypted in the database. For Workday it polls the supplier invoice or journal entry list on your configured schedule, filtering by created or modified date. For each transaction in the window, it extracts the supplier address and line items. It first calls Avalara's address resolution endpoint to validate and standardize the address; if validation fails it marks the record as needing manual review rather than sending an invalid request. Once the address is confirmed, it constructs a CreateTransaction call with the vendor name, address, item codes, amounts, and customer exemption certificates if any are on file. Avalara calculates and returns the applicable tax, nexus status, and filing obligation in a single synchronous response. ml-connector then upserts a tax holding account or tax line item in Workday's GL using the SOAP API, referencing the original PO or invoice and the Avalara transaction ID for audit trail. The Workday OAuth2 token expires after one hour, so ml-connector refreshes it proactively. Avalara's rate limit errors return HTTP 429 without a Retry-After header, so ml-connector backs off with exponential jitter and retries up to three times before flagging the record. Every transaction is logged with the Workday GL posting status, Avalara transaction ID, and the tax amount applied, so failures can be replayed.
A real-world example
A mid-market technology distributor runs Workday Financial Management for procurement and AR/AP across three geographic regions. The business sells into multiple US states and has sales offices in Canada and the UK. Before integrating with Avalara, the finance team manually checked tax rates for each purchase and sale at month-end, often finding mismatches between what was invoiced and what was calculated. Sales orders would be recorded at an assumed tax rate, then recalculated at close, creating accrual adjustments. With Workday and Avalara connected, every purchase order and sales invoice is validated for tax liability as it is recorded. The tax amount flows into Workday's GL automatically, eliminating the month-end recalculation and the risk of filing penalties due to incorrect tax exposure.
What you can do
- Read purchase orders and invoices from Workday and validate them against Avalara's real-time tax rates and jurisdiction rules.
- Automatically record tax liability and nexus obligations into Workday's general ledger as transactions are created, eliminating manual month-end tax adjustments.
- Pre-validate supplier and customer addresses against Avalara's address resolution service before sending transactions for tax calculation.
- Handle Workday's OAuth2 token refresh and Avalara's Account ID and License Key credentials, with encrypted storage and automatic re-authentication.
- Poll Workday on a configurable schedule aligned to your financial close and reconcile tax exposure in both systems with a full audit trail.
Questions
- What records move between Workday and Avalara?
- Purchase orders, supplier invoices, and journal entries flow from Workday to Avalara for tax calculation. The calculated tax rates, liability amounts, and jurisdiction-specific filing obligations flow back to Workday's general ledger. Avalara has no payment, vendor, or GL account objects, so the integration is read-from-Workday, calculate-in-Avalara, write-back-to-Workday.
- Why does the integration validate addresses before sending transactions to Avalara?
- Avalara's tax calculation fails silently if an address is invalid or incomplete. ml-connector calls Avalara's /addresses/resolve endpoint first, which standardizes and validates the address. If validation fails, the record is flagged for manual review rather than sending a bad request and losing the tax calculation.
- How does ml-connector handle the fact that neither Workday nor Avalara have webhooks?
- Both systems are pull-only, so ml-connector polls Workday's journal entry and invoice lists on a schedule you configure, typically every 15 to 60 minutes. It filters by created or modified date to pick up only new and updated records. Once the tax is calculated in Avalara, ml-connector writes the result directly back to Workday's GL, so you see the tax accrual within minutes of the initial posting.
Related integrations
More Workday Financial Management integrations
Other systems that connect to Avalara
Connect Workday Financial Management and Avalara
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started