List missing-invoice owners
well_list_missing_invoice_ownersList the settled expense TRANSACTIONS a past period is still missing a supplier invoice for, one row per line, each with its current owner SET. Use it for "who owes the missing invoices?" and as the input to well_assign_missing_invoice_owners.
Each row reports its TRANSACTION owner SET. An empty owners set means no transaction owner set was found; it does not prove that no card rule or other legacy owner exists. The bucket is no_owner_set, assigned_to_me, or assigned_to_others, computed from that set against the calling person. This lists the SAME missing invoices well_list_missing_invoices shows, but flattened to lines you can assign; there is no per-card grouping and no scope: "card".
Name the period ONE way: { calendar_year, calendar_month }, { fiscal_year, fiscal_period }, or periods: [...] for several months (1-12), or name NO period to use the months selected on the period card in this conversation. Every month must have ended.
Each row carries transaction_id (pass it to well_assign_missing_invoice_owners), date, description, counterparty (name, id, and logo when a provider was matched), amount, currency, and base_amount. Rows with no owner set come first, then the caller's own, then those owned only by others; no_owner_set_count, assigned_to_me_count, and assigned_to_others_count summarize the split over the returned rows.
The rows per counterparty are a BOUNDED sample (sampled: true), so row_count may be fewer than transaction_count — the window's true total — and transactions_omitted is the difference. Use it to assign owners, not to count a period's total gaps; well_list_missing_invoices carries the full per-counterparty totals.
This tool reads the user's data and changes none of it.
When the token authorizes one workspace, call this directly — no other tool call is needed first. When it authorizes several, this read will not guess which one you mean: pass workspace_id on the call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| periods | No | Several calendar months in one call, 1-12. Each month costs one separate read, so name only the months you need. Duplicates are refused. | |
| fiscal_year | No | Fiscal year (the calendar year the workspace's fiscal year STARTED in). | |
| workspace_id | No | Target workspace. Omit when the token authorizes one workspace. Required when it authorizes several: this read reports one workspace's own figures and will not choose which. | |
| calendar_year | No | Calendar year, e.g. 2026. | |
| fiscal_period | No | Fiscal period, 1-12. The adjustment period (13) is refused: it has no calendar month. | |
| calendar_month | No | Calendar month, 1 = January … 12 = December. | |
| conversation_id | No | The conversation id returned by the previous Well result, in its meta under well/conversation_id, in its structuredContent, or in its JSON text block. Pass it back on every call in the same conversation, including a call a card makes, so the chosen workspace and the earlier answers still apply. It decides the conversation on its own: nothing the host states about the session replaces it. Omit it only on the first call of a conversation. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| error | No | ||
| sampled | No | True always: each counterparty's rows are a bounded sample, so a counterparty whose every gap fell outside the sample is under-represented. Use it to assign owners, not to count a period's total gaps. | |
| success | Yes | ||
| next_step | No | What to do with the card this result renders. Added by the dispatcher when the card asks for a click. | |
| row_count | No | Transaction rows returned in `transactions` (a bounded sample per counterparty). | |
| me_person_id | No | The calling person, against which each row's `bucket` is computed; null when the token carries no person. | |
| transactions | Yes | The missing-invoice lines, with no owner set first, then the caller's own, then those owned only by others. | |
| base_currency | No | ||
| conversation_id | No | The conversation this result belongs to. Pass it back as the conversation_id argument on every later Well call in the same conversation. | |
| periods_covered | No | The months the result covers, oldest first. | |
| transaction_count | No | Total missing-invoice transactions the window holds across all counterparties, sampled or not. | |
| no_owner_set_count | No | Returned rows with no transaction owner set. | |
| resolved_workspace | No | The workspace that answered, when the caller named none and the token authorizes several. | |
| assigned_to_me_count | No | Returned rows whose transaction owner set includes the caller. | |
| conversation_id_note | No | Present only when the server opened a fresh lane, stating that no choice recorded earlier was read. | |
| transactions_omitted | No | Missing-invoice transactions the window holds beyond the returned sample (`transaction_count` − `row_count`). | |
| conversation_id_source | No | Where the conversation id came from: the host's own request meta, the caller's argument, or a fresh lane the server opened. | |
| assigned_to_others_count | No | Returned rows whose transaction owner set includes only other people. |