Docs / Admin Tools β€” Configuration
🏠 Home

Admin Tools β€” Configuration

Everything under Tools & Settings in the admin panel (/admin/tools): company data, branding, money, tracking numbers, statuses, catalogs, payments and notifications.

Admin panel only Permission: tools.* or tools.settings.manage

Open the admin sidebar and click Tools & Settings. The landing page (admin.tools route) shows grouped cards β€” General Settings, Communications, Logistics & Locations, Catalog Management, Payment & Finance, System & Integration and Access Control. Each link only appears when your role has the matching tools.* permission. Almost every screen on this page writes to the single settings table row and takes effect immediately.

CargoPRO admin β€” Tools & Settings overview
The Tools & Settings area β€” every screen below lives here.

General settings

Tools & Settings β†’ General Settings (/admin/tools/settings) holds company identity, registration rules and locale. Fields saved by ToolsController::settingsSave():

FieldWhat it doesExample
site_nameCompany / site name used across admin, emails and invoicesAcme Cargo
site_urlPublic website URL (links in emails and apps)https://acme.example
site_emailCompany From/reply addressops@acme.example
c_phone / cell_phoneCompany phone and optional mobile+1 555 0100
c_nitTax ID / NIT printed on invoices800-123-456
c_address, c_city, c_country, c_postalCompany postal address1 Harbor Rd
locker_addressLocker / warehouse address shown to customersMiami FL 33166
timezonePHP timezone identifier (select from DateTimeZone::listIdentifiers)America/New_York
languageAdmin default language: en, es, fr, aren
auto_verifyYes = users can log in right after registering; No = admin must activate each account1
reg_allowedEnables or disables public self-registration1
notify_adminEmails an admin on every new registration1

Currency lives on the same screen. Pick a country from Select Currency (fed by the countries table, which carries currency and currency_symbol) or enter a custom currency code and for_symbol. Currency Format (cformat 1–4) decides decimal/thousand separators, Symbol Position (for_currency p/s) puts the symbol left or right, and Decimal Places (for_decimal) shows 0 or 2 decimals. A live preview under the fields renders the result, e.g. $1,234.56.

CargoPRO admin β€” General Settings, Company Information
Company Information β€” the identity fields used across the admin, emails and invoices.
CargoPRO admin β€” Registration Authorization, System Preferences and Currency Settings
Registration Authorization (auto-verify, public registration, admin notification), System Preferences (timezone, language) and Currency Settings.

Tools & Settings β†’ Logo & Favicon uploads three brand files: logo (admin panel), logo_web (public site) and favicon. The controller stores them in public/assets/images/ as <timestamp>_<field>.<ext> and saves the relative path (e.g. assets/images/1712345678_logo.png) into the matching settings column. Every layout then renders the admin logo with asset($settings->logo) β€” so replacing the file here is all it takes to rebrand the header. Display size is controlled by thumb_w/thumb_h (admin) and thumb_web/thumb_hweb (public); the favicon help text recommends 45 Γ— 45 px. After a save the controller runs Cache::forget('settings:row') and view:clear so the new logo shows instantly. See Branding & Customization for the full rebranding walkthrough.

Taxes & fees

Tools & Settings β†’ Taxes & Fees (/admin/tools/settings/taxes) defines the money defaults pre-filled on new shipments and packages:

FieldWhat it doesDefault
min_cost_taxTax applies only when the chargeable amount is above this floor1.00
taxTax percentage8.00 %
min_cost_declared_tax / declared_taxSame idea for the declared-value tax0.50 / 5.00 %
insuranceShipping insurance percentage2.00 %
c_tariffsCustoms duties percentage3 %
meterVolumetric divisor: volumetric weight = L Γ— W Γ— H Γ· this number (typical air freight 5000)5000
unitsLength unit for dimensions: cm, m, Pie, in, ftcm
value_weightDefault price per weight unit on create shipment / package4.50
Empty install? The first visit to this screen backfills these defaults if the old seeder left them at zero β€” it never overwrites a non-zero rate an admin already set.
CargoPRO admin β€” Taxes & Fees and Weight & Dimensions settings
Taxes & Fees (tax, declared tax, insurance, customs duties) and the Weight & Dimensions block (volumetric divisor, length unit, value per weight).

Tracking number prefixes

Tools & Settings β†’ Tracking & Invoice controls how tracking numbers are generated. Prefixes are limited to 20 characters and digit lengths to 1–10. Exact keys and seeded values (from database/seeders/SettingsSeeder.php):

