Skip to content

[No QA] Add New Expensify NetSuite troubleshooting docs - #84305

Closed
stephanieelliott wants to merge 2 commits into
mainfrom
docs-new-expensify-netsuite-troubleshooting
Closed

[No QA] Add New Expensify NetSuite troubleshooting docs#84305
stephanieelliott wants to merge 2 commits into
mainfrom
docs-new-expensify-netsuite-troubleshooting

Conversation

@stephanieelliott

Copy link
Copy Markdown
Contributor
  • Authentication-and-Login-errors: 9 articles
  • Connection-errors: 7 articles
  • Export-Errors: 57 articles (incl. NS0521-Sync-Error in Export-Errors)
  • Sync-Errors: 16 articles
  • NetSuite-FAQ.md

Master project issue https://github.com/Expensify/Expensify/issues/469226

Breaking main PR into smaller batches: #83106

Creates .MD files for NetSuite integration error messages

- Authentication-and-Login-errors: 9 articles
- Connection-errors: 7 articles
- Export-Errors: 57 articles (incl. NS0521-Sync-Error in Export-Errors)
- Sync-Errors: 16 articles
- NetSuite-FAQ.md

Part of Integration Errors Revamp (splitting PR #83106).

Made-with: Cursor
@github-actions

github-actions Bot commented Mar 5, 2026

Copy link
Copy Markdown
Contributor

HelpDot Documentation Review

Overall Assessment

This PR adds 87 new NetSuite troubleshooting documentation files covering authentication errors, connection errors, export errors, sync errors, and a general FAQ. The articles follow a remarkably consistent template and are well-structured for a Workspace Admin audience. The writing is clear and actionable. However, there are several systematic issues -- most notably a significant number of duplicate/near-duplicate files across categories, a heading hierarchy violation in the FAQ sections, and error messages displayed as plain text rather than visually distinguished blocks.

Scores Summary

  • Readability: 8/10 - Clear, concise language at an appropriate reading level. Sentences are short and direct. Numbered steps are easy to follow. Web/mobile platform-specific instructions are consistently provided. Minor repetitiveness across the template structure (e.g., the "Sync the Workspace and Retry the Export" section is nearly identical across all 87 files), but this is acceptable for standalone troubleshooting articles.

  • AI Readiness: 6/10 - Front matter (title, description, keywords, internalScope) is well-structured and follows the required format consistently. Headings are descriptive and include full feature names and error codes. However, the duplicate file problem (detailed below) is a major AI readiness concern -- 10 error codes appear in 2-3 categories simultaneously with nearly identical or identical content. This creates ambiguity for AI retrieval systems about which version is authoritative. Additionally, the FAQ sections use # FAQ (H1) instead of ## FAQ (H2), breaking heading hierarchy since the article title already uses H1.

  • Style Compliance: 7/10 - Correct use of Expensify terminology ("Workspace", "member", "Concierge"). Button labels are properly bolded. Markdown formatting is clean. However, error messages are displayed as plain paragraph text without any visual distinction (no blockquote, no code block, no bold/italic styling), which makes them harder to identify at a glance. The NetSuite-FAQ.md file uses [Workspace Name] placeholder syntax instead of describing how to select the workspace, which is inconsistent with the pattern used in all other files.

Key Findings

Critical: Extensive File Duplication Across Categories

10 error codes have duplicate or near-duplicate files placed in multiple category folders. This is the most significant issue in the PR:

File Name Appearances Directories
NS0109-Sync-Error.md 3 Authentication-and-Login-errors, Connection-errors, Sync-Errors
NS0123-Sync-Error.md 3 Authentication-and-Login-errors, Connection-errors, Sync-Errors
NS0521-Sync-Error.md 3 Connection-errors, Export-Errors, Sync-Errors
NS0565-Sync-Error.md 3 Authentication-and-Login-errors, Connection-errors, Sync-Errors
NS0593-Sync-Error.md 3 Authentication-and-Login-errors, Connection-errors, Sync-Errors
NS0739-Sync-Error.md 3 Authentication-and-Login-errors, Connection-errors, Sync-Errors
NS0942-Sync-Error.md 3 Authentication-and-Login-errors, Connection-errors, Sync-Errors
NS0029-Export-Error.md 2 Authentication-and-Login-errors, Export-Errors
NS0318-Sync-Error.md 2 Authentication-and-Login-errors, Sync-Errors
NS0510-Export-Error.md 2 Authentication-and-Login-errors, Export-Errors

The duplicated files are either identical or contain only minor phrasing differences (e.g., "system overload" vs. "overloading accounts", "people" vs. "members"). This creates maintenance burden and AI retrieval confusion. Each error code should live in one canonical location, with cross-references from other categories if needed.

Heading Hierarchy Violation

All 86 individual error articles use # FAQ as a top-level heading within the article body. Since the article title already uses # (H1), the FAQ section should use ## FAQ (H2) to maintain proper hierarchy. This affects all files in the PR.

Additionally, the NS0885-Export-Error.md file uses H1 headings for section breaks within the article body (# Fix the NS0885 Export Error for Reimbursable Exports and # Fix the NS0885 Export Error for Non-Reimbursable Exports). These should be H2.

The NS0521-Sync-Error.md in Sync-Errors similarly uses H1 for section titles (# How to Fix the NS0521 Sync Error in OneWorld Accounts and # How to Fix the NS0521 Sync Error in Non-OneWorld Accounts).

Error Messages Not Visually Distinguished

Error messages are displayed as plain paragraph text. For example:

NS0029 Export Error: Unable to export this report due to an error.

These would benefit from blockquote formatting (>) or code blocks to visually separate them from the surrounding explanation text, making them easier to identify and match against what users see in the product.

Positive Aspects

  • Excellent template consistency across all 87 files. The structure (error display, explanation, fix steps, FAQ) is uniform and predictable.
  • Front matter is thorough -- every file includes title, description, keywords, and a properly formatted internalScope field.
  • The "Why this happens" sections provide genuine context, not just restating the error.
  • Web and mobile instructions are provided separately where needed, using consistent "On web:" / "On mobile:" formatting.
  • FAQ questions are specific and anticipate real user concerns (e.g., "Does this affect all exports?", "Do I need to reconnect?").
  • Correct use of Expensify terminology throughout ("Workspace", "Concierge", "Sync Now").

NetSuite-FAQ.md Style Inconsistencies

The NetSuite-FAQ.md file deviates from the patterns used in the individual error articles:

  • Uses [Workspace Name] placeholder syntax (e.g., Workspaces > [Workspace Name] > Accounting) rather than the "Select your Workspace" pattern used everywhere else.
  • Uses H1 (#) for each question, creating multiple H1 headings in a single document. Questions should be H2.
  • Uses "Click" and "Select" inconsistently for the same actions.
  • References "Expensify configurations" rather than "Workspace" settings, which is inconsistent with other articles.

Recommendations

  1. [High Priority] Eliminate duplicate files. Each error code should appear in exactly one category folder. Determine the primary category for each error and place it there. If cross-referencing is needed, use a short redirect page or a "See also" link rather than duplicating full articles. This affects approximately 24 files (10 error codes appearing in multiple locations).

  2. [High Priority] Fix heading hierarchy. Change # FAQ to ## FAQ across all 86 error articles. Also fix the NS0885 and NS0521 (Sync-Errors) files that use additional H1 headings for section breaks. Fix the NetSuite-FAQ.md to use H2 for all question headings.

  3. [Medium Priority] Visually distinguish error messages. Add blockquote formatting (>) to all error message displays so they stand out from explanatory text. This is a systematic change across all files.

  4. [Medium Priority] Align NetSuite-FAQ.md style with other articles. Replace [Workspace Name] placeholders with the "Select your Workspace" pattern. Use consistent heading levels (H2 for questions). Replace "Expensify configurations" with "Workspace settings" or similar phrasing.

  5. [Low Priority] Consider adding ### H3 sub-step headings within some of the fix sections to reduce use of bare --- horizontal rules as section dividers. Several articles (NS0510, NS0565, NS0739) use ## headings under the "How to Fix" section that should arguably be ### sub-headings to maintain the correct hierarchy under the ## How to Fix parent.

Files Reviewed

  • Authentication-and-Login-errors/ (9 files) - Well-structured. 7 of 9 are duplicated in other categories.
  • Connection-errors/ (7 files) - Well-structured. All 7 are duplicated in other categories.
  • Export-Errors/ (57 files, including NS0521-Sync-Error.md) - Largest category, generally high quality. NS0521 is a sync error filed under Export-Errors. 2 files duplicated elsewhere.
  • Sync-Errors/ (16 files, including 2 new unique error codes: NS0196, NS0228, NS0384, NS0394, NS0430, NS0469, NS0634, NS0783, NS0844, NS0898, NS0938) - High quality. Some files are the primary/most detailed versions of duplicated articles.
  • NetSuite-FAQ.md (1 file) - Style inconsistencies compared to other articles in this PR.

Total: 87 files, of which approximately 24 are duplicates of content found elsewhere in this PR.


---

# Why Is My Report Not Automatically Exporting to NetSuite?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation (AI Readiness): FAQ questions should use ## (H2) subheadings, not # (H1). Per HelpDot standards, # FAQ is the section heading, and individual questions beneath it should be ##. This applies to all FAQ questions in this file (lines 12, 30, 42, 57, 72, 82, 120, 143, 166, 183, 194).

Suggested change
# Why Is My Report Not Automatically Exporting to NetSuite?
## Why Is My Report Not Automatically Exporting to NetSuite?

4. A Workspace Admin can manually export the report once fixed.

---

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: This FAQ question uses # (H1) but should be ## (H2) per HelpDot FAQ structure rules.

Suggested change
## Why Am I Unable to Manually Export a Report to NetSuite?

If the report is in **Draft**, selecting Export may load an empty screen.

## How to Resolve Manual Export Issues

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: This FAQ question uses # (H1) but should be ## (H2).

Suggested change
## How Do I Disconnect the NetSuite Connection?

2. Select your Workspace.
3. Select **Accounting**.
4. Click the **three-dot icon** next to the NetSuite connection.
5. Click **Disconnect**.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: This FAQ question uses # (H1) but should be ## (H2). The subsection "How to Fix Field Permission Errors" should then be ###.

Suggested change
5. Click **Disconnect**.
## Why Am I Seeing "You Do Not Have Permissions to Set a Value for Element..." Errors?


1. In NetSuite, go to **Customization > Forms > Transaction Forms**.
2. Edit the preferred export form.
3. Locate the field mentioned in the error.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: Same pattern -- # should be ## for FAQ questions.

Suggested change
3. Locate the field mentioned in the error.
## What If I've Made All Changes and Still See the Error?

# What If I’ve Made All Changes and Still See the Error?

If errors persist:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: Same pattern -- # should be ##.

Suggested change
## Why Are Reports Exporting as "Accounting Approved" Instead of "Paid in Full"?

- The **A/P Approval Account** matches the account used for bill payments.

To verify the A/P account:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: Same pattern -- # should be ##.

Suggested change
## Why Are Reports Exporting as Pending Approval?


## For Expense Reports

1. Go to **Setup > Company > Enable Features**.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: Same pattern -- # should be ##.

Suggested change
1. Go to **Setup > Company > Enable Features**.
## "Invite Employees & Set Approval Workflow" Is Enabled -- Why Aren't NetSuite Approvers Updating?

4. Click the **three-dot icon**.
5. Click **Sync now**.
6. Re-import the employee and approver.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: Same pattern -- # should be ##.

Suggested change
## How to Change the Default Payable Account for Reimbursable Expenses in NetSuite

4. Click **Save**.

## For Non-OneWorld Accounts

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Duplicate content: This question ("Why Is My Report Exporting as Accounting Approved Instead of Paid in Full?") is a duplicate of the question on line 82 ("Why Are Reports Exporting as 'Accounting Approved' Instead of 'Paid in Full'?"). Consider removing this duplicate section entirely, or merging the two into one comprehensive answer.


This may happen due to:

- Missing classifications on the Bill Payment form

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: Same pattern -- # should be ##.

Suggested change
- Missing classifications on the Bill Payment form
## Why Is My Report Not Exporting Automatically Even After Fixing Errors?

internalScope: Audience is Workspace Admins and Domain Admins using the NetSuite integration. Covers common NetSuite export issues, approval settings, and connection troubleshooting. Does not cover individual NetSuite error codes.
---

# NetSuite FAQ

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

FAQ structure violation: This file is structured as a FAQ but does not begin with a # FAQ heading followed by ## question subheadings. Per HelpDot standards, a FAQ page should use # FAQ as the top-level heading (or as the article title), and all questions should be ## subheadings. Currently, the title is "NetSuite FAQ" but the questions below all use # (H1) instead of ## (H2), creating multiple competing H1 headings in the document. Please restructure so the article title is the only H1, and all FAQ questions are H2.

---

# How to Fix the NS0521 Sync Error in OneWorld Accounts

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation (AI Readiness): Section headings within the article body should use ## (H2), not # (H1). The article already has an H1 title on line 8. Using additional H1 headings here and on line 62 breaks the document hierarchy and confuses both readers and AI systems parsing the structure.

This same issue also applies to line 62 (# How to Fix the NS0521 Sync Error in Non-OneWorld Accounts).

Suggested change
## How to Fix the NS0521 Sync Error in OneWorld Accounts

4. Click the three-dot menu next to the NetSuite connection.
5. Click **Sync Now**.

On mobile:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: This should be ## (H2), not # (H1). Only the article title and # FAQ should be H1.

Suggested change
On mobile:
## How to Fix the NS0521 Sync Error in Non-OneWorld Accounts


This is a transaction form or classification configuration issue, not a token or subsidiary permission issue.

---

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation (AI Readiness): This section heading uses # (H1) but should be ## (H2). The article title on line 8 is the only non-FAQ H1 heading allowed. This same issue applies to line 103 (# Fix the NS0885 Export Error for Non-Reimbursable Exports).

Suggested change
---
## Fix the NS0885 Export Error for Reimbursable Exports

Retry exporting the report.

---

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: Same as above -- this should be ## (H2), not # (H1).

Suggested change
## Fix the NS0885 Export Error for Non-Reimbursable Exports

@@ -0,0 +1,118 @@
---

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

File naming inconsistency: This file is named NS0521-Sync-Error.md but is located in the Export-Errors/ directory. All other files in this directory are named NS####-Export-Error.md. This mismatch will confuse both readers and AI systems navigating the documentation structure. Consider either:

  • Renaming the file to NS0521-Export-Error.md (if this is an export error), or
  • Moving it to the Sync-Errors/ directory (if it is truly a sync error)

Note: The same NS0521 Sync Error article already exists in both Connection-errors/ and Sync-Errors/ directories, so having a third copy here seems unintentional.

If you see the error:

NS0029 Export Error: Unable to export this report due to an error.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Markdown formatting (Readability): Error messages displayed to the user should be formatted in a blockquote or code block so they are visually distinct from the article's explanatory text. As plain text, the error message blends into the surrounding content. This pattern applies across all 90 files in this PR.

Suggested format:

Suggested change
> NS0029 Export Error: Unable to export this report due to an error.

If you see the error:

NS0109 Sync Error: Failed to login to NetSuite. Please verify your admin credentials.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Markdown formatting (Readability): Same pattern as noted across all files -- the error message should be formatted as a blockquote or code block to visually distinguish it from explanatory text. This applies to all error message lines across all 90 files in this PR.

Suggested format:

Suggested change
> NS0109 Sync Error: Failed to login to NetSuite. Please verify your admin credentials.

@@ -0,0 +1,93 @@
---

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Duplicate content issue (AI Readiness): This file is identical to Authentication-and-Login-errors/NS0109-Sync-Error.md and also very similar to Sync-Errors/NS0109-Sync-Error.md. Having the same article duplicated across three directories creates confusion for both readers and AI systems.

The same duplication pattern applies to these error codes that appear in multiple folders:

  • NS0109 (Authentication-and-Login-errors, Connection-errors, Sync-Errors)
  • NS0123 (Authentication-and-Login-errors, Connection-errors, Sync-Errors)
  • NS0521 (Connection-errors, Export-Errors, Sync-Errors)
  • NS0565 (Authentication-and-Login-errors, Connection-errors, Sync-Errors)
  • NS0593 (Authentication-and-Login-errors, Connection-errors, Sync-Errors)
  • NS0739 (Authentication-and-Login-errors, Connection-errors, Sync-Errors)
  • NS0942 (Authentication-and-Login-errors, Connection-errors, Sync-Errors)

Consider either: (1) keeping each error code in only one canonical location and linking from other categories, or (2) differentiating the content per category so each copy adds unique value.


Follow the steps below to resolve the issue.

---

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation (AI Readiness): The section heading ## Update the Expensify Connect Bundle in NetSuite is at ## (H2) level, which is correct. However, on line 42, the --- horizontal rule followed by the ## Update the Expensify Connect Bundle heading creates an inconsistency -- the preceding "How to Fix" section on line 38 uses ##, making this a sibling section rather than a child of the "How to Fix" section.

More importantly, on line 81, the ## Update NetSuite Role Token Permissions heading is also at H2 level, which is correct. But the structure would benefit from the "How to Fix" heading being the parent and the two resolution approaches being ### sub-steps, to create a clearer hierarchy:

## How to Fix the NS0510 Export Error
### Update the Expensify Connect Bundle in NetSuite
### Update NetSuite Role Token Permissions


---

## Confirm the Role Assigned to the NetSuite Access Token

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation (AI Readiness): Lines 40, 52, and 63 use ## Confirm the Role..., ## Assign the Expensify Integration Role..., and ## Review Global Permissions... as H2 headings. These are sub-steps of the "How to Fix" section on line 36 and should be ### (H3) instead of ## (H2), to maintain a proper heading hierarchy under the parent section.

This structural pattern (fix steps as siblings of the "How to Fix" heading rather than children) appears across many files in this PR. Files should use:

## How to Fix the NS0565 Sync Error
### Confirm the Role Assigned to the NetSuite Access Token
### Assign the Expensify Integration Role to the Employee Record
### Review Global Permissions on the Employee Record
### Retry the Sync in the Workspace

2. Verify the integration role is active and has the required permissions.
3. Confirm the account ID, role ID, consumer key, consumer secret, token ID, and token secret match what is configured in NetSuite.
4. Update any credentials that were recently changed.
5. Click **Save** in the Workspace if changes were made.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Button label violation (Expensify Style): Per Expensify HelpDot standards, the button at the end of a flow should be labeled Confirm rather than Save. This pattern appears across the majority of the 90 files in this PR wherever "Click Save" is used as the final step of a configuration flow within the Expensify Workspace.

Note: When the instruction refers to clicking Save within NetSuite (the third-party application), "Save" is appropriate since that is the actual NetSuite button label. However, when the instruction refers to saving settings in the Expensify Workspace, the correct label is Confirm.

Please audit each instance of "Click Save" across all files and update the ones that refer to saving in Expensify (not NetSuite) to "Click Confirm".


In NetSuite:

- Roles must be assigned to a user to function.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Terminology violation (Expensify Style): Per Expensify documentation standards, use "member" instead of "user." The text here and in other places in this file says "not assigned to any user," "tied to a user," "role must be assigned to a user," etc. While these references are to a NetSuite user record (not an Expensify member), the front matter metadata on lines 4 and 5 also uses "user" terminology (Expensify Integration role not assigned to user, NetSuite role not added to user). At minimum, the keywords and internalScope metadata should use Expensify-standard terminology where possible.

For the body content, since "user" here refers specifically to NetSuite's terminology, consider clarifying with "NetSuite user" consistently to avoid ambiguity with Expensify's "member" terminology.

@@ -0,0 +1,120 @@
---
title: NS0921 Export Error in NetSuite Integration
description: Learn what the NS0921 export error means and how to align subsidiaries across reports, users, accounts, tags, and categories in NetSuite.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Terminology violation (Expensify Style): The description uses "users" (align subsidiaries across reports, users, accounts, tags, and categories). Per Expensify standards, prefer "members" over "users." While the error message itself on line 12 uses "user" (which may be the literal NetSuite error text and should be preserved as-is), the description is authored content and should follow Expensify terminology.

Suggested change
description: Learn what the NS0921 export error means and how to align subsidiaries across reports, users, accounts, tags, and categories in NetSuite.
description: Learn what the NS0921 export error means and how to align subsidiaries across reports, members, accounts, tags, and categories in NetSuite.


---

## Confirm the Subsidiary Selected in the Workspace

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: This ## Confirm the Subsidiary Selected in the Workspace heading is a sub-step of the "How to Fix" section on line 39 and should be ### (H3). The same applies to ## Verify Subsidiary Alignment in NetSuite on line 60 and ## Sync the Workspace and Retry the Export on line 86. These are implementation steps under the parent "How to Fix" section, not top-level sections of the article.

7. Click **Save** if changes are made.

On mobile:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Button label violation (Expensify Style): "Click Save if changes are made" -- if this refers to saving within the Expensify Workspace settings, the button label should be Confirm per Expensify standards. The same issue appears on lines 62 and 80, 86. Please verify whether the UI button in the Workspace actually reads "Save" or "Confirm" and update accordingly.


## Does the NS0295 Export Error Affect Only One User?

Yes. This error is specific to the employee or vendor record associated with the report.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Terminology violation (Expensify Style): "Does the NS0295 Export Error Affect Only One User?" -- per Expensify standards, use "member" instead of "user."

Suggested change
Yes. This error is specific to the employee or vendor record associated with the report.
## Does the NS0295 Export Error Affect Only One Member?


If you see the error:

NS0005 Export Error: Please enter value(s) for 'department', 'location', or 'class' and attempt to export again.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Markdown formatting (Readability): The error message text should be formatted as a blockquote to visually distinguish it from the surrounding content. This is the same pattern flagged across all files. Additionally, this specific error message uses lowercase field names ('department', 'location', 'class') -- consider whether these should match the NetSuite UI casing (Department, Location, Class) for clarity. If this is the literal error message text, it should be preserved as-is but wrapped in a blockquote:

Suggested change
NS0005 Export Error: Please enter value(s) for 'department', 'location', or 'class' and attempt to export again.
> NS0005 Export Error: Please enter value(s) for 'department', 'location', or 'class' and attempt to export again.

---

## Fix the NS0005 Export Error for Vendor Bills

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading hierarchy inconsistency (AI Readiness): This file uses a different heading structure from other files in the PR. Here, the fix sections use ## Fix the NS0005 Export Error for Vendor Bills (H2) with ### Update the Vendor Bill Form (H3) as sub-steps, which is actually the correct hierarchy. However, most other files in this PR (e.g., NS0921, NS0059, NS0919) place what should be H3 sub-steps at the H2 level, creating inconsistency across the collection.

This file's approach (H2 parent, H3 children) is the correct pattern and should be adopted as the standard across all 90 articles for consistency.

---

## Disconnect the NetSuite Connection

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Readability concern: The instruction "Take screenshots of: Imported categories, Imported tags, Mapping settings, Any custom configuration" is helpful but assumes the reader knows exactly where to find these settings. Consider linking to the relevant configuration documentation or being more specific about which screens to capture. This would improve the scannability and actionability of the instructions, especially for less experienced Workspace Admins.


This is a connection or authentication issue, not a report data issue.

---

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Readability / Verbose language: The sentence "Because this error is tied to the NetSuite connection, it cannot be resolved directly from the report itself" and the following sentence "This is a connection or authentication issue, not a report data issue" convey essentially the same information. Consider combining them into a single, concise statement:

This is a connection or authentication issue -- it cannot be resolved from the report itself.

5. Update the approval level based on the export type:

- For **Expense reports** — Select **Supervisor & Accounting Approved**.
- For **Vendor bills** — Select **Approved for Posting**.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Button label violation (Expensify Style): Line 51 says Click **Save** and line 57 says Tap **Save** -- these appear to be within the Expensify Workspace settings flow (Accounting > Advanced). If the actual UI button in Expensify reads "Confirm," this should be updated. This is the same pattern flagged across many files.

Additionally, the approval level names on lines 48-50 ("Supervisor & Accounting Approved," "Approved for Posting") should be verified against the current Expensify UI labels to ensure accuracy.


## Confirm the Access Token Is Assigned to the Expensify Integration Role

1. Log in to NetSuite as an administrator.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: The ## Confirm the Access Token... heading on line 43, ## Confirm Expensify Integration Role Permissions on line 57, and ## Sync the Workspace on line 102 are all sub-steps of the parent "How to Fix the NS0384 Sync Error" section on line 39. These should use ### (H3) to maintain proper heading hierarchy.

This is the same structural pattern seen across many files in this PR. The parent "How to Fix" section should be ##, and each resolution step beneath it should be ###.

4. Enable the integration.
5. Click **Save**.

Confirm the integration is fully enabled before leaving the page.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Readability / Inconsistent instruction format: This file includes separate "On web:" and "On mobile:" instruction blocks for the "Sync Now" step. Some files in this PR include these dual-platform instructions (e.g., this file, NS0510, NS0565, NS0593, NS0739, NS0942) while others use a single set of instructions without platform distinctions (e.g., NS0109's "Retry the Sync" section at line 63 only shows the web path: "Go to Settings > Workspaces > Select > Accounting > Sync Now").

For consistency across all 90 files, choose one approach and apply it uniformly:

  • Option A: Always include both "On web:" and "On mobile:" blocks (more thorough but adds length)
  • Option B: Use a single platform-neutral set of instructions (more concise)

The current inconsistency may confuse readers who reference multiple articles.

@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: 86fc3e9acf

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

@@ -0,0 +1,130 @@
---

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Flatten NetSuite troubleshooting docs to avoid route generation crash

Placing pages under connections/netsuite/Troubleshooting/Export-Errors/... introduces a second nested section level that the route generator does not handle: .github/scripts/createDocsRoutes.ts iterates connections/netsuite/* and unconditionally calls getOrderFromArticleFrontMatter() (which does fs.readFileSync) on each entry, so when it encounters the Troubleshooting directory it attempts to read a directory as a file and exits. Because .github/scripts/createDocsRoutes.sh and .github/workflows/validateDocsRoutes.yml run this command, this change can break docs route validation/deployment.

Useful? React with 👍 / 👎.


## Set the Default Corporate Card Account in NetSuite

1. Log in to NetSuite as an administrator.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: ## Set the Default Corporate Card Account in NetSuite on line 42, ## Sync the Workspace in Expensify on line 55, and ## Retry the Export on line 73 are all sub-steps of the parent "How to Fix" section on line 38. These should be ### (H3) rather than ## (H2).

This is the same heading hierarchy inconsistency noted across many files. Some files (like NS0005) correctly use ### for sub-steps; others (like this one) incorrectly use ##.

---

## Confirm the Supervisor on the Employee Record

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: ## Confirm the Supervisor on the Employee Record (line 44), ## Update the Supervisor's Expense Limit (line 55), and ## Sync the Workspace and Retry the Export (line 71) are sub-steps of the "How to Fix" section on line 40. These should use ### (H3) to maintain proper document hierarchy.

---

## Confirm the CA-Zero Tax Group in NetSuite

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Heading level violation: ## Confirm the CA-Zero Tax Group in NetSuite (line 44) and ## Sync the Workspace and Retry the Export (line 67) are sub-steps of the "How to Fix" section on line 40. These should be ### (H3).

- Troubleshooting/Authentication-and-Login-errors → Troubleshooting-Authentication-and-Login-errors
- Troubleshooting/Connection-errors → Troubleshooting-Connection-errors
- Troubleshooting/Export-Errors → Troubleshooting-Export-Errors
- Troubleshooting/Sync-Errors → Troubleshooting-Sync-Errors
- NetSuite-FAQ.md at netsuite root

Made-with: Cursor
@github-actions github-actions Bot changed the title Add New Expensify NetSuite troubleshooting docs [No QA] Add New Expensify NetSuite troubleshooting docs Mar 5, 2026
@OSBotify

OSBotify commented Mar 5, 2026

Copy link
Copy Markdown
Contributor

A preview of your ExpensifyHelp changes have been deployed to https://64a059ea.helpdot.pages.dev ⚡️

Updated articles:

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.

2 participants