{
  "referenceDate": "2026-10-09",
  "currency": "GBP",
  "inputRows": 20,
  "uniqueValidRows": 12,
  "exactDuplicateRows": 2,
  "quarantinedRows": 6,
  "paidCount": 4,
  "openCount": 7,
  "voidCount": 1,
  "overdueOpenCount": 4,
  "paidTotal": "1555.49",
  "outstandingTotal": "1489.45",
  "overdueOpenTotal": "1000.00",
  "dueTodayOpenTotal": "300.00",
  "futureOpenTotal": "189.45",
  "validRows": [
    {
      "invoice_id": "INV001",
      "client": "Oak",
      "email": "tester1@example.com",
      "status": "paid",
      "currency": "GBP",
      "issued_on": "2026-09-01",
      "due_on": "2026-09-20",
      "amount_gbp": "100.00",
      "payment_date": "2026-09-18",
      "notes": "Paid in full"
    },
    {
      "invoice_id": "INV002",
      "client": "Birch",
      "email": "tester2@example.com",
      "status": "open",
      "currency": "GBP",
      "issued_on": "2026-09-15",
      "due_on": "2026-10-01",
      "amount_gbp": "250.00",
      "payment_date": "",
      "notes": "Please confirm, then archive"
    },
    {
      "invoice_id": "INV003",
      "client": "Cedar",
      "email": "tester3@example.com",
      "status": "open",
      "currency": "GBP",
      "issued_on": "2026-10-01",
      "due_on": "2026-10-15",
      "amount_gbp": "89.50",
      "payment_date": "",
      "notes": "Café project"
    },
    {
      "invoice_id": "INV004",
      "client": "Elm",
      "email": "tester4@example.com",
      "status": "paid",
      "currency": "GBP",
      "issued_on": "2026-09-20",
      "due_on": "2026-10-05",
      "amount_gbp": "1200.00",
      "payment_date": "2026-10-04",
      "notes": "Invoice export"
    },
    {
      "invoice_id": "INV005",
      "client": "Fir",
      "email": "tester5@example.com",
      "status": "void",
      "currency": "GBP",
      "issued_on": "2026-09-20",
      "due_on": "2026-10-01",
      "amount_gbp": "75.00",
      "payment_date": "",
      "notes": "Cancelled"
    },
    {
      "invoice_id": "INV006",
      "client": "Maple",
      "email": "tester6@example.com",
      "status": "open",
      "currency": "GBP",
      "issued_on": "2026-10-01",
      "due_on": "2026-10-09",
      "amount_gbp": "300.00",
      "payment_date": "",
      "notes": "Due today, not overdue"
    },
    {
      "invoice_id": "INV007",
      "client": "Pine",
      "email": "tester7@example.com",
      "status": "paid",
      "currency": "GBP",
      "issued_on": "2026-09-20",
      "due_on": "2026-10-01",
      "amount_gbp": "49.99",
      "payment_date": "2026-09-29",
      "notes": "Two decimal places"
    },
    {
      "invoice_id": "INV008",
      "client": "Ash",
      "email": "tester8@example.com",
      "status": "open",
      "currency": "GBP",
      "issued_on": "2026-09-10",
      "due_on": "2026-09-30",
      "amount_gbp": "150.00",
      "payment_date": "",
      "notes": "Overdue"
    },
    {
      "invoice_id": "INV009",
      "client": "Hazel",
      "email": "tester9@example.com",
      "status": "open",
      "currency": "GBP",
      "issued_on": "2026-09-10",
      "due_on": "2026-10-01",
      "amount_gbp": "0.00",
      "payment_date": "",
      "notes": "Zero value is valid"
    },
    {
      "invoice_id": "INV010",
      "client": "Willow",
      "email": "tester10@example.com",
      "status": "paid",
      "currency": "GBP",
      "issued_on": "2026-09-25",
      "due_on": "2026-10-08",
      "amount_gbp": "205.50",
      "payment_date": "2026-10-08",
      "notes": "Paid on due date"
    },
    {
      "invoice_id": "INV011",
      "client": "Beech",
      "email": "tester11@example.com",
      "status": "open",
      "currency": "GBP",
      "issued_on": "2026-10-05",
      "due_on": "2026-10-20",
      "amount_gbp": "99.95",
      "payment_date": "",
      "notes": "Future due date"
    },
    {
      "invoice_id": "INV012",
      "client": "Alder",
      "email": "tester12@example.com",
      "status": "open",
      "currency": "GBP",
      "issued_on": "2026-09-20",
      "due_on": "2026-10-07",
      "amount_gbp": "600.00",
      "payment_date": "",
      "notes": "Overdue"
    }
  ],
  "duplicates": [
    {
      "csvRow": 14,
      "invoiceID": "INV003"
    },
    {
      "csvRow": 21,
      "invoiceID": "INV002"
    }
  ],
  "quarantine": [
    {
      "csvRow": 15,
      "invoiceID": "",
      "reason": "missing invoice ID"
    },
    {
      "csvRow": 16,
      "invoiceID": "INV013",
      "reason": "negative amount"
    },
    {
      "csvRow": 17,
      "invoiceID": "INV014",
      "reason": "outside GBP scope"
    },
    {
      "csvRow": 18,
      "invoiceID": "INV015",
      "reason": "month must be in 1..12"
    },
    {
      "csvRow": 19,
      "invoiceID": "INV016",
      "reason": "unknown status"
    },
    {
      "csvRow": 20,
      "invoiceID": "INV017",
      "reason": "[<class 'decimal.ConversionSyntax'>]"
    }
  ]
}
