<!-- DOCS_WORKFLOW_BILLING_CONSUMERS:generic-exports -->
# Workflow and billing consumers

Canonical HTML: https://spoolis.com/docs/workflow-billing-consumers. This page is also available in machine-readable Markdown.

Use generic Outcome exports in workflow, billing, finance, and payment systems without moving their responsibilities into Spoolis.

## Generic consumer exports

acceptedUnitsExport carries accepted unit identities and the receipt reference. retryList carries rejected units and reasons. holdList carries uncertain units and reasons. continuationPayload combines the continue, retry, and hold sets with the Outcome reference. settlementInstruction carries the earned amount and Outcome reference for a payment or finance consumer.

billingSummary() is arriving in the JavaScript and Python verifier SDKs alongside these helpers. Its exact shape is not documented yet.

## Where the exports fit

Temporal-shaped and Town-shaped orchestrators can use continuationPayload at a durable step boundary. Parent agents, retry workers, and review queues can act on their respective sets.

Finance and billing systems such as Flexprice, Orb, Metronome, Paid, and Stripe Billing can consume accepted units and earned value as verified inputs to their own meters, invoices, credits, and plans. Spoolis creates none of those billing objects.

Payment systems can consume settlementInstruction or use a configured settlement adapter. The acceptance result remains independent of whether and how money moves.

## Consumer responsibility

Verify the receipt signature and expected environment before acting. Apply your own idempotency, authorization, correction-status, and partial-result policy. Spoolis returns continue, retry, and hold sets. It never executes the workflow.
