Start inputs
Order-invoice reconciliation
Passed by the calling system
Headless & Integration package
Every morning, yesterday's orders are matched to billing invoices; missing invoices and amount mismatches are recorded and a summary is sent.
About this package
Scheduled data reconciliation checks that every order was billed correctly. Each morning at 05:30 it reads yesterday's orders from your order system and the invoices for the same date from your billing API (or any date you pass as as_of).
For each order it finds the invoice with the same order id and classifies the pair: matched, missing invoice, or amount mismatch (a difference larger than the tolerance). Exceptions are inserted into the Reconciliation exceptions table with the amounts and difference, ready for finance to work through.
At the end it counts the results, emails a summary to finance operations and posts the same totals to an ops webhook. Adapt the two list endpoints, the matching key and the tolerance; nothing in the run needs a person.
Daily at 05:30 (UTC). You can also start it any time from the Run dialog, the API or the CLI.
Runs on a schedule (daily, weekly, monthly) in your time zone.
The flow
Pick the date
The run reconciles yesterday, or the as_of date when one is given.
Read both sides
Orders come from the order system and invoices from the billing API for the same date.
Match each order
For every order the invoice with the same order id is found and the amounts compared.
Record exceptions
Missing invoices and amount mismatches are inserted into the Reconciliation exceptions table.
Report
Totals are counted, emailed to finance operations and posted to the ops webhook.
Forms
The inputs a caller passes when it starts a run, and the forms people complete when the process needs a decision.
Start inputs
Passed by the calling system
From your code
Every workflow can be started over REST, MCP or the CLI, whatever its trigger, with the sample input below. Runs start straight away on the published version; replace <workflow id> with the id the install created.
REST
curl -X POST "$USERTASKS_URL/api/v1/workflows/start" \
-H "Authorization: Bearer $USERTASKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"workflow_id":"<workflow id>","variables":{"as_of":"2026-10-25","finance_ops_email":"finance-ops@example.com","amount_tolerance":0.01}}'CLI
usertasks workflows inputs <workflow id> # the start form: keys, types, required
usertasks workflows run <workflow id> --input as_of=2026-10-25 --input finance_ops_email=finance-ops@example.com --input amount_tolerance=0.01 --waitWhat's included
| Type | Name | Details |
|---|---|---|
| Email template | Reconciliation summary | Daily summary sent to finance operations. |
| Data table | Reconciliation exceptions | Orders that did not reconcile with billing: a missing invoice or an amount mismatch. Finance works these rows and sets the status. |
| Integration | Billing API | |
| Integration | Ops webhook | |
| Integration | Order system | |
| API reference | List invoices by date | GET /invoices — All invoices issued for orders on one date, with the order id they bill. |
| API reference | List orders by date | GET /orders — All orders placed on one date. |
| API reference | Post reconciliation summary | POST /reconciliation-summary — Post the daily totals to an ops channel or monitoring webhook. |
| Workflow | Order-invoice reconciliation | 23 steps — Every morning, compare yesterday's orders with the invoices billed for them; record missing invoices and amount mismatches and send a summary. |
Reconciliation exceptions · schema only
Business dateOrderCustomerExceptionOrder totalInvoiceInvoice amountDifferenceStatus
Requirements
Credentials never travel in a package. The install wizard asks for what your environment must provide, or installs it incomplete until you finish setup.
Integration “Billing API”Required
Integration “Ops webhook”Required
Integration “Order system”Required
Install
Works on UserTasks cloud and on any self-hosted instance. Installing creates the assets above; nothing runs until you complete setup and start it.
curl -fLO https://usertasks.com/gallery/scheduled-data-reconciliation-1.0.0.utpkg
usertasks packages inspect scheduled-data-reconciliation-1.0.0.utpkg # offline: checksum, hashes, signature
usertasks packages install scheduled-data-reconciliation-1.0.0.utpkg --dry-run
usertasks packages install scheduled-data-reconciliation-1.0.0.utpkg # prompts for each requirement
usertasks packages install scheduled-data-reconciliation-1.0.0.utpkg --keep-incomplete --yes # in CI; finish with:
usertasks packages complete scheduled-data-reconciliation -f values.yamlVerify the download
shasum -a 256 scheduled-data-reconciliation-1.0.0.utpkg should print the file SHA-256. How gallery packages are signed.
Versions
Installing a newer version upgrades in place: local credentials and requirement values are kept, and changes you made are flagged first. How packages work
More packages
Headless & Integration
An AI agent classifies each helpdesk ticket and drafts a reply; confident, low-risk answers go out automatically and the rest wait for a person.
Needs:AI modelREST APIAssigneesInbound webhook
Headless & Integration
Turn contract data from any app into a filled Word contract and Excel fee schedule, file both in your DMS and send the contract for e-signature.
Needs:REST APIDocument templatesInbound webhook
Headless & Integration
Each new row in an Orders staging table is normalised, converted to the base currency, loaded into the warehouse and marked loaded or failed.
Needs:REST API