{
  "fictional": true,
  "requiresTailoring": true,
  "toolId": "22-customer-to-transaction-linkage-checker",
  "scope": "One fictional paired source comparison.",
  "fixture": {
    "input": {
      "values": {
        "asOfDate": "2026-10-08",
        "ruleReference": "Fictional October transaction scope and customer master v1. Replace before use."
      },
      "transactions": {
        "headers": [
          "Transaction reference",
          "Customer reference",
          "Transaction date",
          "Amount",
          "Currency"
        ],
        "rows": [
          [
            "fictional-tx-1",
            "fictional-customer-1",
            "2026-10-01",
            "100.25",
            "USD"
          ],
          [
            "fictional-tx-2",
            "fictional-customer-1",
            "2026-10-02",
            "-10",
            "USD"
          ],
          [
            "fictional-tx-3",
            "fictional-missing-customer",
            "2026-10-03",
            "50",
            "USD"
          ]
        ]
      },
      "customers": {
        "headers": [
          "Customer reference",
          "Customer name",
          "Opened on",
          "Closed on"
        ],
        "rows": [
          [
            "fictional-customer-1",
            "Fictional customer",
            "2026-01-01",
            ""
          ],
          [
            "fictional-unused-customer",
            "Fictional other customer",
            "",
            ""
          ]
        ]
      }
    },
    "result": {
      "status": "Customer linkage has unresolved relationships",
      "summary": "2 of 3 transactions passed the supported exact linkage and source checks. 1 have no customer-master match and 0 have ambiguous customer matches.",
      "metrics": [
        {
          "label": "Transactions",
          "value": "3"
        },
        {
          "label": "Customer-master rows",
          "value": "2"
        },
        {
          "label": "Transactions linked",
          "value": "2"
        },
        {
          "label": "Orphan transactions",
          "value": "1"
        },
        {
          "label": "Ambiguous transactions",
          "value": "0"
        },
        {
          "label": "Unresolved source rows",
          "value": "1"
        }
      ],
      "details": [
        "Link every supplied transaction to an exact customer-master ID. Identify orphan transactions, ambiguous customer matches, duplicate transaction IDs, invalid source facts and transactions outside recorded customer dates.",
        "Method revision 2026-10-08.customer-transaction-linkage.1.",
        "Frozen review date 2026-10-08.",
        "Approved population Fictional October transaction scope and customer master v1. Replace before use..",
        "Every transaction and customer-master row appears once. Source-row numbers count the header as row 1. Exact case-sensitive IDs are never trimmed or normalized.",
        "Repeated transaction customer IDs are permitted. Repeated transaction IDs and customer-master IDs require review. Customer-master rows without a supplied transaction are informational.",
        "Recorded customer opening and closing dates are inclusive. Omitted lifecycle dates cannot be checked. No currency conversion or financial aggregation occurs.",
        "The checker reviews the two supplied local datasets and customer-defined population. It does not query live systems, resolve aliases, authenticate identity, identify suspicious activity, approve a payment or determine a legal obligation."
      ],
      "unresolved": [
        "Transactions row 4. No exact customer-master ID matches this transaction"
      ]
    },
    "rows": [
      {
        "Dataset": "Transactions",
        "Source row": "2",
        "Transaction reference": "fictional-tx-1",
        "Customer reference": "fictional-customer-1",
        "Transaction date": "2026-10-01",
        "Amount": "100.25",
        "Currency": "USD",
        "Customer name": "Fictional customer",
        "Customer opened on": "",
        "Customer closed on": "",
        "Result": "Matched",
        "Customer-master matches": "1",
        "Customer-master rows": "2",
        "Transaction rows": "2",
        "Scoped transaction count": "2",
        "Finding": "One exact customer-master ID matches. Multiple transactions per customer are permitted."
      },
      {
        "Dataset": "Transactions",
        "Source row": "3",
        "Transaction reference": "fictional-tx-2",
        "Customer reference": "fictional-customer-1",
        "Transaction date": "2026-10-02",
        "Amount": "-10",
        "Currency": "USD",
        "Customer name": "Fictional customer",
        "Customer opened on": "",
        "Customer closed on": "",
        "Result": "Matched",
        "Customer-master matches": "1",
        "Customer-master rows": "2",
        "Transaction rows": "3",
        "Scoped transaction count": "2",
        "Finding": "One exact customer-master ID matches. Multiple transactions per customer are permitted."
      },
      {
        "Dataset": "Transactions",
        "Source row": "4",
        "Transaction reference": "fictional-tx-3",
        "Customer reference": "fictional-missing-customer",
        "Transaction date": "2026-10-03",
        "Amount": "50",
        "Currency": "USD",
        "Customer name": "",
        "Customer opened on": "",
        "Customer closed on": "",
        "Result": "Unmatched",
        "Customer-master matches": "0",
        "Customer-master rows": "",
        "Transaction rows": "4",
        "Scoped transaction count": "1",
        "Finding": "No exact customer-master ID matches this transaction"
      },
      {
        "Dataset": "Customer master",
        "Source row": "2",
        "Transaction reference": "",
        "Customer reference": "fictional-customer-1",
        "Transaction date": "",
        "Amount": "",
        "Currency": "",
        "Customer name": "Fictional customer",
        "Customer opened on": "2026-01-01",
        "Customer closed on": "",
        "Result": "Matched",
        "Customer-master matches": "1",
        "Customer-master rows": "2",
        "Transaction rows": "2, 3",
        "Scoped transaction count": "2",
        "Finding": "Supplied transaction rows reference this unique customer. Inspect their individual findings before relying on the relationship."
      },
      {
        "Dataset": "Customer master",
        "Source row": "3",
        "Transaction reference": "",
        "Customer reference": "fictional-unused-customer",
        "Transaction date": "",
        "Amount": "",
        "Currency": "",
        "Customer name": "Fictional other customer",
        "Customer opened on": "",
        "Customer closed on": "",
        "Result": "No scoped transactions",
        "Customer-master matches": "1",
        "Customer-master rows": "3",
        "Transaction rows": "",
        "Scoped transaction count": "0",
        "Finding": "No supplied transaction references this customer. This is informational within the selected transaction population."
      }
    ]
  }
}
