Skip to main content

Contract Price Re-reviews

Read the re-reviews of contract price rows with counts by status and verdict, and the Price Baseline changes the reviews suggest but never apply themselves.

A contract price row compares what an invoice billed with what the contract allows. A screen checks every such row on each build against the stored comparison and the invoice's own printed inputs; a flagged row is needs_review, and stays out of every total. A re-review reads the invoice, the contract versions and the Contracts app documents again and keeps a value only when its quote is found in the document. GET /v1/money-found/reviews returns the re-reviews of the workspace.

The list holds up to 2000 re-reviews, ordered by last update, latest first, with counts by status and verdict and the suggestions the reviews make. A review with verdict confirmed restores a row to the totals. The verdicts extraction_error, wrong_contract_version and unit_or_quantity_mismatch exclude a row as not_finding. The verdicts amendment_missing and unclear hold it. A review whose contract_price has since moved is stale. Rows with identical content share one verdict, so one review settles the group.

GET/v1/money-found/reviews

Response fields

reviews[]arrayThe re-reviews; see below.
countsobjectpending, running, done, failed, and verdicts: finished reviews by verdict.
suggestions[]arrayPrice Baseline changes the reviews suggest, never applied by them: review_id, row_key, model_id, document_id, contract_key, action (file_under_own_key) and note.

reviews[] fields

id / lever_id / row_keystringThe review and the row it concerns.
statusstringpending, running, done or failed.
triggerstringmanual, auto or bulk.
verdictstring | nullconfirmed, extraction_error, wrong_contract_version, unit_or_quantity_mismatch, amendment_missing or unclear; null until the review is done.
correctedobject | nullThe value the review kept, contract_value and expected_amount, with dropped counting the values whose quotes did not verify.
contract_pricenumber | nullThe row's contract price when the review read it; a later change makes the verdict stale.
explanation / explanation_destring | nullThe reasoning in English and German.
attempts / errorinteger / string | nullAttempts so far and the last error when failed.
reviewed_at / created_at / updated_atdatetimeTimestamps.

cURL: Read the re-reviews

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

Response: Counts and one suggestion (abridged)

{
  "reviews": [],
  "counts": { "pending": 0, "running": 1, "done": 14, "failed": 0, "verdicts": { "confirmed": 9, "unit_or_quantity_mismatch": 5 } },
  "suggestions": [
    {
      "review_id": "b3a0f6c4-7d1e-4a2b-9c58-0e6f1d2a3b47",
      "row_key": "r_3f9a1c",
      "model_id": "4a7d...",
      "action": "file_under_own_key",
      "note": "File the contract under its own key."
    }
  ]
}
A suggestion is a proposed Price Baseline change and is never applied by a review. The review stores it; a person applies it in Price Baseline. Each review also keeps a receipt of the model call, so a verdict can be audited.

Frequently asked questions

What does each verdict do to the totals?+
confirmed restores the row to the totals. extraction_error, wrong_contract_version and unit_or_quantity_mismatch exclude it as not a finding. amendment_missing and unclear hold it out of the totals. Where identical rows disagree, the group is marked needs_person and held.
Can a review change my Price Baseline?+
No. A review can store a suggestion, such as filing a document under its own key, and the suggestion appears in the suggestions list. It is never applied by the review itself.
What makes a review stale?+
The row's contract price changed after the review read it. The stored contract_price no longer matches, so the verdict is marked stale and the row can be reviewed again.