Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/CONST/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3286,6 +3286,7 @@ const CONST = {
COLLECTION_ACCOUNT: 'collectionAccount',
AUTO_CREATE_ENTITIES: 'autoCreateEntities',
APPROVAL_ACCOUNT: 'approvalAccount',
FX_EXPENSE_ACCOUNT: 'fxExpenseAccount',
CUSTOM_FORM_ID_OPTIONS: 'customFormIDOptions',
TOKEN_INPUT: {
STEP_INDEX_LIST: ['1', '2', '3', '4'],
Expand Down
4 changes: 4 additions & 0 deletions src/ROUTES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4325,6 +4325,10 @@ const ROUTES = {
route: 'workspaces/:policyID/connections/netsuite/advanced/approval-account/select',
getRoute: (policyID: string) => `workspaces/${policyID}/connections/netsuite/advanced/approval-account/select` as const,
},
POLICY_ACCOUNTING_NETSUITE_FX_EXPENSE_ACCOUNT_SELECT: {
route: 'workspaces/:policyID/connections/netsuite/advanced/fx-expense-account/select',
getRoute: (policyID: string) => `workspaces/${policyID}/connections/netsuite/advanced/fx-expense-account/select` as const,
},
POLICY_ACCOUNTING_NETSUITE_CUSTOM_FORM_ID: {
route: 'workspaces/:policyID/connections/netsuite/advanced/custom-form-id/:expenseType',
getRoute: (policyID: string, expenseType: ValueOf<typeof CONST.NETSUITE_EXPENSE_TYPE>) =>
Expand Down
1 change: 1 addition & 0 deletions src/SCREENS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -631,6 +631,7 @@ const SCREENS = {
NETSUITE_VENDOR_BILL_APPROVAL_LEVEL_SELECT: 'Policy_Accounting_NetSuite_Vendor_Bill_Approval_Level_Select',
NETSUITE_JOURNAL_ENTRY_APPROVAL_LEVEL_SELECT: 'Policy_Accounting_NetSuite_Journal_Entry_Approval_Level_Select',
NETSUITE_APPROVAL_ACCOUNT_SELECT: 'Policy_Accounting_NetSuite_Approval_Account_Select',
NETSUITE_FX_EXPENSE_ACCOUNT_SELECT: 'Policy_Accounting_NetSuite_Fx_Expense_Account_Select',
NETSUITE_CUSTOM_FORM_ID: 'Policy_Accounting_NetSuite_Custom_Form_ID',
DYNAMIC_NETSUITE_AUTO_SYNC: 'Dynamic_Policy_Accounting_NetSuite_Auto_Sync',
DYNAMIC_NETSUITE_ACCOUNTING_METHOD: 'Dynamic_Policy_Accounting_NetSuite_Accounting_Method',
Expand Down
3 changes: 3 additions & 0 deletions src/languages/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5476,6 +5476,9 @@ ${amount} für ${merchant} – ${date}`,
error: {
customFormID: 'Bitte gib eine gültige numerische benutzerdefinierte Formular-ID ein',
},
fxExpenseAccount: 'Konto für Währungsumrechnungsgebühren',
fxExpenseAccountDescription:
'Wenn Ihr Unternehmen die Währungsumrechnungskosten für eine im Ausland gezahlte Erstattung übernimmt, buchen wir diese Kosten als Buchungssatz auf das untenstehende NetSuite-Konto.',
},
noAccountsFound: 'Keine Konten gefunden',
noAccountsFoundDescription: 'Bitte fügen Sie das Konto in NetSuite hinzu und synchronisieren Sie die Verbindung erneut.',
Expand Down
3 changes: 3 additions & 0 deletions src/languages/el.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5563,6 +5563,9 @@ ${amount} για ${merchant} - ${date}`,
error: {
customFormID: 'Παρακαλούμε εισαγάγετε ένα έγκυρο αριθμητικό προσαρμοσμένο αναγνωριστικό φόρμας',
},
fxExpenseAccount: 'Λογαριασμός προμήθειας μετατροπής νομίσματος',
fxExpenseAccountDescription:
'Όταν η εταιρεία σας καλύπτει το κόστος μετατροπής νομίσματος για μια αποζημίωση που καταβάλλεται στο εξωτερικό, θα καταχωρίσουμε αυτό το κόστος στον παρακάτω λογαριασμό NetSuite ως λογιστική εγγραφή.',
},
noAccountsFound: 'Δεν βρέθηκαν λογαριασμοί',
noAccountsFoundDescription: 'Παρακαλούμε προσθέστε τον λογαριασμό στο NetSuite και συγχρονίστε ξανά τη σύνδεση',
Expand Down
3 changes: 3 additions & 0 deletions src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5537,6 +5537,9 @@ const translations = {
approvalAccountDescription:
'Choose the account that transactions will be approved against in NetSuite. If you’re syncing reimbursed reports, this is also the account that bill payments will be created against.',
defaultApprovalAccount: 'NetSuite default',
fxExpenseAccount: 'Currency conversion fee account',
fxExpenseAccountDescription:
"When your company covers the currency conversion cost on a reimbursement paid abroad, we'll post that cost to the NetSuite account below as a journal entry.",
inviteEmployees: 'Invite employees and set approvals',
inviteEmployeesDescription:
'Import NetSuite employee records and invite employees to this workspace. Your approval workflow will default to manager approval and can be further configured on the *Members* page.',
Expand Down
4 changes: 3 additions & 1 deletion src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
* - Improve the prompts in prompts/translation, or
* - Improve context annotations in src/languages/en.ts
*/

import CONST from '@src/CONST';
import type {OriginalMessageReportPreview, OriginalMessageSettlementAccountLocked, PersonalRulesModifiedFields, PolicyRulesModifiedFields} from '@src/types/onyx/OriginalMessage';

Expand Down Expand Up @@ -5406,6 +5405,9 @@ ${amount} para ${merchant} - ${date}`,
error: {
customFormID: 'Introduzca un ID numérico válido para el formulario personalizado',
},
fxExpenseAccount: 'Cuenta de comisión por conversión de moneda',
fxExpenseAccountDescription:
'Cuando tu empresa cubra el coste de conversión de divisa en un reembolso pagado en el extranjero, registraremos ese coste en la cuenta de NetSuite de abajo como un asiento contable.',
},
noAccountsFound: 'No se han encontrado cuentas',
noAccountsFoundDescription: 'Añade la cuenta en NetSuite y sincroniza la conexión de nuevo',
Expand Down
3 changes: 3 additions & 0 deletions src/languages/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5483,6 +5483,9 @@ ${amount} pour ${merchant} - ${date}`,
error: {
customFormID: 'Veuillez saisir un ID de formulaire personnalisé numérique valide',
},
fxExpenseAccount: 'Compte de frais de conversion de devise',
fxExpenseAccountDescription:
'Lorsque votre entreprise prend en charge les frais de conversion de devise pour un remboursement payé à l’étranger, nous comptabiliserons ces frais dans le compte NetSuite ci‑dessous sous forme d’écriture de journal.',
},
noAccountsFound: 'Aucun compte trouvé',
noAccountsFoundDescription: 'Veuillez ajouter le compte dans NetSuite et synchroniser à nouveau la connexion',
Expand Down
3 changes: 3 additions & 0 deletions src/languages/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5444,6 +5444,9 @@ ${amount} per ${merchant} - ${date}`,
error: {
customFormID: 'Inserisci un ID del modulo personalizzato numerico valido',
},
fxExpenseAccount: 'Conto commissioni di conversione valutaria',
fxExpenseAccountDescription:
'Quando la tua azienda copre il costo di conversione valutaria per un rimborso pagato all’estero, registreremo quel costo nel conto NetSuite qui sotto come registrazione contabile.',
},
noAccountsFound: 'Nessun account trovato',
noAccountsFoundDescription: 'Aggiungi l’account in NetSuite e sincronizza nuovamente la connessione',
Expand Down
2 changes: 2 additions & 0 deletions src/languages/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5381,6 +5381,8 @@ ${integrationName === CONST.ONBOARDING_ACCOUNTING_MAPPING.other ? 'あなたの'
error: {
customFormID: '有効な数値のカスタムフォームIDを入力してください',
},
fxExpenseAccount: '通貨換算手数料勘定',
fxExpenseAccountDescription: '海外で支払われる精算について、会社が為替換算コストを負担する場合、そのコストは仕訳として以下の NetSuite アカウントに計上します。',
},
noAccountsFound: 'アカウントが見つかりません',
noAccountsFoundDescription: 'NetSuite にアカウントを追加して、接続をもう一度同期してください',
Expand Down
3 changes: 3 additions & 0 deletions src/languages/nl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5440,6 +5440,9 @@ ${amount} voor ${merchant} - ${date}`,
error: {
customFormID: 'Voer een geldige numerieke aangepaste formulier-ID in',
},
fxExpenseAccount: 'Kostenrekening voor valutaconversie',
fxExpenseAccountDescription:
'Wanneer je bedrijf de kosten voor valutaomrekening dekt bij een terugbetaling die in het buitenland wordt uitbetaald, boeken we die kosten als een journaalpost op de onderstaande NetSuite‑rekening.',
},
noAccountsFound: 'Geen accounts gevonden',
noAccountsFoundDescription: 'Voeg het account toe in NetSuite en synchroniseer de verbinding opnieuw',
Expand Down
3 changes: 3 additions & 0 deletions src/languages/pl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5465,6 +5465,9 @@ ${amount} dla ${merchant} - ${date}`,
error: {
customFormID: 'Wprowadź prawidłowy numeryczny identyfikator niestandardowego formularza',
},
fxExpenseAccount: 'Konto opłat za przewalutowanie',
fxExpenseAccountDescription:
'Gdy twoja firma pokrywa koszt przewalutowania przy zwrocie kosztów wypłacanym za granicą, zaksięgujemy ten koszt na poniższym koncie NetSuite jako zapis w dzienniku.',
},
noAccountsFound: 'Nie znaleziono kont',
noAccountsFoundDescription: 'Dodaj konto w NetSuite i ponownie zsynchronizuj połączenie',
Expand Down
3 changes: 3 additions & 0 deletions src/languages/pt-BR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5434,6 +5434,9 @@ ${amount} para ${merchant} - ${date}`,
error: {
customFormID: 'Insira um ID de formulário personalizado numérico válido',
},
fxExpenseAccount: 'Conta de taxa de conversão de moeda',
fxExpenseAccountDescription:
'Quando sua empresa cobrir o custo de conversão de moeda em um reembolso pago no exterior, vamos lançar esse custo na conta do NetSuite abaixo como um lançamento contábil.',
},
noAccountsFound: 'Nenhuma conta encontrada',
noAccountsFoundDescription: 'Adicione a conta no NetSuite e sincronize a conexão novamente',
Expand Down
2 changes: 2 additions & 0 deletions src/languages/zh-hans.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5242,6 +5242,8 @@ ${amount},商户:${merchant} - 日期:${date}`,
error: {
customFormID: '请输入有效的数字自定义表单 ID',
},
fxExpenseAccount: '货币转换费用科目',
fxExpenseAccountDescription: '当您的公司承担向海外支付报销时产生的货币兑换成本,我们会将该成本作为一笔会计分录记入到下方的 NetSuite 科目中。',
},
noAccountsFound: '未找到账户',
noAccountsFoundDescription: '请在 NetSuite 中添加该账户,然后再次同步连接',
Expand Down
2 changes: 2 additions & 0 deletions src/libs/API/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,7 @@ const WRITE_COMMANDS = {
UPDATE_NETSUITE_ACCOUNTING_METHOD: 'UpdateNetSuiteAccountingMethod',
UPDATE_NETSUITE_JOURNALS_TO: 'UpdateNetSuiteExportJournalsTo',
UPDATE_NETSUITE_APPROVAL_ACCOUNT: 'UpdateNetSuiteApprovalAccount',
UPDATE_NETSUITE_FX_EXPENSE_ACCOUNT: 'UpdateNetSuiteFxExpenseAccount',
UPDATE_NETSUITE_TRAVEL_BILLING_PAYABLE_ACCOUNT: 'UpdateNetSuiteTravelInvoicingPayableAccount',
UPDATE_NETSUITE_TRAVEL_BILLING_JOURNAL_POSTING_PREFERENCE: 'UpdateNetSuiteTravelInvoicingJournalPostingPreference',
UPDATE_NETSUITE_CUSTOM_FORM_ID_OPTIONS_REIMBURSABLE: 'UpdateNetSuiteCustomFormIDOptionsReimbursable',
Expand Down Expand Up @@ -1242,6 +1243,7 @@ type WriteCommandParameters = {

[WRITE_COMMANDS.UPDATE_NETSUITE_JOURNALS_TO]: Parameters.UpdateNetSuiteGenericTypeParams<'value', ValueOf<typeof CONST.NETSUITE_JOURNALS_APPROVAL_LEVEL>>;
[WRITE_COMMANDS.UPDATE_NETSUITE_APPROVAL_ACCOUNT]: Parameters.UpdateNetSuiteGenericTypeParams<'value', string>;
[WRITE_COMMANDS.UPDATE_NETSUITE_FX_EXPENSE_ACCOUNT]: Parameters.UpdateNetSuiteGenericTypeParams<'value', string>;
[WRITE_COMMANDS.UPDATE_NETSUITE_TRAVEL_BILLING_PAYABLE_ACCOUNT]: Parameters.UpdateNetSuiteGenericTypeParams<'bankAccountID', string>;
[WRITE_COMMANDS.UPDATE_NETSUITE_TRAVEL_BILLING_JOURNAL_POSTING_PREFERENCE]: Parameters.UpdateNetSuiteGenericTypeParams<
'value',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -835,6 +835,8 @@ const SettingsModalStackNavigator = createModalStackNavigator<SettingsNavigatorP
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage').default,
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_APPROVAL_ACCOUNT_SELECT]: () =>
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/advanced/NetSuiteApprovalAccountSelectPage').default,
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_FX_EXPENSE_ACCOUNT_SELECT]: () =>
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/advanced/NetSuiteFxExpenseAccountSelectPage').default,
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_CUSTOM_FORM_ID]: () => require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/advanced/NetSuiteCustomFormIDPage').default,
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_AUTO_SYNC]: () =>
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/advanced/DynamicNetSuiteAutoSyncPage').default,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ const WORKSPACE_TO_RHP: Partial<Record<keyof WorkspaceSplitNavigatorParamList, s
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_VENDOR_BILL_APPROVAL_LEVEL_SELECT,
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_JOURNAL_ENTRY_APPROVAL_LEVEL_SELECT,
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_APPROVAL_ACCOUNT_SELECT,
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_FX_EXPENSE_ACCOUNT_SELECT,
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_CUSTOM_FORM_ID,
SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_AUTO_SYNC,
SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_ACCOUNTING_METHOD,
Expand Down
3 changes: 3 additions & 0 deletions src/libs/Navigation/linkingConfig/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -733,6 +733,9 @@ const config: LinkingOptions<RootNavigatorParamList>['config'] = {
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_APPROVAL_ACCOUNT_SELECT]: {
path: ROUTES.POLICY_ACCOUNTING_NETSUITE_APPROVAL_ACCOUNT_SELECT.route,
},
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_FX_EXPENSE_ACCOUNT_SELECT]: {
path: ROUTES.POLICY_ACCOUNTING_NETSUITE_FX_EXPENSE_ACCOUNT_SELECT.route,
},
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_CUSTOM_FORM_ID]: {
path: ROUTES.POLICY_ACCOUNTING_NETSUITE_CUSTOM_FORM_ID.route,
},
Expand Down
3 changes: 3 additions & 0 deletions src/libs/Navigation/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1098,6 +1098,9 @@ type SettingsNavigatorParamList = {
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_APPROVAL_ACCOUNT_SELECT]: {
policyID: string;
};
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_FX_EXPENSE_ACCOUNT_SELECT]: {
policyID: string;
};
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_CUSTOM_FORM_ID]: {
policyID: string;
expenseType: ValueOf<typeof CONST.NETSUITE_EXPENSE_TYPE>;
Expand Down
12 changes: 12 additions & 0 deletions src/libs/PolicyUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2126,6 +2126,17 @@ function getNetSuiteReceivableAccountOptions(policy: Policy | undefined, selecte
}));
}

function getNetSuiteExpenseAccountOptions(policy: Policy | undefined, selectedExpenseAccountId: string | undefined): SelectorType[] {
const expenseAccounts = policy?.connections?.netsuite?.options.data.expenseAccounts;

return (expenseAccounts ?? []).map(({id, name}) => ({
value: id,
text: name,
keyForList: id,
isSelected: id === selectedExpenseAccountId,
}));
}

function getNetSuiteInvoiceItemOptions(policy: Policy | undefined, selectedItemId: string | undefined): SelectorType[] {
const invoiceItems = policy?.connections?.netsuite?.options.data.items;

Expand Down Expand Up @@ -3230,6 +3241,7 @@ export {
getNetSuiteApprovalAccountOptions,
getNetSuitePayableAccountOptions,
getNetSuiteReceivableAccountOptions,
getNetSuiteExpenseAccountOptions,
getNetSuiteInvoiceItemOptions,
getNetSuiteTaxAccountOptions,
getSageIntacctVendors,
Expand Down
11 changes: 11 additions & 0 deletions src/libs/actions/connections/NetSuiteCommands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1043,6 +1043,16 @@ function updateNetSuiteApprovalAccount(policyID: string, value: string, oldValue
API.write(WRITE_COMMANDS.UPDATE_NETSUITE_APPROVAL_ACCOUNT, parameters, onyxData);
}

function updateNetSuiteFxExpenseAccount(policyID: string, value: string, oldValue?: string) {
const onyxData = updateNetSuiteOnyxData(policyID, CONST.NETSUITE_CONFIG.FX_EXPENSE_ACCOUNT, value, oldValue);

const parameters = {
policyID,
value,
};
API.write(WRITE_COMMANDS.UPDATE_NETSUITE_FX_EXPENSE_ACCOUNT, parameters, onyxData);
}

function updateNetSuiteCustomFormIDOptions(
policyID: string,
value: string,
Expand Down Expand Up @@ -1129,6 +1139,7 @@ export {
updateNetSuiteExportVendorBillsTo,
updateNetSuiteExportJournalsTo,
updateNetSuiteApprovalAccount,
updateNetSuiteFxExpenseAccount,
updateNetSuiteCustomFormIDOptions,
updateNetSuiteCustomersJobsMapping,
updateNetSuiteAccountingMethod,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import ConnectionLayout from '@components/ConnectionLayout';
import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription';
import OfflineWithFeedback from '@components/OfflineWithFeedback';

import useIsGlobalReimbursementFXEnabled from '@hooks/useIsGlobalReimbursementFXEnabled';
import useLocalize from '@hooks/useLocalize';
import useOnyx from '@hooks/useOnyx';
import useThemeStyles from '@hooks/useThemeStyles';
Expand Down Expand Up @@ -55,14 +56,15 @@ import {useSharedValue} from 'react-native-reanimated';
function NetSuiteAdvancedPage({policy}: WithPolicyConnectionsProps) {
const {translate} = useLocalize();
const styles = useThemeStyles();
const isGlobalReimbursementFXEnabled = useIsGlobalReimbursementFXEnabled();
const policyID = policy?.id ?? CONST.DEFAULT_NUMBER_ID.toString();
const workspaceAccountID = policy?.policyAccountID ?? CONST.DEFAULT_NUMBER_ID;

const config = policy?.connections?.netsuite?.options?.config;
const autoSyncConfig = policy?.connections?.netsuite?.config;
const autoSync = !!autoSyncConfig?.autoSync?.enabled;
const accountingMethod = policy?.connections?.netsuite?.options?.config?.accountingMethod;
const {payableList} = policy?.connections?.netsuite?.options?.data ?? {};
const {payableList, expenseAccounts} = policy?.connections?.netsuite?.options?.data ?? {};
const [cardSettings] = useOnyx(`${ONYXKEYS.COLLECTION.PRIVATE_EXPENSIFY_CARD_SETTINGS}${workspaceAccountID}`);
const travelSettings = getCardSettings(cardSettings, CONST.TRAVEL.PROGRAM_TRAVEL_US);
const isTravelBillingEnabled = getIsTravelBillingEnabled(travelSettings);
Expand All @@ -85,6 +87,7 @@ function NetSuiteAdvancedPage({policy}: WithPolicyConnectionsProps) {
() => getFilteredCollectionAccountOptions(payableList).find(({id}) => id === config?.collectionAccount),
[payableList, config?.collectionAccount],
);
const selectedFxExpenseAccount = useMemo(() => expenseAccounts?.find(({id}) => id === config?.fxExpenseAccount), [expenseAccounts, config?.fxExpenseAccount]);
const selectedApprovalAccount = useMemo(() => {
// NetSuite uses a synthesized "default approval account" when nothing is explicitly set.
if (!config?.approvalAccount || config.approvalAccount === CONST.NETSUITE_APPROVAL_ACCOUNT_DEFAULT) {
Expand Down Expand Up @@ -171,6 +174,14 @@ function NetSuiteAdvancedPage({policy}: WithPolicyConnectionsProps) {
subscribedSettings: [CONST.NETSUITE_CONFIG.COLLECTION_ACCOUNT],
shouldHide: shouldHideReimbursedReportsSection(config),
},
{
type: 'menuitem',
description: translate('workspace.netsuite.advancedConfig.fxExpenseAccount'),
onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_FX_EXPENSE_ACCOUNT_SELECT.getRoute(policyID)),
title: selectedFxExpenseAccount ? selectedFxExpenseAccount.name : undefined,
subscribedSettings: [CONST.NETSUITE_CONFIG.FX_EXPENSE_ACCOUNT],
shouldHide: shouldHideReimbursedReportsSection(config) || !isGlobalReimbursementFXEnabled,
},
{
type: 'divider',
key: 'divider2',
Expand Down
Loading
Loading