Microsoft Dynamics NAV · Arazzo Workflow

Business Central Create a Purchase Invoice for a Vendor

Version 1.0.0

Resolve a vendor by number, draft a purchase invoice, and confirm it landed.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub Business ManagementDynamics NAVERPFinanceInventoryMicrosoftNavisionArazzoWorkflows

Provider

navision

Workflows

create-purchase-invoice-for-vendor
Resolve a vendor, create a purchase invoice, and confirm it via list filter.
Finds the vendor by number, creates a draft purchase invoice referencing the resolved vendor id, and lists purchase invoices filtered to the new invoice number to confirm it persisted.
3 steps inputs: companyId, currencyCode, invoiceDate, vendorNumber outputs: confirmedTotalIncludingTax, invoiceId, invoiceNumber
1
findVendor
Resolve the vendor by number to obtain the id required to bind the purchase invoice, returning at most one match.
2
createPurchaseInvoice
Create a draft purchase invoice bound to the resolved vendor id.
3
confirmInvoice
List purchase invoices filtered to the newly created invoice number to confirm the draft persisted.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Business Central Create a Purchase Invoice for a Vendor
  summary: Resolve a vendor by number, draft a purchase invoice, and confirm it landed.
  description: >-
    An accounts-payable entry flow for Business Central. The workflow resolves a
    vendor by their number to obtain the vendor id, creates a draft purchase
    invoice bound to that vendor, and then lists purchase invoices filtered to
    the new invoice number to confirm the document landed. 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
  x-realizes-capability-ids:
  - BC-200.20
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-200.20
      capability_name: Accounts Payable Management
      spec: navision-purchase-invoices-api-openapi.yml
      confidence: 0.9
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: purchaseInvoicesApi
  url: ../openapi/navision-purchase-invoices-api-openapi.yml
  type: openapi
- name: vendorsApi
  url: ../openapi/navision-vendors-api-openapi.yml
  type: openapi
workflows:
- workflowId: create-purchase-invoice-for-vendor
  summary: Resolve a vendor, create a purchase invoice, and confirm it via list filter.
  description: >-
    Finds the vendor by number, creates a draft purchase invoice referencing the
    resolved vendor id, and lists purchase invoices filtered to the new invoice
    number to confirm it persisted.
  inputs:
    type: object
    required:
    - companyId
    - vendorNumber
    properties:
      companyId:
        type: string
        description: The UUID of the Business Central company.
      vendorNumber:
        type: string
        description: The number of the vendor the invoice is for.
      invoiceDate:
        type: string
        description: The invoice date (YYYY-MM-DD).
      currencyCode:
        type: string
        description: The currency code for the invoice.
  steps:
  - stepId: findVendor
    description: >-
      Resolve the vendor by number to obtain the id required to bind the
      purchase invoice, returning at most one match.
    operationId: listVendors
    parameters:
    - name: company_id
      in: path
      value: $inputs.companyId
    - name: $filter
      in: query
      value: "number eq '$inputs.vendorNumber'"
    - name: $top
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      vendorId: $response.body#/value/0/id
      vendorName: $response.body#/value/0/displayName
  - stepId: createPurchaseInvoice
    description: >-
      Create a draft purchase invoice bound to the resolved vendor id.
    operationId: createPurchaseInvoice
    parameters:
    - name: company_id
      in: path
      value: $inputs.companyId
    requestBody:
      contentType: application/json
      payload:
        invoiceDate: $inputs.invoiceDate
        vendorId: $steps.findVendor.outputs.vendorId
        vendorNumber: $inputs.vendorNumber
        currencyCode: $inputs.currencyCode
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      invoiceId: $response.body#/id
      invoiceNumber: $response.body#/number
      status: $response.body#/status
  - stepId: confirmInvoice
    description: >-
      List purchase invoices filtered to the newly created invoice number to
      confirm the draft persisted.
    operationId: listPurchaseInvoices
    parameters:
    - name: company_id
      in: path
      value: $inputs.companyId
    - name: $filter
      in: query
      value: "number eq '$steps.createPurchaseInvoice.outputs.invoiceNumber'"
    - name: $top
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      confirmedId: $response.body#/value/0/id
      confirmedTotalIncludingTax: $response.body#/value/0/totalAmountIncludingTax
  outputs:
    invoiceId: $steps.createPurchaseInvoice.outputs.invoiceId
    invoiceNumber: $steps.createPurchaseInvoice.outputs.invoiceNumber
    confirmedTotalIncludingTax: $steps.confirmInvoice.outputs.confirmedTotalIncludingTax

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/navision-create-purchase-invoice-for-vendor-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.