FAQ & Troubleshooting
Answers to common questions and solutions for known issues.
Frequently Asked Questions
General
What is Deprixa Plus?
A SaaS multi-tenant platform for courier, logistics, and package delivery companies. It manages the entire shipment lifecycle from package intake to delivery confirmation.
What technology stack does it use?
Laravel 12 (PHP 8.2+), React 19 with TypeScript, Inertia.js for SPA-like navigation, Tailwind CSS, and MySQL 8.
How many languages are supported?
English and Spanish are included. The i18n system supports adding more languages by translating the JSON language files.
Can I use it for multiple companies?
Yes. Each company (organization) operates as an isolated tenant with its own data, branding, users, and rates. The Super Admin manages all tenants.
Is it white-label ready?
Yes. You can fully customize the logo, colors, fonts, login page, landing page, email templates, invoice templates, and shipment labels. The APP_NAME in .env controls the system-wide brand name.
Payments & Billing
What payment gateways are supported?
Stripe, PayPal, and Paystack. Each can be enabled or disabled independently and supports test mode for development.
How does the SaaS billing work?
Organizations subscribe to plans (Free, Starter, Growth, Pro, Enterprise). Each plan has limits on shipments, users, and branches. Billing uses a prepaid wallet — organizations recharge via Stripe, PayPal, or Paystack, and subscriptions auto-debit from the wallet.
Notifications & Maps
What notification channels are available?
Email (SMTP), WhatsApp (via Twilio or UltraMsg), SMS (via Twilio), in-app notifications (bell icon), and outgoing webhooks.
What map providers are supported?
Google Maps, Mapbox, and OpenStreetMap/Leaflet. You can use any combination; the system falls back automatically.
Shipping & Carriers
Does it support international shipping?
Yes. The rate engine supports any origin-to-destination zone combination with wildcards. Customs declarations and HS codes are built in. Contracts support international terms (incoterms, insurance, restricted countries).
What carriers are integrated?
DHL, FedEx, UPS, and USPS via API adapters. You can also use the built-in local carrier with your own rate cards.
Can customers track their shipments?
Yes. A public tracking page at /tracking allows anyone to enter a tracking number and see the full status timeline. No login required.
Features
What is the Locker / Casillero feature?
Lockers are virtual mailboxes for customers. Each customer gets a unique locker code with a warehouse address. They give this address to online stores, and packages arrive at your warehouse for consolidation and forwarding. This is common in Latin American courier services.
What are Pre-Alerts?
Pre-alerts let customers announce that a package is coming before it arrives. This helps your warehouse team match incoming packages to customers and process them faster.
Can drivers use mobile devices?
Yes. The driver dashboard is fully responsive. Drivers can log in from any mobile browser to view assignments, update statuses, capture proof of delivery (signature or photo), and send GPS locations.
What reports are available?
Shipment reports (volume, status, service type), financial reports (revenue, costs, profit), return analysis, and branch profitability. All exportable to Excel and CSV.
Troubleshooting — Installation Issues
| Symptom | Cause | Solution |
|---|---|---|
| 500 Internal Server Error after install | APP_KEY not set | Run php artisan key:generate |
| "SQLSTATE Connection refused" | MySQL not running or wrong credentials | Verify DB_HOST, DB_PORT, DB_USERNAME, DB_PASSWORD in .env |
| "storage/ is not writable" | File permissions | Run chmod -R 775 storage bootstrap/cache |
| "Class not found" after install | Autoload cache stale | Run composer dump-autoload |
| "Vite manifest not found" | Frontend assets not built | Run npm install && npm run build |
| Blank white page | PHP errors hidden | Set APP_DEBUG=true temporarily, then check storage/logs/laravel.log |
| Install wizard shows again after completing | .installed file missing |
Check if storage/framework/.installed exists. If not, create it manually. |
Troubleshooting — Runtime Issues
| Symptom | Cause | Solution |
|---|---|---|
| Currency shows "$" instead of configured symbol | Browser cache | Clear browser cache. Verify currency is set in Settings → Region & Formats. |
| Emails not sending | SMTP not configured | Go to Settings → Notifications, configure SMTP, click Test SMTP. |
| WhatsApp messages not delivered | Invalid credentials or number format | Verify Twilio or UltraMsg credentials. Phone must include country code (e.g., +1234567890). |
| Map not showing in Dispatch | No API key configured | Go to Settings → Integrations → Maps, add a Google Maps or Mapbox key. OSM works without a key. |
| Shipment creation fails: "No rates found" | No rate cards or zones configured | Go to Logistics → Rates, create at least one zone, card, and rule. Or configure a Service in Settings → Services. |
| Driver GPS not updating | Browser location denied | Driver must allow location access in browser. Check the GPS indicator on the driver dashboard. |
| PDF invoices show wrong branding | Cache issue | Go to Settings → Maintenance → Clear Cache. |
| Subscription expired, cannot access anything | Wallet balance insufficient | Recharge wallet at My Billing → Recharge. Or admin manually credits via SaaS Admin → Wallets. |
| "Upload too large" error | PHP upload limit | Increase upload_max_filesize and post_max_size in php.ini. Recommended: 20M. |
| Cron jobs not running | Crontab not configured | Add to crontab: * * * * * cd /path && php artisan schedule:run >> /dev/null 2>&1 |
| Slow dashboard loading | Large dataset without indexes | Run php artisan migrate to ensure all performance indexes are created. |
| Login loop (redirects back to login) | Session issues | Clear cookies and cache. Check SESSION_DRIVER in .env (recommended: file or database). |
Troubleshooting — Data Issues
| Symptom | Cause | Solution |
|---|---|---|
| Customer can see another organization's data | Multi-tenancy scope issue | This should not happen. Contact support with details. All models use tenant-scoped queries. |
| Import shows "skipped" rows | Validation failures | Check the import result details — each skipped row shows the reason (duplicate email, missing required field, etc.). |
| Tracking page shows "Not Found" | Wrong tracking number or different organization | Verify the tracking number. Public tracking searches across all organizations. |
Performance Tips
- Use Redis: Configure Redis as your cache and session driver for significantly faster response times.
- Enable queue workers: Set up a queue worker to process emails, notifications, and heavy operations in the background instead of during page requests.
- Optimize images: Compress uploaded images before uploading. Use WebP format when possible.
- Use Nginx: Nginx handles static files and concurrent connections more efficiently than Apache.
- Schedule maintenance: Go to Settings → Maintenance to clear caches, optimize the database, and view system health.
- Keep PHP updated: PHP 8.3 provides meaningful performance improvements over PHP 8.2.
Getting Support
If you need help beyond this documentation:
- Item Comments: Post your question in the item comments section on CodeCanyon.
- Email Support: Contact us through the support email provided in your purchase receipt.
- Documentation: Browse all available documentation pages using the sidebar navigation.