## TL;DR

A PO number that matches nothing usually means a typo, a closed PO, or a PO from another entity. Check in order: transposed digits, closed or fully-billed POs, and entity scoping. If the PO genuinely does not exist, route to the buyer to confirm the order; do not invent a PO or force-match to a similar number.

## Error

```text
PO 4500012345 not found among open purchase orders
```

## Steps

1. Search POs with fuzzy matching for transposed or mistyped digits.
   Expected: A likely intended PO.
2. Check closed and fully-received POs for the number.
   Expected: A PO that is done, not missing.
3. Verify entity/subsidiary scoping of the PO search.
   Expected: Cross-entity POs found.
4. If a candidate is found, confirm with the buyer.
   Expected: A confirmed match.
5. If none, route as no-PO per policy.
   Expected: Explicit handling.

## When to use

- PO lookup fails during matching
- Vendor typos on PO numbers
- Multi-entity PO searches

## When not to use

- Price or quantity mismatches
- Receipt matching
- Duplicate PO numbers

## Compatibility

ERP-agnostic.

## Variant phrasings

### PO not found invoice

### invalid PO number on invoice

### no matching purchase order

## Root cause

Vendors transcribe PO numbers by hand from order emails. Typos, closed POs, and entity-scoped searches explain nearly all lookup failures.

## Edge cases

- Standing orders may live outside the PO system; check contract records
- Intercompany POs live in the other entity's books
- Some vendors quote the requisition number instead of the PO number

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_fXhnNHkWEB274UqgII1xRw
