Use cases· Last updated

Invoice decision workflow with Jev

Pixels never go to System One. An OCR or vendor extractor turns the PDF into strings; Jev then asks whether that text packet looks like a duplicate, a PO mismatch, or a complete AP file. Code posts to the ERP. Jev does not key invoices.

This unofficial page is the decision workflow slice of the invoice AP decisions pack. Intent: apply the Jev (TypeSafe System One) decision model to invoice AP decisions decision workflow. Primary search language: Invoice Jev decision workflow. Confirm patterns on docs.typesafe.ai. This site does not sell, issue, or proxy TypeSafe keys. Use a credential you already have from the console or a documented gateway.

Independent angle (cover ≠ clone): OCR extracts; Jev judges already-extracted text (duplicate/vendor/PO language). Amounts and dates stay in code — not a clone of invoice-OCR IA or a rival AP-recipe page. Fan-out extra atoms on one request; open a second HTTP call only for a new artifact, not the same state.

Invoice use-case context

Invoice AP decisions is a workflow, not a chat. Assemble a narrow state, ask the primitives below, and let the AP router branch. TypeSafe’s docs say a good question is a snap decision a knowledgeable person could make in a few seconds — not an open-ended analysis of the extracted invoice packet + PO text.

Hub: Use cases. Compare, when the other tool is the real job: invoice OCR.

Decision Workflow inputs

Keep only fields the questions name:

{
  "invoice": { "id": "INV-1044", "vendor_name": "Northwind Paper LLC", "memo": "Q3 copier paper — matches PO 88." },
  "po": { "id": "PO-88", "vendor_name": "Northwind Paper" },
  "extract": { "amount_cents": 128500, "invoice_date": "2026-03-12" },
  "policy": { "duplicate": "Same vendor + same amount_cents within 14 days is a duplicate suspect." }
}

Point instructions at invoice.memo, invoice.vendor_name, po.vendor_name, policy.duplicate. Drop the PDF / TIFF bytes (not accepted); full GL history novels.

Decision signals and actions

Id Type Job
same_vendor Noul Do invoice.vendor_name and po.vendor_name look like the same entity?
packet_complete Score How complete is the AP narrative vs policy (missing PO / missing memo)?
disposition Choice route_match / hold_mismatch / duplicate_suspect / other

All of these share state and run in parallel. Code owns the graph:

def invoice_route(ans, extract, prior_cents):
    # arithmetic in code — do not ask Jev if 128500 == 128500
    if extract["amount_cents"] != prior_cents and prior_cents is not None:
        return "hold_amount"  # your matcher, not Jev
    if ans["same_vendor"].noul < T_VENDOR:
        return "hold_mismatch"
    if ans["disposition"].confidence < FLOOR or ans["disposition"].choice == "other":
        return "ap_review"
    return ans["disposition"].choice

Do not treat a Noul of 0.5 as a “medium” invoice AP decisions score — it means yes and no are equally likely. Conjunctions stay in your code.

Guardrails and escalation

TypeSafe’s confidence-gated examples use a lower bar for recoverable reads than for irreversible actions. Those numbers are illustrations. For invoice AP decisions, treat post_to_erp as the high bar (posting an invoice to the ERP). Tune on labels — see offline evaluation.

Low confidence, or a policy miss → human or safe default; do not post the invoice.

Evaluation and rollout notes

Shadow: ERP posts as today; log Jev disposition beside the clerk action.

Canary: Auto-route only low-cent, same-vendor, high-confidence matches for one vendor family.

Pin jev-1.13.0 (the versioned id) after you fit thresholds. jev-latest and the marketing line jev-1.13 can move. Log the response model. TypeSafe’s published list price for jev-1.13 is $0.042 per million input tokens (vendor claim — confirm on the models page); output tokens are free on that same page. Unused distractors still bill as input.

Official Python and JavaScript SDKs read TYPESAFE_API_KEY and retry documented 429/529. This site does not sell, issue, or proxy TypeSafe keys. Use a credential you already have from the console or a documented gateway.

Pack map

Slice Page
Graph and primitives you are here
What may enter state input contracts
What to gather first evidence collection
Atomic rules policy checks
Act / review / abstain confidence thresholds
Reviewer payload human handoff
What to persist audit trail
How it breaks failure modes
Labeled replay evaluation
Shadow → canary production rollout

FAQ

Does Jev execute the AP router action? No. It returns typed answers. Your AP router code calls queues, models, or humans.

Why several questions in one request? TypeSafe’s fan-out pattern: extra questions are cheap versus another HTTP call. same_vendor + packet_complete + disposition in one call (TypeSafe fan-out). A second trip is for a new artifact (credit memo), not for re-asking the same extract.

Where is the rest of the Invoice pack? Start with Invoice input contracts and Invoice confidence thresholds. Cluster hub: Use cases.

Can we skip OCR and send the PDF? No. Official models page: no image input. Extract first. See Jev vs invoice OCR.

Should Jev decide if $1,285.00 matches the PO? No. Compare cents in code. Jev judges leftover language (vendor strings, memos).

What this page does not claim

Disclaimer

This is an independent unofficial site and is not affiliated with TypeSafe AI; official documentation is available at https://docs.typesafe.ai.

Primary documentation: https://docs.typesafe.ai. Hub: Use cases.

Sources

Public TypeSafe or adjacent documentation only. No private claims.