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

SymptomCauseSolution
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

SymptomCauseSolution
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

SymptomCauseSolution
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

Getting Support

If you need help beyond this documentation:

When requesting support: Include your Deprixa Plus version number, PHP version, a description of the issue, and any error messages you see. Screenshots help us resolve issues faster.