Skip to content

Show GL code when selecting a category#94596

Open
yusufdeveloper2903 wants to merge 5 commits into
Expensify:mainfrom
yusufdeveloper2903:feat/93155-show-gl-code-category
Open

Show GL code when selecting a category#94596
yusufdeveloper2903 wants to merge 5 commits into
Expensify:mainfrom
yusufdeveloper2903:feat/93155-show-gl-code-category

Conversation

@yusufdeveloper2903

@yusufdeveloper2903 yusufdeveloper2903 commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Explanation of Change

Adds an opt-in way for admins to surface each category's GL code in the category picker, and to search the picker by GL code.

  • New per-policy toggle "Show GL codes when categorizing expenses" in Workspace → Categories → Settings, gated on the Control-plan glCodes capability (policy.glCodes).
  • The GL code is threaded through the category picker pipeline (getCategoryListSectionssortCategoriesgetCategoryOptionTree) and rendered as the row's alternateText (muted description line) on leaf rows only, per the agreed design (option 3). text/searchText/keyForList stay equal to the raw category name, so selection is unaffected.
  • The GL code is added to the search tokens when the toggle is on, so typing a GL code filters the list.
  • Spend tables are intentionally left unchanged (a dedicated GL code column is handled separately).

Backend dependency: this needs a new SetPolicyShowCategoryGLCodes API command that persists showCategoryGLCodes on the policy and returns it in policy data. The frontend is fully optimistic/offline-ready. The existing glCodes flag and per-category GL Code already exist on the backend and need no changes.

Fixed Issues

$ #93155
PROPOSAL: #93155 (comment)

Tests

  1. Sign in to an account with a Control workspace that has GL codes enabled.
  2. Go to Workspace → Categories → More → Settings and verify a new toggle "Show GL codes when categorizing expenses" appears under "Members must categorize all expenses".
  3. Turn the toggle on.
  4. Set a GL code on a couple of categories (Categories → select a category → GL code).
  5. Start an expense and open the Category picker.
  6. Verify categories that have a GL code show it as a muted second line below the name (e.g. Advertising4000).
  7. Verify categories without a GL code show no second line (no empty row).
  8. Type a GL code in the search box and verify the matching category is filtered in.
  9. Select a category and verify the correct category is saved (selection unaffected).
  10. Turn the toggle off and verify GL codes no longer appear in the picker.
  • Verify that no errors appear in the JS console

Offline tests

  1. With the toggle visible, go offline.
  2. Toggle "Show GL codes when categorizing expenses" and verify the change is applied optimistically with a pending (grey) state.
  3. Go back online and verify the pending state clears and the value persists.
  4. Verify that on a failed request the toggle reverts and an error is shown inline.

QA Steps

  1. Sign in to an account with a Control workspace that has GL codes enabled.
  2. Go to Workspace → Categories → More → Settings and verify the "Show GL codes when categorizing expenses" toggle appears.
  3. Turn it on and set a GL code on a couple of categories.
  4. Open the Category picker on an expense and verify GL codes appear as a muted second line and are searchable.
  5. Verify categories without a GL code show no second line and selection still works.
  6. Turn the toggle off and verify GL codes no longer appear.
  • Verify that no errors appear in the JS console

PR Author Checklist

  • I linked the correct issue in the ### Fixed Issues section above
  • I wrote clear testing steps that cover the changes made in this PR
    • I added steps for local testing in the Tests section
    • I added steps for the expected offline behavior in the Offline steps section
    • I added steps for Staging and/or Production testing in the QA steps section
    • I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
    • I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
    • I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).
  • I included screenshots or videos for tests on all platforms
  • I ran the tests on all platforms & verified they passed on:
    • Android: Native
    • Android: mWeb Chrome
    • iOS: Native
    • iOS: mWeb Safari
    • MacOS: Chrome / Safari
  • I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
  • I followed proper code patterns (see Reviewing the code)
    • I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
    • I verified that comments were added to code that is not self explanatory
    • I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
    • I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
  • If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
  • I followed the guidelines as stated in the Review Guidelines
  • I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
  • If any new file was added I verified that:
    • The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory
  • If a new CSS style is added I verified that:
    • A similar style doesn't already exist
    • The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))
  • If new assets were added or existing ones were modified, I verified that:
    • The assets are optimized and compressed (for SVG files, run npm run compress-svg)
    • The assets load correctly across all supported platforms.
  • If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
  • If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
  • If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
  • If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
  • If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:
    • I verified that all the inputs inside a form are aligned with each other.
    • I added Design label and/or tagged @Expensify/design so the design team can review the changes.
  • I added unit tests for any new feature or bug fix in this PR to help automatically prevent regressions in this user flow.
  • If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari

