📘 Product User Manual

ZedCarHire Platform

Comprehensive operating guide for the multi-tenant fleet management and rental platform with ZRA Smart Invoice integration.

📦 Version 2.1 📅 May 2026 🇿🇲 Made in Zambia 🔒 ZRA-Certified Smart Invoice Ready
📥 Download Full PDF 📜 Product Warranty Statement

📑 Table of Contents

1

About ZedCarHire

ZedCarHire is a cloud-based, multi-tenant car rental and fleet management Software-as-a-Service (SaaS) platform purpose-built for Zambian car hire businesses. It consolidates fleet records, customer relationships, hire transactions, double-entry accounting, GPS tracking, marketplace listings and ZRA Smart Invoice compliance into a single, integrated system accessible from any modern web browser or via the dedicated mobile Progressive Web App (PWA).

Who is it for?

Platform architecture at a glance

PortalURLAudiencePurpose
Public Marketplace/End-customersBrowse, compare and book vehicles
Company Admin/admin/Fleet operatorsDay-to-day fleet, hire and accounting operations
Super Admin/management/ZedCarHire platform teamTenant approvals, billing oversight, system settings
Mobile PWA/pwa/Fleet operators (mobile)Installable mobile app with offline support
🇿🇲
ZRA Smart Invoice ready

ZedCarHire is integrated with the Zambia Revenue Authority's Virtual Sales Data Controller (VSDC) and supports real-time submission of customer registrations, item registrations and sales invoices. Smart Invoice is opt-in per company and can be activated after device initialization. See section 8 for the complete workflow.

Core capabilities

2

Getting Started

Onboarding a new company on ZedCarHire takes three steps: registration, identity verification and first login. The entire process is typically completed within one business day.

Step-by-step registration

  1. Submit your company application

    Visit zedcarhire.com and click Register Your Business. Provide your company name, TPIN, contact phone, primary email and a director's name. Upload a clear photo of your business certificate of incorporation and the director's NRC.

  2. Wait for approval

    The ZedCarHire team verifies your details against the PACRA registry and ZRA TPIN portal. Approval normally completes within four business hours during weekdays.

  3. Receive your approval email

    You will receive an email confirming approval with a secure link to set your administrator password.

  4. Set your password and sign in

    Choose a strong password (minimum 8 characters, mixed case, with at least one digit). You will be redirected to the company dashboard.

  5. Complete your company profile

    Navigate to Profile and add your logo, physical address, bank details and tagline. These appear on every invoice, quotation and public listing.

  6. Activate your 30-day Free Trial

    Your trial begins automatically on first login with 10,000 free tokens (worth K10,000) and full access to all platform features for 30 days.

🎁
Trial benefits

During your Free Trial you receive 0% commission on hires, can list up to 5 vehicles, get full marketplace exposure and have access to all reporting features. No payment card is required to start.

System requirements

3

Subscription Plans & Pricing

ZedCarHire uses a transparent pay-as-you-go token model. There are no fixed monthly fees. You only pay a small commission, drawn from your prepaid token balance, when a new hire is created. The commission rate depends on the plan you select.

🪙
1 token = 1 Zambian Kwacha

Tokens are denominated in ZMW for easy mental accounting. K1,000 worth of tokens equals 1,000 tokens.

Plan comparison

Free Trial
10,000 free tokens · 30 days
0%
  • 10,000 free tokens
  • Up to 5 vehicles
  • 1 user account
  • Full platform access
  • Marketplace listing
Starter
For small fleets
2%
  • Up to 2 vehicles
  • Up to 2 users
  • Core hire management
  • Basic reports
  • Customer management
Premium
Enterprise + Smart Invoice
4%
  • Everything in Growth
  • ZRA Smart Invoice (VSDC)
  • Dedicated account manager
  • Priority 24/7 support
  • SLA guarantee

Choosing a plan

How to upgrade or change plan

  1. Open the Subscriptions page from the sidebar.
  2. Locate the plan you want and click Switch to this plan.
  3. Confirm — your existing token balance carries across to the new plan unchanged.
  4. The commission rate applied to new hires updates immediately.
