# accounts-payable: obligations

<!-- source: illustrative | generated_by: the demo generator (pnpm demo:ap) | corrected_by: (steward) -->

What this system promises, and to whom. A change here needs the steward and the business owner.

## To vendors
- An invoice that matches its PO and receiving is paid within terms (net 30 unless the PO says otherwise).
- A held invoice is held for a stated reason the vendor can be told in one sentence.

## To the stores and buyers
- Goods are paid only for the quantity received. A short shipment is held, not paid in full.
- A price over the PO by more than 2% or $50 goes back to the buyer who raised the PO.

## To the Controller and the auditors
- No payment to a changed bank account without a callback to a number already on file.
- Only the AP lead or the Controller may clear a vendor-change or a possible duplicate, whichever
  tool they sign from (`people.yaml`). A clerk may pay, hold, or send a price back to the buyer.
- Every decision the machine made alone is written to `queue/` as inferred; every decision a person
  made is signed and declared. Nothing inferred is ever presented as proven.

## To whoever does this job next
- The labeled examples in `eval/` are the definition of correct. A successor, a new model or a new
  tool is accepted when it agrees with them at the recorded bar, and not before.