Setting keyWhat it doesDefault
prefix + track_digitPrefix and digit count for shipment (AWB) tracking numbersAWB + 8
prefix_consolidate + track_consolidatePrefix and digits for consolidationsCON + 8
prefix_online_shopping + track_online_shoppingPrefix and digits for online shopping ordersOS + 8
prefix_locker + digit_random_lockerPrefix and digits for locker numbersLK + 8
code_numberTracking number type: 0 = Random (recommended), 1 = Auto-increment0
digit_randomRandom digit count for shipment numbers8
code_number_lockerSame switch for locker numbers (random vs auto-increment)0
intermsDefault invoice terms text blockβ€”
signing_company / signing_customerSignature captions printed on invoicesβ€”
CargoPRO admin β€” Tracking & Invoice prefixes and number generation
The Tracking & Invoice screen β€” prefixes, digit counts and the Random (recommended) number generator.
CargoPRO admin β€” Invoice Settings with default terms and signature captions
Invoice Settings β€” the default invoice terms text and the company/customer signature captions printed on invoices.

Shipping statuses

Catalog Management β†’ Shipping Statuses edits the styles table: each row has a status name (mod_style), a description and a hex color used for badges and timelines. You can freely rename labels, rewrite descriptions and change colors β€” the internal code column stays locked to the system key, and rows with a system code cannot be deleted (the controller answers β€œSystem statuses cannot be deleted. Rename the label instead.”). Saving flushes the ShipmentStatus label cache so filters pick up the new name. System statuses seeded with their colors:

System codeLabelColor
pendingPending#f59e0b
approvedApproved#00D084
in_transitIn Transit#3b82f6
out_for_deliveryOut for Delivery#8b5cf6
on_holdOn Hold#64748b
consolidateConsolidate#0ea5e9
deliveredDelivered#00D084
rejectedRejected#f97316
cancelledCancelled#ef4444
ready_for_pickupReady for Pickup#00D084
self_pickupSelf pickup#14b8a6

Catalog: warehouses, agencies, couriers & lists

Simple CRUD lists that feed the shipment forms and the Default Shipping Info screen. All are reached from the Tools landing page:

Screen (route)FieldsUsed for
Warehouses (admin.tools.offices)name_off, code_off, address, city, phone_offPackage assignment and self-pickup points
Branch Offices (admin.tools.branches)name_branch, branch_address, branch_city, phone_branchAgencies where customers drop off or collect
Courier Companies (admin.tools.couriers)name_com, address_cou, phone_cou, country_cou, city_cou, postal_couLast-mile partners on shipments
Categories (admin.tools.categories)name_item, detail_itemItem type on shipments/packages
Packaging Types (admin.tools.packaging)name_pack, detail_packPackaging selection
Shipping Modes (route admin.tools.payment-mode)ship_mode, detail (table shipping_mode)Air/sea/ground service level (route name is legacy)
Delivery Times (admin.tools.delivery-times)delitime, detailEstimated transit options
Incoterms (admin.tools.incoterms)inco_name, detailTerms of sale on invoices
Shipping Lines / Tariffsline names; tariffs by route and weight rangeFreight pricing

General Settings β†’ Default Shipping Info then picks one row from each list (logistics_default1 category, packaging_default2, courier_default3, service_default4 shipping mode, time_default5 delivery time, pay_default6 gateway, payment_default7 payment method, status_default8 status) to pre-fill the Create Shipment form. The default status cannot be Delivered or Consolidate.

CargoPRO admin β€” Packaging Types catalog list
Catalog Management β†’ Packaging Types β€” the seeded list (envelope to pallet); add your own with the top-right button.

Payment gateways & payment methods

Payment & Finance β†’ Payment Gateways manages six rows in the met_payment table: cash, paypal, stripe, paystack, wire and cod. Each row has an is_active switch on the list (toggling it POSTs instantly) and a Configure page. Credentials per gateway: PayPal stores paypal_client_id + secret_key; Stripe and Paystack store public_key + secret_key; Wire, Cash and COD have no keys β€” the instructions/bank-details field is saved into public_key. The seeder ships cash, wire and COD active, the online gateways inactive until you add keys.

GatewayRequired keysSeeded state
cashβ€” (instructions only)Active
wireβ€” (bank details in instructions)Active
codβ€” (instructions only)Active
paypalClient ID + secretInactive
stripePublishable + secret keyInactive
paystackPublic + secret keyInactive

Payment Methods is a different concept: order payment terms in the payment_methods table β€” a label plus days (net terms, 0–365). Seeded rows are Prepaid (0), Postpaid 15/30/60 day and Payment on delivery. Row ID 1 is protected and cannot be edited or deleted.

The buyer-facing setup walkthrough (accounts, keys, webhooks, go-live checklist) is on the Payment Gateways page.

Communications

Email Settings (/admin/tools/settings/email): choose mailer PHP or SMTP, then smtp_names (sender name), email_address, smtp_host, smtp_user, smtp_password (left blank = keep current), smtp_port and smtp_secure (tls or ssl).

