For the complete documentation index, see llms.txt. This page is also available as Markdown.

Troubleshooting

Quick fixes for common issues. If your problem isn't listed, contact support with the quote number and a screenshot.

"You are not eligible to submit a quote request"

The buyer submitted a quote but got an eligibility error.

Possible causes

Cause
Fix

Eligibility = Approved B2B, customer has no B2B tag

Add a b2b, wholesale, or tier-* tag to the customer in Shopify → Customers

Customer is logged in via new customer accounts

App tries to look up the customer by email — make sure the customer's email in the form matches their Shopify Customer record

Eligibility = Public + rate limit triggered

Check Quote settings → Auto-reject → Rate limit per IP. Increase or disable

The Request a Quote button doesn't appear

The block is on the product page in theme editor, but storefront shows nothing.

Possible causes

  • Customer isn't logged in + eligibility is Approved B2B → behavior by design. Test with a logged-in B2B account.

  • Eligibility check fails → check the customer's tags in Shopify admin

  • Block hidden via eligibility_visibility = b2b_only → block-level setting in theme editor. Customer must have a B2B tag

The buyer clicked the button, modal opened, but the items table is blank.

Possible cause

The /products/<handle>.json endpoint returned nothing — usually because the product is unpublished or hidden from the buyer's market. Republish the product or check market scope.

Customer accepted but PDF invoice email never arrived

Buyer reports they clicked Accept on a Net 30 quote but never got the PDF.

Checklist

  1. SMTP configured? Apps → Orbit B2B → Email Templates → Configuration → SMTP Settings. Click Send test email.

  2. quote_accepted_invoice template enabled? Email Templates → Quote → Quote Invoice (Net terms). Toggle Enabled.

  3. Buyer's email correct? Open the quote → check the customer card. If the buyer's email is wrong, edit the customer in Shopify → Customers, then ask them to re-submit.

  4. PDF generation logs — check your backend logs for [QuoteEmailService] PDF generation failed. If pdfkit threw an error, the email is skipped.

  5. Spam folder — large attachments sometimes get flagged. Ask buyer to check spam.

Net 30 buyer doesn't see Mark as paid working

You marked a Net 30 order as paid in Shopify but the quote still shows the buyer hasn't paid.

Cause

The orders/paid webhook is what links the order back to the quote. If the webhook didn't fire:

  • Check Partner Dashboard → App → Webhooks → orders/paid is subscribed and pointing to your app's /api/webhooks endpoint

  • Manually trigger from Shopify Orders → click the order → Resend webhook (if visible)

  • Check backend logs for [Webhook] orders/paid linked to quote ...

"Quote has expired" error when buyer tries to accept

Buyer opens the email link and clicks Accept, but gets a "quote has expired" message.

Cause

The quote's validity.validUntil is in the past. Either:

  • The hourly cron just ran and marked it Expired

  • The validity was too short (e.g. 3 days)

Fix

Open the quote in your inbox → status will be Expired. Click anywhere in the items / adjustments → set a new validity → click Send price update again. This re-extends the quote and lets the buyer accept.

Hourly cron job not running

Quotes never auto-expire and reminder emails never fire.

Checklist

  • DISABLE_SCHEDULED_JOBS env var is not set to "1" on production

  • Backend log on boot shows [scheduler] reconcile next ... — if not, the scheduler module didn't start

  • Mongo connection is up (cron uses a Mongo-backed lock)

Translations show in wrong language

Buyer is on the French version of your store but sees English buttons.

Cause

The translations aren't synced to the metafield, OR the French locale isn't published.

Fix

  1. Shopify admin → Settings → Languages → make sure French is published

  2. Apps → Orbit B2B → Settings → Storefront Text → switch language tab to French → fill in any empty values

  3. Save — this triggers a metafield sync

  4. Hard-refresh the storefront page (Cmd+Shift+R)

Need more help

Send the quote number + a screenshot of the issue to your account manager. Include the customer's email and approximate time so we can locate the request in our logs.

Last updated

Was this helpful?