diff --git a/src/components/ReportActionItem/MoneyRequestView.tsx b/src/components/ReportActionItem/MoneyRequestView.tsx
index c0980fc52c0b..a8b7138b376e 100644
--- a/src/components/ReportActionItem/MoneyRequestView.tsx
+++ b/src/components/ReportActionItem/MoneyRequestView.tsx
@@ -129,7 +129,7 @@ type MoneyRequestViewProps = {
 
     parentReportID?: string;
 
-    /** Policy that the report belongs to, or the target transaction policy in merge transaction flow */
+    /** Policy that the report belongs to */
     expensePolicy: OnyxEntry<OnyxTypes.Policy>;
 
     /** Whether we should display the animated banner above the component */
@@ -311,10 +311,9 @@ function MoneyRequestView({
     const shouldShowCard = isManagedCardTransaction && cardProgramName;
 
     const taxRates = policy?.taxRates;
-    const formattedTaxAmount =
-        updatedTransaction?.taxAmount !== undefined
-            ? convertToDisplayString(Math.abs(updatedTransaction.taxAmount), actualCurrency)
-            : convertToDisplayString(Math.abs(transactionTaxAmount ?? 0), actualCurrency);
+    const formattedTaxAmount = updatedTransaction?.taxAmount
+        ? convertToDisplayString(Math.abs(updatedTransaction?.taxAmount), transactionCurrency)
+        : convertToDisplayString(Math.abs(transactionTaxAmount ?? 0), transactionCurrency);
 
     const taxRatesDescription = taxRates?.name;
     const taxRateTitle = updatedTransaction ? getTaxName(policy, updatedTransaction, isExpenseUnreported) : getTaxName(policy, transaction, isExpenseUnreported);
@@ -413,7 +412,7 @@ function MoneyRequestView({
         canEditFieldOfMoneyRequest(parentReportAction, CONST.EDIT_REQUEST_FIELD.REIMBURSABLE, undefined, isChatReportArchived, undefined, transaction, moneyRequestReport, policy);
     const shouldShowAttendees = shouldShowAttendeesTransactionUtils(iouType, policy);
 
-    const shouldShowTax = !!transaction?.taxName || isTaxTrackingEnabled(isPolicyExpenseChat || isExpenseUnreported, policy, isDistanceRequest, isPerDiemRequest, isTimeRequest);
+    const shouldShowTax = isTaxTrackingEnabled(isPolicyExpenseChat || isExpenseUnreported, policy, isDistanceRequest, isPerDiemRequest, isTimeRequest);
     const tripID = getTripIDFromTransactionParentReportID(parentReport?.parentReportID);
     const shouldShowViewTripDetails = hasReservationList(transaction) && !!tripID;
 
@@ -601,7 +600,7 @@ function MoneyRequestView({
     const decodedCategoryName = getDecodedCategoryName(categoryValue);
     const categoryCopyValue = !canEdit ? decodedCategoryName : undefined;
     const cardCopyValue = cardProgramName;
-    const taxRateValue = transaction?.taxName ?? taxRateTitle ?? fallbackTaxRateTitle;
+    const taxRateValue = taxRateTitle ?? fallbackTaxRateTitle;
     const taxRateCopyValue = !canEditTaxFields ? taxRateValue : undefined;
     const taxAmountTitle = formattedTaxAmount ? formattedTaxAmount.toString() : '';
     const taxAmountCopyValue = !canEditTaxFields ? taxAmountTitle : undefined;
diff --git a/src/hooks/useMergeTransactions.ts b/src/hooks/useMergeTransactions.ts
index 4ac2ba37d607..145b832f5892 100644
--- a/src/hooks/useMergeTransactions.ts
+++ b/src/hooks/useMergeTransactions.ts
@@ -1,12 +1,10 @@
 import type {OnyxEntry} from 'react-native-onyx';
 import {useSearchContext} from '@components/Search/SearchContext';
 import getNonEmptyStringOnyxID from '@libs/getNonEmptyStringOnyxID';
-import {getReportIDForExpense, getTransactionFromMergeTransaction} from '@libs/MergeTransactionUtils';
-import {isExpenseUnreported} from '@libs/TransactionUtils';
+import {getTransactionFromMergeTransaction} from '@libs/MergeTransactionUtils';
 import ONYXKEYS from '@src/ONYXKEYS';
-import type {MergeTransaction, Policy, Report, SearchResults, Transaction} from '@src/types/onyx';
+import type {MergeTransaction, Report, SearchResults, Transaction} from '@src/types/onyx';
 import useOnyx from './useOnyx';
-import usePolicyForMovingExpenses from './usePolicyForMovingExpenses';
 
 type UseMergeTransactionsProps = {
     mergeTransaction?: MergeTransaction;
@@ -17,8 +15,6 @@ type UseMergeTransactionsReturn = {
     sourceTransaction?: Transaction;
     targetTransactionReport?: Report;
     sourceTransactionReport?: Report;
-    targetTransactionPolicy?: Policy;
-    sourceTransactionPolicy?: Policy;
 };
 
 function getTransaction(
@@ -41,7 +37,6 @@ function getTransaction(
 
 function useMergeTransactions({mergeTransaction}: UseMergeTransactionsProps): UseMergeTransactionsReturn {
     const {currentSearchHash, currentSearchResults} = useSearchContext();
-    const {policyForMovingExpensesID} = usePolicyForMovingExpenses();
 
     const [onyxTargetTransaction] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}${getNonEmptyStringOnyxID(mergeTransaction?.targetTransactionID)}`);
     const [onyxSourceTransaction] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}${getNonEmptyStringOnyxID(mergeTransaction?.sourceTransactionID)}`);
@@ -49,23 +44,13 @@ function useMergeTransactions({mergeTransaction}: UseMergeTransactionsProps): Us
     const targetTransaction = getTransaction(mergeTransaction, mergeTransaction?.targetTransactionID, onyxTargetTransaction, currentSearchResults);
     const sourceTransaction = getTransaction(mergeTransaction, mergeTransaction?.sourceTransactionID, onyxSourceTransaction, currentSearchResults);
 
-    const targetTransactionReportID = getReportIDForExpense(targetTransaction);
-    const sourceTransactionReportID = getReportIDForExpense(sourceTransaction);
-    let [targetTransactionReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${getNonEmptyStringOnyxID(targetTransactionReportID)}`);
-    let [sourceTransactionReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${getNonEmptyStringOnyxID(sourceTransactionReportID)}`);
-
-    const targetTransactionPolicyID = isExpenseUnreported(targetTransaction) ? policyForMovingExpensesID : targetTransactionReport?.policyID;
-    const sourceTransactionPolicyID = isExpenseUnreported(sourceTransaction) ? policyForMovingExpensesID : sourceTransactionReport?.policyID;
-    let [targetTransactionPolicy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${getNonEmptyStringOnyxID(targetTransactionPolicyID)}`);
-    let [sourceTransactionPolicy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${getNonEmptyStringOnyxID(sourceTransactionPolicyID)}`);
+    let [targetTransactionReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${getNonEmptyStringOnyxID(targetTransaction?.reportID)}`);
+    let [sourceTransactionReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${getNonEmptyStringOnyxID(sourceTransaction?.reportID)}`);
 
+    // If we're on search and main collection reports are not available, get them from the search snapshot
     if (currentSearchHash && currentSearchResults?.data) {
-        // If we're on search and main collection reports are not available, get them from the search snapshot
-        targetTransactionReport = targetTransactionReport ?? currentSearchResults?.data[`${ONYXKEYS.COLLECTION.REPORT}${targetTransactionReportID}`];
-        sourceTransactionReport = sourceTransactionReport ?? currentSearchResults?.data[`${ONYXKEYS.COLLECTION.REPORT}${sourceTransactionReportID}`];
-        // If we're on search, search snapshot policies are more up to date
-        targetTransactionPolicy = currentSearchResults?.data[`${ONYXKEYS.COLLECTION.POLICY}${targetTransactionPolicyID}`];
-        sourceTransactionPolicy = currentSearchResults?.data[`${ONYXKEYS.COLLECTION.POLICY}${sourceTransactionPolicyID}`];
+        targetTransactionReport = targetTransactionReport ?? currentSearchResults?.data[`${ONYXKEYS.COLLECTION.REPORT}${targetTransaction?.reportID}`];
+        sourceTransactionReport = sourceTransactionReport ?? currentSearchResults?.data[`${ONYXKEYS.COLLECTION.REPORT}${sourceTransaction?.reportID}`];
     }
 
     return {
@@ -73,8 +58,6 @@ function useMergeTransactions({mergeTransaction}: UseMergeTransactionsProps): Us
         sourceTransaction,
         targetTransactionReport,
         sourceTransactionReport,
-        targetTransactionPolicy,
-        sourceTransactionPolicy,
     };
 }
 
diff --git a/src/hooks/useSelectedTransactionsActions.ts b/src/hooks/useSelectedTransactionsActions.ts
index e2337aff8d24..a8f657a11ba6 100644
--- a/src/hooks/useSelectedTransactionsActions.ts
+++ b/src/hooks/useSelectedTransactionsActions.ts
@@ -341,16 +341,7 @@ function useSelectedTransactionsActions({
                     text: translate('common.merge'),
                     icon: expensifyIcons.ArrowCollapse,
                     value: MERGE,
-                    onSelected: () =>
-                        setupMergeTransactionDataAndNavigate(
-                            transactionID,
-                            selectedTransactionsList,
-                            localeCompare,
-                            [],
-                            false,
-                            isOnSearch,
-                            selectedTransactionsList.length > 1 ? [policy, policy] : undefined,
-                        ),
+                    onSelected: () => setupMergeTransactionDataAndNavigate(transactionID, selectedTransactionsList, localeCompare, [], false, isOnSearch),
                 });
             }
         }
diff --git a/src/libs/DebugUtils.ts b/src/libs/DebugUtils.ts
index d5d82cbd8166..4f33ff60b8b8 100644
--- a/src/libs/DebugUtils.ts
+++ b/src/libs/DebugUtils.ts
@@ -952,7 +952,6 @@ function validateTransactionDraftProperty(key: keyof Transaction, value: string)
         case 'category':
         case 'merchant':
         case 'taxCode':
-        case 'taxName':
         case 'modifiedCurrency':
         case 'modifiedMerchant':
         case 'transactionID':
@@ -1120,7 +1119,6 @@ function validateTransactionDraftProperty(key: keyof Transaction, value: string)
                     isDemoTransaction: CONST.RED_BRICK_ROAD_PENDING_ACTION,
                     splitExpensesTotal: CONST.RED_BRICK_ROAD_PENDING_ACTION,
                     taxValue: CONST.RED_BRICK_ROAD_PENDING_ACTION,
-                    taxName: CONST.RED_BRICK_ROAD_PENDING_ACTION,
                     pendingAutoCategorizationTime: CONST.RED_BRICK_ROAD_PENDING_ACTION,
                     groupAmount: CONST.RED_BRICK_ROAD_PENDING_ACTION,
                     groupCurrency: CONST.RED_BRICK_ROAD_PENDING_ACTION,
diff --git a/src/libs/MergeTransactionUtils.ts b/src/libs/MergeTransactionUtils.ts
index 372d7429fa0f..916e1fca1d22 100644
--- a/src/libs/MergeTransactionUtils.ts
+++ b/src/libs/MergeTransactionUtils.ts
@@ -8,7 +8,7 @@ import ONYXKEYS from '@src/ONYXKEYS';
 import type {MergeTransaction, Policy, Report, SearchResults, Transaction} from '@src/types/onyx';
 import type {Attendee} from '@src/types/onyx/IOU';
 import SafeString from '@src/utils/SafeString';
-import {convertToBackendAmount, convertToDisplayString, getCurrencyDecimals} from './CurrencyUtils';
+import {convertToDisplayString} from './CurrencyUtils';
 import Parser from './Parser';
 import {getCommaSeparatedTagNameWithSanitizedColons} from './PolicyUtils';
 import {getIOUActionForReportID} from './ReportActionsUtils';
@@ -17,12 +17,10 @@ import {findSelfDMReportID, getReportOrDraftReport, getTransactionDetails, isIOU
 import type {TransactionDetails} from './ReportUtils';
 import StringUtils from './StringUtils';
 import {
-    calculateTaxAmount,
     getAmount,
     getAttendeesListDisplayString,
     getCurrency,
     getReimbursable,
-    getTaxName,
     getWaypoints,
     isDistanceRequest,
     isExpenseSplit,
@@ -38,9 +36,7 @@ import {
 const RECEIPT_SOURCE_URL = 'https://www.expensify.com/receipts/';
 
 // Define the specific merge fields we want to handle
-const MERGE_FIELDS = ['amount', 'merchant', 'created', 'category', 'tag', 'description', 'taxValue', 'reimbursable', 'billable', 'attendees', 'reportID'] as const;
-// Some fields are dependant on others. We need to automatically derive the correct field values depending on user selection.
-const DERIVED_MERGE_FIELDS = [...MERGE_FIELDS, 'taxCode', 'taxAmount'] as const;
+const MERGE_FIELDS = ['amount', 'merchant', 'created', 'category', 'tag', 'description', 'reimbursable', 'billable', 'attendees', 'reportID'] as const;
 type MergeFieldKey = TupleToUnion<typeof MERGE_FIELDS>;
 type MergeFieldOption = {
     transaction: Transaction;
@@ -68,7 +64,6 @@ const MERGE_FIELD_TRANSLATION_KEYS = {
     created: 'common.date',
     attendees: 'iou.attendees',
     reportID: 'common.report',
-    taxValue: 'iou.taxRate',
 } as const;
 
 function getMergeFieldErrorText(translate: LocaleContextProps['translate'], mergeField: MergeFieldData) {
@@ -148,9 +143,6 @@ function getMergeFieldValue(transactionDetails: TransactionDetails | undefined,
     if (field === 'merchant' && isMerchantMissing(transaction)) {
         return '';
     }
-    if (field === 'taxValue') {
-        return transaction.taxValue;
-    }
 
     return transactionDetails[field];
 }
@@ -202,9 +194,7 @@ function getTransactionsAndReportsFromSearch(
  * @param targetTransaction - The target transaction
  * @param sourceTransaction - The source transaction
  * @param localeCompare - The localize compare function
- * @param searchReports - The search reports to use for report name lookup
- * @param targetTransactionPolicy - The policy of the target transaction
- * @param sourceTransactionPolicy - The policy of the source transaction
+ * @param localeCompare - The localize compare function
  * @returns mergeableData and conflictFields
  */
 function getMergeableDataAndConflictFields(
@@ -212,8 +202,6 @@ function getMergeableDataAndConflictFields(
     sourceTransaction: OnyxEntry<Transaction>,
     localeCompare: LocaleContextProps['localeCompare'],
     searchReports: Array<OnyxEntry<Report>> = [],
-    targetTransactionPolicy?: OnyxEntry<Policy>,
-    sourceTransactionPolicy?: OnyxEntry<Policy>,
 ) {
     const conflictFields: string[] = [];
     const mergeableData: Record<string, unknown> = {};
@@ -266,7 +254,7 @@ function getMergeableDataAndConflictFields(
         // We allow user to select unreported report
         if (field === 'reportID') {
             if (targetValue === sourceValue) {
-                const updatedValues = getMergeFieldUpdatedValues({transaction: targetTransaction, field, fieldValue: SafeString(targetValue), searchReports});
+                const updatedValues = getMergeFieldUpdatedValues(targetTransaction, field, SafeString(targetValue), searchReports);
                 Object.assign(mergeableData, updatedValues);
             } else {
                 conflictFields.push(field);
@@ -294,25 +282,15 @@ function getMergeableDataAndConflictFields(
         }
 
         if (isTargetValueEmpty || isSourceValueEmpty || targetValue === sourceValue) {
-            if (field === 'taxValue' && isTargetValueEmpty) {
-                continue;
-            }
             const selectedTransaction = isTargetValueEmpty ? sourceTransaction : targetTransaction;
             const selectedFieldValue = isTargetValueEmpty ? sourceValue : targetValue;
-            const selectedPolicy = isTargetValueEmpty ? sourceTransactionPolicy : targetTransactionPolicy;
-            const updatedValues = getMergeFieldUpdatedValues({
-                transaction: selectedTransaction,
-                field,
-                fieldValue: selectedFieldValue as MergeTransaction[typeof field],
-                mergeTransaction: mergeableData as MergeTransaction,
-                searchReports,
-                policy: selectedPolicy,
-            });
+            const updatedValues = getMergeFieldUpdatedValues(selectedTransaction, field, selectedFieldValue as MergeTransaction[typeof field], searchReports);
             Object.assign(mergeableData, updatedValues);
         } else {
             conflictFields.push(field);
         }
     }
+
     return {mergeableData, conflictFields};
 }
 
@@ -381,10 +359,6 @@ function buildMergedTransactionData(targetTransaction: OnyxEntry<Transaction>, m
         reportID: mergeTransaction.reportID,
         reportName: mergeTransaction.reportName,
         routes: mergeTransaction.routes,
-        taxValue: mergeTransaction.taxValue,
-        taxAmount: mergeTransaction.taxAmount,
-        taxCode: mergeTransaction.taxCode,
-        taxName: mergeTransaction.taxName,
     };
 }
 
@@ -456,39 +430,26 @@ function areTransactionsEligibleForMerge(transaction1: OnyxEntry<Transaction>, t
  *
  * @param targetTransaction - The transaction where the merge action is started from
  * @param sourceTransaction - The selected transaction to be merged with the target transaction
- * @param targetTransactionPolicy - The policy of the target transaction
- * @param sourceTransactionPolicy - The policy of the source transaction
- * @returns An object containing the determined targetTransaction and sourceTransaction, targetTransactionPolicy and sourceTransactionPolicy
+ * @returns An object containing the determined targetTransaction and sourceTransaction
  */
-function selectTargetAndSourceTransactionsForMerge(
-    targetTransaction: OnyxEntry<Transaction>,
-    sourceTransaction: OnyxEntry<Transaction>,
-    targetTransactionPolicy?: Policy,
-    sourceTransactionPolicy?: Policy,
-) {
+function selectTargetAndSourceTransactionsForMerge(targetTransaction: OnyxEntry<Transaction>, sourceTransaction: OnyxEntry<Transaction>) {
     // If target transaction is a card or split expense, always preserve the target transaction
     // Card takes precedence over split expense
     if (isFromCreditCardImport(sourceTransaction) || (isExpenseSplit(sourceTransaction) && !isFromCreditCardImport(targetTransaction))) {
-        return {
-            targetTransaction: sourceTransaction,
-            sourceTransaction: targetTransaction,
-            targetTransactionPolicy: sourceTransactionPolicy,
-            sourceTransactionPolicy: targetTransactionPolicy,
-        };
+        return {targetTransaction: sourceTransaction, sourceTransaction: targetTransaction};
     }
 
-    return {targetTransaction, sourceTransaction, targetTransactionPolicy, sourceTransactionPolicy};
+    return {targetTransaction, sourceTransaction};
 }
 
 /**
  * Get display value for merge transaction field
  * @param field - The merge field key to get display value for
  * @param transaction - The transaction to get the field value from
- * @param policy - The policy that the transaction belongs to
  * @param translate - The translation function
  * @returns The formatted display string for the field value
  */
-function getDisplayValue(field: MergeFieldKey, transaction: Transaction, policy: Policy | undefined, translate: LocaleContextProps['translate'], reports?: Array<OnyxEntry<Report>>): string {
+function getDisplayValue(field: MergeFieldKey, transaction: Transaction, translate: LocaleContextProps['translate'], reports?: Array<OnyxEntry<Report>>): string {
     const fieldValue = getMergeFieldValue(getTransactionDetails(transaction), transaction, field);
 
     if (isEmptyMergeValue(fieldValue) || fieldValue === undefined) {
@@ -521,10 +482,6 @@ function getDisplayValue(field: MergeFieldKey, transaction: Transaction, policy:
         return Array.isArray(fieldValue) ? getAttendeesListDisplayString(fieldValue) : '';
     }
 
-    if (field === 'taxValue') {
-        return getTaxName(policy, transaction) ?? transaction.taxValue ?? '';
-    }
-
     return SafeString(fieldValue);
 }
 /**
@@ -541,8 +498,6 @@ function buildMergeFieldsData(
     targetTransaction: Transaction | undefined,
     sourceTransaction: Transaction | undefined,
     mergeTransaction: MergeTransaction | null | undefined,
-    targetTransactionPolicy: Policy | undefined,
-    sourceTransactionPolicy: Policy | undefined,
     translate: LocaleContextProps['translate'],
     reports: Array<OnyxEntry<Report>> = [],
 ): MergeFieldData[] {
@@ -558,12 +513,12 @@ function buildMergeFieldsData(
         const options: MergeFieldOption[] = [
             {
                 transaction: targetTransaction,
-                displayValue: getDisplayValue(field, targetTransaction, targetTransactionPolicy, translate, reports),
+                displayValue: getDisplayValue(field, targetTransaction, translate, reports),
                 isSelected: selectedTransactionId === targetTransaction.transactionID,
             },
             {
                 transaction: sourceTransaction,
-                displayValue: getDisplayValue(field, sourceTransaction, sourceTransactionPolicy, translate, reports),
+                displayValue: getDisplayValue(field, sourceTransaction, translate, reports),
                 isSelected: selectedTransactionId === sourceTransaction.transactionID,
             },
         ];
@@ -575,36 +530,23 @@ function buildMergeFieldsData(
         };
     });
 }
-type GetMergeFieldUpdatedValuesParams<K extends MergeFieldKey> = {
-    transaction: OnyxEntry<Transaction>;
-    field: K;
-    fieldValue: MergeTransaction[K];
-    mergeTransaction?: OnyxEntry<MergeTransaction>;
-    searchReports?: Array<OnyxEntry<Report>>;
-    policy?: OnyxEntry<Policy>;
-};
 
 /**
  * Build updated values for merge transaction field selection
- * Handles special cases like currency for amount field, report name, tax value and additional fields for distance requests
+ * Handles special cases like currency for amount field, reportID and additional fields for distance requests
  */
-function getMergeFieldUpdatedValues<K extends MergeFieldKey>({
-    transaction,
-    field,
-    fieldValue,
-    mergeTransaction,
-    searchReports,
-    policy,
-}: GetMergeFieldUpdatedValuesParams<K>): MergeTransactionUpdateValues {
+function getMergeFieldUpdatedValues<K extends MergeFieldKey>(
+    transaction: OnyxEntry<Transaction>,
+    field: K,
+    fieldValue: MergeTransaction[K],
+    searchReports?: Array<OnyxEntry<Report>>,
+): MergeTransactionUpdateValues {
     const updatedValues: MergeTransactionUpdateValues = {
         [field]: fieldValue,
     };
 
     if (field === 'amount') {
         updatedValues.currency = getCurrency(transaction);
-        if (mergeTransaction?.taxValue && transaction?.amount) {
-            updatedValues.taxAmount = convertToBackendAmount(calculateTaxAmount(mergeTransaction?.taxValue, transaction.amount, getCurrencyDecimals(getCurrency(transaction))));
-        }
     }
 
     if (field === 'reportID') {
@@ -624,15 +566,6 @@ function getMergeFieldUpdatedValues<K extends MergeFieldKey>({
         updatedValues.routes = transaction?.routes ?? null;
     }
 
-    if (field === 'taxValue') {
-        updatedValues.taxCode = transaction?.taxCode;
-        updatedValues.taxName = getTaxName(policy, transaction) ?? transaction?.taxValue ?? '';
-        updatedValues.taxPolicyID = policy?.id;
-        if (mergeTransaction?.amount) {
-            updatedValues.taxAmount = convertToBackendAmount(calculateTaxAmount(transaction?.taxValue, mergeTransaction.amount, getCurrencyDecimals(getCurrency(transaction))));
-        }
-    }
-
     return updatedValues;
 }
 
@@ -658,11 +591,10 @@ export {
     getDisplayValue,
     buildMergeFieldsData,
     getReportIDForExpense,
-    getMergeFieldUpdatedValues,
     getMergeFieldErrorText,
     areTransactionsEligibleForMerge,
-    DERIVED_MERGE_FIELDS,
     getRateFromMerchant,
+    getMergeFieldUpdatedValues,
     getTransactionsAndReportsFromSearch,
     MERGE_FIELDS,
 };
diff --git a/src/libs/TransactionUtils/index.ts b/src/libs/TransactionUtils/index.ts
index 0356e4661b95..043f0401dd7c 100644
--- a/src/libs/TransactionUtils/index.ts
+++ b/src/libs/TransactionUtils/index.ts
@@ -802,10 +802,6 @@ function getUpdatedTransaction({
         updatedTransaction.tag = transactionChanges.tag;
     }
 
-    if (Object.hasOwn(transactionChanges, 'reportID') && typeof transactionChanges.reportID === 'string') {
-        updatedTransaction.reportID = transactionChanges.reportID;
-    }
-
     if (Object.hasOwn(transactionChanges, 'attendees')) {
         updatedTransaction.comment = {
             ...updatedTransaction.comment,
diff --git a/src/libs/actions/MergeTransaction.ts b/src/libs/actions/MergeTransaction.ts
index 0159bcb3cd56..dbd8a345aa68 100644
--- a/src/libs/actions/MergeTransaction.ts
+++ b/src/libs/actions/MergeTransaction.ts
@@ -8,9 +8,9 @@ import {READ_COMMANDS, WRITE_COMMANDS} from '@libs/API/types';
 import Log from '@libs/Log';
 import {
     areTransactionsEligibleForMerge,
-    DERIVED_MERGE_FIELDS,
     getMergeableDataAndConflictFields,
     getMergeFieldValue,
+    MERGE_FIELDS,
     selectTargetAndSourceTransactionsForMerge,
     shouldNavigateToReceiptReview,
 } from '@libs/MergeTransactionUtils';
@@ -48,7 +48,6 @@ function setupMergeTransactionDataAndNavigate(
     searchReports?: Report[],
     isSelectingSourceTransaction?: boolean,
     isOnSearch?: boolean,
-    policies?: Array<OnyxEntry<Policy>>,
 ) {
     if (!transactions.length || transactions.length > 2) {
         return;
@@ -63,12 +62,7 @@ function setupMergeTransactionDataAndNavigate(
         }
     }
 
-    const {targetTransaction, sourceTransaction, targetTransactionPolicy, sourceTransactionPolicy} = selectTargetAndSourceTransactionsForMerge(
-        transactions.at(0),
-        transactions.at(1),
-        policies?.at(0),
-        policies?.at(1),
-    );
+    const {targetTransaction, sourceTransaction} = selectTargetAndSourceTransactionsForMerge(transactions.at(0), transactions.at(1));
     if (!targetTransaction || !sourceTransaction) {
         return;
     }
@@ -89,14 +83,7 @@ function setupMergeTransactionDataAndNavigate(
         }
 
         // If transactions are identical, skip to the confirmation page
-        const {conflictFields, mergeableData} = getMergeableDataAndConflictFields(
-            targetTransaction,
-            sourceTransaction,
-            localeCompare,
-            searchReports,
-            targetTransactionPolicy,
-            sourceTransactionPolicy,
-        );
+        const {conflictFields, mergeableData} = getMergeableDataAndConflictFields(targetTransaction, sourceTransaction, localeCompare, searchReports);
         if (!conflictFields.length) {
             // If there are no conflict fields, we should set mergeable data and navigate to the confirmation page
             setMergeTransactionKey(navigationTransactionID, mergeableData);
@@ -228,7 +215,7 @@ function getOnyxTargetTransactionData({
     const targetTransactionDetails = getTransactionDetails(targetTransaction);
     const filteredTransactionChanges = Object.fromEntries(
         Object.entries(mergeTransaction).filter(([key, mergeValue]) => {
-            if (!(DERIVED_MERGE_FIELDS as readonly string[]).includes(key)) {
+            if (!(MERGE_FIELDS as readonly string[]).includes(key)) {
                 return false;
             }
 
@@ -357,8 +344,6 @@ function mergeTransactionRequest({
         billable: mergeTransaction.billable,
         reimbursable: mergeTransaction.reimbursable,
         tag: mergeTransaction.tag,
-        taxCode: mergeTransaction.taxCode,
-        taxPolicyID: mergeTransaction.taxPolicyID,
         receiptID: mergeTransaction.receipt?.receiptID,
         reportID: mergeTransaction.reportID,
     };
@@ -401,27 +386,28 @@ function mergeTransactionRequest({
             value: sourceTransaction,
         };
         const transactionsOfSourceReport = getReportTransactions(sourceTransaction.reportID);
-        const shouldDeleteSourceReport = transactionsOfSourceReport.length === 1 && mergeTransaction.reportID !== sourceTransaction.reportID;
-        const optimisticSourceReportData: Array<OnyxUpdate<typeof ONYXKEYS.COLLECTION.REPORT>> = shouldDeleteSourceReport
-            ? [
-                  {
-                      onyxMethod: Onyx.METHOD.SET,
-                      key: `${ONYXKEYS.COLLECTION.REPORT}${sourceTransaction.reportID}`,
-                      value: null,
-                  },
-              ]
-            : [];
+        const optimisticSourceReportData: Array<OnyxUpdate<typeof ONYXKEYS.COLLECTION.REPORT>> =
+            transactionsOfSourceReport.length === 1
+                ? [
+                      {
+                          onyxMethod: Onyx.METHOD.SET,
+                          key: `${ONYXKEYS.COLLECTION.REPORT}${sourceTransaction.reportID}`,
+                          value: null,
+                      },
+                  ]
+                : [];
 
         // @ts-expect-error - will be solved in https://github.com/Expensify/App/issues/73830
-        const failureSourceReportData: Array<OnyxUpdate<typeof ONYXKEYS.COLLECTION.REPORT>> = shouldDeleteSourceReport
-            ? [
-                  {
-                      onyxMethod: Onyx.METHOD.SET,
-                      key: `${ONYXKEYS.COLLECTION.REPORT}${sourceTransaction.reportID}`,
-                      value: getReportOrDraftReport(sourceTransaction.reportID),
-                  },
-              ]
-            : [];
+        const failureSourceReportData: Array<OnyxUpdate<typeof ONYXKEYS.COLLECTION.REPORT>> =
+            transactionsOfSourceReport.length === 1
+                ? [
+                      {
+                          onyxMethod: Onyx.METHOD.SET,
+                          key: `${ONYXKEYS.COLLECTION.REPORT}${sourceTransaction.reportID}`,
+                          value: getReportOrDraftReport(sourceTransaction.reportID),
+                      },
+                  ]
+                : [];
         const iouActionOfSourceTransaction = getIOUActionForReportID(sourceTransaction.reportID, sourceTransaction.transactionID);
         const optimisticSourceReportActionData: Array<OnyxUpdate<typeof ONYXKEYS.COLLECTION.REPORT | typeof ONYXKEYS.COLLECTION.REPORT_ACTIONS>> = iouActionOfSourceTransaction
             ? [
diff --git a/src/pages/Search/SearchPage.tsx b/src/pages/Search/SearchPage.tsx
index 056cd36b4d8b..375b46cf1ade 100644
--- a/src/pages/Search/SearchPage.tsx
+++ b/src/pages/Search/SearchPage.tsx
@@ -975,7 +975,7 @@ function SearchPage({route}: SearchPageProps) {
                         text: translate('common.merge'),
                         icon: expensifyIcons.ArrowCollapse,
                         value: CONST.SEARCH.BULK_ACTION_TYPES.MERGE,
-                        onSelected: () => setupMergeTransactionDataAndNavigate(transactionID, searchedTransactions, localeCompare, reports, false, true, transactionPolicies),
+                        onSelected: () => setupMergeTransactionDataAndNavigate(transactionID, searchedTransactions, localeCompare, reports, false, true),
                     });
                 }
             }
diff --git a/src/pages/TransactionMerge/ConfirmationPage.tsx b/src/pages/TransactionMerge/ConfirmationPage.tsx
index b85a24607770..68077c7ba0e8 100644
--- a/src/pages/TransactionMerge/ConfirmationPage.tsx
+++ b/src/pages/TransactionMerge/ConfirmationPage.tsx
@@ -43,11 +43,13 @@ function ConfirmationPage({route}: ConfirmationPageProps) {
 
     const [allReports] = useOnyx(ONYXKEYS.COLLECTION.REPORT);
     const [mergeTransaction, mergeTransactionMetadata] = useOnyx(`${ONYXKEYS.COLLECTION.MERGE_TRANSACTION}${getNonEmptyStringOnyxID(transactionID)}`);
-    const {targetTransaction, sourceTransaction, targetTransactionReport, targetTransactionPolicy} = useMergeTransactions({mergeTransaction});
+    const {targetTransaction, sourceTransaction, targetTransactionReport} = useMergeTransactions({mergeTransaction});
     const [allTransactionViolations] = useOnyx(ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS);
 
-    const [policyTags] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY_TAGS}${getNonEmptyStringOnyxID(targetTransactionPolicy?.id)}`);
-    const [policyCategories] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY_CATEGORIES}${getNonEmptyStringOnyxID(targetTransactionPolicy?.id)}`);
+    const policyID = targetTransactionReport?.policyID;
+    const [policy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${policyID}`);
+    const [policyTags] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY_TAGS}${policyID}`);
+    const [policyCategories] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY_CATEGORIES}${policyID}`);
 
     const currentUserPersonalDetails = useCurrentUserPersonalDetails();
     const currentUserAccountIDParam = currentUserPersonalDetails.accountID;
@@ -81,7 +83,7 @@ function ConfirmationPage({route}: ConfirmationPageProps) {
             targetTransactionThreadParentReport,
             targetTransactionThreadParentReportNextStep,
             allTransactionViolations,
-            policy: targetTransactionPolicy,
+            policy,
             policyTags,
             policyCategories,
             currentUserAccountIDParam,
@@ -134,7 +136,7 @@ function ConfirmationPage({route}: ConfirmationPageProps) {
                     </View>
                     <MoneyRequestView
                         allReports={allReports}
-                        expensePolicy={targetTransactionPolicy}
+                        expensePolicy={policy}
                         parentReportID={targetTransactionReport?.reportID}
                         shouldShowAnimatedBackground={false}
                         readonly
diff --git a/src/pages/TransactionMerge/DetailsReviewPage.tsx b/src/pages/TransactionMerge/DetailsReviewPage.tsx
index d263826f65fc..a887fc7fd0e8 100644
--- a/src/pages/TransactionMerge/DetailsReviewPage.tsx
+++ b/src/pages/TransactionMerge/DetailsReviewPage.tsx
@@ -1,4 +1,4 @@
-import React, {useCallback, useMemo, useState} from 'react';
+import React, {useCallback, useEffect, useMemo, useState} from 'react';
 import {View} from 'react-native';
 import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView';
 import Button from '@components/Button';
@@ -44,29 +44,24 @@ function DetailsReviewPage({route}: DetailsReviewPageProps) {
     const {transactionID, isOnSearch, backTo} = route.params;
 
     const [mergeTransaction, mergeTransactionMetadata] = useOnyx(`${ONYXKEYS.COLLECTION.MERGE_TRANSACTION}${getNonEmptyStringOnyxID(transactionID)}`);
-    const {targetTransaction, sourceTransaction, targetTransactionReport, sourceTransactionReport, targetTransactionPolicy, sourceTransactionPolicy} = useMergeTransactions({
-        mergeTransaction,
-    });
+    const {targetTransaction, sourceTransaction, targetTransactionReport, sourceTransactionReport} = useMergeTransactions({mergeTransaction});
 
     const [hasErrors, setHasErrors] = useState<Partial<Record<MergeFieldKey, boolean>>>({});
+    const [conflictFields, setConflictFields] = useState<MergeFieldKey[]>([]);
 
-    const conflictFields = useMemo(() => {
+    useEffect(() => {
         if (!transactionID || !targetTransaction || !sourceTransaction) {
-            return [];
+            return;
         }
 
-        const {conflictFields: detectedConflictFields, mergeableData} = getMergeableDataAndConflictFields(
-            targetTransaction,
-            sourceTransaction,
-            localeCompare,
-            [targetTransactionReport, sourceTransactionReport],
-            targetTransactionPolicy,
-            sourceTransactionPolicy,
-        );
+        const {conflictFields: detectedConflictFields, mergeableData} = getMergeableDataAndConflictFields(targetTransaction, sourceTransaction, localeCompare, [
+            targetTransactionReport,
+            sourceTransactionReport,
+        ]);
 
         setMergeTransactionKey(transactionID, mergeableData);
-        return detectedConflictFields as MergeFieldKey[];
-    }, [targetTransaction, sourceTransaction, transactionID, localeCompare, sourceTransactionReport, targetTransactionReport, targetTransactionPolicy, sourceTransactionPolicy]);
+        setConflictFields(detectedConflictFields as MergeFieldKey[]);
+    }, [targetTransaction, sourceTransaction, transactionID, localeCompare, sourceTransactionReport, targetTransactionReport]);
 
     // Handle selection
     const handleSelect = useCallback(
@@ -82,14 +77,7 @@ function DetailsReviewPage({route}: DetailsReviewPageProps) {
 
             // Update both the field value and track which transaction was selected (persisted in Onyx)
             const currentSelections = mergeTransaction?.selectedTransactionByField ?? {};
-            const updatedValues = getMergeFieldUpdatedValues({
-                transaction,
-                field,
-                fieldValue,
-                mergeTransaction,
-                searchReports: [targetTransactionReport, sourceTransactionReport],
-                policy: transaction.transactionID === targetTransaction?.transactionID ? targetTransactionPolicy : sourceTransactionPolicy,
-            });
+            const updatedValues = getMergeFieldUpdatedValues(transaction, field, fieldValue, [targetTransactionReport, sourceTransactionReport]);
 
             setMergeTransactionKey(transactionID, {
                 ...updatedValues,
@@ -99,7 +87,7 @@ function DetailsReviewPage({route}: DetailsReviewPageProps) {
                 } as Partial<Record<MergeFieldKey, string>>,
             });
         },
-        [mergeTransaction, transactionID, targetTransactionReport, sourceTransactionReport, targetTransaction?.transactionID, targetTransactionPolicy, sourceTransactionPolicy],
+        [mergeTransaction?.selectedTransactionByField, transactionID, targetTransactionReport, sourceTransactionReport],
     );
 
     // Handle continue
@@ -125,22 +113,8 @@ function DetailsReviewPage({route}: DetailsReviewPageProps) {
 
     // Build merge fields array with all necessary information
     const mergeFields = useMemo(
-        () =>
-            buildMergeFieldsData(conflictFields, targetTransaction, sourceTransaction, mergeTransaction, targetTransactionPolicy, sourceTransactionPolicy, translate, [
-                targetTransactionReport,
-                sourceTransactionReport,
-            ]),
-        [
-            conflictFields,
-            targetTransaction,
-            sourceTransaction,
-            mergeTransaction,
-            targetTransactionReport,
-            sourceTransactionReport,
-            targetTransactionPolicy,
-            sourceTransactionPolicy,
-            translate,
-        ],
+        () => buildMergeFieldsData(conflictFields, targetTransaction, sourceTransaction, mergeTransaction, translate, [targetTransactionReport, sourceTransactionReport]),
+        [conflictFields, targetTransaction, sourceTransaction, mergeTransaction, targetTransactionReport, sourceTransactionReport, translate],
     );
 
     // If this screen has multiple "selection cards" on it and the user skips one or more, show an error above the footer button
diff --git a/src/pages/TransactionMerge/MergeTransactionsListContent.tsx b/src/pages/TransactionMerge/MergeTransactionsListContent.tsx
index 045b0bb351e7..00ce2b70f9a5 100644
--- a/src/pages/TransactionMerge/MergeTransactionsListContent.tsx
+++ b/src/pages/TransactionMerge/MergeTransactionsListContent.tsx
@@ -42,9 +42,8 @@ function MergeTransactionsListContent({transactionID, mergeTransaction}: MergeTr
     const {isOffline} = useNetwork();
 
     const eligibleTransactions = mergeTransaction?.eligibleTransactions;
-    const {targetTransaction, sourceTransaction, targetTransactionReport, sourceTransactionReport, targetTransactionPolicy, sourceTransactionPolicy} = useMergeTransactions({
-        mergeTransaction,
-    });
+    const {targetTransaction, sourceTransaction, targetTransactionReport, sourceTransactionReport} = useMergeTransactions({mergeTransaction});
+    const [policy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${targetTransactionReport?.policyID}`);
 
     useEffect(() => {
         // If the eligible transactions are already loaded, don't fetch them again
@@ -52,8 +51,8 @@ function MergeTransactionsListContent({transactionID, mergeTransaction}: MergeTr
             return;
         }
 
-        getTransactionsForMerging({isOffline, targetTransaction, transactions, policy: targetTransactionPolicy, report: targetTransactionReport, currentUserLogin});
-    }, [transactions, isOffline, mergeTransaction?.eligibleTransactions, targetTransactionPolicy, targetTransactionReport, currentUserLogin, targetTransaction]);
+        getTransactionsForMerging({isOffline, targetTransaction, transactions, policy, report: targetTransactionReport, currentUserLogin});
+    }, [transactions, isOffline, mergeTransaction?.eligibleTransactions, policy, targetTransactionReport, currentUserLogin, targetTransaction]);
 
     const data = useMemo(() => {
         if (!eligibleTransactions) {
@@ -115,11 +114,8 @@ function MergeTransactionsListContent({transactionID, mergeTransaction}: MergeTr
         }
 
         const reports = targetTransactionReport && sourceTransactionReport ? [targetTransactionReport, sourceTransactionReport] : undefined;
-        setupMergeTransactionDataAndNavigate(transactionID, [targetTransaction, sourceTransaction], localeCompare, reports, true, undefined, [
-            targetTransactionPolicy,
-            sourceTransactionPolicy,
-        ]);
-    }, [transactionID, targetTransaction, sourceTransaction, targetTransactionReport, sourceTransactionReport, localeCompare, targetTransactionPolicy, sourceTransactionPolicy]);
+        setupMergeTransactionDataAndNavigate(transactionID, [targetTransaction, sourceTransaction], localeCompare, reports, true);
+    }, [transactionID, targetTransaction, sourceTransaction, targetTransactionReport, sourceTransactionReport, localeCompare]);
 
     const confirmButtonOptions = {
         showButton: true,
diff --git a/src/pages/TransactionMerge/ReceiptReviewPage.tsx b/src/pages/TransactionMerge/ReceiptReviewPage.tsx
index 915a20f77e55..50e5e5f9f12e 100644
--- a/src/pages/TransactionMerge/ReceiptReviewPage.tsx
+++ b/src/pages/TransactionMerge/ReceiptReviewPage.tsx
@@ -34,7 +34,7 @@ function ReceiptReviewPage({route}: ReceiptReviewPageProps) {
     const {transactionID, isOnSearch, backTo} = route.params;
 
     const [mergeTransaction, mergeTransactionMetadata] = useOnyx(`${ONYXKEYS.COLLECTION.MERGE_TRANSACTION}${getNonEmptyStringOnyxID(transactionID)}`);
-    const {targetTransaction, sourceTransaction, targetTransactionPolicy, sourceTransactionPolicy} = useMergeTransactions({mergeTransaction});
+    const {targetTransaction, sourceTransaction} = useMergeTransactions({mergeTransaction});
 
     const transactions = [targetTransaction, sourceTransaction].filter((transaction): transaction is Transaction => !!transaction);
 
@@ -47,7 +47,7 @@ function ReceiptReviewPage({route}: ReceiptReviewPageProps) {
             return;
         }
 
-        const {conflictFields, mergeableData} = getMergeableDataAndConflictFields(targetTransaction, sourceTransaction, localeCompare, [], targetTransactionPolicy, sourceTransactionPolicy);
+        const {conflictFields, mergeableData} = getMergeableDataAndConflictFields(targetTransaction, sourceTransaction, localeCompare);
         if (!conflictFields.length) {
             // If there are no conflict fields, we should set mergeable data and navigate to the confirmation page
             setMergeTransactionKey(transactionID, mergeableData);
diff --git a/src/types/onyx/MergeTransaction.ts b/src/types/onyx/MergeTransaction.ts
index 08be4883f296..2f74d1ee50f3 100644
--- a/src/types/onyx/MergeTransaction.ts
+++ b/src/types/onyx/MergeTransaction.ts
@@ -73,21 +73,6 @@ type MergeTransaction = {
 
     /** ID of the original transaction */
     originalTransactionID?: string;
-
-    /** Tax percentage value of the transaction */
-    taxValue: string;
-
-    /** Tax amount of the transaction */
-    taxAmount: number;
-
-    /** Tax code of the transaction */
-    taxCode: string;
-
-    /** Tax name to display in merge transaction flow */
-    taxName: string;
-
-    /** Policy ID of the selected tax rate for the transaction */
-    taxPolicyID: string;
 };
 
 export default MergeTransaction;
diff --git a/src/types/onyx/Transaction.ts b/src/types/onyx/Transaction.ts
index 92cd69b7cae2..2b2f77f48499 100644
--- a/src/types/onyx/Transaction.ts
+++ b/src/types/onyx/Transaction.ts
@@ -455,9 +455,6 @@ type Transaction = OnyxCommon.OnyxValueWithOfflineFeedback<
         /** The transaction tax value */
         taxValue?: string | undefined;
 
-        /** The transaction tax name */
-        taxName?: string;
-
         /** Whether the expense is billable */
         billable?: boolean;
 
diff --git a/tests/unit/MergeTransactionUtilsTest.ts b/tests/unit/MergeTransactionUtilsTest.ts
index 4fe745b772a2..6a613c28a7a6 100644
--- a/tests/unit/MergeTransactionUtilsTest.ts
+++ b/tests/unit/MergeTransactionUtilsTest.ts
@@ -1,5 +1,4 @@
 import Onyx from 'react-native-onyx';
-import {convertToBackendAmount, getCurrencyDecimals} from '@libs/CurrencyUtils';
 import {
     areTransactionsEligibleForMerge,
     buildMergedTransactionData,
@@ -15,7 +14,6 @@ import {
     shouldNavigateToReceiptReview,
 } from '@libs/MergeTransactionUtils';
 import {getTransactionDetails} from '@libs/ReportUtils';
-import {calculateTaxAmount} from '@libs/TransactionUtils';
 import CONST from '@src/CONST';
 import ONYXKEYS from '@src/ONYXKEYS';
 import createRandomMergeTransaction from '../utils/collections/mergeTransaction';
@@ -599,10 +597,6 @@ describe('MergeTransactionUtils', () => {
                 reportName: 'Test Report',
                 waypoints: {waypoint0: {name: 'Selected waypoint'}},
                 customUnit: {name: CONST.CUSTOM_UNITS.NAME_DISTANCE, customUnitID: 'distance1', quantity: 100},
-                taxValue: '9%',
-                taxAmount: convertToBackendAmount(calculateTaxAmount('9%', 2000, getCurrencyDecimals(CONST.CURRENCY.USD))),
-                taxCode: 'id_TAX_RATE_1',
-                taxName: 'Tax Rate 1 (9%)',
             };
 
             const result = buildMergedTransactionData(targetTransaction, mergeTransaction);
@@ -630,10 +624,6 @@ describe('MergeTransactionUtils', () => {
                 modifiedCreated: '2025-01-02T00:00:00.000Z',
                 reportID: '1',
                 reportName: 'Test Report',
-                taxValue: '9%',
-                taxAmount: convertToBackendAmount(calculateTaxAmount('9%', 2000, getCurrencyDecimals(CONST.CURRENCY.USD))),
-                taxCode: 'id_TAX_RATE_1',
-                taxName: 'Tax Rate 1 (9%)',
             });
         });
     });
@@ -772,7 +762,7 @@ describe('MergeTransactionUtils', () => {
             };
 
             // When we get display value for merchant
-            const result = getDisplayValue('merchant', transaction, undefined, translateLocal);
+            const result = getDisplayValue('merchant', transaction, translateLocal);
 
             // Then it should return empty string
             expect(result).toBe('');
@@ -787,8 +777,8 @@ describe('MergeTransactionUtils', () => {
             };
 
             // When we get display values for boolean fields
-            const reimbursableResult = getDisplayValue('reimbursable', transaction, undefined, translateLocal);
-            const billableResult = getDisplayValue('billable', transaction, undefined, translateLocal);
+            const reimbursableResult = getDisplayValue('reimbursable', transaction, translateLocal);
+            const billableResult = getDisplayValue('billable', transaction, translateLocal);
 
             // Then it should return translated Yes/No values
             expect(reimbursableResult).toBe('common.yes');
@@ -804,7 +794,7 @@ describe('MergeTransactionUtils', () => {
             };
 
             // When we get display value for amount
-            const result = getDisplayValue('amount', transaction, undefined, translateLocal);
+            const result = getDisplayValue('amount', transaction, translateLocal);
 
             // Then it should return formatted currency string
             expect(result).toBe('$10.00');
@@ -820,7 +810,7 @@ describe('MergeTransactionUtils', () => {
             };
 
             // When we get display value for description
-            const result = getDisplayValue('description', transaction, undefined, translateLocal);
+            const result = getDisplayValue('description', transaction, translateLocal);
 
             // Then it should return cleaned text without HTML and with spaces instead of line breaks
             expect(result).toBe('This is a test description with line breaks and more text');
@@ -834,7 +824,7 @@ describe('MergeTransactionUtils', () => {
             };
 
             // When we get display value for tag
-            const result = getDisplayValue('tag', transaction, undefined, translateLocal);
+            const result = getDisplayValue('tag', transaction, translateLocal);
 
             // Then it should return sanitized tag names separated by commas
             expect(result).toBe('Department, Engineering, Frontend');
@@ -851,7 +841,7 @@ describe('MergeTransactionUtils', () => {
                     ],
                 },
             };
-            const result = getDisplayValue('attendees', transaction, undefined, translateLocal);
+            const result = getDisplayValue('attendees', transaction, translateLocal);
 
             expect(result).toBe('Test User 2, Test User 1');
         });
@@ -866,8 +856,8 @@ describe('MergeTransactionUtils', () => {
             };
 
             // When we get display values for string fields
-            const merchantResult = getDisplayValue('merchant', transaction, undefined, translateLocal);
-            const categoryResult = getDisplayValue('category', transaction, undefined, translateLocal);
+            const merchantResult = getDisplayValue('merchant', transaction, translateLocal);
+            const categoryResult = getDisplayValue('category', transaction, translateLocal);
 
             // Then it should return the string values
             expect(merchantResult).toBe('Starbucks Coffee');
@@ -882,7 +872,7 @@ describe('MergeTransactionUtils', () => {
             };
 
             // When we get display value for reportID
-            const result = getDisplayValue('reportID', transaction, undefined, translateLocal);
+            const result = getDisplayValue('reportID', transaction, translateLocal);
 
             // Then it should return translated "None"
             expect(result).toBe('common.none');
@@ -897,7 +887,7 @@ describe('MergeTransactionUtils', () => {
             };
 
             // When we get display value for reportID
-            const result = getDisplayValue('reportID', transaction, undefined, translateLocal);
+            const result = getDisplayValue('reportID', transaction, translateLocal);
 
             // Then it should return the reportName
             expect(result).toBe('Test Report Name');
@@ -923,7 +913,7 @@ describe('MergeTransactionUtils', () => {
             };
 
             // When we get display value for reportID
-            const result = getDisplayValue('reportID', transaction, undefined, translateLocal);
+            const result = getDisplayValue('reportID', transaction, translateLocal);
 
             // Then it should return the report's name from Onyx
             expect(result).toBe(report.reportName);
@@ -939,7 +929,7 @@ describe('MergeTransactionUtils', () => {
             const fieldValue = 'New Merchant Name';
 
             // When we get updated values for merchant field
-            const result = getMergeFieldUpdatedValues({transaction, field: 'merchant', fieldValue, mergeTransaction: undefined});
+            const result = getMergeFieldUpdatedValues(transaction, 'merchant', fieldValue);
 
             // Then it should return an object with the field value
             expect(result).toEqual({
@@ -956,7 +946,7 @@ describe('MergeTransactionUtils', () => {
             const fieldValue = 2500;
 
             // When we get updated values for amount field
-            const result = getMergeFieldUpdatedValues({transaction, field: 'amount', fieldValue, mergeTransaction: undefined});
+            const result = getMergeFieldUpdatedValues(transaction, 'amount', fieldValue);
 
             // Then it should include both amount and currency
             expect(result).toEqual({
@@ -975,7 +965,7 @@ describe('MergeTransactionUtils', () => {
             const fieldValue = '456';
 
             // When we get updated values for reportID field
-            const result = getMergeFieldUpdatedValues({transaction, field: 'reportID', fieldValue});
+            const result = getMergeFieldUpdatedValues(transaction, 'reportID', fieldValue);
 
             // Then it should include both reportID and reportName
             expect(result).toEqual({
@@ -1006,7 +996,7 @@ describe('MergeTransactionUtils', () => {
             const fieldValue = 'New Distance Merchant';
 
             // When we get updated values for merchant field
-            const result = getMergeFieldUpdatedValues({transaction, field: 'merchant', fieldValue, mergeTransaction: undefined});
+            const result = getMergeFieldUpdatedValues(transaction, 'merchant', fieldValue);
 
             // Then it should include merchant plus all distance-specific fields
             expect(result).toEqual({
diff --git a/tests/unit/hooks/useSelectedTransactionsActions.test.ts b/tests/unit/hooks/useSelectedTransactionsActions.test.ts
index 068ac5d6be36..d7bb70e71bdf 100644
--- a/tests/unit/hooks/useSelectedTransactionsActions.test.ts
+++ b/tests/unit/hooks/useSelectedTransactionsActions.test.ts
@@ -691,6 +691,6 @@ describe('useSelectedTransactionsActions', () => {
 
         mergeOption?.onSelected?.();
 
-        expect(setupMergeTransactionDataAndNavigate).toHaveBeenCalledWith(transaction.transactionID, [transaction], mockLocalCompare, [], false, false, undefined);
+        expect(setupMergeTransactionDataAndNavigate).toHaveBeenCalledWith(transaction.transactionID, [transaction], mockLocalCompare, [], false, false);
     });
 });
diff --git a/tests/utils/collections/mergeTransaction.ts b/tests/utils/collections/mergeTransaction.ts
index e7f1c0bd8d33..938720a01323 100644
--- a/tests/utils/collections/mergeTransaction.ts
+++ b/tests/utils/collections/mergeTransaction.ts
@@ -24,10 +24,5 @@ export default function createRandomMergeTransaction(index: number): MergeTransa
         created: format(randPastDate(), CONST.DATE.FNS_DB_FORMAT_STRING),
         reportID: index.toString(),
         reportName: randWord(),
-        taxAmount: randAmount(),
-        taxValue: randAmount().toString(),
-        taxCode: randWord(),
-        taxName: randWord(),
-        taxPolicyID: randWord(),
     };
 }
