From ede1196d2e558e3caeb7abebbaf89642a5b23d48 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 11:57:42 -0400 Subject: [PATCH 01/26] Create index.md --- help/ref/settings/workspaces/:policyID/overview/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/workspaces/:policyID/overview/index.md diff --git a/help/ref/settings/workspaces/:policyID/overview/index.md b/help/ref/settings/workspaces/:policyID/overview/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/workspaces/:policyID/overview/index.md @@ -0,0 +1 @@ + From 357599164a7848b8d0440d23bba5a416b24176cb Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:02:09 -0400 Subject: [PATCH 02/26] Create index.md --- help/ref/settings/workspaces/:policyID/reports/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/workspaces/:policyID/reports/index.md diff --git a/help/ref/settings/workspaces/:policyID/reports/index.md b/help/ref/settings/workspaces/:policyID/reports/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/workspaces/:policyID/reports/index.md @@ -0,0 +1 @@ + From a963e605296afb652e01f00e8962bb8b93410125 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:02:40 -0400 Subject: [PATCH 03/26] Create index.md --- help/ref/settings/workspaces/:policyID/categories/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/workspaces/:policyID/categories/index.md diff --git a/help/ref/settings/workspaces/:policyID/categories/index.md b/help/ref/settings/workspaces/:policyID/categories/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/workspaces/:policyID/categories/index.md @@ -0,0 +1 @@ + From 1a4e7a55d8a4675f3dd8cf61112e78e943ada558 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:02:55 -0400 Subject: [PATCH 04/26] Create index.md --- help/ref/settings/workspaces/:policyID/tags/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/workspaces/:policyID/tags/index.md diff --git a/help/ref/settings/workspaces/:policyID/tags/index.md b/help/ref/settings/workspaces/:policyID/tags/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/workspaces/:policyID/tags/index.md @@ -0,0 +1 @@ + From 1939b1906d4b2dc64d35d05015df2b9df4edb999 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:03:10 -0400 Subject: [PATCH 05/26] Create index.md --- help/ref/settings/workspaces/:policyID/taxes/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/workspaces/:policyID/taxes/index.md diff --git a/help/ref/settings/workspaces/:policyID/taxes/index.md b/help/ref/settings/workspaces/:policyID/taxes/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/workspaces/:policyID/taxes/index.md @@ -0,0 +1 @@ + From 2181a09211944e25fa2b57f3e846547785145c89 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:03:40 -0400 Subject: [PATCH 06/26] Create index.md --- help/ref/settings/workspaces/:policyID/workflows/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/workspaces/:policyID/workflows/index.md diff --git a/help/ref/settings/workspaces/:policyID/workflows/index.md b/help/ref/settings/workspaces/:policyID/workflows/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/workspaces/:policyID/workflows/index.md @@ -0,0 +1 @@ + From 4042d87af3094c0803956e10da4fae8487e49610 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:04:13 -0400 Subject: [PATCH 07/26] Create index.md --- help/ref/settings/workspaces/:policyID/rules/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/workspaces/:policyID/rules/index.md diff --git a/help/ref/settings/workspaces/:policyID/rules/index.md b/help/ref/settings/workspaces/:policyID/rules/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/workspaces/:policyID/rules/index.md @@ -0,0 +1 @@ + From 3e2c6e0b2b0650acf29db1b9ed36eff83be09051 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:04:52 -0400 Subject: [PATCH 08/26] Create index.md --- help/ref/settings/workspaces/:policyID/distance-rates/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/workspaces/:policyID/distance-rates/index.md diff --git a/help/ref/settings/workspaces/:policyID/distance-rates/index.md b/help/ref/settings/workspaces/:policyID/distance-rates/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/workspaces/:policyID/distance-rates/index.md @@ -0,0 +1 @@ + From 284e2fc7ee90e996d7aa4bb1ab829871fba629d8 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:05:10 -0400 Subject: [PATCH 09/26] Create index.md --- help/ref/settings/workspaces/:policyID/invoices/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/workspaces/:policyID/invoices/index.md diff --git a/help/ref/settings/workspaces/:policyID/invoices/index.md b/help/ref/settings/workspaces/:policyID/invoices/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/workspaces/:policyID/invoices/index.md @@ -0,0 +1 @@ + From 524a5a879e2743432450a55ba743f57f3902cfbc Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:05:32 -0400 Subject: [PATCH 10/26] Create index.md --- help/ref/settings/workspaces/:policyID/per-diem/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/workspaces/:policyID/per-diem/index.md diff --git a/help/ref/settings/workspaces/:policyID/per-diem/index.md b/help/ref/settings/workspaces/:policyID/per-diem/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/workspaces/:policyID/per-diem/index.md @@ -0,0 +1 @@ + From a20f8473a3fa32290c589c0bfebaa258888aab7f Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:05:52 -0400 Subject: [PATCH 11/26] Create index.md --- help/ref/settings/workspaces/:policyID/expensify-cards/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/workspaces/:policyID/expensify-cards/index.md diff --git a/help/ref/settings/workspaces/:policyID/expensify-cards/index.md b/help/ref/settings/workspaces/:policyID/expensify-cards/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/workspaces/:policyID/expensify-cards/index.md @@ -0,0 +1 @@ + From a269811f6e0e0cd211fcce7647ffb9d6c4dbac21 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:06:18 -0400 Subject: [PATCH 12/26] Create index.md --- help/ref/settings/workspaces/:policyID/company-cards/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/workspaces/:policyID/company-cards/index.md diff --git a/help/ref/settings/workspaces/:policyID/company-cards/index.md b/help/ref/settings/workspaces/:policyID/company-cards/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/workspaces/:policyID/company-cards/index.md @@ -0,0 +1 @@ + From 89ab60264984e66de6b18434c1232334544ff74b Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:06:48 -0400 Subject: [PATCH 13/26] Delete help/ref/settings/workspaces/:policyID/expensify-cards directory --- help/ref/settings/workspaces/:policyID/expensify-cards/index.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 help/ref/settings/workspaces/:policyID/expensify-cards/index.md diff --git a/help/ref/settings/workspaces/:policyID/expensify-cards/index.md b/help/ref/settings/workspaces/:policyID/expensify-cards/index.md deleted file mode 100644 index 8b137891791fe..0000000000000 --- a/help/ref/settings/workspaces/:policyID/expensify-cards/index.md +++ /dev/null @@ -1 +0,0 @@ - From 531645116b2ef0f323dd4b9b5c4fb3a68077c2d5 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:07:14 -0400 Subject: [PATCH 14/26] Create index.md --- help/ref/settings/workspaces/:policyID/expensify-card/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/workspaces/:policyID/expensify-card/index.md diff --git a/help/ref/settings/workspaces/:policyID/expensify-card/index.md b/help/ref/settings/workspaces/:policyID/expensify-card/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/workspaces/:policyID/expensify-card/index.md @@ -0,0 +1 @@ + From 5e78315efee2f4a3afb7c5492d6306d36e8bb438 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:08:00 -0400 Subject: [PATCH 15/26] Create index.md --- help/ref/settings/profile/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/profile/index.md diff --git a/help/ref/settings/profile/index.md b/help/ref/settings/profile/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/profile/index.md @@ -0,0 +1 @@ + From 6e08a025a0c2e30fe158cbb5e9d4ef875328e688 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:08:21 -0400 Subject: [PATCH 16/26] Create index.md --- help/ref/settings/subscription/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/subscription/index.md diff --git a/help/ref/settings/subscription/index.md b/help/ref/settings/subscription/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/subscription/index.md @@ -0,0 +1 @@ + From 330bff435777553368c64b489ffe1c935ec2f0c1 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:09:03 -0400 Subject: [PATCH 17/26] Create index.md --- help/ref/settings/security/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 help/ref/settings/security/index.md diff --git a/help/ref/settings/security/index.md b/help/ref/settings/security/index.md new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/help/ref/settings/security/index.md @@ -0,0 +1 @@ + From a1bd038ce6d8bfe2f5716eb24862a90216e37a37 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:11:08 -0400 Subject: [PATCH 18/26] Update index.md --- help/ref/search/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/help/ref/search/index.md b/help/ref/search/index.md index 88d3e1c0c7fb6..240965237c50d 100644 --- a/help/ref/search/index.md +++ b/help/ref/search/index.md @@ -1,9 +1,8 @@ --- layout: product -title: Expensify Chat +title: Reports --- - # Reports Virtually all data can be analyzed and reported upon in the Reports page. The major elements of this page include: From 39fd8e689af636e13e818516024ecc1fbf238c25 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:22:50 -0400 Subject: [PATCH 19/26] Update index.md --- help/ref/settings/index.md | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/help/ref/settings/index.md b/help/ref/settings/index.md index a5d82e8071732..6a27c1c97e749 100644 --- a/help/ref/settings/index.md +++ b/help/ref/settings/index.md @@ -1,18 +1,27 @@ --- layout: product -title: Expensify Chat +title: Workspaces --- -# Settings +# Workspaces 101 -Here is where you configure Expensify exactly to your specifications: +Think of a workspace as mission control for your company’s expenses. It’s where you set the rules, invite the team, and connect to your accounting tools. Each workspace runs independently, so you can keep things tidy across departments, entities, or clients. -- **Profile** - Configure how you appear to others. -- **Wallet** - See and manage your credit cards and bank accounts. -- **Preferences** - Adjust how the app works for you. -- **Security** - Lock down how you and others access your account. -- **Workspaces** - Organize expenses for yourself and share with others. -- **Subscriptions** - Manage payment details and history. -- **Domains** - Advanced security and corporate card configuration. -- **Switch to Expensify Classic** - Battle tested and reliable. -- **Save the World** - Let Expensify.org help your favorite teacher! +## Create a new workspace +Hit the green + button next to Workspaces in the left-hand menu. Pick a name and your default currency, and you’re ready to get started! + +## Invite your team +Add teammates to your workspace to manage expenses and approvals in one central place: +- Members can submit and approve reports they’re assigned to. +- Admins can approve all reports and manage workspace settings. + +## Automate approvals +Turn on Add Approvals under Workflows to set a default first approver. + +## Connect your accounting system +Link your workspace with QuickBooks Online, Xero, NetSuite, or Sage Intacct to sync expenses like a pro. + +## Enhance your workspace with extra features +Under **More Features**, enable extras like Expensify Cards, mileage tracking, custom categories and tags, and company card feeds. + +**Tip:** If you manage multiple departments, clients, or entities, creating multiple, separate workspaces can help organize settings, people, and integrations. From 8746915eab3aa6e3e5bc284ddd10f4592a71055a Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:31:03 -0400 Subject: [PATCH 20/26] Delete help/ref/settings/index.md --- help/ref/settings/index.md | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 help/ref/settings/index.md diff --git a/help/ref/settings/index.md b/help/ref/settings/index.md deleted file mode 100644 index 6a27c1c97e749..0000000000000 --- a/help/ref/settings/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: product -title: Workspaces ---- - -# Workspaces 101 - -Think of a workspace as mission control for your company’s expenses. It’s where you set the rules, invite the team, and connect to your accounting tools. Each workspace runs independently, so you can keep things tidy across departments, entities, or clients. - -## Create a new workspace -Hit the green + button next to Workspaces in the left-hand menu. Pick a name and your default currency, and you’re ready to get started! - -## Invite your team -Add teammates to your workspace to manage expenses and approvals in one central place: -- Members can submit and approve reports they’re assigned to. -- Admins can approve all reports and manage workspace settings. - -## Automate approvals -Turn on Add Approvals under Workflows to set a default first approver. - -## Connect your accounting system -Link your workspace with QuickBooks Online, Xero, NetSuite, or Sage Intacct to sync expenses like a pro. - -## Enhance your workspace with extra features -Under **More Features**, enable extras like Expensify Cards, mileage tracking, custom categories and tags, and company card feeds. - -**Tip:** If you manage multiple departments, clients, or entities, creating multiple, separate workspaces can help organize settings, people, and integrations. From 9e50be8fa2cd6fda4d1c59c30090148abc548476 Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:38:27 -0400 Subject: [PATCH 21/26] Update index.md --- help/ref/settings/workspaces/index.md | 76 ++++++--------------------- 1 file changed, 16 insertions(+), 60 deletions(-) diff --git a/help/ref/settings/workspaces/index.md b/help/ref/settings/workspaces/index.md index 0642446b89e47..52eaf6a26a0e0 100644 --- a/help/ref/settings/workspaces/index.md +++ b/help/ref/settings/workspaces/index.md @@ -1,73 +1,29 @@ --- layout: product -title: Expensify Chat +title: Workspaces --- -# Workspaces +# Workspaces 101 -Workspaces help you manage company expenses, enforce policies, and integrate with accounting software. Each workspace has its own rules, settings, and features. +Think of a workspace as mission control for your company’s expenses. It’s where you set the rules, invite the team, and connect to your accounting tools. Each workspace runs independently, so you can keep things tidy across departments, entities, or clients. -## Creating a Workspace +## Create a new workspace +Hit the **New workspace** button to get started. Add a name, set a default currency, and you’re ready to get started customizing the workspace settings! -**To create a new workspace:** -1. In the left-hand menu, select **Workspaces** -2. Click **New workspace** -3. Click **Name** to give your workspace a name -4. Click **Default Currency** to set your preferred currency +## Invite your team +Add teammates to your workspace to manage expenses and approvals in one central place: +- Members can submit and approve reports they’re assigned to. +- Admins can approve all reports and manage workspace settings. -**Your first workspace includes:** -- Free 30-day trial -- Access to Setup Specialist via #admins chat room -- Help from Concierge in your Inbox +## Automate approvals +Toggle on **Add Approvals** under **Workflows** to set a default first approver. Create custom approval flows for individual team members if needed. -## Managing Members +## Connect your accounting system +Link your workspace with QuickBooks Online, Xero, NetSuite, or Sage Intacct to sync expenses like a pro. -**To invite team members:** -1. Click **Members** in the left-hand menu -2. Click **Invite member** -3. Enter names, emails, or phone numbers -4. Click **Next**, add an optional message, and click **Invite** - -**Member vs Admin roles:** -- **Members** can submit their own reports and approve assigned reports -- **Admins** can approve all workspace reports, view all reports, and edit workspace settings - -**To assign admin roles:** -1. Select **Members** in the left-hand menu -2. Click a member's name -3. Click **Role** and select **Admin** - -## Key Features - -**Categories** - Organize and track expenses (imported automatically if connected to accounting software) - -**Approval Workflows** - Automate expense report reviews: -- Toggle **Add Approvals** on under **Workflows** -- Set a default first approver for all expenses -- Create custom workflows for specific members - -**Accounting Integrations** - Connect to: -- QuickBooks Online -- Xero -- NetSuite -- Sage Intacct - -**Additional Features** (enable via **More Features**): -- Expensify Cards for company spending -- Distance tracking for mileage -- Tags for detailed expense coding -- Company card connections - -## Workspace Settings - -Access all workspace configuration from the **Workspaces** tab: -- **Overview** - Name, currency, description, and sharing options -- **Members** - Invite, remove, and manage member roles -- **Categories** - Add and organize expense categories -- **Workflows** - Set up approval and payment processes -- **More Features** - Enable additional workspace capabilities +## Enhance your workspace with extra features +Under **More Features**, enable extras like the Expensify Card, distance rates, custom categories and tags, and company card connections. --- -**Tip:** Use the **Share** option on your workspace profile to get an invite link or QR code for easy member onboarding. - +**Tip:** If you manage multiple departments, clients, or entities, consider creating multiple workspaces. Separate workspaces can help keep settings, approvals, and payments organized and more automated. From 0ccb5e39632e151bd12785a2258d64de1e4856ec Mon Sep 17 00:00:00 2001 From: maddylewis <38016013+maddylewis@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:39:03 -0400 Subject: [PATCH 22/26] Delete help/ref/settings/workspaces/:policyId directory --- .../settings/workspaces/:policyId/index.md | 33 ------------------- 1 file changed, 33 deletions(-) delete mode 100644 help/ref/settings/workspaces/:policyId/index.md diff --git a/help/ref/settings/workspaces/:policyId/index.md b/help/ref/settings/workspaces/:policyId/index.md deleted file mode 100644 index 469f92423df07..0000000000000 --- a/help/ref/settings/workspaces/:policyId/index.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -layout: product -title: Expensify Chat ---- - -# Workspace - -This is where you configure all the settings of the many features associated with your workspace. - -## Default features - -Here are the features that are enabled by default: - -- **Overview** - Configure how it appears to others. -- **Members** - Add/remove members and admins. -- **Workflows** - Configure submission, approval, and reimbursement. -- **Categories** - Group expenses into a chart of accounts. -- **Expensify Card** - Issue native Expensify Cards to employees. -- **Accounting** - Sync with external accounting systems. - -## Optional features - -These can be enabled via More Features: - -- **Distance rates** - Configure mileage reimbursement. -- **Company card** - Connect and manage third-party corporate card feeds. -- **Per diem** - Configure daily rates. -- **Rules** - Customize expense violations and set policy. -- **Invoices** - Collect revenue from customers. -- **Tags** - Group expenses by project or client. -- **Taxes** - Track VAT and other taxes. -- **Report fields** - Capture extra expense report information. - From c1b8316483ecad2606c4439a91ac9afefbff973b Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Fri, 4 Jul 2025 15:15:58 +0200 Subject: [PATCH 23/26] regenerate content for .md help panel --- .../SidePanel/HelpContent/helpContentMap.tsx | 378 ++++++++++-------- 1 file changed, 204 insertions(+), 174 deletions(-) diff --git a/src/components/SidePanel/HelpContent/helpContentMap.tsx b/src/components/SidePanel/HelpContent/helpContentMap.tsx index b77e8a4aa916b..908225d3e4684 100644 --- a/src/components/SidePanel/HelpContent/helpContentMap.tsx +++ b/src/components/SidePanel/HelpContent/helpContentMap.tsx @@ -27,100 +27,102 @@ const helpContentMap: HelpContent = { home: { content: ({styles}: {styles: ThemeStyles}) => ( - Chat - - Chat is the foundation of New Expensify. Every expense, expense report, workspace, or member has an associated “chat”, which you can use to record additional details, - or collaborate with others. Every chat has the following components: - - Header + Navigating Expensify + Get familiar with Expensify’s intuitive navigation system designed for easy access to all your tools. + Left-hand Navigation Bar - This shows who you are chatting with (or what you are chatting about). You can press the header for more details on the chat, or additional actions to take upon it. + The vertical left-hand bar is your main navigation hub: - Comments - The core of the chat are its comments, which come in many forms: - Text - Rich text messages stored securely and delivered via web, app, email, or SMS. + Expensify logo - Click to return to your Inbox (homepage) , - Images & Documents - Insert photos, screenshots, movies, PDFs, or more, using copy/paste, drag/drop, or the attach - button. + Inbox - Your personalized dashboard with action items and reminders + , + + Reports - Access all your expense reports and filtering tools , - Expenses - Share an expense in the chat, either to simply track and document it, or to submit for reimbursement. + Workspaces - Manage company and personal workspace settings , - Tasks - Record a task, and optionally assign it to someone (or yourself!). + Account - Personal settings, profile, and preferences + , + + Global Create button - Quick access to create reports, expenses, invoices, and chats , ]} /> - Actions - Hover (or long press) on a comment to see additional options, including: + Inbox Overview + + Your Inbox serves as the homepage and shows: + + Smart reminders to submit, approve, or reconcile expenses, + Real-time updates on recent actions and flagged reports, + List of chats with other employees in your organization, + Personalized action items based on your role and activity, + ]} + /> + Chat Features + Every expense, report, or workspace has an associated chat for collaboration: - React - Throw a ♥️😂🔥 like on anything! + Text messages with rich formatting support , - Reply in thread - Go deeper by creating a new chat on any comment. + Images & Documents via copy/paste, drag/drop, or attach button , - Mark unread - Flag it for reading later, at your convenience. + Expenses to track and submit for reimbursement , - ]} - /> - Composer - Use the composer at the bottom to write new messages: - - Markdown - Format text using bold, italics, - and{' '} - - more - - . + Tasks to assign and manage work items , - Mention - Invite or tag anyone in the world to any chat by putting an @ in front of their email address or phone number - (e.g., @awong@marslink.web, or @415-867-5309). + Mentions to invite anyone by email or phone number , ]} /> - - Inbox - The Inbox is a prioritized “to do” list, highlighting exactly what you need to do next. It consists of: - Priorities - At the top of the Inbox are the most important tasks you should do first, which include: + Reports Section + + The Reports tab consolidates filtering and reporting: + Expense reports waiting on you, - Tasks assigned to you, - Chats that have mentioned you, - Anything you have pinned, + + Use the Workspace filter inside the Filters menu to refine results + , + Apply filters and queries that update automatically, + View all expense reports across your workspaces, ]} /> - Chats - Beneath the priorities are a list of chats (with unread chats highlighted in bold), in one of two view modes: + Quick Actions + + Use the green Create button to quickly: + - Most Recent - Lists every chat, ordered by whichever was most recently active. - , - - Focus - Only lists chats with unread messages, sorted alphabetically. - , + Start a new chat or conversation, + Create an expense report, + Add an expense or receipt, + Create a task or invoice, + Submit expenses for approval, ]} /> + + + Tip: Navigation is consistent across web, mobile, and desktop versions of Expensify. + ), }, @@ -579,6 +581,72 @@ const helpContentMap: HelpContent = { }, settings: { children: { + preferences: { + content: ({styles}: {styles: ThemeStyles}) => ( + + Preferences + Customize your Expensify experience with these preference settings: + Theme + Change the app’s appearance to suit your preference: + + Dark Mode - Easy on the eyes in low-light environments + , + + Light Mode - Bright, clean interface for well-lit spaces + , + + Use Device Settings - Automatically match your device’s theme + , + ]} + /> + + To change your theme: + + + Language + Expensify supports multiple languages including: + English, Español, Deutsch, Français, Italiano, + 日本語, Nederlands, Polski, Português (BR), + 中文 (简体), + ]} + /> + + To change your language: + + + Notifications + Control how and when you receive updates: + + Receive relevant feature updates and Expensify news + , + + Mute all sounds from Expensify + , + ]} + /> + + To manage notifications: + + + Payment Currency + Set your default currency for expense tracking and reimbursements. + + + Note: Preference changes only affect your personal account view. Workspace members must update their own settings + individually. + + + ), + }, workspaces: { children: { ':policyID': { @@ -748,7 +816,7 @@ const helpContentMap: HelpContent = { Alternative: Share workspace URL or QR code from{' '} - Settings > Profile > Share + Settings > Profile > Share Managing Members @@ -797,156 +865,118 @@ const helpContentMap: HelpContent = { ), }, }, - content: ({styles}: {styles: ThemeStyles}) => ( - - Workspace - This is where you configure all the settings of the many features associated with your workspace. - Default features - Here are the features that are enabled by default: - - Overview - Configure how it appears to others. - , - - Members - Add/remove members and admins. - , - - Workflows - Configure submission, approval, and reimbursement. - , - - Categories - Group expenses into a chart of accounts. - , - - Expensify Card - Issue native Expensify Cards to employees. - , - - Accounting - Sync with external accounting systems. - , - ]} - /> - Optional features - These can be enabled via More Features: - - Distance rates - Configure mileage reimbursement. - , - - Company card - Connect and manage third-party corporate card feeds. - , - - Per diem - Configure daily rates. - , - - Rules - Customize expense violations and set policy. - , - - Invoices - Collect revenue from customers. - , - - Tags - Group expenses by project or client. - , - - Taxes - Track VAT and other taxes. - , - - Report fields - Capture extra expense report information. - , - ]} - /> - - ), }, }, content: ({styles}: {styles: ThemeStyles}) => ( - Workspaces - Workspaces allow for a wide range of features, including: + Workspaces 101 + + Think of a workspace as mission control for your company’s expenses. It’s where you set the rules, invite the team, and connect to your accounting tools. Each + workspace runs independently, so you can keep things tidy across departments, entities, or clients. + + Create a new workspace + + Hit the New workspace button to get started. Add a name, set a default currency, and you’re ready to get started + customizing the workspace settings! + + Invite your team + Add teammates to your workspace to manage expenses and approvals in one central place: + Members can submit and approve reports they’re assigned to., + Admins can approve all reports and manage workspace settings., + ]} + /> + Automate approvals + + Toggle on Add Approvals under Workflows to set a default first approver. Create + custom approval flows for individual team members if needed. + + Connect your accounting system + Link your workspace with QuickBooks Online, Xero, NetSuite, or Sage Intacct to sync expenses like a pro. + Enhance your workspace with extra features + + Under More Features, enable extras like the Expensify Card, distance rates, custom categories and tags, and company card + connections. + + + + Tip: If you manage multiple departments, clients, or entities, consider creating multiple workspaces. Separate workspaces + can help keep settings, approvals, and payments organized and more automated. + + + ), + }, + wallet: { + content: ({styles}: {styles: ThemeStyles}) => ( + + Business Bank Accounts + + Connect a verified business bank account to unlock payment features like reimbursements, bill pay, invoice collections, and Expensify Card issuance. Supported + currencies: USD, CAD, GBP, EUR, and AUD. + + Getting Started + Enable Payment Features + + Connect Your Bank Account + + What You Can Do + Once your account is verified, you’ll be able to: - Categorize and submit expenses - , - - Approve and reimburse expenses - , - - Sync with accounting packages + Reimburse employees via ACH , - Connect to company card feeds + Pay vendors and suppliers , - Manage Expensify Cards + Issue Expensify Cards to your team , - Chat with colleagues, partners, and clients + Collect invoice payments from clients , - … and lots more!, ]} /> - Workspaces come in two variations: + Sharing Access + + + Heads up: Your bank account must be fully verified before any payment features go live. The process usually takes 1–2 + business days. + + + Personal Bank Accounts + + Add your personal bank account to get reimbursed or paid — no paper checks, no waiting around. Expensify supports banks in over 190 countries. + + Adding a Personal Bank Account + + What You Can Do - Collect workspaces start at $5/member, and include all the basics for running a small business. + Get reimbursed for expense reports + , + + Receive invoice payments , - Control workspaces start at $9/member, and provide advanced capabilities, more powerful accounting sync, and more - sophisticated approval flows. + Use multi-currency support to get paid in your local currency , ]} /> - - In general you would create one Workspace for each company you manage. You can create and join as many workspaces as you like. + + + Heads up: Personal accounts are for receiving funds only. If you want to send payments or issue Expensify Cards, you’ll + need to connect a verified business bank account. ), }, }, - content: ({styles}: {styles: ThemeStyles}) => ( - - Settings - Here is where you configure Expensify exactly to your specifications: - - Profile - Configure how you appear to others. - , - - Wallet - See and manage your credit cards and bank accounts. - , - - Preferences - Adjust how the app works for you. - , - - Security - Lock down how you and others access your account. - , - - Workspaces - Organize expenses for yourself and share with others. - , - - Subscriptions - Manage payment details and history. - , - - Domains - Advanced security and corporate card configuration. - , - - Switch to Expensify Classic - Battle tested and reliable. - , - - Save the World - Let Expensify.org help your favorite teacher! - , - ]} - /> - - ), }, search: { content: ({styles}: {styles: ThemeStyles}) => ( From 5c5c709e3513dc89448896c6a963d90583f036cd Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Fri, 4 Jul 2025 17:46:58 +0200 Subject: [PATCH 24/26] update rb script, regenerate tsx map and add missing folder --- help/_plugins/SitePostRender.rb | 113 +- .../:policyID/more-features/index.md | 0 .../:policyID/reportFields/index.md | 0 .../workspaces/:policyID/reports/index.md | 1 - .../SidePanel/HelpContent/helpContentMap.tsx | 1372 +++++++++-------- 5 files changed, 774 insertions(+), 712 deletions(-) create mode 100644 help/ref/settings/workspaces/:policyID/more-features/index.md create mode 100644 help/ref/settings/workspaces/:policyID/reportFields/index.md delete mode 100644 help/ref/settings/workspaces/:policyID/reports/index.md diff --git a/help/_plugins/SitePostRender.rb b/help/_plugins/SitePostRender.rb index cfc06404436ca..59bfc23428291 100644 --- a/help/_plugins/SitePostRender.rb +++ b/help/_plugins/SitePostRender.rb @@ -83,7 +83,7 @@ def self.generate_help_content(site) output_dir = File.join(site.source, "_src") FileUtils.mkdir_p(output_dir) unless Dir.exist?(output_dir) - + output_file = File.join(output_dir, "helpContentMap.tsx") help_content_tree = generate_help_content_tree() @@ -91,46 +91,46 @@ def self.generate_help_content(site) help_content_string = to_ts_object(help_content_tree) components = analyze_used_components(help_content_string) - + # Generate the import block import_block = generate_imports(components) ts_output = generate_ts_output(import_block, help_content_string) - + File.write(output_file, ts_output) puts "✅ Successfully generated helpContent.tsx" end - def self.analyze_used_components(content) - components = { - 'View' => content.include?(' content.include?(' content.include?(' content.include?(' content.include?(' content.include?(' content.include?(' content.include?(' ( #{jsx_content} ) TS end - + current = current[:children][part_key] end end - + tree[:content] = <<~JSX () => null JSX tree end - + def self.html_node_to_RN(node, indent_level = 0) node_processors = { 'div' => method(:process_div), @@ -227,12 +228,12 @@ def self.process_div(node, indent_level) next if child.text? && child.text.strip.empty? html_node_to_RN(child, indent_level + 1) end.compact.join("\n") - + "#{' ' * indent_level}\n#{children}\n#{' ' * indent_level}" end def self.process_heading(node, indent_level) - return "#{' ' * indent_level}#{node.text.strip}" + return "#{' ' * indent_level}#{CGI.escapeHTML(node.text).strip}" end def self.process_unordered_list(node, indent_level) @@ -240,13 +241,13 @@ def self.process_unordered_list(node, indent_level) contains_ul = li.xpath('.//ul').any? li_parts = li.children.map { |child| html_node_to_RN(child, 0) } - + if contains_ul indented_li_parts = li_parts.map do |part| part.lines.map { |line| "#{' ' * (indent_level + 3)}#{line.rstrip}" }.join("\n") end.join("\n") - + "#{' ' * (indent_level + 2)}<>\n#{indented_li_parts}\n#{' ' * (indent_level + 2)}" else "#{' ' * (indent_level + 2)}#{li_parts.join}" @@ -269,20 +270,20 @@ def self.process_list_item(node, indent_level) def self.process_paragraph(node, indent_level) inner = node.children.map { |c| html_node_to_RN(c, indent_level + 1) }.join - + style_classes = ['styles.textNormal'] style_classes << 'styles.mt4' if node.previous_element&.name == 'ul' style_classes << 'styles.mb4' if node.next_element&.name == 'p' - + "#{' ' * indent_level}#{inner.strip}" end def self.process_bold(node, indent_level) - "#{node.text}" + "#{CGI.escapeHTML(CGI.escapeHTML(node.text))}" end def self.process_italic(node, indent_level) - "#{node.text}" + "#{CGI.escapeHTML(node.text)}" end def self.process_link(node, indent_level) @@ -292,7 +293,7 @@ def self.process_link(node, indent_level) end def self.process_text(node, indent_level) - node.text + CGI.escapeHTML(node.text) end def self.process_default(node, indent_level) @@ -311,16 +312,16 @@ def self.to_ts_object(obj, indent = 0) if obj.is_a?(Array) items = obj.map { |item| to_ts_object(item, indent + 1) } return "[]" if items.empty? - - return "[\n" + - items.map { |item| "#{spacing} #{item}" }.join(",\n") + + + return "[\n" + + items.map { |item| "#{spacing} #{item}" }.join(",\n") + "\n#{spacing}]" end - + obj.each do |key, value| key_str = key.is_a?(Symbol) ? key.to_s : key.inspect key_line_prefix = ' ' * (indent + 1) + "#{key_str}: " - + if value.is_a?(Hash) || value.is_a?(Array) nested = to_ts_object(value, indent + 1) lines << key_line_prefix + nested + "," @@ -333,11 +334,11 @@ def self.to_ts_object(obj, indent = 0) lines << key_line_prefix + value.inspect + "," end end - + lines << ' ' * indent + "}" lines.join("\n") end - + end end diff --git a/help/ref/settings/workspaces/:policyID/more-features/index.md b/help/ref/settings/workspaces/:policyID/more-features/index.md new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/help/ref/settings/workspaces/:policyID/reportFields/index.md b/help/ref/settings/workspaces/:policyID/reportFields/index.md new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/help/ref/settings/workspaces/:policyID/reports/index.md b/help/ref/settings/workspaces/:policyID/reports/index.md deleted file mode 100644 index 8b137891791fe..0000000000000 --- a/help/ref/settings/workspaces/:policyID/reports/index.md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/components/SidePanel/HelpContent/helpContentMap.tsx b/src/components/SidePanel/HelpContent/helpContentMap.tsx index 908225d3e4684..dab94f3819e03 100644 --- a/src/components/SidePanel/HelpContent/helpContentMap.tsx +++ b/src/components/SidePanel/HelpContent/helpContentMap.tsx @@ -24,563 +24,76 @@ type HelpContent = { const helpContentMap: HelpContent = { children: { - home: { - content: ({styles}: {styles: ThemeStyles}) => ( - - Navigating Expensify - Get familiar with Expensify’s intuitive navigation system designed for easy access to all your tools. - Left-hand Navigation Bar - - The vertical left-hand bar is your main navigation hub: - - - Expensify logo - Click to return to your Inbox (homepage) - , - - Inbox - Your personalized dashboard with action items and reminders - , - - Reports - Access all your expense reports and filtering tools - , - - Workspaces - Manage company and personal workspace settings - , - - Account - Personal settings, profile, and preferences - , - - Global Create button - Quick access to create reports, expenses, invoices, and chats - , - ]} - /> - Inbox Overview - - Your Inbox serves as the homepage and shows: - - Smart reminders to submit, approve, or reconcile expenses, - Real-time updates on recent actions and flagged reports, - List of chats with other employees in your organization, - Personalized action items based on your role and activity, - ]} - /> - Chat Features - Every expense, report, or workspace has an associated chat for collaboration: - - Text messages with rich formatting support - , - - Images & Documents via copy/paste, drag/drop, or attach button - , - - Expenses to track and submit for reimbursement - , - - Tasks to assign and manage work items - , - - Mentions to invite anyone by email or phone number - , - ]} - /> - Reports Section - - The Reports tab consolidates filtering and reporting: - - - Use the Workspace filter inside the Filters menu to refine results - , - Apply filters and queries that update automatically, - View all expense reports across your workspaces, - ]} - /> - Quick Actions - - Use the green Create button to quickly: - - Start a new chat or conversation, - Create an expense report, - Add an expense or receipt, - Create a task or invoice, - Submit expenses for approval, - ]} - /> - - - Tip: Navigation is consistent across web, mobile, and desktop versions of Expensify. - - - ), - }, - ':action': { - children: { - ':iouType': { - children: { - start: { - children: { - ':transactionID': { - children: { - ':reportID': { - children: { - distance: { - children: { - ':backToReport': { - content: ({styles}: {styles: ThemeStyles}) => ( - - Distance Expense - - Easily track mileage costs using Expensify’s built-in map feature. Create and submit distance-based expenses right - from the web, desktop, or mobile app. - - - - Create distance expenses: Click the green + button and choose Create - expense, then select Distance. Enter your starting point and destination. You can also add stops if - needed. - - , - - - Submit for approval: Choose your workspace and confirm the distance, - amount, and date. Add optional notes or categories, then click Create expense to submit the mileage - expense for approval. - - , - - - Log a round-trip: To log a round-trip, use the same location for both - start and finish, and include any stops along the way. - - , - ]} - /> - - ), - }, - }, - }, - scan: { - children: { - ':backToReport': { - content: ({styles}: {styles: ThemeStyles}) => ( - - Scan Receipt - SmartScan automatically extracts expense details from receipt images. - How to Scan - - What SmartScan Detects - - Amount and currency - , - - Merchant name and location - , - - Date of purchase - , - - Tax information (when visible) - , - - Category suggestions based on merchant type - , - ]} - /> - Supported Receipt Types - - Photos - Take with your device camera - , - - Email receipts - Forward to receipts@expensify.com - , - - PDF receipts - Upload from your device - , - - Screenshots - From apps or websites - , - ]} - /> - Tips for Best Results - Ensure receipt text is clear and readable, - Include the full receipt in the image, - Good lighting improves accuracy, - Straight angles work better than tilted photos, - ]} - /> - After Scanning - Review extracted details for accuracy, - Add description, category, or tags as needed, - SmartScan learns from your corrections, - ]} - /> - Related Links - - - Create an Expense - - , - - - Free Features in Expensify - - , - ]} - /> - - ), - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - r: { - children: { - ':concierge': { - content: ({styles}: {styles: ThemeStyles}) => ( - - Concierge - - Concierge is available 24/7 to answer any question you have about anything — whether that’s how to get set up, how to fix a problem, or general best - practices. Concierge is a bot, but it’s really smart and can escalate you to a human whenever you want. Say hi — it’s friendly! - - - ), - }, - ':expense': { - children: { - ':scan': { - content: ({styles}: {styles: ThemeStyles}) => ( - - Scanned - A “scanned” expense was created by extracting the relevant details using the Concierge AI. - - ), - }, - ':manual': { - content: ({styles}: {styles: ThemeStyles}) => ( - - Manual - - A “manual” expense has had all its details specified by the workspace member. It was not imported from any system, or scanned from a receipt. - - - ), - }, - ':pendingExpensifyCard': { - content: ({styles}: {styles: ThemeStyles}) => ( - - Expensify Card (pending) - - A “pending” Expensify Card expense represents a purchase that was recently made on the card, but has not yet “posted” – meaning, it has not been - formally recognized as a final, complete transaction. - - Any changes made to this expense will be preserved when the expense posts, typically 2-7 days later. - Pending transactions cannot be approved, as the final expense amount will not be confirmed until it posts. - - ), - }, - ':expensifyCard': { - content: ({styles}: {styles: ThemeStyles}) => ( - - Expensify Card - An “Expensify Card” expense corresponds to a “posted” (meaning, finalized by the bank) purchase. - - Expensify Card expenses cannot be reimbursed as they are centrally paid by the bank account linked to the workspace. - - - ), - }, - }, - content: ({styles}: {styles: ThemeStyles}) => ( - - Expense - Every expense gets a dedicated chat to discuss that specific expense. The expense consists of: - - Receipt – Attach a photo or document to this expense. - , - - Amount – The financial total of this transaction. - , - - Description – A general explanation of what this expense was for. - , - - Merchant – The business this purchase was made at. - , - - Date – The day on which the purchase was made. - , - ]} - /> - - The expense chat is shared with everyone in the approval flow, and will maintain an audit trail of all historical changes. - - - ), - }, - ':policyAdmins': { - content: ({styles}: {styles: ThemeStyles}) => ( - - #admins - - Every workspace automatically receives a special #admins chat room. Every admin is automatically added to this room as a member. The #admins room is used for - several purposes: - - - - Talking with Concierge, your setup specialist, or your account manager – When you first create the workspace, - Concierge and a setup specialist will be added. Feel free to ask any setup questions you have about how to configure the workspace, onboard your - team, connect your accounting, or anything else you might need. - - , - - - Monitoring workspace changes – Every #admins room shows an audit trail of any configuration changes or - significant events happening inside the workspace. - - , - - - Chatting with other admins – The #admins room is a useful space for workspace admins to chat with each other - about anything, whether or not it relates to Expensify. - - , - ]} - /> - - ), - }, - ':policyExpenseChat': { - content: ({styles}: {styles: ThemeStyles}) => ( - - Workspace - - Every workspace member gets a special chat between them and all workspace admins. This is a good place for workspace members to ask questions about expense - policy, for workspace admins to explain changes, or for any “formal” conversation to occur between members and admins. Press the attach button to: - - - Create expense – This will submit an expense to the workspace for reimbursement. - , - - Split expense – This will split an expense between the member and the workspace (e.g., for a business meal that - brings a spouse). - , - ]} - /> - All past expense reports are processed here and stored for historical reference. - - ), - }, - ':policyAnnounce': { - content: ({styles}: {styles: ThemeStyles}) => ( - - Announce Room (#announce) - - The #announce room is a chat space available to all workspace members. It’s perfect for sharing company-wide updates, policy changes, or event reminders. The - #announce room is accessible from your Inbox in the left-hand menu. - - - - Post company-wide announcements: All members can post in #announce by default, making it easy to communicate - across the workspace. - - , - - - Restrict posting to admins: Workspace admins can limit posting to admins only. Open the #announce room, click - the room header, select Settings, and change Who can post to Admins only. - - , - - - Everyone can read messages: Even if posting is limited to admins, all workspace members can still view - messages in the #announce room. - - , - ]} - /> - - ), - }, - ':expenseReport': { - content: ({styles}: {styles: ThemeStyles}) => ( - - Expense Report - Every expense report gets a dedicated chat to discuss expenses, approvals, or anything you like. The expense report chat: - Is shared with everyone in the approval flow configured inside the workspace., - Will maintain an audit trail of all historical workflow actions (i.e., approvals)., - ]} - /> - - Press the attach button to add more expenses, or press the header for more options. Press on any expense to go deeper. - - - ), - }, - }, - content: ({styles}: {styles: ThemeStyles}) => ( - - Chat - - Chat is the foundation of New Expensify. Every expense, expense report, workspace, or member has an associated “chat”, which you can use to record additional details, - or collaborate with others. Every chat has the following components: - - Header - - This shows who you are chatting with (or what you are chatting about). You can press the header for more details on the chat, or additional actions to take upon it. - - Comments - The core of the chat are its comments, which come in many forms: - - Text – Rich text messages stored securely and delivered via web, app, email, or SMS. - , - - Images & Documents – Insert photos, screenshots, movies, PDFs, or more, using copy/paste, drag/drop, or the attach - button. - , - - Expenses – Share an expense in the chat, either to simply track and document it, or to submit for reimbursement. - , - - Tasks – Record a task, and optionally assign it to someone (or yourself!). - , - ]} - /> - Actions - Hover (or long press) on a comment to see additional options, including: - - React – Throw a ♥️😂🔥 like on anything! - , - - Reply in thread – Go deeper by creating a new chat on any comment. - , - - Mark unread – Flag it for reading later, at your convenience. - , - ]} - /> - Composer - Use the composer at the bottom to write new messages: - - Markdown – Format text using bold, italics, - and{' '} - - more - - . - , - - Mention – Invite or tag anyone in the world to any chat by putting an @ in front of their email address or phone number - (e.g., @awong@marslink.web, or @415-867-5309). - , - ]} - /> - - Inbox - The Inbox is a prioritized “to do” list, highlighting exactly what you need to do next. It consists of: - Priorities - At the top of the Inbox are the most important tasks you should do first, which include: - Expense reports waiting on you, - Tasks assigned to you, - Chats that have mentioned you, - Anything you have pinned, - ]} - /> - Chats - Beneath the priorities are a list of chats (with unread chats highlighted in bold), in one of two view modes: - - Most Recent – Lists every chat, ordered by whichever was most recently active. - , - - Focus – Only lists chats with unread messages, sorted alphabetically. - , - ]} - /> - - ), - }, settings: { children: { + wallet: { + content: ({styles}: {styles: ThemeStyles}) => ( + + Business Bank Accounts + + Connect a verified business bank account to unlock payment features like reimbursements, bill pay, invoice collections, and Expensify Card issuance. Supported + currencies: USD, CAD, GBP, EUR, and AUD. + + Getting Started + Enable Payment Features + + Connect Your Bank Account + + What You Can Do + Once your account is verified, you’ll be able to: + + Reimburse employees via ACH + , + + Pay vendors and suppliers + , + + Issue Expensify Cards to your team + , + + Collect invoice payments from clients + , + ]} + /> + Sharing Access + + + Heads up: Your bank account must be fully verified before any payment features go live. The process usually takes 1–2 + business days. + + + Personal Bank Accounts + + Add your personal bank account to get reimbursed or paid — no paper checks, no waiting around. Expensify supports banks in over 190 countries. + + Adding a Personal Bank Account + + What You Can Do + + Get reimbursed for expense reports + , + + Receive invoice payments + , + + Use multi-currency support to get paid in your local currency + , + ]} + /> + + + Heads up: Personal accounts are for receiving funds only. If you want to send payments or issue Expensify Cards, you’ll + need to connect a verified business bank account. + + + ), + }, preferences: { content: ({styles}: {styles: ThemeStyles}) => ( @@ -816,7 +329,7 @@ const helpContentMap: HelpContent = { Alternative: Share workspace URL or QR code from{' '} - Settings > Profile > Share + Settings &gt; Profile &gt; Share Managing Members @@ -827,156 +340,705 @@ const helpContentMap: HelpContent = { Remove Member: - - Bulk Actions: - - Select multiple members with checkboxes, - Use dropdown to remove or modify multiple members, - ]} - /> - Transfer Ownership + + Bulk Actions: + + Select multiple members with checkboxes, + Use dropdown to remove or modify multiple members, + ]} + /> + Transfer Ownership + + Related Links + + + Managing Workspace Members + + , + + + Add Approvals + + , + ]} + /> + + ), + }, + }, + content: ({styles}: {styles: ThemeStyles}) => ( + + Workspace + This is where you configure all the settings of the many features associated with your workspace. + Default features + Here are the features that are enabled by default: + + Overview - Configure how it appears to others. + , + + Members - Add/remove members and admins. + , + + Workflows - Configure submission, approval, and reimbursement. + , + + Categories - Group expenses into a chart of accounts. + , + + Expensify Card - Issue native Expensify Cards to employees. + , + + Accounting - Sync with external accounting systems. + , + ]} + /> + Optional features + These can be enabled via More Features: + + Distance rates - Configure mileage reimbursement. + , + + Company card - Connect and manage third-party corporate card feeds. + , + + Per diem - Configure daily rates. + , + + Rules - Customize expense violations and set policy. + , + + Invoices - Collect revenue from customers. + , + + Tags - Group expenses by project or client. + , + + Taxes - Track VAT and other taxes. + , + + Report fields - Capture extra expense report information. + , + ]} + /> + + ), + }, + }, + content: ({styles}: {styles: ThemeStyles}) => ( + + Workspaces 101 + + Think of a workspace as mission control for your company’s expenses. It’s where you set the rules, invite the team, and connect to your accounting tools. Each + workspace runs independently, so you can keep things tidy across departments, entities, or clients. + + Create a new workspace + + Hit the New workspace button to get started. Add a name, set a default currency, and you’re ready to get started + customizing the workspace settings! + + Invite your team + Add teammates to your workspace to manage expenses and approvals in one central place: + Members can submit and approve reports they’re assigned to., + Admins can approve all reports and manage workspace settings., + ]} + /> + Automate approvals + + Toggle on Add Approvals under Workflows to set a default first approver. Create + custom approval flows for individual team members if needed. + + Connect your accounting system + Link your workspace with QuickBooks Online, Xero, NetSuite, or Sage Intacct to sync expenses like a pro. + Enhance your workspace with extra features + + Under More Features, enable extras like the Expensify Card, distance rates, custom categories and tags, and company card + connections. + + + + Tip: If you manage multiple departments, clients, or entities, consider creating multiple workspaces. Separate workspaces + can help keep settings, approvals, and payments organized and more automated. + + + ), + }, + }, + }, + home: { + content: ({styles}: {styles: ThemeStyles}) => ( + + Navigating Expensify + Get familiar with Expensify’s intuitive navigation system designed for easy access to all your tools. + Left-hand Navigation Bar + + The vertical left-hand bar is your main navigation hub: + + + Expensify logo - Click to return to your Inbox (homepage) + , + + Inbox - Your personalized dashboard with action items and reminders + , + + Reports - Access all your expense reports and filtering tools + , + + Workspaces - Manage company and personal workspace settings + , + + Account - Personal settings, profile, and preferences + , + + Global Create button - Quick access to create reports, expenses, invoices, and chats + , + ]} + /> + Inbox Overview + + Your Inbox serves as the homepage and shows: + + Smart reminders to submit, approve, or reconcile expenses, + Real-time updates on recent actions and flagged reports, + List of chats with other employees in your organization, + Personalized action items based on your role and activity, + ]} + /> + Chat Features + Every expense, report, or workspace has an associated chat for collaboration: + + Text messages with rich formatting support + , + + Images &amp; Documents via copy/paste, drag/drop, or attach button + , + + Expenses to track and submit for reimbursement + , + + Tasks to assign and manage work items + , + + Mentions to invite anyone by email or phone number + , + ]} + /> + Reports Section + + The Reports tab consolidates filtering and reporting: + + + Use the Workspace filter inside the Filters menu to refine results + , + Apply filters and queries that update automatically, + View all expense reports across your workspaces, + ]} + /> + Quick Actions + + Use the green Create button to quickly: + + Start a new chat or conversation, + Create an expense report, + Add an expense or receipt, + Create a task or invoice, + Submit expenses for approval, + ]} + /> + + + Tip: Navigation is consistent across web, mobile, and desktop versions of Expensify. + + + ), + }, + ':action': { + children: { + ':iouType': { + children: { + start: { + children: { + ':transactionID': { + children: { + ':reportID': { + children: { + distance: { + children: { + ':backToReport': { + content: ({styles}: {styles: ThemeStyles}) => ( + + Distance Expense + + Easily track mileage costs using Expensify’s built-in map feature. Create and submit distance-based expenses right + from the web, desktop, or mobile app. + + + + Create distance expenses: Click the green + button and choose Create + expense, then select Distance. Enter your starting point and destination. You can also add stops if + needed. + + , + + + Submit for approval: Choose your workspace and confirm the distance, + amount, and date. Add optional notes or categories, then click Create expense to submit the mileage + expense for approval. + + , + + + Log a round-trip: To log a round-trip, use the same location for both + start and finish, and include any stops along the way. + + , + ]} + /> + + ), + }, + }, + }, + scan: { + children: { + ':backToReport': { + content: ({styles}: {styles: ThemeStyles}) => ( + + Scan Receipt + SmartScan automatically extracts expense details from receipt images. + How to Scan - Related Links - - - Managing Workspace Members - - , - - - Add Approvals - - , - ]} - /> - - ), + What SmartScan Detects + + Amount and currency + , + + Merchant name and location + , + + Date of purchase + , + + Tax information (when visible) + , + + Category suggestions based on merchant type + , + ]} + /> + Supported Receipt Types + + Photos - Take with your device camera + , + + Email receipts - Forward to receipts@expensify.com + , + + PDF receipts - Upload from your device + , + + Screenshots - From apps or websites + , + ]} + /> + Tips for Best Results + Ensure receipt text is clear and readable, + Include the full receipt in the image, + Good lighting improves accuracy, + Straight angles work better than tilted photos, + ]} + /> + After Scanning + Review extracted details for accuracy, + Add description, category, or tags as needed, + SmartScan learns from your corrections, + ]} + /> + Related Links + + + Create an Expense + + , + + + Free Features in Expensify + + , + ]} + /> + + ), + }, + }, + }, + }, + }, + }, }, }, }, }, + }, + }, + }, + r: { + children: { + ':concierge': { + content: ({styles}: {styles: ThemeStyles}) => ( + + Concierge + + Concierge is available 24/7 to answer any question you have about anything — whether that’s how to get set up, how to fix a problem, or general best + practices. Concierge is a bot, but it’s really smart and can escalate you to a human whenever you want. Say hi — it’s friendly! + + + ), + }, + ':expense': { + children: { + ':scan': { + content: ({styles}: {styles: ThemeStyles}) => ( + + Scanned + A “scanned” expense was created by extracting the relevant details using the Concierge AI. + + ), + }, + ':manual': { + content: ({styles}: {styles: ThemeStyles}) => ( + + Manual + + A “manual” expense has had all its details specified by the workspace member. It was not imported from any system, or scanned from a receipt. + + + ), + }, + ':pendingExpensifyCard': { + content: ({styles}: {styles: ThemeStyles}) => ( + + Expensify Card (pending) + + A “pending” Expensify Card expense represents a purchase that was recently made on the card, but has not yet “posted” – meaning, it has not been + formally recognized as a final, complete transaction. + + Any changes made to this expense will be preserved when the expense posts, typically 2-7 days later. + Pending transactions cannot be approved, as the final expense amount will not be confirmed until it posts. + + ), + }, + ':expensifyCard': { + content: ({styles}: {styles: ThemeStyles}) => ( + + Expensify Card + An “Expensify Card” expense corresponds to a “posted” (meaning, finalized by the bank) purchase. + + Expensify Card expenses cannot be reimbursed as they are centrally paid by the bank account linked to the workspace. + + + ), + }, + }, content: ({styles}: {styles: ThemeStyles}) => ( - Workspaces 101 - - Think of a workspace as mission control for your company’s expenses. It’s where you set the rules, invite the team, and connect to your accounting tools. Each - workspace runs independently, so you can keep things tidy across departments, entities, or clients. - - Create a new workspace - - Hit the New workspace button to get started. Add a name, set a default currency, and you’re ready to get started - customizing the workspace settings! - - Invite your team - Add teammates to your workspace to manage expenses and approvals in one central place: + Expense + Every expense gets a dedicated chat to discuss that specific expense. The expense consists of: Members can submit and approve reports they’re assigned to., - Admins can approve all reports and manage workspace settings., + + Receipt – Attach a photo or document to this expense. + , + + Amount – The financial total of this transaction. + , + + Description – A general explanation of what this expense was for. + , + + Merchant – The business this purchase was made at. + , + + Date – The day on which the purchase was made. + , ]} /> - Automate approvals - - Toggle on Add Approvals under Workflows to set a default first approver. Create - custom approval flows for individual team members if needed. - - Connect your accounting system - Link your workspace with QuickBooks Online, Xero, NetSuite, or Sage Intacct to sync expenses like a pro. - Enhance your workspace with extra features - - Under More Features, enable extras like the Expensify Card, distance rates, custom categories and tags, and company card - connections. + + The expense chat is shared with everyone in the approval flow, and will maintain an audit trail of all historical changes. - - - Tip: If you manage multiple departments, clients, or entities, consider creating multiple workspaces. Separate workspaces - can help keep settings, approvals, and payments organized and more automated. + + ), + }, + ':expenseReport': { + content: ({styles}: {styles: ThemeStyles}) => ( + + Expense Report + Every expense report gets a dedicated chat to discuss expenses, approvals, or anything you like. The expense report chat: + Is shared with everyone in the approval flow configured inside the workspace., + Will maintain an audit trail of all historical workflow actions (i.e., approvals)., + ]} + /> + + Press the attach button to add more expenses, or press the header for more options. Press on any expense to go deeper. ), }, - wallet: { + ':policyExpenseChat': { content: ({styles}: {styles: ThemeStyles}) => ( - Business Bank Accounts + Workspace - Connect a verified business bank account to unlock payment features like reimbursements, bill pay, invoice collections, and Expensify Card issuance. Supported - currencies: USD, CAD, GBP, EUR, and AUD. + Every workspace member gets a special chat between them and all workspace admins. This is a good place for workspace members to ask questions about expense + policy, for workspace admins to explain changes, or for any “formal” conversation to occur between members and admins. Press the attach button to: - Getting Started - Enable Payment Features - - Connect Your Bank Account - - What You Can Do - Once your account is verified, you’ll be able to: - Reimburse employees via ACH + Create expense – This will submit an expense to the workspace for reimbursement. , - Pay vendors and suppliers + Split expense – This will split an expense between the member and the workspace (e.g., for a business meal that + brings a spouse). + , + ]} + /> + All past expense reports are processed here and stored for historical reference. + + ), + }, + ':policyAnnounce': { + content: ({styles}: {styles: ThemeStyles}) => ( + + Announce Room (#announce) + + The #announce room is a chat space available to all workspace members. It’s perfect for sharing company-wide updates, policy changes, or event reminders. The + #announce room is accessible from your Inbox in the left-hand menu. + + + + Post company-wide announcements: All members can post in #announce by default, making it easy to communicate + across the workspace. + , - Issue Expensify Cards to your team + + Restrict posting to admins: Workspace admins can limit posting to admins only. Open the #announce room, click + the room header, select Settings, and change Who can post to Admins only. + , - Collect invoice payments from clients + + Everyone can read messages: Even if posting is limited to admins, all workspace members can still view + messages in the #announce room. + , ]} /> - Sharing Access - - - Heads up: Your bank account must be fully verified before any payment features go live. The process usually takes 1–2 - business days. - - - Personal Bank Accounts + + ), + }, + ':policyAdmins': { + content: ({styles}: {styles: ThemeStyles}) => ( + + #admins - Add your personal bank account to get reimbursed or paid — no paper checks, no waiting around. Expensify supports banks in over 190 countries. + Every workspace automatically receives a special #admins chat room. Every admin is automatically added to this room as a member. The #admins room is used for + several purposes: - Adding a Personal Bank Account - - What You Can Do - Get reimbursed for expense reports + + Talking with Concierge, your setup specialist, or your account manager – When you first create the workspace, + Concierge and a setup specialist will be added. Feel free to ask any setup questions you have about how to configure the workspace, onboard your + team, connect your accounting, or anything else you might need. + , - Receive invoice payments + + Monitoring workspace changes – Every #admins room shows an audit trail of any configuration changes or + significant events happening inside the workspace. + , - Use multi-currency support to get paid in your local currency + + Chatting with other admins – The #admins room is a useful space for workspace admins to chat with each other + about anything, whether or not it relates to Expensify. + , ]} /> - - - Heads up: Personal accounts are for receiving funds only. If you want to send payments or issue Expensify Cards, you’ll - need to connect a verified business bank account. - ), }, }, + content: ({styles}: {styles: ThemeStyles}) => ( + + Chat + + Chat is the foundation of New Expensify. Every expense, expense report, workspace, or member has an associated “chat”, which you can use to record additional details, + or collaborate with others. Every chat has the following components: + + Header + + This shows who you are chatting with (or what you are chatting about). You can press the header for more details on the chat, or additional actions to take upon it. + + Comments + The core of the chat are its comments, which come in many forms: + + Text – Rich text messages stored securely and delivered via web, app, email, or SMS. + , + + Images &amp; Documents – Insert photos, screenshots, movies, PDFs, or more, using copy/paste, drag/drop, or the + attach button. + , + + Expenses – Share an expense in the chat, either to simply track and document it, or to submit for reimbursement. + , + + Tasks – Record a task, and optionally assign it to someone (or yourself!). + , + ]} + /> + Actions + Hover (or long press) on a comment to see additional options, including: + + React – Throw a ♥️😂🔥 like on anything! + , + + Reply in thread – Go deeper by creating a new chat on any comment. + , + + Mark unread – Flag it for reading later, at your convenience. + , + ]} + /> + Composer + Use the composer at the bottom to write new messages: + + Markdown – Format text using bold, italics, + and{' '} + + more + + . + , + + Mention – Invite or tag anyone in the world to any chat by putting an @ in front of their email address or phone number + (e.g., @awong@marslink.web, or @415-867-5309). + , + ]} + /> + + Inbox + The Inbox is a prioritized “to do” list, highlighting exactly what you need to do next. It consists of: + Priorities + At the top of the Inbox are the most important tasks you should do first, which include: + Expense reports waiting on you, + Tasks assigned to you, + Chats that have mentioned you, + Anything you have pinned, + ]} + /> + Chats + Beneath the priorities are a list of chats (with unread chats highlighted in bold), in one of two view modes: + + Most Recent – Lists every chat, ordered by whichever was most recently active. + , + + Focus – Only lists chats with unread messages, sorted alphabetically. + , + ]} + /> + + ), }, search: { content: ({styles}: {styles: ThemeStyles}) => ( From fe69fb370629499cb15a4ad9d802a52baa44b15e Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Tue, 8 Jul 2025 22:25:38 +0200 Subject: [PATCH 25/26] refactor workspace directory --- .../workspaces/:policyID/categories/index.md | 0 .../:policyID/company-cards/index.md | 0 .../:policyID/distance-rates/index.md | 0 .../:policyID/expensify-card/index.md | 0 .../workspaces/:policyID/invoices/index.md | 0 .../:policyID/more-features/index.md | 0 .../workspaces/:policyID/overview/index.md | 0 .../workspaces/:policyID/per-diem/index.md | 0 .../:policyID/reportFields/index.md | 0 .../workspaces/:policyID/rules/index.md | 0 .../workspaces/:policyID/tags/index.md | 0 .../workspaces/:policyID/taxes/index.md | 0 .../workspaces/:policyID/workflows/index.md | 0 .../SidePanel/HelpContent/helpContentMap.tsx | 471 +++++++----------- 14 files changed, 178 insertions(+), 293 deletions(-) rename help/ref/{settings => }/workspaces/:policyID/categories/index.md (100%) rename help/ref/{settings => }/workspaces/:policyID/company-cards/index.md (100%) rename help/ref/{settings => }/workspaces/:policyID/distance-rates/index.md (100%) rename help/ref/{settings => }/workspaces/:policyID/expensify-card/index.md (100%) rename help/ref/{settings => }/workspaces/:policyID/invoices/index.md (100%) rename help/ref/{settings => }/workspaces/:policyID/more-features/index.md (100%) rename help/ref/{settings => }/workspaces/:policyID/overview/index.md (100%) rename help/ref/{settings => }/workspaces/:policyID/per-diem/index.md (100%) rename help/ref/{settings => }/workspaces/:policyID/reportFields/index.md (100%) rename help/ref/{settings => }/workspaces/:policyID/rules/index.md (100%) rename help/ref/{settings => }/workspaces/:policyID/tags/index.md (100%) rename help/ref/{settings => }/workspaces/:policyID/taxes/index.md (100%) rename help/ref/{settings => }/workspaces/:policyID/workflows/index.md (100%) diff --git a/help/ref/settings/workspaces/:policyID/categories/index.md b/help/ref/workspaces/:policyID/categories/index.md similarity index 100% rename from help/ref/settings/workspaces/:policyID/categories/index.md rename to help/ref/workspaces/:policyID/categories/index.md diff --git a/help/ref/settings/workspaces/:policyID/company-cards/index.md b/help/ref/workspaces/:policyID/company-cards/index.md similarity index 100% rename from help/ref/settings/workspaces/:policyID/company-cards/index.md rename to help/ref/workspaces/:policyID/company-cards/index.md diff --git a/help/ref/settings/workspaces/:policyID/distance-rates/index.md b/help/ref/workspaces/:policyID/distance-rates/index.md similarity index 100% rename from help/ref/settings/workspaces/:policyID/distance-rates/index.md rename to help/ref/workspaces/:policyID/distance-rates/index.md diff --git a/help/ref/settings/workspaces/:policyID/expensify-card/index.md b/help/ref/workspaces/:policyID/expensify-card/index.md similarity index 100% rename from help/ref/settings/workspaces/:policyID/expensify-card/index.md rename to help/ref/workspaces/:policyID/expensify-card/index.md diff --git a/help/ref/settings/workspaces/:policyID/invoices/index.md b/help/ref/workspaces/:policyID/invoices/index.md similarity index 100% rename from help/ref/settings/workspaces/:policyID/invoices/index.md rename to help/ref/workspaces/:policyID/invoices/index.md diff --git a/help/ref/settings/workspaces/:policyID/more-features/index.md b/help/ref/workspaces/:policyID/more-features/index.md similarity index 100% rename from help/ref/settings/workspaces/:policyID/more-features/index.md rename to help/ref/workspaces/:policyID/more-features/index.md diff --git a/help/ref/settings/workspaces/:policyID/overview/index.md b/help/ref/workspaces/:policyID/overview/index.md similarity index 100% rename from help/ref/settings/workspaces/:policyID/overview/index.md rename to help/ref/workspaces/:policyID/overview/index.md diff --git a/help/ref/settings/workspaces/:policyID/per-diem/index.md b/help/ref/workspaces/:policyID/per-diem/index.md similarity index 100% rename from help/ref/settings/workspaces/:policyID/per-diem/index.md rename to help/ref/workspaces/:policyID/per-diem/index.md diff --git a/help/ref/settings/workspaces/:policyID/reportFields/index.md b/help/ref/workspaces/:policyID/reportFields/index.md similarity index 100% rename from help/ref/settings/workspaces/:policyID/reportFields/index.md rename to help/ref/workspaces/:policyID/reportFields/index.md diff --git a/help/ref/settings/workspaces/:policyID/rules/index.md b/help/ref/workspaces/:policyID/rules/index.md similarity index 100% rename from help/ref/settings/workspaces/:policyID/rules/index.md rename to help/ref/workspaces/:policyID/rules/index.md diff --git a/help/ref/settings/workspaces/:policyID/tags/index.md b/help/ref/workspaces/:policyID/tags/index.md similarity index 100% rename from help/ref/settings/workspaces/:policyID/tags/index.md rename to help/ref/workspaces/:policyID/tags/index.md diff --git a/help/ref/settings/workspaces/:policyID/taxes/index.md b/help/ref/workspaces/:policyID/taxes/index.md similarity index 100% rename from help/ref/settings/workspaces/:policyID/taxes/index.md rename to help/ref/workspaces/:policyID/taxes/index.md diff --git a/help/ref/settings/workspaces/:policyID/workflows/index.md b/help/ref/workspaces/:policyID/workflows/index.md similarity index 100% rename from help/ref/settings/workspaces/:policyID/workflows/index.md rename to help/ref/workspaces/:policyID/workflows/index.md diff --git a/src/components/SidePanel/HelpContent/helpContentMap.tsx b/src/components/SidePanel/HelpContent/helpContentMap.tsx index 79228e32923f6..1b212702f12ee 100644 --- a/src/components/SidePanel/HelpContent/helpContentMap.tsx +++ b/src/components/SidePanel/HelpContent/helpContentMap.tsx @@ -24,160 +24,6 @@ type HelpContent = { const helpContentMap: HelpContent = { children: { - ':action': { - children: { - ':iouType': { - children: { - start: { - children: { - ':transactionID': { - children: { - ':reportID': { - children: { - scan: { - children: { - ':backToReport': { - content: ({styles}: {styles: ThemeStyles}) => ( - - Scan Receipt - SmartScan automatically extracts expense details from receipt images. - How to Scan - - What SmartScan Detects - - Amount and currency - , - - Merchant name and location - , - - Date of purchase - , - - Tax information (when visible) - , - - Category suggestions based on merchant type - , - ]} - /> - Supported Receipt Types - - Photos - Take with your device camera - , - - Email receipts - Forward to receipts@expensify.com - , - - PDF receipts - Upload from your device - , - - Screenshots - From apps or websites - , - ]} - /> - Tips for Best Results - Ensure receipt text is clear and readable, - Include the full receipt in the image, - Good lighting improves accuracy, - Straight angles work better than tilted photos, - ]} - /> - After Scanning - Review extracted details for accuracy, - Add description, category, or tags as needed, - SmartScan learns from your corrections, - ]} - /> - Related Links - - - Create an Expense - - , - - - Free Features in Expensify - - , - ]} - /> - - ), - }, - }, - }, - distance: { - children: { - ':backToReport': { - content: ({styles}: {styles: ThemeStyles}) => ( - - Distance Expense - - Easily track mileage costs using Expensify’s built-in map feature. Create and submit distance-based expenses right - from the web, desktop, or mobile app. - - - - Create distance expenses: Click the green + button and choose Create - expense, then select Distance. Enter your starting point and destination. You can also add stops if - needed. - - , - - - Submit for approval: Choose your workspace and confirm the distance, - amount, and date. Add optional notes or categories, then click Create expense to submit the mileage - expense for approval. - - , - - - Log a round-trip: To log a round-trip, use the same location for both - start and finish, and include any stops along the way. - - , - ]} - /> - - ), - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, r: { children: { ':concierge': { @@ -398,8 +244,8 @@ const helpContentMap: HelpContent = { Text – Rich text messages stored securely and delivered via web, app, email, or SMS. , - Images & Documents – Insert photos, screenshots, movies, PDFs, or more, using copy/paste, drag/drop, or the attach - button. + Images &amp; Documents – Insert photos, screenshots, movies, PDFs, or more, using copy/paste, drag/drop, or the + attach button. , Expenses – Share an expense in the chat, either to simply track and document it, or to submit for reimbursement. @@ -614,44 +460,6 @@ const helpContentMap: HelpContent = { ), }, }, - content: ({styles}: {styles: ThemeStyles}) => ( - - Settings - Here is where you configure Expensify exactly to your specifications: - - Profile - Configure how you appear to others. - , - - Wallet - See and manage your credit cards and bank accounts. - , - - Preferences - Adjust how the app works for you. - , - - Security - Lock down how you and others access your account. - , - - Workspaces - Organize expenses for yourself and share with others. - , - - Subscriptions - Manage payment details and history. - , - - Domains - Advanced security and corporate card configuration. - , - - Switch to Expensify Classic - Battle tested and reliable. - , - - Save the World - Let Expensify.org help your favorite teacher! - , - ]} - /> - - ), }, workspaces: { children: { @@ -822,7 +630,7 @@ const helpContentMap: HelpContent = { Alternative: Share workspace URL or QR code from{' '} - Settings > Profile > Share + Settings &gt; Profile &gt; Share Managing Members @@ -937,118 +745,41 @@ const helpContentMap: HelpContent = { }, content: ({styles}: {styles: ThemeStyles}) => ( - Workspaces - - Workspaces help you manage company expenses, enforce policies, and integrate with accounting software. Each workspace has its own rules, settings, and features. - - Creating a Workspace + Workspaces 101 - To create a new workspace: + Think of a workspace as mission control for your company’s expenses. It’s where you set the rules, invite the team, and connect to your accounting tools. Each + workspace runs independently, so you can keep things tidy across departments, entities, or clients. - + Create a new workspace - Your first workspace includes: + Hit the New workspace button to get started. Add a name, set a default currency, and you’re ready to get started customizing the + workspace settings! + Invite your team + Add teammates to your workspace to manage expenses and approvals in one central place: Free 30-day trial, - Access to Setup Specialist via #admins chat room, - Help from Concierge in your Inbox, + Members can submit and approve reports they’re assigned to., + Admins can approve all reports and manage workspace settings., ]} /> - Managing Members + Automate approvals - To invite team members: + Toggle on Add Approvals under Workflows to set a default first approver. Create custom + approval flows for individual team members if needed. - + Connect your accounting system + Link your workspace with QuickBooks Online, Xero, NetSuite, or Sage Intacct to sync expenses like a pro. + Enhance your workspace with extra features - Member vs Admin roles: - - - Members can submit their own reports and approve assigned reports - , - - Admins can approve all workspace reports, view all reports, and edit workspace settings - , - ]} - /> - - To assign admin roles: + Under More Features, enable extras like the Expensify Card, distance rates, custom categories and tags, and company card + connections. - Key Features - - Categories - Organize and track expenses (imported automatically if connected to accounting software) - - Approval Workflows - Automate expense report reviews: - - - Toggle Add Approvals on under Workflows - , - Set a default first approver for all expenses, - Create custom workflows for specific members, - ]} - /> - - Accounting Integrations - Connect to: - - QuickBooks Online, - Xero, - NetSuite, - Sage Intacct, - ]} - /> - - Additional Features (enable via More Features): - - Expensify Cards for company spending, - Distance tracking for mileage, - Tags for detailed expense coding, - Company card connections, - ]} - /> - Workspace Settings - - Access all workspace configuration from the Workspaces tab: - - - Overview - Name, currency, description, and sharing options - , - - Members - Invite, remove, and manage member roles - , - - Categories - Add and organize expense categories - , - - Workflows - Set up approval and payment processes - , - - More Features - Enable additional workspace capabilities - , - ]} - /> - - - Tip: Use the Share option on your workspace profile to get an invite link or QR code for - easy member onboarding. + Tip: If you manage multiple departments, clients, or entities, consider creating multiple workspaces. Separate workspaces can + help keep settings, approvals, and payments organized and more automated. ), @@ -1236,7 +967,7 @@ const helpContentMap: HelpContent = { Text messages with rich formatting support , - Images & Documents via copy/paste, drag/drop, or attach button + Images &amp; Documents via copy/paste, drag/drop, or attach button , Expenses to track and submit for reimbursement @@ -1284,6 +1015,160 @@ const helpContentMap: HelpContent = { ), }, + ':action': { + children: { + ':iouType': { + children: { + start: { + children: { + ':transactionID': { + children: { + ':reportID': { + children: { + distance: { + children: { + ':backToReport': { + content: ({styles}: {styles: ThemeStyles}) => ( + + Distance Expense + + Easily track mileage costs using Expensify’s built-in map feature. Create and submit distance-based expenses right + from the web, desktop, or mobile app. + + + + Create distance expenses: Click the green + button and choose Create + expense, then select Distance. Enter your starting point and destination. You can also add stops if + needed. + + , + + + Submit for approval: Choose your workspace and confirm the distance, + amount, and date. Add optional notes or categories, then click Create expense to submit the mileage + expense for approval. + + , + + + Log a round-trip: To log a round-trip, use the same location for both + start and finish, and include any stops along the way. + + , + ]} + /> + + ), + }, + }, + }, + scan: { + children: { + ':backToReport': { + content: ({styles}: {styles: ThemeStyles}) => ( + + Scan Receipt + SmartScan automatically extracts expense details from receipt images. + How to Scan + + What SmartScan Detects + + Amount and currency + , + + Merchant name and location + , + + Date of purchase + , + + Tax information (when visible) + , + + Category suggestions based on merchant type + , + ]} + /> + Supported Receipt Types + + Photos - Take with your device camera + , + + Email receipts - Forward to receipts@expensify.com + , + + PDF receipts - Upload from your device + , + + Screenshots - From apps or websites + , + ]} + /> + Tips for Best Results + Ensure receipt text is clear and readable, + Include the full receipt in the image, + Good lighting improves accuracy, + Straight angles work better than tilted photos, + ]} + /> + After Scanning + Review extracted details for accuracy, + Add description, category, or tags as needed, + SmartScan learns from your corrections, + ]} + /> + Related Links + + + Create an Expense + + , + + + Free Features in Expensify + + , + ]} + /> + + ), + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, content: () => null, }; From e1c0472ee8740fcb9a76dbb5589e947f4f9cd3a8 Mon Sep 17 00:00:00 2001 From: sumo_slonik Date: Wed, 9 Jul 2025 11:49:02 +0200 Subject: [PATCH 26/26] fix script --- help/_plugins/SitePostRender.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/help/_plugins/SitePostRender.rb b/help/_plugins/SitePostRender.rb index 59bfc23428291..8d341bad4bd46 100644 --- a/help/_plugins/SitePostRender.rb +++ b/help/_plugins/SitePostRender.rb @@ -279,7 +279,7 @@ def self.process_paragraph(node, indent_level) end def self.process_bold(node, indent_level) - "#{CGI.escapeHTML(CGI.escapeHTML(node.text))}" + "#{CGI.escapeHTML(node.text)}" end def self.process_italic(node, indent_level)