---
title: "Expense Delete Duplicates · AndroidWorld run"
description: "Delete all but one of any expenses in pro expense… agent-qa's run of AndroidWorld's Expense Delete Duplicates task in Pro Expense, with every step and screenshot."
canonical_url: "https://vostride.com/benchmark/android-world/ExpenseDeleteDuplicates"
md_url: "https://vostride.com/benchmark/android-world/ExpenseDeleteDuplicates.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 Duplicates · AndroidWorld run

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

- **Benchmark:** [AndroidWorld](https://vostride.com/benchmark/android-world.md), task `ExpenseDeleteDuplicates`
- **App:** Pro Expense
- **Result:** Passed, scored by AndroidWorld's own evaluator
- **Time:** 2m 57s
- **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 identify the exact duplicate pair.
2. **swipe up**: The app name was ambiguous to openApp, so inspect the installed app drawer for the exact Pro Expense app.
3. **scroll down**: Locate the exact Pro Expense launcher entry in the app drawer after the app-name launch was ambiguous.
4. **tap “Pro Expense launcher”**: Open the exact Pro Expense launcher entry to inspect expenses and find the exact duplicate pair.
5. **waitFor** (failed): The launcher is showing a splash screen; wait for the expense app to load before inspecting records.
6. **tap “Navigation menu”**: The app has loaded to Home; open navigation to find the full expense list rather than relying on Recent. The prior wait sought a splash label not present in the loaded app.
7. **tap “Expense Logs”**: The drawer is visibly open; tap Expense Logs to inspect the full list for the one exact duplicate pair.
8. **tap “First Public Transit expense”**: Two Public Transit entries share date and amount; inspect the first one's category and note before deleting either.
9. **pressBack**: Close the first Public Transit detail sheet after recording its fields, then inspect the other candidate before deleting. First is Public Transit, 204.41 $, 2023 Oct 1, note A need, transit icon/category.
10. **tap “Second Public Transit expense”**: Inspect the second same-name, same-date, same-amount expense's note and category to establish exact duplication before deleting one.
11. **tap “Trash icon on second Public Transit expense detail”**: This second expense matches the first on name, amount, date, transit category icon, and note. Delete this one copy of the exact pair.
12. **tap “Confirm deletion of one exact duplicate”**: Confirm the pending deletion of the second verified exact duplicate; the list behind the sheet has not refreshed yet, so then close the sheet and inspect the list.
13. **assertAI**: After confirming deletion and closing the detail sheet, the refreshed list visibly has just one Public Transit 204.41 $ row dated 2023 Oct 1. The other five distinct rows—Flight Tickets, Wellness Products, Books, Health Insurance, and Seminars—remain. Earlier inspection establis…

## 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/ExpenseDeleteDuplicates.md).

Other runs: [Expense Add Single](https://vostride.com/benchmark/android-world/ExpenseAddSingle.md) · [Expense Delete Duplicates2](https://vostride.com/benchmark/android-world/ExpenseDeleteDuplicates2.md).
