Skip to content

[Awaiting Checkist] [Duplicate Expense] [Tracking] Duplicate expenses in NewDot #65948

Description

@garrettmknight

[WN Post]
[Figma]
[Pre-design]

Feature Description

'Duplicate' adds the ability for users to generate a copy of an existing expense in NewDot, following our Classic functionality and patterns. We'll implement it so it does the following:

  1. User opens a cash, Per Diem, or Distance expense in any state (Unreported, Draft, Processing, Approved, Paid) and taps More.
  2. The More menu includes a Duplicate option with the Multiple Receipts icon.
  3. User taps Duplicate.
  4. We'll indicate the expense has been duplicated by:
  • Changing the Multiple Receipts icon into a checkmark temporarily and then back to the Multiple Receipts icon.
  • Changing Duplicate on the button to be Duplicated and then back to Duplicate at the same time as the icon change.
  1. We create an expense on the user's primary workspace with the following details, using the CreateMoneyRequest command:
    • Merchant, amount, categories, tags, tax. Note that the coding may not be available on the primary workspace; we'll still create the duplicate expense with the original expense coding. This will display an error for the user to correct the duplicate expense. For an example of the error we show, you can move an expense report from a workspace with Per Diem to one without it.
    • Date is set to today.
    • Receipt images are not duplicated.
  2. If the duplicated expense is in the background view, we'll highlight it temporarily.

Notes for completeness:

  • Card expenses cannot be duplicated
  • We'll add Duplicate to the X selected menu for users when they select one or more non-card expenses to duplicate. Example:
  • We'll use the animation pattern for copying an email address from user details for the Multiple Receipts > Checkmark > Multiple Receipts animation. Example at the bottom of the issue.

Visuals:

Duplicate expense flow:

Image

Animation example:

CleanShot.2025-10-31.at.08.07.42.mp4
Issue OwnerCurrent Issue Owner: @garrettmknight

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionDailyKSv2DesignNewFeatureSomething to build that is a new item.

Type

No type

Fields

No fields configured for issues without a type.

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions