Intuit · Arazzo Workflow

Intuit Catalog and Bill Customer

Version 1.0.0

Create an item, create a customer, then invoice them for that item.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub AccountingCustom FieldsFinancialFinancial-ServicesInvoicingPaymentsPayrollProject ManagementSales TaxSmall BusinessTaxTax PreparationTaxesTime TrackingFortune 1000ArazzoWorkflows

Provider

intuit

Workflows

catalog-and-bill-customer
Create an item and customer, then invoice the customer for the item.
Creates an Item, creates a Customer, and raises an Invoice linking the two.
3 steps inputs: accessToken, displayName, incomeAccountId, itemName, unitPrice outputs: customerId, invoiceId, itemId
1
createItem
Create the service item to be billed.
2
createCustomer
Create the customer to be billed.
3
createInvoice
Raise an invoice billing the customer for the item.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Intuit Catalog and Bill Customer
  summary: Create an item, create a customer, then invoice them for that item.
  description: >-
    A full from-scratch billing setup. The workflow creates a new Service Item,
    creates a new Customer, and then raises an Invoice that bills the customer
    for the item by referencing both newly created Ids in the line and
    CustomerRef. It is the building-block flow for onboarding a customer onto a
    brand new product in a single pass. 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.30
  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.30
      capability_name: Accounts Receivable Management
      spec: intuit-invoices-api-openapi.yml
      confidence: 0.85
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: customersApi
  url: ../openapi/intuit-customers-api-openapi.yml
  type: openapi
- name: invoicesApi
  url: ../openapi/intuit-invoices-api-openapi.yml
  type: openapi
- name: itemsApi
  url: ../openapi/intuit-items-api-openapi.yml
  type: openapi
workflows:
- workflowId: catalog-and-bill-customer
  summary: Create an item and customer, then invoice the customer for the item.
  description: >-
    Creates an Item, creates a Customer, and raises an Invoice linking the two.
  inputs:
    type: object
    required:
    - accessToken
    - itemName
    - unitPrice
    - incomeAccountId
    - displayName
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 bearer access token for the QuickBooks company.
      itemName:
        type: string
        description: Name of the new service item.
      unitPrice:
        type: number
        description: Unit price of the item.
      incomeAccountId:
        type: string
        description: Id of the income account the item posts revenue to.
      displayName:
        type: string
        description: Unique display name for the new customer.
  steps:
  - stepId: createItem
    description: Create the service item to be billed.
    operationId: createItem
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    requestBody:
      contentType: application/json
      payload:
        Name: $inputs.itemName
        Type: Service
        UnitPrice: $inputs.unitPrice
        IncomeAccountRef:
          value: $inputs.incomeAccountId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      itemId: $response.body#/Item/Id
      unitPrice: $response.body#/Item/UnitPrice
  - stepId: createCustomer
    description: Create the customer to be billed.
    operationId: createCustomer
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    requestBody:
      contentType: application/json
      payload:
        DisplayName: $inputs.displayName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      customerId: $response.body#/Customer/Id
  - stepId: createInvoice
    description: Raise an invoice billing the customer for the item.
    operationId: createInvoice
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    requestBody:
      contentType: application/json
      payload:
        CustomerRef:
          value: $steps.createCustomer.outputs.customerId
        Line:
        - Amount: $steps.createItem.outputs.unitPrice
          DetailType: SalesItemLineDetail
          SalesItemLineDetail:
            ItemRef:
              value: $steps.createItem.outputs.itemId
            UnitPrice: $steps.createItem.outputs.unitPrice
            Qty: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      invoiceId: $response.body#/Invoice/Id
      totalAmt: $response.body#/Invoice/TotalAmt
  outputs:
    itemId: $steps.createItem.outputs.itemId
    customerId: $steps.createCustomer.outputs.customerId
    invoiceId: $steps.createInvoice.outputs.invoiceId

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/intuit-catalog-and-bill-customer-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.