Skip to content

[No QA] Add Expensify Classic NetSuite troubleshooting docs#84812

Merged
stephanieelliott merged 1 commit intomainfrom
helpsite-expensify-classic-netsuite
Mar 11, 2026
Merged

[No QA] Add Expensify Classic NetSuite troubleshooting docs#84812
stephanieelliott merged 1 commit intomainfrom
helpsite-expensify-classic-netsuite

Conversation

@stephanieelliott
Copy link
Contributor

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 (Expensify Classic)

@github-actions
Copy link
Contributor

HelpDot Documentation Review

Overall Assessment

This PR adds 87 new markdown files for Expensify Classic NetSuite troubleshooting documentation, organized across four error categories (Authentication-and-Login-errors, Connection-errors, Export-Errors, Sync-Errors) plus a general FAQ. The documentation is well-structured with a consistent template and covers a wide range of NetSuite error codes. The writing is clear and action-oriented. However, there is one critical structural issue — significant content duplication across categories — and a few recurring patterns worth addressing.

Scores Summary

  • Readability: 8/10 - Clear, direct language at an appropriate reading level. Consistent structure (error statement, cause, fix, FAQ) makes each article easy to follow. Step-by-step instructions are well-numbered. Minor deduction for repetitive phrasing across articles and error message text not being formatted as blockquotes or code blocks.
  • AI Readiness: 7/10 - Strong YAML metadata with proper internalScope formatting, descriptive titles, and good keyword coverage. Heading hierarchy is correct (# and ## only, with ### for steps). Deduction for substantial content duplication across directories, which will confuse AI retrieval systems, and for error messages not being clearly demarcated from surrounding prose.
  • Style Compliance: 7/10 - Proper Expensify terminology (Workspace, Concierge, member). Bold formatting on UI elements like button labels. Consistent FAQ structure. Deductions for: error messages displayed as plain text rather than blockquotes/code blocks, some FAQ headings using Title Case instead of sentence case, and the "Does [error code] Mean My Data Is Lost?" FAQ pattern capitalizing every word.

Key Findings

Critical Issue — Duplicate Files Across Categories

Multiple error codes have identical (or near-identical) files placed in more than one category directory. For example:

  • NS0109-Sync-Error.md appears in Authentication-and-Login-errors/, Connection-errors/, AND Sync-Errors/ (3 copies)
  • NS0123-Sync-Error.md appears in Authentication-and-Login-errors/, Connection-errors/, AND Sync-Errors/ (3 copies)
  • NS0565-Sync-Error.md appears in Authentication-and-Login-errors/, Connection-errors/, AND Sync-Errors/ (3 copies, with minor wording differences)
  • NS0593-Sync-Error.md appears in Authentication-and-Login-errors/, Connection-errors/, AND Sync-Errors/ (3 copies)
  • NS0739-Sync-Error.md appears in Authentication-and-Login-errors/, Connection-errors/, AND Sync-Errors/ (3 copies, with minor formatting differences)
  • NS0942-Sync-Error.md appears in Authentication-and-Login-errors/, Connection-errors/, AND Sync-Errors/ (3 copies)
  • NS0521-Sync-Error.md appears in Connection-errors/, Export-Errors/, AND Sync-Errors/ (3 copies)
  • NS0510-Export-Error.md appears in Authentication-and-Login-errors/ AND Export-Errors/ (2 copies)
  • NS0029-Export-Error.md appears in Authentication-and-Login-errors/ AND Export-Errors/ (2 copies)
  • NS0318-Sync-Error.md appears in Authentication-and-Login-errors/ AND Sync-Errors/ (2 copies)

This results in approximately 20-25 duplicate files out of 87 total. Each error code should live in only one canonical location. Duplicates create maintenance burden (updates must be applied to all copies), confuse search/AI systems, and may lead to inconsistencies over time. The few minor wording differences between copies of NS0565 and NS0739 already demonstrate this risk.

Positive Aspects

  • Excellent consistency in article structure: every file follows the same pattern (error message, cause, fix steps, FAQ)
  • YAML frontmatter is thorough with proper internalScope format: "Audience is [role]. Covers [topic]. Does not cover [exclusions]."
  • Keywords are comprehensive and include the error code, common search terms, and "Workspace Admin"
  • Instructions are appropriately granular with numbered steps
  • The FAQ at the end of each article addresses common follow-up questions effectively
  • NS0056 and NS0885 articles handle multi-scenario errors well with clear subsections by element/export type
  • The general NetSuite-FAQ.md is a valuable addition covering cross-cutting concerns

Areas for Improvement

  1. Error messages should use blockquote or code block formatting. Currently, error messages like NS0029: Unable to export this report due to an error. appear as plain paragraph text, making them hard to distinguish from explanatory prose. Using > blockquote formatting would improve scannability and make it clear where the exact error text begins and ends.

  2. FAQ heading capitalization is inconsistent. Most FAQ questions use Title Case (e.g., "Does NS0029 Mean My Data Is Lost?") but style guidelines typically call for sentence case in headings (e.g., "Does NS0029 mean my data is lost?"). This should be standardized.

  3. Horizontal rules (---) between every section add visual noise. While they provide separation, the heading hierarchy already creates clear breaks. The --- dividers between every section are heavier than necessary and not standard in most HelpDot articles.

  4. Some articles are thin on actionable content. Files like NS0029, NS0033, and NS0144 essentially say "contact Concierge." While appropriate when the fix requires backend investigation, these could potentially be consolidated into a single "Contact Concierge for Investigation" article that references multiple error codes, reducing file count.

Recommendations

  1. [Must Fix] Remove duplicate files. Each error code should exist in exactly one directory. Place each file in the single most appropriate category. If an error could logically fit multiple categories, choose the primary one and consider adding cross-references in the FAQ or a note at the top of the relevant category index.

  2. [Should Fix] Format error messages as blockquotes. Change plain text error messages to use > blockquote syntax for clear visual distinction. For example:

    > NS0029: Unable to export this report due to an error.
    
  3. [Should Fix] Standardize FAQ heading capitalization to sentence case across all 87 files for consistency with HelpDot style.

  4. [Consider] Reduce horizontal rule usage. Remove --- dividers between sections where heading hierarchy already provides sufficient separation.

  5. [Consider] Consolidate "contact Concierge" articles. Error codes like NS0029, NS0033, and NS0144 that require Concierge investigation could reference a shared troubleshooting pattern or be combined.

Files Reviewed

All 87 files were reviewed. Summary by category:

  • Authentication-and-Login-errors/ (9 files) - 6 of 9 are duplicated in other directories. NS0029, NS0510 duplicated in Export-Errors. NS0109, NS0123, NS0565, NS0593, NS0739, NS0942 duplicated in Connection-errors and/or Sync-Errors.
  • Connection-errors/ (7 files) - All 7 are duplicated elsewhere (in Authentication-and-Login-errors and/or Sync-Errors). This entire directory may be redundant.
  • Export-Errors/ (48 files) - The largest and most substantive category. 3 files duplicated elsewhere (NS0029, NS0510, NS0521). Remaining 45 are unique and well-written.
  • Sync-Errors/ (22 files) - 8 files duplicated from other directories. 14 unique files with good quality content.
  • NetSuite-FAQ.md (1 file) - Unique, comprehensive, well-structured general FAQ.

After removing duplicates, the effective unique article count is approximately 62-65 files, not 87.

This review was generated by the HelpDot Summary Reviewer.

@github-actions github-actions bot changed the title Add Expensify Classic NetSuite troubleshooting docs [No QA] Add Expensify Classic NetSuite troubleshooting docs Mar 10, 2026

## How to Fix the NS0109 Sync Error

### Step One: Confirm NetSuite Admin Credentials
Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: ### headings are too deep for HelpDot articles. Only # (article title) and ## (sections) should be used. This pattern appears across all 87 files in this PR -- every ### Step One, ### Step Two, ### Option One, etc. should be changed to ##.

For example:

Suggested change
### Step One: Confirm NetSuite Admin Credentials
## Step One: Confirm NetSuite Admin Credentials

@OSBotify
Copy link
Contributor

OSBotify commented Mar 10, 2026

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

Updated articles:

4. Click **Accounting**.
5. Open the NetSuite connection settings.
6. Enter the updated admin credentials or new access token.
7. Save the changes.
Copy link
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 documentation standards, the final action in a flow should use "Confirm" rather than "Save." This file uses Save the changes at the end of a configuration flow (line 63). This pattern repeats across nearly all 87 files in this PR -- look for "Save the changes", "Save your changes", "Save the form", and "Click Save" as the last step in numbered flows.

Consider replacing with "Confirm" or removing the explicit save step if the platform auto-saves.


#### List Permissions

| Permission | Level |
Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: #### headings are not permitted in HelpDot articles. Only # and ## should be used. This file uses #### for "List Permissions" and "Setup Permissions" (lines 57 and 89). Consider restructuring -- either promote these to ## headings or remove the heading and use bold text instead.

Suggested change
| Permission | Level |
## List Permissions

# How to Fix NS0005 for Vendor Bill Exports

If you are exporting as a **Vendor Bill**:

Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: Using # (H1) for body section headings creates multiple H1s in the document. Only the article title should use #. This line and line 72 (# How to Fix NS0005 for Journal Entry or Expense Report Exports) should both use ## instead. This same pattern appears in NS0885-Export-Error.md (lines 22, 35, 73, 113) and NS0012-Export-Error.md (line 62).

Suggested change
## How to Fix NS0005 for Vendor Bill Exports

# How to Fix NS0005 for Journal Entry or Expense Report Exports

If you are exporting as a **Journal Entry** or **Expense Report**:

Copy link
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 issue as line 36 -- this should be ## not #. Only the article title and FAQ heading should use #.

Suggested change
## How to Fix NS0005 for Journal Entry or Expense Report Exports


# Why the NS0885 Export Error Happens in NetSuite

The NS0885 error occurs when:
Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: # Why the NS0885 Export Error Happens in NetSuite uses H1, but only the article title should be H1. This file has multiple H1 misuses at lines 22, 35, 73, and 113. All section headings should use ## instead.

Suggested change
The NS0885 error occurs when:
## Why the NS0885 Export Error Happens in NetSuite

4. Click **Save**.

---

Copy link
Contributor

Choose a reason for hiding this comment

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

FAQ structure violation: The "# Still Need Help?" heading uses # (H1), but this is not the FAQ heading. If this is a closing section, it should use ## to maintain proper hierarchy. Only # FAQ should use H1 within the body.

Suggested change
## Still Need Help?

- Automatic export is paused until the issue is resolved.

### How to Resolve Automatic Export Errors

Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: ### How to Resolve Automatic Export Errors uses ###, which is too deep for HelpDot articles. This FAQ file uses ### subheadings throughout (lines 21, 42, 55, 81, 128, 139, 151, 161, 168, 175). All ### headings here should be promoted to ##.

Suggested change
## How to Resolve Automatic Export Errors


If you see the error:

NS0029: Unable to export this report due to an error.
Copy link
Contributor

Choose a reason for hiding this comment

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

Readability violation: The error message text (NS0029: Unable to export this report...) is rendered as a plain paragraph, making it hard to scan and distinguish from explanatory text. Consider formatting error messages as a blockquote or code block so they stand out visually. This pattern applies across all 87 files in this PR.

For example:

> NS0029: Unable to export this report due to an error.


This means there is a connection issue between Expensify and NetSuite preventing the report from exporting.

---
Copy link
Contributor

Choose a reason for hiding this comment

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

Readability violation: Excessive use of horizontal rules (---) between every section reduces scannability rather than improving it. Horizontal rules should be used sparingly for major section breaks, not between every heading. This pattern is consistent across all 87 files. Consider removing horizontal rules between subsections and keeping them only before the # FAQ section.

If you see the error:

NS0921: Invalid subsidiary reference [X]. Please ensure the report, user, accounts, tags, and categories all use the subsidiary selected in the workspace.

Copy link
Contributor

Choose a reason for hiding this comment

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

Terminology violation: The error message text from NetSuite uses "user," which is acceptable when quoting the literal error. However, in Expensify documentation, "user" should generally be replaced with "member." Since this is a direct quote of the error text the system displays, it can stay, but be aware that if you paraphrase this elsewhere in the article, use "member" instead of "user."

- The Supervisor is no longer a valid employee record.
- The Supervisor field references a user without proper permissions.

NetSuite requires a valid, active Supervisor for approval routing when exporting expense-related transactions.
Copy link
Contributor

Choose a reason for hiding this comment

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

Terminology note: "The Supervisor field references a user without proper permissions" -- while "user" here refers to a NetSuite user (not an Expensify concept), per Expensify style guidelines, consider rephrasing to avoid "user" where possible. For example: "The Supervisor field references someone without proper permissions" or "The Supervisor field references an employee without proper permissions."


- EUR
- GBP
- USD
Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: # Additional Steps for Non-OneWorld Users uses H1, but should use ##. Only the article title and # FAQ should be H1. This creates a third H1 in the document (after the title and FAQ).

Suggested change
- USD
## Additional Steps for Non-OneWorld Users

5. Click **Edit export**.
6. In the dropdown, select the correct NetSuite card account.
- Do not leave it set to **Default Card**.
7. Click **Save**.
Copy link
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 62 reads 7. Click **Save**. as the final step in a configuration flow. Per Expensify documentation standards, use "Confirm" instead of "Save" at the end of flows. This specific pattern (Click **Save**) appears in approximately 30 files across this PR. A find-and-replace for Click **Save** to Click **Confirm** at the end of numbered steps would address all instances.

The resolution depends on the specific element listed in the error.

---

Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: # General Fix for Most NS0056 Errors uses H1, but should be ##. This file has multiple H1 misuses at lines 42, 67, and 170. Only the article title and # FAQ should use H1.

Suggested change
## General Fix for Most NS0056 Errors

2. Select **Workspaces**.
3. Select your Workspace.
4. Click **Accounting**.
5. Click **Sync**.
Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: # Additional Fixes by Element uses H1, but should use ##. This creates a third H1 in the body (along with lines 42 and 170).

Suggested change
5. Click **Sync**.
## Additional Fixes by Element


# How to Fix the NS0196 Sync Error

## Option One: Confirm Expensify Accounting Configuration
Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: # How to Fix the NS0196 Sync Error uses H1 for a body section. This should be ##. Only the article title and # FAQ should use H1. This same issue appears in a few other files (NS0005, NS0012, NS0056, NS0885).

Suggested change
## Option One: Confirm Expensify Accounting Configuration
## How to Fix the NS0196 Sync Error

- The role’s List permissions were modified after the token was created.
- The token is tied to a user-role combination that lacks access to Vendor records.

Access tokens in NetSuite are linked to both a **User** and a **Role**. If the role lacks required permissions, the sync will fail.
Copy link
Contributor

Choose a reason for hiding this comment

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

Terminology note: "The token is tied to a user-role combination that lacks access to Vendor records" -- the word "user" here refers to a NetSuite concept. While acceptable in context, per Expensify style consider rephrasing to "employee-role combination" or "account-role combination" to avoid the word "user" in Expensify documentation. This pattern also appears in NS0384 (line 29), NS0228 (multiple lines), and NS0844 (line 27).


# How to Fix the NS0831 Export Error

## Option One: Enable Cross-Subsidiary Customers/Projects in Expensify
Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: # How to Fix the NS0831 Export Error uses H1 for a body section heading. Only the article title and # FAQ should use H1. Use ## instead.

This same pattern occurs in these Export-Errors files: NS0005 (lines 36, 72), NS0012 (line 62), NS0056 (lines 42, 67), NS0885 (lines 22, 35, 73, 113), NS0831 (line 35). A project-wide search for ^# How to Fix and ^# Additional and ^# General and ^# Why the would catch all instances.

Suggested change
## Option One: Enable Cross-Subsidiary Customers/Projects in Expensify
## How to Fix the NS0831 Export Error

---

# How to Fix NS0295 for Vendor Bill Exports

Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: # How to Fix NS0295 for Vendor Bill Exports (line 32) and # How to Fix NS0295 for Journal Entry or Expense Report Exports (line 62) both use H1. These should be ##. Only the article title and # FAQ should use H1.

This is part of a broader pattern across the PR. The following files all have body-section H1 misuses that need to be fixed to ##:

  • NS0005 (lines 36, 72)
  • NS0012 (line 62)
  • NS0056 (lines 42, 67)
  • NS0196 (line 33)
  • NS0295 (lines 32, 62)
  • NS0510 (line 33)
  • NS0521 in Export-Errors (lines 30, 56)
  • NS0521 in Sync-Errors (lines 30, 56)
  • NS0581 (lines 34, 66)
  • NS0831 (line 35)
  • NS0885 (lines 22, 35, 73, 113)

@@ -0,0 +1,78 @@
---
Copy link
Contributor

Choose a reason for hiding this comment

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

AI Readiness / Content duplication concern: This file is an exact duplicate of Connection-errors/NS0109-Sync-Error.md and Sync-Errors/NS0109-Sync-Error.md (identical content, same blob hash). Having the same article in 3 locations creates SEO/search confusion and maintenance burden.

The following files are exact triplicates across Authentication-and-Login-errors, Connection-errors, and Sync-Errors folders:

  • NS0109-Sync-Error.md (3 identical copies)
  • NS0593-Sync-Error.md (3 identical copies)
  • NS0942-Sync-Error.md (3 identical copies)

And these are exact duplicates across 2 folders:

  • NS0318-Sync-Error.md (2 identical copies: Auth + Sync-Errors)
  • NS0739-Sync-Error.md (2 identical copies: Connection-errors + Sync-Errors)

Additionally, NS0565, NS0123, and NS0521 each appear in 3 folders with slightly different content (near-duplicates).

Consider placing each error code in a single canonical location and, if needed, using cross-references or redirects instead of duplicating files.

---

# How to Fix the NS0510 Export Error

Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: # How to Fix the NS0510 Export Error uses H1 for a body section. Should be ##. Note this file also exists with near-identical content in Authentication-and-Login-errors/NS0510-Export-Error.md -- consider consolidating to a single canonical location.

Suggested change
## How to Fix the NS0510 Export Error

# How to Fix NS0581 for Invoice Exports

If the export is intended to be an **Invoice**:

Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: Lines 34 (# How to Fix NS0581 for Invoice Exports) and 66 (# How to Fix NS0581 for Expense Report Exports) use H1 for body sections. These should be ##.

Suggested change
## How to Fix NS0581 for Invoice Exports

@@ -0,0 +1,96 @@
---
Copy link
Contributor

Choose a reason for hiding this comment

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

AI Readiness / File naming concern: This file is named NS0521-Sync-Error.md but is located in the Export-Errors/ folder. The filename says "Sync-Error" but the folder says "Export-Errors" -- this mismatch will confuse both readers and AI search systems. Either move this file to the Sync-Errors/ folder or rename it to match the folder context. Note that this same error code also appears in Connection-errors/NS0521-Sync-Error.md and Sync-Errors/NS0521-Sync-Error.md with slightly different content.


---

# How to Fix NS0521 for OneWorld Accounts
Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: # How to Fix NS0521 for OneWorld Accounts (line 30) and # How to Fix NS0521 for Non-OneWorld Accounts (line 56) both use H1 for body sections. These should be ##.

Suggested change
# How to Fix NS0521 for OneWorld Accounts
## How to Fix NS0521 for OneWorld Accounts


1. Log in to **NetSuite** as an Administrator.
2. Go to **Lists**.
3. Select **Employees**.
Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: ### Step One: Confirm the Employee Record in NetSuite uses ###, which is too deep for HelpDot. This should be ##. This is a systematic issue across all 87 files -- every ### Step One, ### Step Two, ### Option One, ### Option Two, etc. should be ##.

Suggested change
3. Select **Employees**.
## Step One: Confirm the Employee Record in NetSuite


## How to Fix the NS0469 Sync Error

### Step One: Enable Multi-Currency in NetSuite
Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: ### Step One uses ###, which is too deep per HelpDot standards. Use ## instead. This applies to all ### Step and ### Option headings across all Sync-Errors files as well.

Suggested change
### Step One: Enable Multi-Currency in NetSuite
## Step One: Confirm the Token Is Assigned to the Expensify Integration Role


#### Setup Permissions

| Permission | Level |
Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: #### Setup Permissions uses ####, which is not permitted in HelpDot articles. Use ## instead, consistent with the fix needed on line 57.

Suggested change
| Permission | Level |
## Setup Permissions


# How to Fix NS0885 for Reimbursable Exports

## If Exporting as an Expense Report
Copy link
Contributor

Choose a reason for hiding this comment

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

Heading level violation: # How to Fix NS0885 for Reimbursable Exports uses H1. This file has 4 body-section H1 misuses total (lines 22, 35, 73, 113). All should be ##.

Suggested change
## If Exporting as an Expense Report
## How to Fix NS0885 for Reimbursable Exports

5. Open the NetSuite connection settings.
6. Enter the updated admin credentials or new access token.
7. Save the changes.
8. Click **Sync now**.
Copy link
Contributor

Choose a reason for hiding this comment

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

Expensify style / consistency violation: This line uses Click **Sync now** while the vast majority of files (70+) use Click **Sync**. A few other files also use inconsistent variants: Click **Sync Now** (capitalized differently). Pick one label and use it consistently across all 87 files. The most common pattern in this PR is Click **Sync**.

Files using the variant Sync now or Sync Now:

  • Authentication-and-Login-errors/NS0109-Sync-Error.md (line 64)
  • Connection-errors/NS0109-Sync-Error.md (line 64)
  • Sync-Errors/NS0109-Sync-Error.md (line 64)
  • Export-Errors/NS0077-Export-Error.md (line 39)
  • NetSuite-FAQ.md (line 194)
  • Sync-Errors/NS0394-Sync-Error.md (lines 57, 68)


NS0033: One or more recipients are not valid. Please reach out to NetSuite support for additional guidance.

This means NetSuite has rejected the export due to an invalid recipient configuration.
Copy link
Contributor

Choose a reason for hiding this comment

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

Readability / scannability note: Every article in this PR follows the exact same sentence pattern: "This means [explanation]." While consistent, the repeated "This means..." opener across all 87 files reads as formulaic. Consider varying the phrasing occasionally for a more natural, conversational tone that aligns with Expensify's casual-yet-professional voice. For example, some alternatives:

  • "NetSuite has rejected the export because..."
  • "The export failed because..."
  • "This happens when..."

This is a low-priority suggestion but would improve the overall reading experience.

@stephanieelliott
Copy link
Contributor Author

@MelvinBot how can I fixed the failed Verify signed commit test

@MelvinBot
Copy link
Contributor

The verifySignedCommits check is failing because commit 719501c is not GPG-signed. The Expensify/App repo requires all commits to be cryptographically signed.

To fix this, you'll need to set up commit signing and then replace the unsigned commit. Here's how:

1. Set up GPG signing (if you haven't already)

# Check if you already have a GPG key
gpg --list-secret-keys --keyid-format=long

# If no key exists, generate one
gpg --full-generate-key
# Choose RSA, 4096 bits, and use the same email as your GitHub account

# Get your key ID
gpg --list-secret-keys --keyid-format=long
# Look for the line like: sec   rsa4096/XXXXXXXXXXXXXXXX
# Copy the key ID (the part after rsa4096/)

# Export and add to GitHub
gpg --armor --export YOUR_KEY_ID
# Copy the output and add it at: GitHub → Settings → SSH and GPG keys → New GPG key

# Configure git to use your key
git config --global user.signingkey YOUR_KEY_ID
git config --global commit.gpgsign true

2. Fix the unsigned commit

Since the unsigned commit is already pushed, you'll need to create a new signed commit with the same changes. The simplest approach:

# Make sure signing is configured (from step 1)
git config --global commit.gpgsign true

# Soft reset the unsigned commit, then re-commit with signing
git reset --soft HEAD~1
git commit -S -m "Your original commit message here"
git push --force-with-lease

Alternatively, if you have multiple commits and only one is unsigned, you can use an interactive rebase to re-sign just that commit — but the approach above is simpler for a single commit.

Quick check

You can verify a commit is signed with:

git log --show-signature -1

Once you push the newly signed commit, the verifySignedCommits check should pass.

- Articles: Authentication-and-Login-errors, Connection-errors, Export-Errors, Sync-Errors, NetSuite-FAQ (90 articles).
- Hub pages: Troubleshooting and subsection hubs so articles are reachable from the help site.
Part of Integration Errors Revamp (splitting PR #83106).
@stephanieelliott stephanieelliott force-pushed the helpsite-expensify-classic-netsuite branch from 719501c to 727c98a Compare March 11, 2026 00:07
@stephanieelliott stephanieelliott merged commit 45604f6 into main Mar 11, 2026
12 checks passed
@stephanieelliott stephanieelliott deleted the helpsite-expensify-classic-netsuite branch March 11, 2026 00:12
@OSBotify
Copy link
Contributor

🚀 Deployed to staging by https://github.com/stephanieelliott in version: 9.3.36-0 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

@OSBotify
Copy link
Contributor

🚀 Deployed to production by https://github.com/luacmartins in version: 9.3.36-10 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

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.

4 participants