Before fix:

REC-20260716121415.mp4

After fix:

REC-20260716121516.mp4

@melvin-bot

melvin-bot Bot commented Jun 25, 2026

Copy link
Copy Markdown

Hey, I noticed you changed src/languages/en.ts in a PR from a fork. For security reasons, translations are not generated automatically for PRs from forks.

If you want to automatically generate translations for other locales, an Expensify employee will have to:

  1. Look at the code and make sure there are no malicious changes.
  2. Run the Generate static translations GitHub workflow. If you have write access and the K2 extension, you can simply click: [this button]

Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running:

npx ts-node ./scripts/generateTranslations.ts --help

Typically, you'd want to translate only what you changed by running npx ts-node ./scripts/generateTranslations.ts --compare-ref main

@melvin-bot
melvin-bot Bot requested review from cretadn22 and trjExpensify and removed request for a team June 25, 2026 14:56
@melvin-bot

melvin-bot Bot commented Jun 25, 2026

Copy link
Copy Markdown

@cretadn22 Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

@melvin-bot
melvin-bot Bot removed the request for review from a team June 25, 2026 14:56
@yusufdeveloper2903

Copy link
Copy Markdown
Contributor Author

cc @cretadn22 @trjExpensify

This feature needs a small backend change to fully work.

The frontend is done and works optimistically, but the new "Show GL codes when categorizing expenses" toggle needs a backend command to persist — otherwise it reverts on the server response and won't survive a reload.

Needed on backend (Auth): a new command SetPolicyShowCategoryGLCodes (policyID, showCategoryGLCodes: boolean) that saves showCategoryGLCodes as a policy NVP and returns it in policy data.

Already exists, no backend work: per-category GL Code and the policy.glCodes flag.

Could an internal engineer help add this command? Happy to align on naming if needed.

Comment thread src/components/CategoryPicker/index.tsx Outdated
Comment thread src/pages/workspace/categories/DynamicWorkspaceCategoriesSettingsPage.tsx Outdated
@codecov

codecov Bot commented Jun 25, 2026

Copy link
Copy Markdown

Codecov Report

❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.

Files with missing lines Coverage Δ
src/libs/API/types.ts 100.00% <ø> (ø)
src/components/CategoryPicker/index.tsx 2.77% <0.00%> (-0.17%) ⬇️
src/libs/CategoryOptionListUtils.ts 94.59% <90.00%> (-0.65%) ⬇️
...egories/DynamicWorkspaceCategoriesSettingsPage.tsx 0.00% <0.00%> (ø)
src/libs/actions/Policy/Category.ts 49.85% <0.00%> (-0.86%) ⬇️
... and 182 files with indirect coverage changes

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9b17b90eb2

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

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".

Comment thread src/libs/CategoryOptionListUtils.ts Outdated
@trjExpensify
trjExpensify requested review from flaviadefaria and removed request for trjExpensify June 25, 2026 19:24
@trjExpensify

Copy link
Copy Markdown
Contributor

@flaviadefaria has been running this one, switching her on for product review. 👍

@yusufdeveloper2903

Copy link
Copy Markdown
Contributor Author

@trjExpensify the frontend here is ready. This just needs the backend SetPolicyShowCategoryGLCodes command (persist + return showCategoryGLCodes on the policy). Who owns it, and any rough ETA? 🙏

@cretadn22

Copy link
Copy Markdown
Contributor

