SaaS Troubleshooting

Fix common issues specific to SaaS mode — tenants, subscriptions, domains, and Stripe integration.


Tenant Issues

ProblemSolution
Tenant cannot access their boardCheck tenant status — may be suspended or pending payment
Tenant sees "Suspended" pageSubscription expired. They need to resubscribe, or unsuspend manually
Tenant cannot sign upCheck registration mode (open vs invite-only) in Platform Settings
Signup payment failsVerify Stripe keys are correct. Check Stripe Dashboard for error details

Login Issues

ProblemSolution
Super Admin can't log inVerify your email and password. Use the Forgot Password link to reset. Check that your account has Super Admin role in the database.
Tenant admin can't log inCheck that the tenant's status is not Suspended. Verify their email is confirmed.
"419 Page Expired" on loginRefresh the page and try again. Clear browser cookies for the site.
Social login not working for tenantsVerify OAuth credentials are configured at the platform level in Super Admin > Platform Settings > OAuth Providers.

Subscription Issues

ProblemSolution
Trial not expiringVerify the cron job is running (see Cron Jobs)
Payment not processingCheck Stripe API keys. Review Stripe Dashboard for payment errors
Plan change not workingVerify Stripe Price IDs are correct for the plan
Invoices show wrong amountCheck plan pricing in your Stripe Dashboard

Domain Issues

ProblemSolution
Domain stuck on "Pending"Tenant needs to add DNS records. Click "Check Status" to re-verify
SSL not provisioningDNS must be verified first. Check domain event log for errors
Domain shows "Failed"Review domain event log. Try "Retry Integration" or "Reprovision"
cPanel connection failsVerify cPanel credentials and hostname. Click "Test Connection"
Cloudflare connection failsVerify API token and Zone ID. Ensure token has correct permissions

Email Issues

ProblemSolution
Tenants not receiving lifecycle emailsCheck Platform Settings > SMTP configuration. Verify templates are enabled
Trial expiry emails not sendingVerify the cron job is running
Duplicate emails being sentCheck email logs for double-sends. May indicate a webhook processing issue

Cron Job Issues

ProblemSolution
Trial expiry emails not sendingThe cron job is likely not running. Verify with php artisan schedule:run via SSH. See Cron Jobs.
Scheduled tenant deletions not processingThe cron job handles pending deletions after the 7-day grace period. Ensure the cron is active.
Subscription status not updating automaticallyStripe webhooks handle real-time updates, but the cron job handles periodic checks. Verify both are working.
command not found in cronUse the full path to PHP, e.g., /usr/bin/php /path/to/artisan schedule:run

Stripe Webhook Issues

Stripe sends webhooks to notify Votlie of payment events. If webhooks are not working:

  1. Check that your webhook endpoint URL is correct in Stripe Dashboard:
https://yourdomain.com/api/stripe/webhook
  1. Verify the webhook signing secret matches what is configured in Votlie
  2. Check Stripe Dashboard > Developers > Webhooks for failed delivery attempts
  3. Review storage/logs/laravel.log for webhook processing errors

SaaS FAQ

Can tenants customize their own board? Yes. Tenant admins have full access to the theme editor, categories, statuses, settings, and email configuration for their board. They can customize branding, colors, logos, and layout to match their own product.

Can tenants use their own SMTP? Yes. Tenant admins can configure board-level SMTP settings in their admin panel that override the platform default. This allows tenants to send emails from their own domain.

What happens when a tenant is deleted? All tenant data is permanently removed — users, features, votes, comments, settings, and custom domains. Scheduled deletions have a 7-day grace period during which the deletion can be cancelled. Immediate deletions cannot be undone.

Can I offer a free plan? Yes. Create a plan with a $0 price. Free plans do not require Stripe Price IDs. Tenants selecting a free plan have their board created immediately without going through Stripe Checkout.

Can tenants have multiple products? Yes, if the multi-product feature is included in their plan limits (controlled by Max Products in plan settings). Each plan can define how many product boards a tenant is allowed to create.

What happens if Stripe is down? Existing tenants continue to work normally. New signups and plan changes will fail until Stripe recovers. No data is lost. Stripe webhooks that fail to deliver are retried automatically by Stripe.

How do I migrate from Regular License to Extended License? Purchase the Extended License upgrade from CodeCanyon. Then update your license key in the application settings. Run any required database migrations (php artisan migrate). The SaaS features (multi-tenancy, plans, tenant management) will become available. Your existing board data is preserved and becomes the first tenant or the platform itself, depending on the migration path.


Getting Help

If you've tried everything here and still have issues:

  1. Make sure you have the latest version
  2. Check your error logs for specific messages
  3. Verify the cron job is running
  4. Contact support through CodeCanyon with detailed information

Was this page helpful?