SAP BRIM Add a Subscription Item and Invoice It

Version 1.0.0

Add a line item to a subscription, read it back, and generate an on-demand invoice.

1 workflow 1 source API 1 provider
View Spec View on GitHub BillingEnterpriseOrder-to-CashRevenue ManagementSAPSubscription ManagementUsage-Based PricingArazzoWorkflows

Provider

sap-brim-billing-and-revenue-innovation-management

Workflows

add-item-and-invoice
Add an item to a subscription and generate an invoice for it.
Adds a new line item to a subscription, reads the item back to confirm its pricing, and generates an on-demand invoice that includes the new charge.
3 steps inputs: billingType, productId, quantity, subscriptionId outputs: billingRecordId, invoiceNumber, itemId, total
1
addItem
addSubscriptionItem
Add the product as a new line item on the subscription.
2
getItem
getSubscriptionItem
Read the created item back to confirm its quantity and pricing.
3
generateInvoice
generateInvoice
Generate an on-demand invoice that includes the newly added item.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: SAP BRIM Add a Subscription Item and Invoice It
  summary: Add a line item to a subscription, read it back, and generate an on-demand invoice.
  description: >-
    Adds a billable line item to an existing subscription on SAP BRIM
    Subscription Billing and immediately bills for it. The workflow adds the
    item, reads the created item back to confirm its pricing, and then triggers
    an ad-hoc invoice for the subscription so the new item is charged outside
    the normal billing cycle. 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: subscriptionBillingApi
  url: ../openapi/sap-brim-subscription-billing-openapi.yml
  type: openapi
workflows:
- workflowId: add-item-and-invoice
  summary: Add an item to a subscription and generate an invoice for it.
  description: >-
    Adds a new line item to a subscription, reads the item back to confirm its
    pricing, and generates an on-demand invoice that includes the new charge.
  inputs:
    type: object
    required:
    - subscriptionId
    - productId
    - quantity
    properties:
      subscriptionId:
        type: string
        description: Identifier of the subscription to add the item to.
      productId:
        type: string
        description: Identifier of the product to add as a line item.
      quantity:
        type: integer
        description: Quantity of the product to bill.
      billingType:
        type: string
        description: How the item is billed (RECURRING, ONE_TIME, USAGE_BASED).
  steps:
  - stepId: addItem
    description: Add the product as a new line item on the subscription.
    operationId: addSubscriptionItem
    parameters:
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    requestBody:
      contentType: application/json
      payload:
        productId: $inputs.productId
        quantity: $inputs.quantity
        billingType: $inputs.billingType
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      itemId: $response.body#/itemId
  - stepId: getItem
    description: Read the created item back to confirm its quantity and pricing.
    operationId: getSubscriptionItem
    parameters:
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: itemId
      in: path
      value: $steps.addItem.outputs.itemId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      itemId: $response.body#/itemId
      totalPrice: $response.body#/totalPrice
      billingType: $response.body#/billingType
  - stepId: generateInvoice
    description: Generate an on-demand invoice that includes the newly added item.
    operationId: generateInvoice
    parameters:
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    requestBody:
      contentType: application/json
      payload:
        includeUsageCharges: true
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      billingRecordId: $response.body#/billingRecordId
      invoiceNumber: $response.body#/invoiceNumber
      total: $response.body#/total
      invoiceStatus: $response.body#/status
  outputs:
    itemId: $steps.getItem.outputs.itemId
    billingRecordId: $steps.generateInvoice.outputs.billingRecordId
    invoiceNumber: $steps.generateInvoice.outputs.invoiceNumber
    total: $steps.generateInvoice.outputs.total

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/sap-brim-billing-and-revenue-innovation-management-add-item-and-invoice-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 email required.

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