QA Lite overview

QA Lite — how it works.

QA Lite runs structured checks on parser or vendor JSON outputs. Submit 25–50 redacted samples and get a benchmark report with accept / review / reject verdicts, reason codes, and a buyer-critical issue rate.

It is designed for teams that already have receipt data flowing downstream and want to know whether unsafe outputs are reaching payout, fraud review, rebate, loyalty, or analytics workflows — without sending receipt images or OCR text for the first benchmark.

QA Lite process
JSON only
Submit JSON
25–50 redacted parser or vendor outputs. No images or OCR required.
Checks run
Field presence, math reconciliation, structural integrity, buyer-critical flags.
Report delivered
Accept / review / reject counts, reason codes, and redacted examples.
01 — What gets checked

Field presence, math, structure, and buyer-critical flags.

QA Lite runs a defined set of checks on every JSON output in your batch. No configuration required — checks apply automatically to every sample.

  • Required fields checked for presence and basic format (total, line_items, merchant, date)
  • Math reconciliation: line item sum vs. subtotal; subtotal + tax vs. total
  • Buyer-critical flags: missing total, zero-item receipt, structural failures that could affect payout
Check examples
JSON only
Required fields
total, line_items, merchant, and date are checked for presence and basic format.
Math consistency
Line item sums, subtotal, tax, and total are checked for internal reconciliation.
Structural risk
Duplicate rows, malformed items, zero-item receipts, and missing totals are flagged for review.
02 — Benchmark report

Accept, review, or reject — with reason codes for every flag.

Every sample in the batch gets a verdict. Math mismatches, missing fields, and structural failures each produce a reason code. The report shows your buyer-critical issue rate and includes redacted examples.

Validation report
Passed
Subtotal$47.83
Tax$6.22
Line item sum$47.83
Total$54.05
{ "status": "accepted", "reason_codes": [], "buyer_critical": false }