You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Netsuite - Can't connect to Netsuite due to an authentication error via token (SOAP). #105783
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
Identify the pull request that introduced this issue and revert it.
Causing PR: None found in App. Confidence that App isn't the cause: medium-high.
Recommendation: Don't revert anything in App. This appears to be a backend/internal issue or a test-credential problem. A separate internal investigation is needed.
The SOAP request path is unchanged between production and staging.
The error text appears only when the server returns isAuthenticationError: true after it tries to connect to NetSuite.
"Not reproducible in production" doesn't prove a regression. The SOAP link is hidden on production, so the tester couldn't run these steps there.
SOAP path unchanged (production 2fc7706990f3 vs staging 89308067b4df). These files are identical: NetSuiteTokenInputPage.tsx, NetSuiteTokenAuthenticationLink.tsx, NetSuiteTokenSetupContent.tsx, NetSuiteCommands.ts, connections/index.ts, ConnectPolicyToNetSuiteParams.ts, NetSuiteTokenInputForm.ts (form type), and FormProvider.tsx. NetSuiteTokenInputForm.tsx differs only inside the OAuth branch. The SOAP branch at NetSuiteTokenInputForm.tsx#L67-L71 still sends the same three values through ConnectPolicyToNetSuite / UpdateNetSuiteTokens (NetSuiteCommands.ts#L25-L50).
Found the logs and they indicate some invalid credentials error. The connection flow from App started correctly, so I don't think this is an App blocker.
Activity
applause-bot commentedon Nov 3, 2026
While Applause doesn't embed attachments for this bug, here are the links for quick view:
https://platform.applause.com/services/links/v1/external/bb06ee82197d573adce398c7e5dee9c406559a432df8cd6ee8d489140907a77c
https://platform.applause.com/services/links/v1/external/f605fc674742a7850fe9f79d925fab24a4e6d7fdcc26b8a1f22d9c9db70f8f86
melvin-bot commentedon Nov 3, 2026
Triggered auto assignment to @francoisl (
DeployBlockerCash), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.melvin-bot commentedon Nov 3, 2026
💬 A slack conversation has been started in #expensify-open-source
github-actions commentedon Nov 3, 2026
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
MelvinBot commentedon Nov 3, 2026
Deploy Blocker Investigation
Causing PR: None found in App. Confidence that App isn't the cause: medium-high.
Recommendation: Don't revert anything in App. This appears to be a backend/internal issue or a test-credential problem. A separate internal investigation is needed.
isAuthenticationError: trueafter it tries to connect to NetSuite.Investigation details
SOAP link is non-production only.
canSwitchToTokenAuthentication = !isProductionin NetSuiteTokenInputPage.tsx#L56-L60.SOAP path unchanged (production
2fc7706990f3vs staging89308067b4df). These files are identical:NetSuiteTokenInputPage.tsx,NetSuiteTokenAuthenticationLink.tsx,NetSuiteTokenSetupContent.tsx,NetSuiteCommands.ts,connections/index.ts,ConnectPolicyToNetSuiteParams.ts,NetSuiteTokenInputForm.ts(form type), andFormProvider.tsx.NetSuiteTokenInputForm.tsxdiffers only inside the OAuth branch. The SOAP branch at NetSuiteTokenInputForm.tsx#L67-L71 still sends the same three values throughConnectPolicyToNetSuite/UpdateNetSuiteTokens(NetSuiteCommands.ts#L25-L50).The error is server-driven. The message shows only when
lastSync.isAuthenticationError === true(connections/index.ts#L323-L326, rendered in accounting/utils.tsx#L788-L791). The App never sets this flag itself.Staging PRs that touch NetSuite (both ruled out):
sessionargument toconnectToNetSuiteOAuthSetup. This runs only in the OAuth branch, which returns before the SOAP branch.No other PR in the checklist touches NetSuite, the connection actions, or the API parameters.
Similar past issues:
Suggested next steps:
ConnectPolicyToNetSuiterequests from 2026-11-03 and see what NetSuite returned.Next Steps: Reply with
@MelvinBot <your feedback>to refine this analysis.view run
francoisl commentedon Nov 3, 2026
Found the logs and they indicate some invalid credentials error. The connection flow from App started correctly, so I don't think this is an App blocker.