Email Templates: one row per event (welcome, shipment created, shipment update, package shipped/delivered, payment received, pre-alert, pickup, consolidation…). Each template has a name, subject, help note, HTML body, optional logo (stored under storage/email-templates/logos on the public disk), an Active switch, and Send to Roles checkboxes for customer, admin, driver and warehouse. Bodies use {curly} placeholders that are filled at send time β€” common ones: {user_name}, {tracking_number}, {order_id}, {status}, {datetime}, {amount}, {currency}, {gateway}, {transaction_id}, {link}, {site_name}. Never edit the text inside the braces. The same editor pattern applies to SMS Templates and WhatsApp Templates (plain-text bodies, same placeholders).

SMS Settings stores Twilio credentials (twilio_sms_sid, twilio_sms_token, twilio_sms_number) plus an Enable SMS switch (active_sms). WhatsApp Settings stores an API URL (api_ws_url), token and number plus active_whatsapp; the URL is normalized to end with /. Push Templates and FCM / Push Settings control notifications: enable FCM (fcm_active), paste the Firebase service account JSON (fcm_service_account), optionally record a Sender ID (fcm_sender_id), then hit Test Connection β€” it POSTs to /api/tools/fcm/test and sends a real HTTP v1 push to the first active device token. A VAPID / web-push certificate is not used. Full Firebase project setup is on the Firebase & Push page.

CargoPRO admin panel β€” FCM Configuration screen
FCM toggle, service account JSON, optional sender ID and the Test Connection panel.

Email (SMTP) setup

Open Tools & Settings β†’ Email Settings. Pick the Default Mailer (SMTP is recommended for production), then fill the From email address and Sender name used on every outgoing email. Under SMTP Configuration enter your server's host, port (587 with TLS is the common choice), encryption, username and password β€” for Gmail/Workspace that is an app password, not the mailbox password. Save, then use the day-one Test SMTP step below to confirm delivery before relying on notifications.

CargoPRO admin β€” Email Settings with default mailer and SMTP configuration
Email Settings β€” the SMTP mailer, sender identity and server credentials (host, port, encryption, username, password).

SMS (Twilio) setup

Open Tools & Settings β†’ SMS Settings and switch Enable SMS to Yes. Paste your Twilio SID and auth token from the Twilio console, and the Twilio number as the sender in E.164 format (e.g. +14155238886). SMS notifications then use the SMS templates under Tools β†’ SMS Templates. Twilio is a third-party service and bills each message on your own account.

CargoPRO admin β€” SMS Settings with Twilio configuration
Twilio Configuration β€” the enable switch, SID, auth token and E.164 sender number.

Locations

Logistics & Locations β†’ Countries / States / Cities manage the countries, states and cities tables. Countries matter twice: they populate address selects, and each row carries currency + currency_symbol, which is exactly what the General Settings currency picker reads. Country rows also have an active/inactive toggle. States belong to a country; cities belong to a state.

Users, roles & permissions

Access Control β†’ Roles / Permissions controls what each admin user sees. A role has a slug-style name (lowercase letters, digits, hyphens), a display name, and a checkbox matrix of permissions grouped by module (groups come from config('permissions.groups')). Permissions such as tools.settings.manage, tools.catalogs.manage, tools.payment-gateways.manage or manage.roles gate both the Tools links and their routes β€” a user without the permission gets the β€œYou do not have access to any tools” notice on the Tools page.

Why changes apply instantly The cache lives for one second, so a saved setting is picked up on the next request β€” and logo saves force-flush the cache and clear compiled views so the new branding renders immediately.

Day-one configuration checklist

Set the company name and logo

General Settings: site_name, URL, email and address. Then Logo & Favicon: upload the admin logo, public logo and favicon (45 Γ— 45 px).

Tools & Settings β†’ General Settings, then β†’ Logo & Favicon

Configure currency and taxes

Pick the currency from the country list, set format/symbol position, then review Taxes & Fees: tax %, insurance, declared tax, volumetric divisor and value per weight.

Tools & Settings β†’ General Settings + Taxes & Fees

Verify statuses and prefixes

Rename any status label or color your operations actually use, and check the AWB/CON/OS/LK prefixes on Tracking & Invoice.

Catalog Management β†’ Shipping Statuses Β· General Settings β†’ Tracking & Invoice

Create a warehouse, agency and courier

Add at least one Warehouse, Branch Office and Courier Company, then set them as defaults on Default Shipping Info.

Logistics & Locations + General Settings β†’ Default Shipping Info

Enable payment gateways

Decide which of cash / wire / COD stay on, add PayPal / Stripe / Paystack keys for the online ones, and review Prepaid/Postpaid terms.

Payment & Finance β†’ Payment Gateways + Payment Methods

Test SMTP

Fill Email Settings (host, user, port, TLS) and trigger a password reset or template send to confirm delivery.

Communications β†’ Email Settings

Set language and timezone

Choose the admin language (en/es/fr/ar) and confirm the timezone, then optionally configure SMS, WhatsApp and FCM (Firebase guide).

General Settings β†’ System Preferences Β· Communications