I’ve asked @mollfpr to handle the backend work for this issue. Please hold this PR until those backend changes are deployed.

@mollfpr

mollfpr commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

@yusufdeveloper2903 @cretadn22 the BE changes are deployed 🙏

@yusufdeveloper2903
yusufdeveloper2903 force-pushed the feat/93155-show-gl-code-category branch from 9070449 to ec891d9 Compare July 13, 2026 10:40
@yusufdeveloper2903

Copy link
Copy Markdown
Contributor Author

Hey @mollfpr 🙏 thanks for deploying! Could you share a few details so I can wire the FE correctly:

  • How exactly should the FE call it — what's the exact command name and param name/type it expects?
  • What did you add on the BE (which NVP does it save, and is showCategoryGLCodes returned in the policy data)?
  • Where can I find the BE changes/PR to reference?

On my side the toggle sends showCategoryGLCodes=true but the response comes back false, so I want to make sure I'm matching your contract. Thanks!

@mollfpr

mollfpr commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Hey @yusufdeveloper2903 ! Here's everything you need:

Command name: SetPolicyShowCategoryGLCodes

Params:
policyID — the policy ID
enabledboolean

The value is stored in the policy NVP under the key showCategoryGLCodes and returned in the policy collection response.

@cretadn22

Copy link
Copy Markdown
Contributor

@yusufdeveloper2903 Let me know whenever the PR is ready

@yusufdeveloper2903
yusufdeveloper2903 force-pushed the feat/93155-show-gl-code-category branch from 203ea6b to 926cbf8 Compare July 15, 2026 14:47
@yusufdeveloper2903
yusufdeveloper2903 force-pushed the feat/93155-show-gl-code-category branch from 926cbf8 to 9101436 Compare July 16, 2026 07:10
@yusufdeveloper2903

Copy link
Copy Markdown
Contributor Author

@cretadn22 this one is ready for review 🙏

Demo video is attached in the PR description.

Heads up on CI: the only 2 failing checks — typecheck and Jest Unit Tests (job 6) — are failing purely because of translations. The new key workspace.categories.showCategoryGLCodes is currently only in en.ts, so TranslateTest (key parity) and the type check flag it as missing from the other locales. These will resolve once the translations are added/generated. Nothing else is failing — ESLint and all other test jobs are green.

flaviadefaria
flaviadefaria previously approved these changes Jul 17, 2026
@cretadn22

Copy link
Copy Markdown
Contributor

@yusufdeveloper2903 Please request the translation script generation and merge main

@cretadn22

Copy link
Copy Markdown
Contributor

@codex review

@cretadn22

cretadn22 commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Reviewer Checklist

  • I have verified the author checklist is complete (all boxes are checked off).
  • I verified the correct issue is linked in the ### Fixed Issues section above
  • I verified testing steps are clear and they cover the changes made in this PR
    • I verified the steps for local testing are in the Tests section
    • I verified the steps for Staging and/or Production testing are in the QA steps section
    • I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
    • I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
  • I checked that screenshots or videos are included for tests on all platforms
  • I included screenshots or videos for tests on all platforms
  • I verified that the composer does not automatically focus or open the keyboard on mobile unless explicitly intended. This includes checking that returning the app from the background does not unexpectedly open the keyboard.
  • I verified tests pass on all platforms & I tested again on:
    • Android: HybridApp
    • Android: mWeb Chrome
    • iOS: HybridApp
    • iOS: mWeb Safari
    • MacOS: Chrome / Safari
  • If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
  • I verified proper code patterns were followed (see Reviewing the code)
    • I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
    • I verified that comments were added to code that is not self explanatory
    • I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
    • I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
  • If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
  • I verified that this PR follows the guidelines as stated in the Review Guidelines
  • I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
  • If a new component is created I verified that:
    • A similar component doesn't exist in the codebase
    • All props are defined accurately and each prop has a /** comment above it */
    • The file is named correctly
    • The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
    • The only data being stored in the state is data necessary for rendering and nothing else
    • For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
    • Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
    • All JSX used for rendering exists in the render method
    • The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions
  • If any new file was added I verified that:
    • The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory
  • If a new CSS style is added I verified that:
    • A similar style doesn't already exist
    • The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
  • If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
  • If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
  • If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
  • If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
  • If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:
    • I verified that all the inputs inside a form are aligned with each other.
    • I added Design label and/or tagged @Expensify/design so the design team can review the changes.
  • For any bug fix or new feature in this PR, I verified that sufficient unit tests are included to prevent regressions in this flow.
  • If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
  • I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: HybridApp