🔁
Tokens always carry over

Whether you upgrade, downgrade or take a break — tokens never expire. A "migration" line item is added to your token statement so the audit trail is preserved.

4

Token Account & Billing

The Token Account is the prepaid wallet that powers your hire commissions. This section is a summary — for the complete deep-dive, see the dedicated Token Account User Guide.

4.1 Commission formula

Whenever you create a new hire, the platform calculates and deducts commission instantly using:

🧮
Tokens = Daily Rate × Commission % × Hire Days

Example: a K650/day vehicle on Growth plan (4%) hired for 7 days = 650 × 0.04 × 7 = 182 tokens (K182).

4.2 Topping up

  1. Open the Token Account

    Sidebar → Token Account. The page displays your current balance, utilisation bar and a token calculator.

  2. Transfer payment

    Pay to the MTN Mobile Money number or bank account shown under "Payment Methods". The minimum top-up amount is K1.

  3. Upload proof of payment

    Take a screenshot of the SMS confirmation or bank statement, enter the amount and click Submit Payment Proof.

  4. Wait for approval

    The ZedCarHire team reviews your proof, typically within 2–4 hours during business hours. You receive an email when tokens are credited.

4.3 Statement & alerts

The Token Statement page shows a month-by-month log of every credit and debit (top-ups, trial grants, hire commissions, manual credits). Use the month selector to switch between periods and the Print button to generate a printer-friendly version for your accountant.

The platform sends automatic email reminders at three thresholds:

ThresholdStatusBehaviour
> 20%HealthyNo action required.
≤ 20%WarningReminder email every 3 days. Hires still allowed.
≤ 5%CriticalDaily email reminder. Hires still allowed.
0DepletedNew hire creation blocked until top-up. All other features unchanged.
💡
Token Calculator

Available on the Token Account page — enter a daily rate and number of days to instantly see how many tokens a planned hire will consume. Useful for estimating monthly top-up requirements.

5

Fleet Management

The Fleet module is where you record every vehicle you operate. Each vehicle's record drives hire pricing, marketplace listings, service scheduling, profitability tracking and — for Smart Invoice users — ZRA item registration.

5.1 Adding a vehicle

  1. Open Manage Cars

    Sidebar → Manage Cars → click Add New Vehicle in the top-right.

  2. Fill in the vehicle details

    Make, model, registration number, year, owner, ownership type (owned vs outsourced), local hire rate, out-of-town rate, current mileage and service interval.

  3. Specifications

    Type (sedan, SUV, minibus, etc.), transmission, passengers, doors, fuel type, vehicle location.

  4. Marketplace settings (optional)

    Tick List on portal to expose the vehicle to public-portal customers. Add a description and upload a vehicle photo (JPG/PNG/WebP, max 5 MB — auto-resized to 800 × 600).

  5. Smart Invoice fields (Premium only)

    If Smart Invoice is enabled for your company, two extra fields appear: UNSPSC Classification (searchable) and Tax Type. These are sent to ZRA on save.

  6. Save

    On save, the vehicle is stored locally and (for Smart Invoice users) registered with ZRA via the VSDC items/saveItem endpoint. A confirmation dialog reports the outcome.

5.2 Vehicle status

StatusMeaning
AvailableFree for hire. Visible on marketplace if portal listing is enabled.
On HireCurrently rented out. Auto-set when a hire is in progress.
In ServiceUndergoing maintenance. Not bookable.
RetiredPermanently removed from active fleet. Excluded from reports unless explicitly included.

5.3 Service tracking

Each vehicle has a last service mileage and next service mileage (last + service interval). When you record a service via Service Vehicle:

5.4 Vehicle Asset Register

The Vehicle Asset Register page captures the accounting view of each vehicle: purchase cost, accumulated depreciation, net book value, insurance details and fitness expiry. Used by the audit pack and balance sheet.

5.5 Vehicle Profitability

The Vehicle Profitability page summarises, per vehicle:

Use it to identify under-performing vehicles and decide which to keep, sell or replace.

