solarOSsolarOS Docs

Integration problems

Fixes for common problems connecting Stripe, QuickBooks, Slack, Zapier, API keys, and webhooks.

The Stripe Connect card shows a red "Overdue" banner

Stripe needs more information before it will enable charges or payouts, for example a business description, support phone number, website, bank account, or terms of service acceptance. Click Update Information to go back into Stripe's onboarding and finish what's missing. See Connect Stripe.

A Stripe capability shows "Not Requested" or "Inactive"

Stripe only requests a capability, such as card or ACH payments, once you've submitted the information it needs. Finish onboarding through Update Information, then click Refresh Status. See Connect Stripe.

A customer can't pay: "Provider has not connected their Stripe account"

This shows to a customer trying to pay a quote or invoice when your organization hasn't connected Stripe, or hasn't finished onboarding (the message reads "Provider's Stripe account is not ready to accept payments" in that case). Complete Stripe setup before sending payable quotes and invoices. See Connect Stripe.

"You do not have permission to manage billing settings."

Only Owner and Admin can connect or manage Stripe; for QuickBooks, Operations Manager can too. Ask one of them to connect it. See Connect Stripe and Connect QuickBooks.

"QuickBooks is not connected for this organization."

This shows on an invoice's QuickBooks section, and generating an invoice PDF that needs QuickBooks data fails the same way, when your organization hasn't completed the connection. Connect QuickBooks first. See Connect QuickBooks.

An invoice shows a QuickBooks sync error

Open the invoice and use Retry Sync from its QuickBooks section. You can also go to View Full Sync History → Errors on the QuickBooks page. The Problem column says what to fix. Click Retry on a row, or tick several rows and click Retry selected. Use the Record type and outcome lists to narrow the rows; the list starts on Needs attention. See Connect QuickBooks.

Its customer isn't linked to a QuickBooks customer yet; the row only says "Customer is not linked in QuickBooks yet." Link the customer from Review imported QuickBooks customers first, then refresh the matching page. See Connect QuickBooks.

Slack shows an Error badge and the rest of the page is gone

When the connection is in an error state, solarOS only shows the connection status and a Reconnect Slack button; channels, notification rules, and the test message card stay hidden until it's healthy again. This is usually caused by the Slack app being uninstalled from the workspace, or its access being revoked from Slack's side. See Connect Slack.

A Slack test message fails

"Invite @solarOS to this channel in Slack (/invite @solarOS), then retry." means the app hasn't been invited to that channel yet; run /invite @solarOS there. "No channel with that ID - check the Channel ID." means the ID you entered isn't a real channel, not a channel name. "Set a default channel first, then retry." means Send Test Message has no channel to post to yet; choose a Default Channel on the Slack page first. See Connect Slack.

A Zapier connection fails naming missing scopes, or a dropdown comes back empty

Add the missing scopes to the API key and reconnect using the same key; you don't need a new one. Campaign, Lead Source, and Sales Type dropdowns need their own read scopes to populate. See Send leads from Zapier.

You lost an API key's value

There's no way to view it again, only the masked prefix shown in the list. Revoke it and create a new one, or rotate it if something is actively using it. See Create and manage API keys.

A request returns 401 even though the key looks right

Check the key's status: Active, Revoked, or Expired. A revoked or expired key returns 401 no matter how the request is formatted. See Create and manage API keys.

A webhook delivery is Failed or stuck Retrying

solarOS treats any response outside the 2xx, 429, and 5xx ranges as permanent and doesn't retry it; fix your endpoint and use Test fire or Retry to confirm. A delivery stuck Retrying means your endpoint returned 429 or a 5xx: solarOS retries with increasing delays before marking it Failed. See Set up webhooks.

API error messages

Every API error response includes a status code and a plain message, listed in full at the error codes reference. Two are easy to misdiagnose as bugs:

  • A 429 response means you're sending requests faster than your limit allows. The message starts with "Rate limit exceeded"; wait the number of seconds it names before retrying.
  • A 409 response with the message "Idempotency-Key was already used with a different request body." means you reused the same idempotency key for two different requests. Use a new key per distinct request instead of reusing one.

See Errors for the full response shape and safe-retry guidance.

Was this page helpful?

On this page