Screen.Recording.2026-07-19.at.02.00.20.mov
Android: mWeb Chrome
Screen.Recording.2026-07-19.at.02.01.55.mov
iOS: HybridApp
Screen.Recording.2026-07-19.at.01.57.57.mov
iOS: mWeb Safari
Screen.Recording.2026-07-19.at.01.58.48.mov
MacOS: Chrome / Safari
Screen.Recording.2026-07-19.at.01.57.17.mov

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Nice work!

Reviewed commit: 9101436cda

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

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".

Comment thread src/libs/CategoryOptionListUtils.ts Outdated
@yusufdeveloper2903

Copy link
Copy Markdown
Contributor Author

@yusufdeveloper2903 Please request the translation script generation and merge main

Hi @cretadn22! I don't have an OpenAI API key, so I can't run the translation script locally. Could you run the Generate static translations workflow on this branch, or let me know who I should ask to generate the translations?

@cretadn22

Copy link
Copy Markdown
Contributor

@mollfpr Could you assist with triggering the generate translations workflow on this PR?

@OSBotify

Copy link
Copy Markdown
Contributor

🦜 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 diff
diff --git a/src/languages/de.ts b/src/languages/de.ts
index 95a23c719df..dbfa596052c 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -5974,6 +5974,7 @@ _Für ausführlichere Anweisungen [besuchen Sie unsere Hilfeseite](${CONST.NETSU
                 title: 'Es können nicht alle Kategorien gelöscht oder deaktiviert werden',
                 description: `Mindestens eine Kategorie muss aktiviert bleiben, da dein Workspace Kategorien erfordert.`,
             },
+            showCategoryGLCodes: 'Sachkonten beim Kategorisieren von Ausgaben anzeigen',
         },
         moreFeatures: {
             subtitle: 'Verwende die Schalter unten, um beim Wachsen weitere Funktionen zu aktivieren. Jede Funktion wird im Navigationsmenü angezeigt, wo du sie weiter anpassen kannst.',
diff --git a/src/languages/es.ts b/src/languages/es.ts
index 9750a85de18..1f14a9d6ddc 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -5791,6 +5791,7 @@ ${amount} para ${merchant} - ${date}`,
                 title: 'No se pueden eliminar ni deshabilitar todas las categorías',
                 description: `Debe quedar al menos una categoría habilitada porque tu espacio de trabajo requiere categorías.`,
             },
+            showCategoryGLCodes: 'Mostrar códigos GL al categorizar gastos',
         },
         moreFeatures: {
             subtitle: 'Utiliza los botones de abajo para activar más funciones a medida que creces. Cada función aparecerá en el menú de navegación para una mayor personalización.',
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index 1b75c445f28..85299ff1c9b 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -5987,6 +5987,7 @@ _Pour des instructions plus détaillées, [visitez notre site d’aide](${CONST.
                 title: 'Impossible de supprimer ou de désactiver toutes les catégories',
                 description: `Au moins une catégorie doit rester activée, car votre espace de travail exige des catégories.`,
             },
+            showCategoryGLCodes: 'Afficher les codes de grand livre lors de la catégorisation des dépenses',
         },
         moreFeatures: {
             subtitle:
diff --git a/src/languages/it.ts b/src/languages/it.ts
index dfcdf2ee518..24046cf3242 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -5952,6 +5952,7 @@ _Per istruzioni più dettagliate, [visita il nostro sito di assistenza](${CONST.
                 title: 'Impossibile eliminare o disattivare tutte le categorie',
                 description: `Almeno una categoria deve rimanere abilitata perché il tuo spazio di lavoro richiede le categorie.`,
             },
+            showCategoryGLCodes: 'Mostra i codici CO.GE. quando classifichi le spese',
         },
         moreFeatures: {
             subtitle:
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index 0ffc19ec41b..ff7410e60e3 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -5888,6 +5888,7 @@ _詳しい手順については、[ヘルプサイトをご覧ください](${CO
                 title: 'すべてのカテゴリを削除または無効にすることはできません',
                 description: `ワークスペースでカテゴリが必須のため、少なくとも1つのカテゴリは有効のままにする必要があります。`,
             },
+            showCategoryGLCodes: '経費を分類するときに GL コードを表示する',
         },
         moreFeatures: {
             subtitle: 'ビジネスの成長に合わせて、下の切り替えスイッチでさらに多くの機能を有効にしましょう。各機能はナビゲーションメニューに表示され、さらにカスタマイズできます。',
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index d34f8495295..bbac2de293d 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -5942,6 +5942,7 @@ _Voor meer gedetailleerde instructies, [bezoek onze help-site](${CONST.NETSUITE_
                 title: 'Kan niet alle categorieën verwijderen of uitschakelen',
                 description: `Minstens één categorie moet ingeschakeld blijven, omdat je werkruimte categorieën vereist.`,
             },
+            showCategoryGLCodes: 'Toon GL-codes bij het categoriseren van uitgaven',
         },
         moreFeatures: {
             subtitle: 'Gebruik de schakelaars hieronder om meer functies in te schakelen terwijl je groeit. Elke functie verschijnt in het navigatiemenu voor verdere aanpassing.',
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index 5171d9d5e5d..3641514eb72 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -5921,6 +5921,7 @@ _Aby uzyskać bardziej szczegółowe instrukcje, [odwiedź naszą stronę pomocy
                 title: 'Nie można usunąć ani wyłączyć wszystkich kategorii',
                 description: `Co najmniej jedna kategoria musi pozostać włączona, ponieważ w Twoim workspace wymagane są kategorie.`,
             },
+            showCategoryGLCodes: 'Pokaż kody GL podczas kategoryzowania wydatków',
         },
         moreFeatures: {
             subtitle: 'Użyj poniższych przełączników, aby włączać kolejne funkcje w miarę rozwoju. Każda funkcja pojawi się w menu nawigacji, gdzie będzie można ją dalej dostosować.',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index d4c1672a2cb..29bcd6df921 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -5931,6 +5931,7 @@ _Para instruções mais detalhadas, [visite nossa central de ajuda](${CONST.NETS
                 title: 'Não é possível excluir ou desativar todas as categorias',
                 description: `Pelo menos uma categoria deve permanecer ativada porque seu workspace exige categorias.`,
             },
+            showCategoryGLCodes: 'Mostrar códigos GL ao categorizar despesas',
         },
         moreFeatures: {
             subtitle: 'Use as chaves abaixo para ativar mais recursos conforme você cresce. Cada recurso aparecerá no menu de navegação para personalização adicional.',
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index 5547a6a118a..d3ea42c9eab 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -5774,6 +5774,7 @@ _如需更详细的说明,请[访问我们的帮助网站](${CONST.NETSUITE_IM
                 title: '无法删除或停用所有类别',
                 description: `由于您的工作区需要类别,必须至少保留一个已启用的类别。`,
             },
+            showCategoryGLCodes: '在分类报销时显示总账科目代码',
         },
         moreFeatures: {
             subtitle: '使用下方切换按钮,在业务成长过程中启用更多功能。每个功能都会出现在导航菜单中,供你进一步自定义。',

Note

You can apply these changes to your branch by copying the patch to your clipboard, then running pbpaste | git apply 😉

View workflow run

@cretadn22

cretadn22 commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

@yusufdeveloper2903 It's ready

@yusufdeveloper2903

Copy link
Copy Markdown
Contributor Author

@cretadn22 Ready for review

@melvin-bot
melvin-bot Bot requested a review from mollfpr July 21, 2026 08:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants