---
title: "Expense Delete Duplicates2 · AndroidWorld run"
description: "Delete all but one of any expenses in pro expense… agent-qa's run of AndroidWorld's Expense Delete Duplicates2 task in Pro Expense, with every step and screenshot."
canonical_url: "https://vostride.com/benchmark/android-world/ExpenseDeleteDuplicates2"
md_url: "https://vostride.com/benchmark/android-world/ExpenseDeleteDuplicates2.md"
last_updated: "2026-11-12T09:37:25+05:30"
---

> [Documentation index](https://vostride.com/docs.md) · [Site index](https://vostride.com/llms.txt)
> Follow the Markdown links to read individual pages; the indexes list the available documentation.

# Expense Delete Duplicates2 · AndroidWorld run

> Delete all but one of any expenses in pro expense… agent-qa's run of AndroidWorld's Expense Delete Duplicates2 task in Pro Expense, with every step and screenshot.

- **Benchmark:** [AndroidWorld](https://vostride.com/benchmark/android-world.md), task `ExpenseDeleteDuplicates2`
- **App:** Pro Expense
- **Result:** Passed, scored by AndroidWorld's own evaluator
- **Time:** 2m 34s
- **Actions:** 13

## Goal

Delete all but one of any expenses in pro expense that are exact duplicates, ensuring at least one instance of each unique expense remains.

## Steps

1. **open Pro Expense** (failed): Open the requested expense app to inspect entries for exact duplicates.
2. **swipe up**: The app-name launcher resolution was ambiguous, so inspect the installed app drawer to identify the actual Pro Expense app.
3. **scroll down**: Find the exact app in the launcher before handling duplicate expenses.
4. **tap “Pro Expense”**: Open the exact Pro Expense icon visible in the app drawer.
5. **waitFor**: The Pro Expense splash screen is still loading; wait for the expense interface.
6. **tap “navigation menu”**: Open the navigation drawer to reach the complete expense ledger rather than just recent items.
7. **tap “Expense Logs”**: The drawer is open despite the prior no-effect notice; enter Expense Logs to inspect all transactions for exact duplicates.
8. **scroll down**: Inspect the next expense rows for exact matching entries before deleting anything; the current visible rows have distinct amount/name/date combinations.
9. **scroll down**: Inspect remaining October entries and determine whether more dates or duplicate rows appear; completion requires every unique expense retained once.
10. **tap “Delete second Jeans expense, Oct 1, $496.36”**: The last two rows have identical name, date, and amount. Delete the lower copy while retaining the upper one.
11. **tap “Trash icon for duplicate Jeans expense”**: The opened lower Jeans entry matches the other Jeans entry in name, amount and date; tap its trash icon to remove this copy.
12. **tap “Confirm deletion of duplicate Jeans expense”**: Confirm removal of the selected duplicate Jeans entry, leaving its other identical instance intact.
13. **assertAI**: The deletion returned to the ledger. The bottom of the Oct 1–15 ledger now has one Jeans $496.36 on Oct 1, where two identical Jeans entries appeared before deletion. The other visible rows all have distinct name/date/amount combinations, and the previously inspected upper rows…

## Verdict

Step verified deterministically from the assertion outcome

The recording, with every screenshot and the video, is on the [run page](https://vostride.com/benchmark/android-world/ExpenseDeleteDuplicates2.md).

Other runs: [Expense Delete Duplicates](https://vostride.com/benchmark/android-world/ExpenseDeleteDuplicates.md) · [Expense Delete Multiple](https://vostride.com/benchmark/android-world/ExpenseDeleteMultiple.md).