6

Customer Management

Every hire must be linked to a customer record. The Customer module stores identity, contact, license and optional ZRA TPIN information for each individual or organisation that rents from you.

6.1 Adding a customer

  1. Open Manage Customers

    Sidebar → Manage Customers → Add New Customer.

  2. Capture required identity

    Full name, primary phone, NRC, address, driving license number. Optionally upload a clear scan/photo of the NRC.

  3. Capture alternative contact

    Required: an alternative contact name, NRC and phone — used as next-of-kin / referee for any disputed hire.

  4. ZRA Tax PIN (optional)

    If the customer is VAT-registered, enter their 10-digit TPIN. This is sent to ZRA on Smart Invoice registration; otherwise a default value is used.

  5. Save

    For Smart Invoice users, the customer is automatically registered with ZRA via branches/saveBrancheCustomers. A confirmation dialog reports success or failure.

6.2 Duplicate protection

NRC is enforced as a unique key per company — the system blocks creating two customers with the same NRC inside the same tenant. On the PWA, phone number is the duplicate guard.

6.3 Editing & viewing

Click the View button on any customer row to see their full profile and uploaded NRC. Edit opens the same form pre-populated. All hires linked to a customer are visible in their profile, including totals spent, average hire length, late returns and favourite vehicle.

6.4 Customer ratings

After a hire is closed, you may rate the customer (1–5 stars) with optional notes. Aggregated ratings appear on the customer profile and influence the default deposit suggestion on future hires.

7

Hire Management

A hire is the core financial event on the platform. The lifecycle has four stages: Quote → Hire Out → Hire In → Close. Each transition is timestamped, audited and reflected in your accounting ledgers.

7.1 The hire lifecycle

StageWhat happensToken impact
QuotePricing built for customer, can be emailed as PDF. No commitment yet.None
Hire OutVehicle collected by customer. Deposit captured, status moves to "On Hire".Commission tokens deducted
Hire InVehicle returned. Extras, damage, fuel adjustments and final amount calculated.None
CloseBalance settled, deposit released or applied, hire archived. Revenue posted to ledger.None

7.2 Creating a hire

  1. Open Hire Out

    Sidebar → Hire Out (or click New Hire from any vehicle row).

  2. Select the customer

    Search by name, phone or NRC. If the customer is new, click Add New Customer inline — they will be created and selected without leaving the page.

  3. Select the vehicle

    Only "Available" vehicles appear. The page auto-fills the daily rate.

  4. Set dates and pricing

    Rental date, planned return date, number of days. The system computes hire amount = rate × days. You may apply a discount.

  5. Capture deposit

    Enter the deposit amount, deposit type (cash, transfer, MoMo) and a reference. The deposit is held against the hire and reconciled at close.

  6. Confirm

    Click Hire Out. The system: (a) deducts commission tokens, (b) creates the hire record, (c) moves the vehicle to "On Hire", (d) posts a journal entry for the deposit, and (e) generates a PDF hire agreement.

7.3 Returning a vehicle (Hire In)

From the Manage Hires page, click Hire In on the active hire:

7.4 Cancellations & deposits

If a hire is cancelled before collection, open it from Manage Hires and click Cancel. You will be asked whether to refund or retain the deposit (per your terms). Cancelled deposits are visible in the Cancelled Deposits report. Commission tokens are not automatically refunded — contact support if a refund is appropriate.

7.5 Hire documents

For every hire the platform can generate, on demand:

8

ZRA Smart Invoice (VSDC)

ZedCarHire integrates with the Zambia Revenue Authority's Virtual Sales Data Controller (VSDC) to provide real-time tax invoice submission. The integration is opt-in and only activates for companies that (a) are on the Premium plan, (b) have completed Device Initialization with ZRA, and (c) have toggled Use Smart Invoice in System Settings.

🇿🇲
Two-level activation gate

Smart Invoice is gated by both a platform-wide flag (controlled by ZedCarHire after ZRA certification) and a per-company opt-in (controlled by you in System Settings). Both must be ON for any data to be sent to ZRA. This design ensures the module stays dormant until both parties are ready.

