Workday Finance · Arazzo Workflow

Workday Finance Record Supplier Invoice Expense

Version 1.0.0

Create a supplier invoice in procurement, then post the matching expense journal entry to the general ledger.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub AccountingCloudEnterpriseERPFinanceFinancial ManagementArazzoWorkflows

Provider

workday-finance

Workflows

record-supplier-invoice-expense
Book a supplier invoice and recognize its expense in the general ledger.
Creates a supplier invoice in Procurement, confirms the expense account in Financial Management, and posts a journal entry recognizing the expense.
3 steps inputs: accountId, currency, invoiceNumber, lines, period, supplierId, token, totalAmount outputs: invoiceId, journalEntryId, journalEntryStatus
1
createSupplierInvoice
Create the supplier invoice in Procurement for the supplied supplier and amount.
2
getAccount
Confirm the general ledger expense account exists before posting the recognizing journal entry.
3
createJournalEntry
Post a journal entry to the general ledger recognizing the supplier invoice expense against the supplied period.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Workday Finance Record Supplier Invoice Expense
  summary: Create a supplier invoice in procurement, then post the matching expense journal entry to the general ledger.
  description: >-
    A cross-module accounts-payable flow that spans the Procurement and
    Financial Management APIs. The workflow creates a supplier invoice, confirms
    the expense account exists in the general ledger, and posts a journal entry
    recognizing the expense against the supplied period. Because the two
    operations live in separate specifications, each step references its source
    description explicitly. Every step spells out its request inline so the flow
    can be read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: accountsApi
  url: ../openapi/workday-finance-accounts-api-openapi.yml
  type: openapi
- name: journalEntriesApi
  url: ../openapi/workday-finance-journal-entries-api-openapi.yml
  type: openapi
- name: supplierInvoicesApi
  url: ../openapi/workday-finance-supplier-invoices-api-openapi.yml
  type: openapi
workflows:
- workflowId: record-supplier-invoice-expense
  summary: Book a supplier invoice and recognize its expense in the general ledger.
  description: >-
    Creates a supplier invoice in Procurement, confirms the expense account in
    Financial Management, and posts a journal entry recognizing the expense.
  inputs:
    type: object
    required:
    - token
    - supplierId
    - invoiceNumber
    - totalAmount
    - accountId
    - period
    - lines
    properties:
      token:
        type: string
        description: OAuth 2.0 bearer access token for the Workday tenant.
      supplierId:
        type: string
        description: The supplier identifier to invoice.
      invoiceNumber:
        type: string
        description: The supplier-provided invoice number.
      totalAmount:
        type: number
        description: The total amount of the supplier invoice.
      currency:
        type: string
        description: The ISO currency code for the invoice.
      accountId:
        type: string
        description: The general ledger expense account to confirm before posting.
      period:
        type: string
        description: The financial period identifier to post the expense journal entry against.
      lines:
        type: array
        description: The debit and credit lines recognizing the expense.
  steps:
  - stepId: createSupplierInvoice
    description: >-
      Create the supplier invoice in Procurement for the supplied supplier and
      amount.
    operationId: $sourceDescriptions.supplierInvoicesApi.createSupplierInvoice
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.token
    requestBody:
      contentType: application/json
      payload:
        supplier: $inputs.supplierId
        invoiceNumber: $inputs.invoiceNumber
        totalAmount: $inputs.totalAmount
        currency: $inputs.currency
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      invoiceId: $response.body#/id
      status: $response.body#/status
  - stepId: getAccount
    description: >-
      Confirm the general ledger expense account exists before posting the
      recognizing journal entry.
    operationId: $sourceDescriptions.accountsApi.getAccount
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.token
    - name: accountId
      in: path
      value: $inputs.accountId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      accountId: $response.body#/id
      accountType: $response.body#/accountType
  - stepId: createJournalEntry
    description: >-
      Post a journal entry to the general ledger recognizing the supplier
      invoice expense against the supplied period.
    operationId: $sourceDescriptions.journalEntriesApi.createJournalEntry
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.token
    requestBody:
      contentType: application/json
      payload:
        period: $inputs.period
        memo: $inputs.invoiceNumber
        lines: $inputs.lines
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      journalEntryId: $response.body#/id
      status: $response.body#/status
  outputs:
    invoiceId: $steps.createSupplierInvoice.outputs.invoiceId
    journalEntryId: $steps.createJournalEntry.outputs.journalEntryId
    journalEntryStatus: $steps.createJournalEntry.outputs.status

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/workday-finance-record-supplier-invoice-expense-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.