From 0caa539fc642279c190aa83b090025406b1b4a0b Mon Sep 17 00:00:00 2001 From: Alberto Date: Fri, 25 Aug 2023 14:26:38 +0200 Subject: [PATCH 1/7] Default to empty merchant for receipt requests --- src/libs/TransactionUtils.js | 5 +++-- src/libs/actions/IOU.js | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/libs/TransactionUtils.js b/src/libs/TransactionUtils.js index b72c6e03217d..793c702f008b 100644 --- a/src/libs/TransactionUtils.js +++ b/src/libs/TransactionUtils.js @@ -43,7 +43,7 @@ function buildOptimisticTransaction( created = '', source = '', originalTransactionID = '', - merchant = CONST.TRANSACTION.DEFAULT_MERCHANT, + merchant = '', receipt = {}, filename = '', existingTransactionID = null, @@ -60,13 +60,14 @@ function buildOptimisticTransaction( commentJSON.originalTransactionID = originalTransactionID; } + return { transactionID, amount, currency, reportID, comment: commentJSON, - merchant: merchant || CONST.TRANSACTION.DEFAULT_MERCHANT, + merchant: merchant || _.isEmpty(receipt) ? CONST.TRANSACTION.DEFAULT_MERCHANT : '', created: created || DateUtils.getDBTime(), pendingAction: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD, receipt, diff --git a/src/libs/actions/IOU.js b/src/libs/actions/IOU.js index 0479b0c17b0e..9f555aa00150 100644 --- a/src/libs/actions/IOU.js +++ b/src/libs/actions/IOU.js @@ -1758,7 +1758,7 @@ function setMoneyRequestParticipants(participants) { * @param {String} receiptSource */ function setMoneyRequestReceipt(receiptPath, receiptSource) { - Onyx.merge(ONYXKEYS.IOU, {receiptPath, receiptSource}); + Onyx.merge(ONYXKEYS.IOU, {receiptPath, receiptSource, merchant: '',}); } function createEmptyTransaction() { From 40136d737894e69dc77b34fb614a37ff31c0f613 Mon Sep 17 00:00:00 2001 From: Alberto Date: Fri, 25 Aug 2023 14:43:08 +0200 Subject: [PATCH 2/7] prettier --- src/libs/TransactionUtils.js | 1 - src/libs/actions/IOU.js | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/libs/TransactionUtils.js b/src/libs/TransactionUtils.js index 793c702f008b..173d5734ab67 100644 --- a/src/libs/TransactionUtils.js +++ b/src/libs/TransactionUtils.js @@ -60,7 +60,6 @@ function buildOptimisticTransaction( commentJSON.originalTransactionID = originalTransactionID; } - return { transactionID, amount, diff --git a/src/libs/actions/IOU.js b/src/libs/actions/IOU.js index 9f555aa00150..838214bbd98e 100644 --- a/src/libs/actions/IOU.js +++ b/src/libs/actions/IOU.js @@ -1758,7 +1758,7 @@ function setMoneyRequestParticipants(participants) { * @param {String} receiptSource */ function setMoneyRequestReceipt(receiptPath, receiptSource) { - Onyx.merge(ONYXKEYS.IOU, {receiptPath, receiptSource, merchant: '',}); + Onyx.merge(ONYXKEYS.IOU, {receiptPath, receiptSource, merchant: ''}); } function createEmptyTransaction() { From 4885dd32d2f120aa1f2dd18e980489f5d5138ebf Mon Sep 17 00:00:00 2001 From: Alberto Date: Fri, 25 Aug 2023 14:47:45 +0200 Subject: [PATCH 3/7] better determine merchant --- src/libs/TransactionUtils.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libs/TransactionUtils.js b/src/libs/TransactionUtils.js index 173d5734ab67..7b6295868046 100644 --- a/src/libs/TransactionUtils.js +++ b/src/libs/TransactionUtils.js @@ -59,6 +59,7 @@ function buildOptimisticTransaction( if (originalTransactionID) { commentJSON.originalTransactionID = originalTransactionID; } + const defaultMerchant = _.isEmpty(receipt) ? CONST.TRANSACTION.DEFAULT_MERCHANT : ''; return { transactionID, @@ -66,7 +67,7 @@ function buildOptimisticTransaction( currency, reportID, comment: commentJSON, - merchant: merchant || _.isEmpty(receipt) ? CONST.TRANSACTION.DEFAULT_MERCHANT : '', + merchant: merchant || defaultMerchant, created: created || DateUtils.getDBTime(), pendingAction: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD, receipt, From 4fd7e27872ad5cc84a380fd17d57f91b16b9aa1b Mon Sep 17 00:00:00 2001 From: Alberto Date: Fri, 25 Aug 2023 15:10:01 +0200 Subject: [PATCH 4/7] reverse condition --- src/libs/TransactionUtils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/TransactionUtils.js b/src/libs/TransactionUtils.js index 7b6295868046..16c0d4df9ba8 100644 --- a/src/libs/TransactionUtils.js +++ b/src/libs/TransactionUtils.js @@ -59,7 +59,7 @@ function buildOptimisticTransaction( if (originalTransactionID) { commentJSON.originalTransactionID = originalTransactionID; } - const defaultMerchant = _.isEmpty(receipt) ? CONST.TRANSACTION.DEFAULT_MERCHANT : ''; + const defaultMerchant = !_.isEmpty(receipt) ? CONST.TRANSACTION.DEFAULT_MERCHANT : ''; return { transactionID, From 2aff7733117e1fbf0cdee2206b5bc8621fdd5ad2 Mon Sep 17 00:00:00 2001 From: Alberto Date: Fri, 25 Aug 2023 16:06:07 +0200 Subject: [PATCH 5/7] condition was wrong after all --- src/libs/TransactionUtils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/TransactionUtils.js b/src/libs/TransactionUtils.js index 16c0d4df9ba8..7b6295868046 100644 --- a/src/libs/TransactionUtils.js +++ b/src/libs/TransactionUtils.js @@ -59,7 +59,7 @@ function buildOptimisticTransaction( if (originalTransactionID) { commentJSON.originalTransactionID = originalTransactionID; } - const defaultMerchant = !_.isEmpty(receipt) ? CONST.TRANSACTION.DEFAULT_MERCHANT : ''; + const defaultMerchant = _.isEmpty(receipt) ? CONST.TRANSACTION.DEFAULT_MERCHANT : ''; return { transactionID, From f78d667b2b041d308c7995d2c0ec84ac5a430f94 Mon Sep 17 00:00:00 2001 From: Alberto Date: Fri, 25 Aug 2023 16:25:16 +0200 Subject: [PATCH 6/7] comment --- src/libs/TransactionUtils.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libs/TransactionUtils.js b/src/libs/TransactionUtils.js index 7b6295868046..9437f345aa9b 100644 --- a/src/libs/TransactionUtils.js +++ b/src/libs/TransactionUtils.js @@ -59,6 +59,8 @@ function buildOptimisticTransaction( if (originalTransactionID) { commentJSON.originalTransactionID = originalTransactionID; } + + // If there's a receipt, do not pass a default merchant so that the transaction is "partial" and can be smartscanned const defaultMerchant = _.isEmpty(receipt) ? CONST.TRANSACTION.DEFAULT_MERCHANT : ''; return { From 443127e083ac927d6b61bb69bca3f054862654c1 Mon Sep 17 00:00:00 2001 From: Alberto Date: Fri, 25 Aug 2023 16:26:19 +0200 Subject: [PATCH 7/7] better comment --- src/libs/TransactionUtils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/TransactionUtils.js b/src/libs/TransactionUtils.js index 9437f345aa9b..7fb07f216f5f 100644 --- a/src/libs/TransactionUtils.js +++ b/src/libs/TransactionUtils.js @@ -60,7 +60,7 @@ function buildOptimisticTransaction( commentJSON.originalTransactionID = originalTransactionID; } - // If there's a receipt, do not pass a default merchant so that the transaction is "partial" and can be smartscanned + // For the SmartScan to run successfully, we need to pass the merchant field empty to the API const defaultMerchant = _.isEmpty(receipt) ? CONST.TRANSACTION.DEFAULT_MERCHANT : ''; return {