8.1 Prerequisites

8.2 Setup sequence

Smart Invoice requires four sequential setup steps. Each step must succeed before the next can be performed.

  1. Device Initialization

    Sidebar → Smart Invoice → Device Initialization. Enter your TPIN (pre-filled from your company profile), branch ID (typically 000) and device serial number. The platform calls initializer/selectInitInfo and on success stores your VSDC device details locally.

  2. Fetch Standard Codes

    Smart Invoice → Standard Codes → Fetch from ZRA. Downloads the reference data (tax types, payment methods, units of measure, country codes, etc.) via code/selectCodes. Stored in si_code_classes and si_codes. Re-fetch any time the codes update on ZRA's side.

  3. Fetch Item Classification Codes

    Smart Invoice → Item Classification → Fetch from ZRA. Downloads several thousand UNSPSC commodity codes via itemClass/selectItemsClass. Stored in si_item_classes. Required before any vehicle (item) can be registered with ZRA.

  4. Activate Smart Invoice

    System Settings → ZRA Smart Invoice card → toggle Use ZRA Smart Invoice ON → Save. From this point onward, every customer and vehicle you add is automatically registered with ZRA, and every closed hire generates a Smart Invoice.

8.3 Per-operation behaviour

You do thisPlatform callsLocal record updated when
Add a customerbranches/saveBrancheCustomersZRA returns resultCd 000customers.si_cust_no populated
Add a vehicleitems/saveItemZRA returns resultCd 000car_fleet.si_item_cd populated
Close a hire (planned)trnsSales/saveSalesZRA returns the invoice QR + signature
⚠️
Local record is only saved on ZRA success

For customer and vehicle adds, if ZRA rejects the submission (any resultCd other than 000), the local record is still saved but the corresponding si_cust_no / si_item_cd field stays NULL. This lets you investigate the ZRA error and re-submit without losing data.

8.4 Debugging Smart Invoice

Every VSDC request and response is appended to admin/logs/smart_invoice_debug.log. The log includes:

Within the admin UI, every Smart Invoice action displays both a SweetAlert with the result and an expandable debug panel showing the request/response side-by-side.

8.5 Switching environments (Sandbox → Production)

The VSDC base URL is stored in system_vsdc_settings. The platform ships pointing at ZRA's sandbox. After certification, ZedCarHire updates this row to the production URL. Per-company overrides are supported but rarely used.

9

Accounting & Reports

ZedCarHire ships with a complete double-entry accounting engine. Every financial event — a hire, a deposit, a payment, an expense, a service, a token top-up — is automatically posted to the general ledger. No manual journal entries are required for routine operations, but they are supported for adjustments.

9.1 Standard reports

9.2 Revenue recognition policy

Configurable in System Settings → Revenue Recognition Policy:

9.3 Expenses & cashouts

Use Manage Expenses to log every operating cost — fuel, repairs, salaries, rent, fees. Each expense is linked to a category (configurable in System Settings) and optionally to a specific vehicle. Outsourced vehicle payouts are recorded as Cashouts, which flow into the income statement automatically.

9.4 Export formats

10

Vehicle GPS Tracking

Optional vehicle telematics — supported on Growth and Premium plans. The platform integrates with major GPS hardware vendors via standard protocol adapters.

10.1 Configuring a tracker

  1. Open Tracker Configuration from the sidebar.
  2. Select the vehicle and enter the device IMEI, SIM number and protocol (e.g. GT06, Teltonika, Concox).
  3. Save — the platform begins polling for position fixes within minutes.

10.2 Live view

Vehicle Tracking shows all active vehicles on a single map with their current location, speed and ignition state. Click any vehicle marker for trip history and a 24-hour timeline replay.

10.3 Reports

Tracking Reports exports daily distance, idle time, geofence breaches and over-speed events to PDF or Excel for any vehicle over any date range.

11

Mobile App (PWA)

The ZedCarHire mobile app is delivered as a Progressive Web App (PWA). It installs from the browser, requires no app store and offers offline-capable read access to your fleet, customers and hires.

