Coverage
Ask AI
Coverage is the part of a report a reader must not skip.
This realm cannot enumerate an issuer's invoices (see the package doc), so a report covers exactly the ids the issuer named. These eight numbers are what let a reader judge whether that was everything:
- `listed` — distinct ids in the call, after deduplication.
- `aged` — ids that became obligations in the report. The provision covers these and nothing else.
- `notOpen` — settled or voided, so nothing owed.
- `zeroOut` — open with nothing outstanding.
- `notDue` — open and owed, but not yet due at `PublishedAt`.
- `dupes` — repeated ids dropped before aging.
- `openAt` — `invoices.OpenOf(issuer)` at publication: how many open invoices the issuer actually held.
- `recordsAt` — `invoices.RecordsOf(issuer)` at publication: records of any status, which is the figure r/invoices' per-issuer cap applies to.
The arithmetic to do: `aged + zeroOut + notDue` is how many OPEN invoices the report accounted for, so `openAt` minus that is **how many open invoices were left out**. A non-zero remainder means the provision is understated by an unknown amount, and no part of this realm can say by how much.
`listed = aged + notOpen + zeroOut + notDue` always holds; `dupes` is outside it, having been dropped before the filter.
ACCOUNTED FOR IS NOT THE SAME AS AT RISK
`notDue` counts toward "accounted for" and carries NO provision. That is right on its own terms — the invoice was examined, and p/aging deliberately refuses to bucket something that is not yet due — but it makes one reading wrong in a way the arithmetic above will not catch. A reader who takes `aged` (or the provision) as "the receivables at risk" while `notDue` is non-zero has measured a STRICT SUBSET of the open book: the omitted part is not omitted by mistake, it is merely not due yet, and it becomes due later with no further call to this realm.
So `OmittedOpen == 0` means "every open invoice was examined", never "every open invoice is provisioned". The second question is answered by reading `notDue` beside the provision, and the render pages print both for exactly this reason.
Command
gnokey query vm/qeval -remote "https://rpc.onyx.testnets.gno.land" -data "gno.land/r/g1ut6uspuh73e02yauxpmyt8g3wwddaq8utagvm3/receivables.Coverage(,)"
Result