## TL;DR

Two real visits to the same restaurant look identical on merchant alone. Distinguish them with the full receipt fingerprint: date, time, amount, and payment reference; only when all match is it a duplicate.

## Error

```text
agent failed to distinguish two receipts from the same restaurant
```

## Steps

1. Build the receipt fingerprint: merchant plus date plus time plus amount plus last digits of the payment method. Expected: a composite key per receipt.
2. Compare the two receipts field by field. Expected: the differing fields (date, time, or amount) are visible.
3. Treat receipts as distinct when any fingerprint field differs. Expected: legitimate repeat visits stay separate.
4. Only flag as duplicate when the full fingerprint matches. Expected: true duplicates still get caught.
5. Present both receipts side by side in the review queue when the agent is unsure. Expected: a human makes the final call on close cases.

## When to use

- An agent conflates two legitimate same-restaurant receipts.
- Repeat dining with clients is common.

## When not to use

- The same receipt was submitted twice (a true duplicate).
- The receipts are from different restaurants (a merchant problem).

## Tool compatibility

- Custom agent duplicate detection; reviewer queues.

## Variant phrasings

### Same-restaurant receipts conflated

Same failure, shorter wording.

### Could not separate repeat restaurant visits

The scenario phrasing.

## Why it happens

Merchant-only matching cannot separate repeat visits. The distinguishing information is in the date, time, and amount, which the agent must include in its comparison.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_AE59zIsZlXBaEGvU7kYcwg
