Intuit · Arazzo Workflow

Intuit Invoice and Collect Payment

Version 1.0.0

Raise an invoice and record a customer payment applied against it.

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

Provider

intuit

Workflows

invoice-and-collect-payment
Create an invoice then apply a payment to it.
Creates an Invoice, records a Payment that links to the invoice, and reads the invoice back to confirm the remaining balance.
3 steps inputs: accessToken, customerId, lineAmount, lineDescription, paymentAmount outputs: balance, invoiceId, paymentId
1
createInvoice
Raise an invoice for the customer.
2
createPayment
Record a payment that links to the new invoice.
3
readInvoice
Read the invoice back to confirm the remaining balance.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Intuit Invoice and Collect Payment
  summary: Raise an invoice and record a customer payment applied against it.
  description: >-
    Closes the loop on a single sale. The workflow creates an Invoice for a
    customer, then records a Payment whose Line links to that invoice through a
    LinkedTxn of TxnType Invoice, and reads the invoice back to confirm the
    balance dropped to zero once the payment was applied. 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-payments-api-openapi.yml
      confidence: 0.78
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: invoicesApi
  url: ../openapi/intuit-invoices-api-openapi.yml
  type: openapi
- name: paymentsApi
  url: ../openapi/intuit-payments-api-openapi.yml
  type: openapi
workflows:
- workflowId: invoice-and-collect-payment
  summary: Create an invoice then apply a payment to it.
  description: >-
    Creates an Invoice, records a Payment that links to the invoice, and reads
    the invoice back to confirm the remaining balance.
  inputs:
    type: object
    required:
    - accessToken
    - customerId
    - lineAmount
    - paymentAmount
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 bearer access token for the QuickBooks company.
      customerId:
        type: string
        description: Id of the customer being invoiced and paying.
      lineAmount:
        type: number
        description: Amount of the single invoice line item.
      lineDescription:
        type: string
        description: Description of the invoice line item.
      paymentAmount:
        type: number
        description: Total amount of the payment to record.
  steps:
  - stepId: createInvoice
    description: Raise an invoice for the customer.
    operationId: createInvoice
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    requestBody:
      contentType: application/json
      payload:
        CustomerRef:
          value: $inputs.customerId
        Line:
        - Amount: $inputs.lineAmount
          DetailType: SalesItemLineDetail
          Description: $inputs.lineDescription
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      invoiceId: $response.body#/Invoice/Id
      totalAmt: $response.body#/Invoice/TotalAmt
  - stepId: createPayment
    description: Record a payment that links to the new invoice.
    operationId: createPayment
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    requestBody:
      contentType: application/json
      payload:
        CustomerRef:
          value: $inputs.customerId
        TotalAmt: $inputs.paymentAmount
        Line:
        - Amount: $inputs.paymentAmount
          LinkedTxn:
          - TxnId: $steps.createInvoice.outputs.invoiceId
            TxnType: Invoice
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      paymentId: $response.body#/Payment/Id
      unappliedAmt: $response.body#/Payment/UnappliedAmt
  - stepId: readInvoice
    description: Read the invoice back to confirm the remaining balance.
    operationId: readInvoice
    parameters:
    - name: invoiceId
      in: path
      value: $steps.createInvoice.outputs.invoiceId
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      balance: $response.body#/Invoice/Balance
  outputs:
    invoiceId: $steps.createInvoice.outputs.invoiceId
    paymentId: $steps.createPayment.outputs.paymentId
    balance: $steps.readInvoice.outputs.balance

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-invoice-and-collect-payment-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.