{
    "extractor": "rules",
    "createdAt": "2026-10-13T23:13:26.128Z",
    "cases": 5,
    "errors": 0,
    "overall": 0.9840637450199203,
    "fields": {
        "supplierName": {
            "correct": 5,
            "wrong": 0,
            "missing": 0,
            "spurious": 0,
            "total": 5,
            "accuracy": 1
        },
        "vatId": {
            "correct": 5,
            "wrong": 0,
            "missing": 0,
            "spurious": 0,
            "total": 5,
            "accuracy": 1
        },
        "customerName": {
            "correct": 5,
            "wrong": 0,
            "missing": 0,
            "spurious": 0,
            "total": 5,
            "accuracy": 1
        },
        "invoiceNumber": {
            "correct": 5,
            "wrong": 0,
            "missing": 0,
            "spurious": 0,
            "total": 5,
            "accuracy": 1
        },
        "issueDate": {
            "correct": 5,
            "wrong": 0,
            "missing": 0,
            "spurious": 0,
            "total": 5,
            "accuracy": 1
        },
        "dueDate": {
            "correct": 5,
            "wrong": 0,
            "missing": 0,
            "spurious": 0,
            "total": 5,
            "accuracy": 1
        },
        "currency": {
            "correct": 5,
            "wrong": 0,
            "missing": 0,
            "spurious": 0,
            "total": 5,
            "accuracy": 1
        },
        "subtotalCents": {
            "correct": 5,
            "wrong": 0,
            "missing": 0,
            "spurious": 0,
            "total": 5,
            "accuracy": 1
        },
        "discountCents": {
            "correct": 4,
            "wrong": 0,
            "missing": 1,
            "spurious": 0,
            "total": 5,
            "accuracy": 0.8
        },
        "shippingCents": {
            "correct": 5,
            "wrong": 0,
            "missing": 0,
            "spurious": 0,
            "total": 5,
            "accuracy": 1
        },
        "taxRatePercent": {
            "correct": 5,
            "wrong": 0,
            "missing": 0,
            "spurious": 0,
            "total": 5,
            "accuracy": 1
        },
        "taxCents": {
            "correct": 5,
            "wrong": 0,
            "missing": 0,
            "spurious": 0,
            "total": 5,
            "accuracy": 1
        },
        "totalCents": {
            "correct": 5,
            "wrong": 0,
            "missing": 0,
            "spurious": 0,
            "total": 5,
            "accuracy": 1
        },
        "line.description": {
            "correct": 16,
            "wrong": 2,
            "missing": 0,
            "spurious": 0,
            "total": 18,
            "accuracy": 0.8888888888888888
        },
        "line.quantity": {
            "correct": 18,
            "wrong": 0,
            "missing": 0,
            "spurious": 0,
            "total": 18,
            "accuracy": 1
        },
        "line.unitPrice": {
            "correct": 18,
            "wrong": 0,
            "missing": 0,
            "spurious": 0,
            "total": 18,
            "accuracy": 1
        },
        "line.amount": {
            "correct": 18,
            "wrong": 0,
            "missing": 0,
            "spurious": 0,
            "total": 18,
            "accuracy": 1
        }
    },
    "byLayout": {
        "cards": {
            "cases": 1,
            "overall": 1.0
        },
        "letter": {
            "cases": 1,
            "overall": 1.0
        },
        "letterhead": {
            "cases": 1,
            "overall": 1.0
        },
        "sidebar": {
            "cases": 1,
            "overall": 0.9622641509433962
        },
        "taxsummary": {
            "cases": 1,
            "overall": 0.9565217391304348
        }
    },
    "findings": {
        "planted": 3,
        "reported": 5,
        "found": 3,
        "missed": 0,
        "falseAlarms": 2,
        "recall": 1,
        "precision": 0.6
    },
    "failures": [
        {
            "case": "invoice-013",
            "field": "line.description",
            "outcome": "wrong",
            "expected": "Implementation services, hour",
            "actual": "Kestrel Analytics Inc. Implementation services, hour"
        },
        {
            "case": "invoice-013",
            "field": "line.description",
            "outcome": "wrong",
            "expected": "Premium support plan",
            "actual": "950 Market Street Premium support plan San Francisco, CA 94102"
        },
        {
            "case": "invoice-025",
            "field": "discountCents",
            "outcome": "missing",
            "expected": 4191,
            "actual": null
        }
    ]
}