---
title: "Finance Ops recipes"
description: "TL;DR: Finance Ops recipes automate financial workflows — reconciling payments and payouts on a schedule, and processing invoices and expenses with extraction, validation, and durable human approval via waitForInput. They connect Stripe, Ramp, and HTTP APIs with Slack and your spreadsheets."
canonical_url: "https://docs.ballet.dev/articles/finance-ops-recipes-ioZSHHPMQK"
md_url: "https://docs.ballet.dev/articles/finance-ops-recipes-ioZSHHPMQK.md"
---
# Finance Ops recipes

**TL;DR:** Finance Ops recipes automate financial workflows — reconciling payments and payouts on a schedule, and processing invoices and expenses with extraction, validation, and durable human approval via `waitForInput`. They connect Stripe, Ramp, and HTTP APIs with Slack and your spreadsheets.

## Who this is for

Finance and operations teams who want fewer manual reconciliations and faster approvals.

## Recipes in this department

- [Reconciliation](/articles/recipe-reconcile-payments-and-payouts-cMv63QRUdO) — pull transactions, reconcile, and report exceptions.
- [Invoice and expense processing](/articles/recipe-invoice-and-expense-processing-MZMvhq3VlS) — extract, validate, and park for approval with `metaphor.waitForInput` when over threshold.

Human approval in Ballet is a durable pause on the same run ID — not a busy-wait. See [How do I pause and resume a playbook run?](/articles/how-do-i-pause-and-resume-a-playbook-run-TK6ueiBF0d).

## Related articles

- [How do I pause and resume a playbook run?](/articles/how-do-i-pause-and-resume-a-playbook-run-TK6ueiBF0d)
- [How do I manage Schedules?](/articles/how-do-i-manage-schedules-NTU9cNrk8w)
- [How do I store credentials with Secrets?](/articles/how-do-i-store-credentials-with-secrets-1D8OUcCo0n)
- [How do I edit steps (Code and HTTP)?](/articles/how-do-i-edit-steps-code-and-http-47pGJ6HgKr)
