Sage Intacct: Default vendor as navigable arrow row with updated copy#97016
Sage Intacct: Default vendor as navigable arrow row with updated copy#97016MelvinBot wants to merge 7 commits into
Conversation
…copy Co-authored-by: Alex Beaman <Beamanator@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
|
@MelvinBot apply the polyglot parrot fix |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
Co-authored-by: Alex Beaman <Beamanator@users.noreply.github.com>
|
Fixed the failing Root cause: The PR added the Fix: Added The |
Co-authored-by: Alex Beaman <Beamanator@users.noreply.github.com>
|
🦜 Applied the Polyglot Parrot translations in The only remaining un-applied part of the parrot patch was the I intentionally skipped the patch's Note: |
|
The only failing check is Why it's failing: the check reports Why I'm not "fixing" it by pushing: the PR Author Checklist boxes attest to manual testing (running the flow on all platforms, verifying no console errors, etc.) that a human must actually perform and confirm. The PR body still has the Check results at time of analysisAll code-related checks passed:
Only Next steps: fill out the |
|
Re-checked — the state is unchanged. The only failing check is still There's nothing for me to fix in code, and I won't tick the author-checklist boxes on your behalf — they attest to manual cross-platform testing you ( To clear this check: fill out the |
|
@codex review |
|
Codex Review: Didn't find any major issues. 👍 Reviewed commit: ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
…ctDefaultVendorRow
|
Re-checked after the The only failing check is Next step (yours): fill out the |
Introduce two connection-agnostic strings under `workspace.accounting`:
- `defaultVendorHelperText({connectionName, isSet})` for the muted description below the "Default vendor" row on export pages.
- `defaultVendorSelectHeader({connectionName})` for the "Choose a default … vendor" header above the vendor select list.
Both take the integration display name as a parameter so QBO, Sage Intacct, Xero, etc. can share the copy while rendering their own name.
- Non-reimbursable default vendor row no longer falls back to a "Not set" title. When no vendor is picked, the row title is empty and the muted helper text carries the meaning. - The helper text below the row now reads: "Expenses that don't auto-match will default to this Sage Intacct vendor." When no vendor is set, it appends "Otherwise, they'll export as Credit Card Misc." so admins understand the fallback behavior. - The default vendor select page header (non-reimbursable path) now reads "Choose a default Sage Intacct vendor for expenses that don't match automatically." The reimbursable-path header is unchanged. Both new strings live under `workspace.accounting` and receive the connection display name as a parameter, so QBO and Xero can reuse them later. Removes the now-unused `defaultVendorNotSet` key from all language files.
🦜 Polyglot Parrot! 🦜Squawk! Looks like you added some shiny new English strings. Allow me to parrot them back to you in other tongues: View the translation diffdiff --git a/src/languages/de.ts b/src/languages/de.ts
index d4529463136..93de4f1d531 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -5071,8 +5071,8 @@ ${amount} für ${merchant} – ${date}`,
defaultVendor: 'Standardanbieter',
defaultVendorDescription: (isReimbursable: boolean) =>
isReimbursable
- ? `Legen Sie einen Standardlieferanten fest, der auf erstattungsfähige Ausgaben angewendet wird, für die kein übereinstimmender Lieferant in Sage Intacct vorhanden ist.`
- : `Spesen, die keinen Ihrer Sage Intacct-Lieferanten zugeordnet werden können, werden standardmäßig diesem Lieferanten zugeordnet.`,
+ ? `Legen Sie einen Standardlieferanten fest, der auf erstattungsfähige Ausgaben angewendet wird, für die es in Sage Intacct keinen passenden Lieferanten gibt.`
+ : `Ausgaben, die nicht mit Ihren Sage Intacct-Lieferanten abgeglichen werden können, werden standardmäßig diesem Lieferanten zugeordnet.`,
exportDescription: 'Konfigurieren Sie, wie Expensify Daten nach Sage Intacct exportiert.',
exportPreferredExporterNote:
'Der bevorzugte Exporteur kann jede Workspace-Adminperson sein, muss jedoch auch Domain-Admin sein, wenn du in den Domaineinstellungen unterschiedliche Exportkonten für einzelne Firmenkarten festlegst.',
@@ -6969,9 +6969,10 @@ Der Control-Tarif beginnt bei 9 $ pro aktivem Mitglied und Monat.`,
defaultVendor: 'Standardanbieter',
defaultVendorHelperText: ({connectionName, isSet}: ConnectionDefaultVendorHelperTextParams) =>
isSet
- ? `Expenses that don't auto-match will default to this ${connectionName} vendor.`
- : `Expenses that don't auto-match will default to this ${connectionName} vendor. Otherwise, they'll export as Credit Card Misc.`,
- defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) => `Choose a default ${connectionName} vendor for expenses that don't match automatically.`,
+ ? `Ausgaben, die nicht automatisch abgeglichen werden, werden standardmäßig diesem ${connectionName}-Lieferanten zugeordnet.`
+ : `Spesen, die nicht automatisch abgeglichen werden, werden standardmäßig diesem ${connectionName}-Lieferanten zugeordnet. Andernfalls werden sie als „Credit Card Misc.“ exportiert.`,
+ defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) =>
+ `Wählen Sie einen Standard-${connectionName}-Anbieter für Ausgaben, die nicht automatisch zugeordnet werden.`,
defaultAccount: 'Standardkonto',
autoSync: 'Automatische Synchronisierung',
autoSyncDescription: 'NetSuite und Expensify automatisch jeden Tag synchronisieren. Finalisierte Berichte in Echtzeit exportieren',
diff --git a/src/languages/es.ts b/src/languages/es.ts
index c8dc6147e71..384b57dc02a 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -4966,7 +4966,7 @@ ${amount} para ${merchant} - ${date}`,
defaultVendorDescription: (isReimbursable: boolean) =>
isReimbursable
? `Establece un proveedor predeterminado que se aplicará a los gastos reembolsables que no tengan un proveedor coincidente en Sage Intacct.`
- : `Los gastos que no se puedan asociar con tus proveedores de Sage Intacct se asignarán a este proveedor de forma predeterminada.`,
+ : `Los gastos que no se puedan asignar a tus proveedores de Sage Intacct se asociarán por defecto a este proveedor.`,
exportDescription: 'Configure cómo se exportan los datos de Expensify a Sage Intacct.',
exportPreferredExporterNote:
'El exportador preferido puede ser cualquier administrador del área de trabajo, pero también debe ser un administrador del dominio si establece diferentes cuentas de exportación para tarjetas de empresa individuales en Configuración del dominio.',
@@ -6755,9 +6755,10 @@ El plan Controlar empieza en 9 $ por miembro activo al mes.`,
defaultVendor: 'Proveedor predeterminado',
defaultVendorHelperText: ({connectionName, isSet}: ConnectionDefaultVendorHelperTextParams) =>
isSet
- ? `Expenses that don't auto-match will default to this ${connectionName} vendor.`
- : `Expenses that don't auto-match will default to this ${connectionName} vendor. Otherwise, they'll export as Credit Card Misc.`,
- defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) => `Choose a default ${connectionName} vendor for expenses that don't match automatically.`,
+ ? `Los gastos que no se asignen automáticamente se asociarán por defecto a este proveedor de ${connectionName}.`
+ : `Los gastos que no se concilien automáticamente se asignarán por defecto a este proveedor de ${connectionName}. De lo contrario, se exportarán como Credit Card Misc.`,
+ defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) =>
+ `Elige un proveedor predeterminado de ${connectionName} para los gastos que no se asignen automáticamente.`,
defaultAccount: 'Cuenta predeterminada',
autoSync: 'Autosincronización',
autoSyncDescription: 'Sincroniza NetSuite y Expensify automáticamente, todos los días. Exporta el informe finalizado en tiempo real',
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index b7ab143e142..aae1500ef83 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -5081,8 +5081,8 @@ ${amount} pour ${merchant} - ${date}`,
defaultVendor: 'Fournisseur par défaut',
defaultVendorDescription: (isReimbursable: boolean) =>
isReimbursable
- ? `Définissez un fournisseur par défaut qui sera appliqué aux dépenses remboursables n’ayant pas de fournisseur correspondant dans Sage Intacct.`
- : `Les dépenses qui ne peuvent pas être rapprochées avec vos fournisseurs Sage Intacct seront, par défaut, associées à ce fournisseur.`,
+ ? `Définissez un fournisseur par défaut qui s’appliquera aux dépenses remboursables qui n’ont pas de fournisseur correspondant dans Sage Intacct.`
+ : `Les dépenses qui ne peuvent pas être rapprochées de vos fournisseurs Sage Intacct seront par défaut associées à ce fournisseur.`,
exportDescription: 'Configurez comment les données Expensify sont exportées vers Sage Intacct.',
exportPreferredExporterNote:
'L’exportateur préféré peut être n’importe quel administrateur d’espace de travail, mais doit également être un administrateur de domaine si vous définissez des comptes d’exportation différents pour chaque carte d’entreprise individuelle dans les paramètres de domaine.',
@@ -6996,9 +6996,10 @@ Le forfait Control commence à 9 $ par Membre actif et par mois.`,
defaultVendor: 'Fournisseur par défaut',
defaultVendorHelperText: ({connectionName, isSet}: ConnectionDefaultVendorHelperTextParams) =>
isSet
- ? `Expenses that don't auto-match will default to this ${connectionName} vendor.`
- : `Expenses that don't auto-match will default to this ${connectionName} vendor. Otherwise, they'll export as Credit Card Misc.`,
- defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) => `Choose a default ${connectionName} vendor for expenses that don't match automatically.`,
+ ? `Les dépenses qui ne sont pas associées automatiquement seront par défaut rattachées à ce fournisseur ${connectionName}.`
+ : `Les dépenses qui ne sont pas appariées automatiquement seront par défaut associées à ce fournisseur ${connectionName}. Sinon, elles seront exportées en tant que « Credit Card Misc ».`,
+ defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) =>
+ `Choisissez un fournisseur ${connectionName} par défaut pour les dépenses qui ne correspondent pas automatiquement.`,
defaultAccount: 'Compte par défaut',
autoSync: 'Synchronisation automatique',
autoSyncDescription: 'Synchronisez automatiquement NetSuite et Expensify, chaque jour. Exportez les notes de frais finalisées en temps réel',
diff --git a/src/languages/it.ts b/src/languages/it.ts
index caeef78d8fd..28d48d7bc00 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -5051,7 +5051,7 @@ ${amount} per ${merchant} - ${date}`,
defaultVendorDescription: (isReimbursable: boolean) =>
isReimbursable
? `Imposta un fornitore predefinito che verrà applicato alle spese rimborsabili che non hanno un fornitore corrispondente in Sage Intacct.`
- : `Le spese che non possono essere abbinate ai tuoi fornitori Sage Intacct verranno associate per impostazione predefinita a questo fornitore.`,
+ : `Le spese che non possono essere abbinate ai tuoi fornitori Sage Intacct verranno assegnate per impostazione predefinita a questo fornitore.`,
exportDescription: 'Configura come i dati di Expensify vengono esportati in Sage Intacct.',
exportPreferredExporterNote:
'L’esportatore preferito può essere qualsiasi amministratore dello spazio di lavoro, ma deve anche essere un Amministratore del dominio se imposti conti di esportazione diversi per le singole carte aziendali nelle Impostazioni del dominio.',
@@ -6950,9 +6950,10 @@ Il piano Control parte da 9 $ al mese per ogni membro attivo.`,
defaultVendor: 'Fornitore predefinito',
defaultVendorHelperText: ({connectionName, isSet}: ConnectionDefaultVendorHelperTextParams) =>
isSet
- ? `Expenses that don't auto-match will default to this ${connectionName} vendor.`
- : `Expenses that don't auto-match will default to this ${connectionName} vendor. Otherwise, they'll export as Credit Card Misc.`,
- defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) => `Choose a default ${connectionName} vendor for expenses that don't match automatically.`,
+ ? `Le spese che non corrispondono automaticamente verranno associate per impostazione predefinita a questo fornitore ${connectionName}.`
+ : `Le spese che non vengono abbinate automaticamente verranno associate per impostazione predefinita a questo fornitore ${connectionName}. In caso contrario, verranno esportate come “Credit Card Misc.”.`,
+ defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) =>
+ `Scegli un fornitore predefinito ${connectionName} per le spese che non vengono abbinate automaticamente.`,
defaultAccount: 'Conto predefinito',
autoSync: 'Sincronizzazione automatica',
autoSyncDescription: 'Sincronizza automaticamente NetSuite ed Expensify ogni giorno. Esporta i report finalizzati in tempo reale',
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index 621f53c5a06..366a29671cf 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -5007,7 +5007,7 @@ ${integrationName === CONST.ONBOARDING_ACCOUNTING_MAPPING.other ? 'あなたの'
defaultVendor: 'デフォルトのベンダー',
defaultVendorDescription: (isReimbursable: boolean) =>
isReimbursable
- ? `Sage Intacct で一致する取引先がない経費精算対象の経費に適用する、デフォルトの取引先を設定します。`
+ ? `Sage Intacct で一致する取引先がない立替経費に適用する、デフォルトの取引先を設定します。`
: `Sage Intacct のベンダーに照合できない経費は、デフォルトでこのベンダーに割り当てられます。`,
exportDescription: 'Expensify のデータを Sage Intacct へエクスポートする方法を設定します。',
exportPreferredExporterNote:
@@ -6872,9 +6872,9 @@ Control プランは、アクティブメンバー1人あたり月額 $9 から
defaultVendor: 'デフォルトのベンダー',
defaultVendorHelperText: ({connectionName, isSet}: ConnectionDefaultVendorHelperTextParams) =>
isSet
- ? `Expenses that don't auto-match will default to this ${connectionName} vendor.`
- : `Expenses that don't auto-match will default to this ${connectionName} vendor. Otherwise, they'll export as Credit Card Misc.`,
- defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) => `Choose a default ${connectionName} vendor for expenses that don't match automatically.`,
+ ? `自動照合されない経費は、デフォルトでこの ${connectionName} のベンダーに紐づきます。`
+ : `自動照合されない経費は、デフォルトでこの ${connectionName} の仕入先として処理されます。照合される場合は、「Credit Card Misc」としてエクスポートされます。`,
+ defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) => `自動的に照合されない経費に対して使用する、デフォルトの ${connectionName} 仕入先を選択します。`,
defaultAccount: 'デフォルトのアカウント',
autoSync: '自動同期',
autoSyncDescription: 'NetSuite と Expensify を毎日自動で同期。確定したレポートをリアルタイムでエクスポート',
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index d361141298b..034f882f95c 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -5044,8 +5044,8 @@ ${amount} voor ${merchant} - ${date}`,
defaultVendor: 'Standaardleverancier',
defaultVendorDescription: (isReimbursable: boolean) =>
isReimbursable
- ? `Stel een standaardleverancier in die wordt toegepast op vergoedbare uitgaven waarvoor geen overeenkomende leverancier in Sage Intacct bestaat.`
- : `Declaraties die niet gekoppeld kunnen worden aan je Sage Intacct-leveranciers, worden standaard aan deze leverancier toegewezen.`,
+ ? `Stel een standaardleverancier in die wordt toegepast op declarabele uitgaven waarvoor geen overeenkomende leverancier in Sage Intacct is.`
+ : `Uitgaven die niet kunnen worden gekoppeld aan je Sage Intacct-leveranciers, worden standaard aan deze leverancier toegewezen.`,
exportDescription: 'Configureer hoe Expensify-gegevens worden geëxporteerd naar Sage Intacct.',
exportPreferredExporterNote:
'De voorkeurs-exporteur kan elke werkruimtebeheerder zijn, maar moet ook een domeinbeheerder zijn als je in Domeininstellingen verschillende exportrekeningen instelt voor individuele bedrijfskaarten.',
@@ -6936,9 +6936,10 @@ Het Control-abonnement begint bij $9 per actieve deelnemer per maand.`,
defaultVendor: 'Standaardleverancier',
defaultVendorHelperText: ({connectionName, isSet}: ConnectionDefaultVendorHelperTextParams) =>
isSet
- ? `Expenses that don't auto-match will default to this ${connectionName} vendor.`
- : `Expenses that don't auto-match will default to this ${connectionName} vendor. Otherwise, they'll export as Credit Card Misc.`,
- defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) => `Choose a default ${connectionName} vendor for expenses that don't match automatically.`,
+ ? `Declaraties die niet automatisch worden gematcht, worden standaard aan deze ${connectionName}-leverancier gekoppeld.`
+ : `Declaraties die niet automatisch worden gekoppeld, worden standaard aan deze ${connectionName}-leverancier toegewezen. Anders worden ze geëxporteerd als Credit Card Misc.`,
+ defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) =>
+ `Kies een standaard ${connectionName}-leverancier voor onkosten die niet automatisch worden gekoppeld.`,
defaultAccount: 'Standaardrekening',
autoSync: 'Automatisch synchroniseren',
autoSyncDescription: 'Synchroniseer NetSuite en Expensify automatisch, elke dag. Exporteer een afgerond rapport in realtime',
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index dfb872d780e..56b1ae69aac 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -5030,8 +5030,8 @@ ${amount} dla ${merchant} - ${date}`,
defaultVendor: 'Domyślny dostawca',
defaultVendorDescription: (isReimbursable: boolean) =>
isReimbursable
- ? `Ustaw domyślnego kontrahenta, który będzie stosowany do wydatków podlegających zwrotowi, nieposiadających pasującego kontrahenta w Sage Intacct.`
- : `Wydatki, których nie da się dopasować do Twoich dostawców Sage Intacct, zostaną domyślnie przypisane do tego dostawcy.`,
+ ? `Ustaw domyślnego dostawcę, który zostanie zastosowany do wydatków podlegających zwrotowi, nieposiadających pasującego dostawcy w Sage Intacct.`
+ : `Wydatki, których nie da się dopasować do twoich dostawców w Sage Intacct, zostaną domyślnie przypisane do tego dostawcy.`,
exportDescription: 'Skonfiguruj sposób eksportu danych z Expensify do Sage Intacct.',
exportPreferredExporterNote:
'Preferowanym eksporterem może być dowolny administrator przestrzeni roboczej, ale musi on również być administratorem domeny, jeśli w Ustawieniach domeny ustawisz różne konta eksportu dla poszczególnych kart firmowych.',
@@ -6917,9 +6917,10 @@ Plan Control zaczyna się od 9 USD za aktywnego członka miesięcznie.`,
defaultVendor: 'Domyślny dostawca',
defaultVendorHelperText: ({connectionName, isSet}: ConnectionDefaultVendorHelperTextParams) =>
isSet
- ? `Expenses that don't auto-match will default to this ${connectionName} vendor.`
- : `Expenses that don't auto-match will default to this ${connectionName} vendor. Otherwise, they'll export as Credit Card Misc.`,
- defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) => `Choose a default ${connectionName} vendor for expenses that don't match automatically.`,
+ ? `Wydatki, które nie zostaną automatycznie dopasowane, domyślnie trafią do tego dostawcy ${connectionName}.`
+ : `Wydatki, które nie zostaną automatycznie dopasowane, domyślnie trafią do tego dostawcy ${connectionName}. W przeciwnym razie zostaną wyeksportowane jako Credit Card Misc.`,
+ defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) =>
+ `Wybierz domyślnego dostawcę ${connectionName} dla wydatków, które nie zostaną dopasowane automatycznie.`,
defaultAccount: 'Domyślne konto',
autoSync: 'Automatyczna synchronizacja',
autoSyncDescription: 'Synchronizuj NetSuite i Expensify automatycznie, każdego dnia. Eksportuj sfinalizowany raport w czasie rzeczywistym',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 090e877c704..fb5ea3022e9 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -5037,7 +5037,7 @@ ${amount} para ${merchant} - ${date}`,
defaultVendorDescription: (isReimbursable: boolean) =>
isReimbursable
? `Defina um fornecedor padrão que será aplicado às despesas reembolsáveis que não tiverem um fornecedor correspondente no Sage Intacct.`
- : `As despesas que não puderem ser conciliadas com seus fornecedores do Sage Intacct serão atribuídas a este fornecedor por padrão.`,
+ : `Despesas que não puderem ser correspondidas aos seus fornecedores do Sage Intacct serão atribuídas a este fornecedor por padrão.`,
exportDescription: 'Configure como os dados do Expensify são exportados para o Sage Intacct.',
exportPreferredExporterNote:
'O exportador preferencial pode ser qualquer administrador do espaço de trabalho, mas também deve ser um Administrador de Domínio se você definir diferentes contas de exportação para cartões corporativos individuais em Configurações de Domínio.',
@@ -6929,9 +6929,10 @@ O plano Control começa em US$ 9 por membro ativo por mês.`,
defaultVendor: 'Fornecedor padrão',
defaultVendorHelperText: ({connectionName, isSet}: ConnectionDefaultVendorHelperTextParams) =>
isSet
- ? `Expenses that don't auto-match will default to this ${connectionName} vendor.`
- : `Expenses that don't auto-match will default to this ${connectionName} vendor. Otherwise, they'll export as Credit Card Misc.`,
- defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) => `Choose a default ${connectionName} vendor for expenses that don't match automatically.`,
+ ? `Despesas que não forem conciliadas automaticamente serão atribuídas por padrão a este fornecedor ${connectionName}.`
+ : `As despesas que não corresponderem automaticamente serão associadas por padrão a este fornecedor ${connectionName}. Caso contrário, serão exportadas como Credit Card Misc.`,
+ defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) =>
+ `Escolha um fornecedor padrão do ${connectionName} para despesas que não forem correspondidas automaticamente.`,
defaultAccount: 'Conta padrão',
autoSync: 'Sincronização automática',
autoSyncDescription: 'Sincronize NetSuite e Expensify automaticamente, todos os dias. Exporte relatórios finalizados em tempo real',
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index c35c41f6c2d..312f626be92 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -4891,7 +4891,7 @@ ${amount},商户:${merchant} - 日期:${date}`,
creditCardAccount: '信用卡账户',
defaultVendor: '默认供应商',
defaultVendorDescription: (isReimbursable: boolean) =>
- isReimbursable ? `为报销费用设置一个默认供应商,用于在 Sage Intacct 中找不到匹配供应商的情况。` : `无法与 Sage Intacct 供应商匹配的报销将默认归到此供应商名下。`,
+ isReimbursable ? `为可报销但在 Sage Intacct 中没有匹配供应商的费用设置一个默认供应商。` : `无法匹配到 Sage Intacct 供应商的报销将默认归到此供应商名下。`,
exportDescription: '配置 Expensify 数据导出到 Sage Intacct 的方式。',
exportPreferredExporterNote: '首选导出人可以是任意工作区管理员,但如果你在“域设置”中为各个公司卡设置了不同的导出账户,则该导出人还必须是域管理员。',
exportPreferredExporterSubNote: '设置完成后,首选导出人将在其账户中看到可供导出的报表。',
@@ -6715,10 +6715,8 @@ _如需更详细的说明,请[访问我们的帮助网站](${CONST.NETSUITE_IM
exportDate: '导出日期',
defaultVendor: '默认供应商',
defaultVendorHelperText: ({connectionName, isSet}: ConnectionDefaultVendorHelperTextParams) =>
- isSet
- ? `Expenses that don't auto-match will default to this ${connectionName} vendor.`
- : `Expenses that don't auto-match will default to this ${connectionName} vendor. Otherwise, they'll export as Credit Card Misc.`,
- defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) => `Choose a default ${connectionName} vendor for expenses that don't match automatically.`,
+ isSet ? `未自动匹配的报销将默认归入此 ${connectionName} 供应商。` : `未自动匹配的报销将默认归到此 ${connectionName} 供应商。否则,它们将以“Credit Card Misc”导出。`,
+ defaultVendorSelectHeader: ({connectionName}: ConnectionDisplayNameParams) => `为未能自动匹配的报销选择一个默认的 ${connectionName} 供应商。`,
defaultAccount: '默认账户',
autoSync: '自动同步',
autoSyncDescription: '每天自动同步 NetSuite 和 Expensify。实时导出已完成报表',
Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
Squawk! Translates the new defaultVendorHelperText and defaultVendorSelectHeader strings into all supported languages, and refines the existing sageIntacct.defaultVendorDescription translations while we are here.
|
Still the same situation — nothing to push. Your latest commit ( The only red check is To make it pass: fill out the |
|
Re-checked — nothing to fix in code. Every check is green except This one's on you ( |
Explanation of Change
Design feedback on the Sage Intacct connection's Workspaces > Accounting > Export > Export company card expenses as page: the Default vendor row for the credit-card-charge (non-reimbursable) export path shipped as a toggle that revealed a nested select row inside an accordion. Per the approved plan, this reshapes it into a single, always-visible navigable arrow row.
What changed:
SageIntacctNonReimbursableExpensesPage.tsx, theToggleSettingOptionRow+Accordionmachinery for the default vendor was removed and replaced with a plainMenuItemWithTopDescriptionarrow row that navigates directly to the existing default-vendor select page (POLICY_ACCOUNTING_SAGE_INTACCT_DEFAULT_VENDOR). The now-deadtoggle/accordionrender branches,useAccordionAnimation, and theupdateSageIntacctDefaultVendor/clearSageIntacctErrorField/getLatestErrorFieldimports were dropped.defaultVendorNotSetstring added toen.ts/es.ts.Expenses that can't be matched to your Sage Intacct vendors will default to this vendor.It's wired through a mutedhelperTextbelow the row (only on the credit-card-charge path) via a newhelperTextfield onMenuItemToRender.defaultVendorDescriptionkept its(isReimbursable)signature (the reimbursable page still usestrue); only the non-reimbursable branch text changed, in bothen.tsandes.ts.Behavior preserved: the row stays hidden until a non-reimbursable export type is chosen; the VENDOR_BILL path continues to render its existing arrow row (no subtitle); the vendor list source is unchanged; no Auth/PHP changes.
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/664271
PROPOSAL: https://github.com/Expensify/Expensify/issues/664271#issuecomment-5075633547
Tests
// TODO: The human co-author must fill out the tests you ran before marking this PR as "ready for review". Suggested steps: on a Sage Intacct workspace, set non-reimbursable export = Credit card charge; verify the Default vendor row renders as an arrow row (not a toggle) showing "Not set" with the subtitle
Expenses that can't be matched to your Sage Intacct vendors will default to this vendor.; tap it, pick a vendor, and verify the selection persists and shows in the row title; clear it and verify it round-trips back to "Not set" — on web + mobile.Offline tests
QA Steps
// TODO: The human co-author must fill out the QA tests before marking this PR as "ready for review", or the issue title must include "[No QA]."
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari