Skip to main content

Money Found Overview

List the recoverable money in the documents and tables of a workspace as a ledger of levers, every row cited to its source, via the /v1/money-found API.

Every endpoint on this page answers 404 in a workspace that has not added the Money Found app (catalog slug money-found). Add it from the Apps catalog or with POST /v1/apps and slug money-found; GET /v1/apps lists the apps a workspace has added.

The Money Found app lists the recoverable money in the documents and tables a workspace already holds. The result is a ledger of levers. A lever is one kind of finding, such as an invoice billed above its contract price, and holds the rows that make it up. Every row is cited to the document cell or the table row it rests on, so each figure can be traced to its source. The levers run deterministically over the data a workspace has bound to Money Found roles; a model sets the configuration up and re-reads documents in the re-review of a contract price row, but it never computes a ledger number.

These endpoints belong to the Money Found app (catalog slug money-found). A workspace uses them after adding the app; GET /v1/apps lists the workspace's apps by slug. A workspace without a Money Found configuration gets the legacy ledger, marked engine: legacy; a configured workspace gets the standard ledger, marked engine: standard.

Each row has a tier. owed rows count as entitlement; estimated, potential and assumed rows stay exposure until confirmed. Levers of kind direct sum into direct_entitlement_total. Levers of kind signal never sum into the headline and carry exposure only. Contract price rows that look implausible are held out of every total until a re-review reads the documents again, and the re-review routes of this surface queue and read those reviews.

Authentication uses a tlnc_ API key or an OAuth token in the Authorization: Bearer header. Reads need the read scope. The two review routes are writes: they need the write scope and the key's person to be a member or above in the workspace. The routes act on the workspace of the key; the cross-workspace master view is rejected.

Worked Example: From Ledger to Customer Request

Read the ledger, then the open potential rows grouped as a request list for the customer's receivables team, as CSV.

cURL: 1. Read the ledger

curl "https://api.talonic.com/v1/money-found/levers" \
  -H "Authorization: Bearer $TALONIC_API_KEY"

cURL: 2. Download the evidence requests as CSV

curl -o money-found-evidence-requests.csv \
  "https://api.talonic.com/v1/money-found/evidence-requests?format=csv" \
  -H "Authorization: Bearer $TALONIC_API_KEY"

To settle a held contract price row, queue its re-review, then read the verdict from the reviews list. One request re-reviews every contract price row not yet reviewed.

cURL: 3. Re-review all unreviewed contract price rows

curl -X POST "https://api.talonic.com/v1/money-found/reviews/run" \
  -H "Authorization: Bearer $TALONIC_API_KEY"

curl "https://api.talonic.com/v1/money-found/reviews" \
  -H "Authorization: Bearer $TALONIC_API_KEY"

Frequently asked questions

What is the difference between entitlement and exposure?+
Entitlement is money the documents show is owed: rows in the owed tier. Exposure is money that may be recoverable but is not yet confirmed: estimated, potential and assumed rows. Only open owed entitlement on direct levers sums into the headline total.
Why does a signal lever not add to the headline?+
A signal lever flags something worth a look, such as overbilling, without proving a claim. It carries an exposure and never sums into direct_entitlement_total. Its exposure total is reported separately as signal_exposure_total.
What is the legacy engine?+
A workspace without a Money Found configuration gets the earlier ledger, marked engine: legacy, with the extra totals filled with 0. It has no contract price levers. Configure the app to get the standard engine.