11.1 Installing the PWA

11.2 Features

12

System Settings

Available at Sidebar → System Settings. Administrator-only. Lets you customise platform behaviour without affecting other tenants.

12.1 Operational toggles

12.2 Revenue Recognition Policy

Choose between Recognise at Rental Date (simple) and Daily Pro-Rata (period-accurate). Reporting only — does not change hire pricing or VAT computation.

12.3 Hire Terms & Conditions

Your custom T&Cs appear on every public vehicle listing and on the hire agreement PDF. Leave blank to use the ZedCarHire system default. The textarea accepts plain text; numbered sections are recommended.

12.4 Bank Accounts & Expense Categories

Manage the bank accounts your business operates and the categories used to classify expenses. These feed the financial reports.

12.5 ZRA Smart Invoice

Visible only when ZedCarHire has activated Smart Invoice on the platform. Toggle Use ZRA Smart Invoice ON to begin sending customer, vehicle and hire data to ZRA. See section 8.

13

Security & Data Protection

13.1 Authentication

13.2 Transport security

All production traffic is encrypted in transit using TLS 1.2 or higher. The certificate is renewed automatically and monitored. Localhost development traffic is permitted over HTTP for convenience only.

13.3 Multi-tenant isolation

Every database query is scoped to your company_id. There is no shared user, customer, vehicle, hire or report data between tenants. Super admin staff have a separate portal and never see operational data unless they impersonate a tenant for support — and every impersonation is logged.

13.4 Backups

Production databases are backed up nightly and retained for 30 days. File uploads (NRCs, vehicle photos) are mirrored to redundant storage. Backups are encrypted at rest.

13.5 Data ownership & export

You own your data. At any time you may request a full export of your tenant's data in CSV/JSON format by emailing support@zedcarhire.com. The platform delivers the export within five business days.

13.6 Smart Invoice data

Customer TPINs and NRCs sent to ZRA are transmitted over HTTPS to ZRA's VSDC endpoint. The platform logs every submission for audit purposes for a minimum of seven years, in line with ZRA record-keeping requirements.

14

Troubleshooting

14.1 Common issues

SymptomLikely causeFix
"Vehicle limit reached" on add You have reached the cap for your current plan. Upgrade to a plan with a higher cap (Subscriptions page).
"Token balance too low to create this hire" Insufficient tokens for the calculated commission. Top up via Token Account. Existing hires are unaffected.
Smart Invoice skipped on customer/vehicle add (a) Platform-wide flag off, or (b) company opt-in off, or (c) device not initialized. Check System Settings → ZRA Smart Invoice and confirm Device Initialization succeeded.
VSDC resultCd 894 Invalid TPIN sent to ZRA. Verify the company TPIN on the Profile page matches what ZRA has on record.
VSDC resultCd 992 Branch ID does not exist for this TPIN. Confirm Branch ID is 000 for a single-branch business; otherwise use the value ZRA issued.
Cannot upload NRC photo File too large or wrong format. Max 5 MB. Accepted: JPG, PNG, GIF, WebP, PDF. Try compressing or converting first.
Email reminders not arriving Email address incorrect or in spam folder. Check Profile → email and your spam folder. Whitelist noreply@zedcarhire.com.

14.2 Reset workflows

15

Support & Contacts

If you cannot resolve an issue using this manual, reach the ZedCarHire team through any of the channels below. Premium subscribers have access to a dedicated WhatsApp support group with 24/7 coverage.

ChannelAddressResponse SLA
Email supportsupport@zedcarhire.com4 hours (business hours)
Sales / accountsales@zedcarhire.com1 business day
Smart Invoice / tax queriestax@zedcarhire.com1 business day
Emergency (Premium only)WhatsApp group provided at onboarding30 minutes, 24/7

Useful links

📥
Download a PDF copy of this manual

Use the button on the cover or visit docs/generate_product_manual_pdf.php?dl=1 to download the latest version for offline reference, audit submission or ZRA Smart Invoice certification.