A self-reported invoice is a claim. An invoice both parties transacted on Rivet — created on a real connection, acknowledged by the counterparty, settled on the same rails — is a fact pattern neither party could fabricate alone. The Verification Grade reads exactly that record and nothing else: deterministic facts, fully explained, never advice. No model, no weights, no judgment — the same inputs grade the same way, forever.
The four factors
- Origin channel. How the document entered Rivet: created on the connection by a party (the strongest), arrived at the organization's verified Rivet email address, hand-uploaded (confirmed only by later counterparty action), or imported history (not witnessed by Rivet).
- Both parties verified. Issuer and receiver both passed verification.
- Counterparty acknowledgment. The receiving organization acted on the document on Rivet — acknowledged, approved, or paid it. Those moves belong to the receiver by the state machine's own rules, so their presence is attribution.
- Settlement history. How many documents the pair has settled on Rivet, and how many settled on time. Imported records never count — their history is synthetic.
The lattice
D— a party unverified, or an imported origin: the bilateral record cannot be established.C— both verified, but the counterparty has not acted on the object. One-sided so far.B— the counterparty acknowledged. This is the marketplace listing floor.A— acknowledged, via a bilateral or verified-email channel, with at least three settled documents with that counterparty and an on-time ratio of 80% or better. A manual upload caps at B.
The grade rides the API document read as verification_grade — the letter plus every factor with its plain-language contribution. A grade never arrives without its reasons.
A grade is a set of named facts about a record. It is not a credit score, not a recommendation, and not advice — and raising one is done in the open: have the counterparty act on the document, and settle with them on Rivet.