Dashboard
Dashboard
Period:
📋 Rentals
Forecast Revenue
£0
Based on active agreements
Rental Collected
£0
Actual paid in period
Active Agreements
0
Live rentals
Overdue
0
Requires follow-up
💸 Income Sources
Maintenance Income
£0
Workshop jobs in selected period
POS / Parts Sales
£0
Till revenue in selected period
💵 Monthly Costs
Staff Wages
£0
Monthly payroll
Branch Expenses
£0
Rent, energy, ops
Fleet Maintenance
£0
Internal parts & labour
Profit & Loss — This Month
Live calculation from all income & cost streams
Total Income
£0
Total Costs
£0
Gross Profit
£0
Margin
0%
Revenue Breakdown
Income by source (monthly)
Rentals
£0
Maintenance
£0
POS / Parts
£0
Total Monthly Income
£0
Fleet Overview
All bikes — utilisation & ROI
Total Fleet
0
On Rent
0
Utilisation Rate
0%
Fleet Cost
£0
Fleet ROI
0%
Total Revenue Generated
£0
Revenue Trends
Monthly performance across all streams
Branch Split
Revenue share
New Cross
—Carshalton
—Recent Activity
This month — payments, new clients, returns & agreements
| REF | CLIENT / DETAIL | AMOUNT | TYPE | DATE | STATUS |
|---|---|---|---|---|---|
| Loading activity — waiting for live data… | |||||
Active Finance Plans
0
Bike hire-purchase
Total Financed
£0
Original value
Collected
£0
Payments received
Outstanding
£0
Remaining balance
Bike Finance Plans
Hire-purchase agreements
| Ref | Client | Bike | Total | Paid | Balance | Status | Next Due |
|---|
🏷 Rental Plan Templates
Business-wide plans · apply across all branches and agreements
Total Plans
0
Defined templates
Active Plans
0
Available to assign
Avg Weekly Price
£0
Across active plans
Plans In Use
0
Active agreements
Total Bikes Rented
0
Across all plans
All Plans
Click any row to edit
| ID | Plan Name | Billing | Price | Min Term | Bikes | Contract Notes | Status |
|---|
🔥 New Bike Finance Plan
Hire-purchase agreement — bike sale on instalments
⚡ Stripe Integration (optional — wire payment collection)
🔧 New Job Finance Plan
Defer a workshop job and collect in instalments
⚡ Stripe Integration (optional)
💳 Mark Payment as Paid
⚠ This will immediately update the payment record and mark the instalment as paid in the system.
Job Detail
Job Checklist
0/12 checks
Parts Used
Parts subtotal£0.00
Photos
Technician
MT
—
Maintenance Tech
Estimated
—
Complete all checklist items to enable checkout
🔄 Stock Transfer
Select branches, then add parts to transfer
Step 1 — Select Branches
→
Step 3 — Transfer List
Total Units
0 units
Total Cost Value
£0.00
⚠ Stock deducted from source branch immediately on execution.
⏱ Start Shift
In Maintenance
0
Open Service Jobs
0
—
Parts Low Stock
0
Monthly Target
0
Completed Jobs
Fleet Maint Cost
£0
0 services this month
Active Service Jobs
All branches
| Job ID | Bike | Customer | Issue | Tech | Status | Est. | Total |
|---|
Critical Inventory
No low stock items
Upcoming Checks
No scheduled checks
Total SKUs
0
Unique parts tracked
Low / Reorder
0
Action required
Stock Value
£0
At cost price
Open POs
0
Pending delivery
Parts Catalogue
Live stock • supplier linked • branch split
| SKU | Part Name | Category | Supplier | Branch | Stock | Cost | Sale Price | Margin | Status |
|---|
Total Fleet
—
All branches
Available
—
Ready to list/sell
In Service
—
Under maintenance
Sold
—
Fully settled
Fleet Value
—
At cost price
Fleet Asset Register
All bikes — click row to mark for sale or view details
| Bike ID | Model | Colour | Branch | Status | Mileage | Cost Price | Revenue | Net Position | Action |
|---|
Suppliers
0 suppliers
🏠
Select a supplier
View contact details, parts they supply, and order history
Draft
0
Not yet sent
Sent
0
Awaiting delivery
Partial
0
Part received
Received
0
Stock updated
Purchase Orders
Track orders from suppliers to stock
All
Draft
Sent
Received
| PO Number | Supplier | Items | Branch | Created | Expected | Total | Status |
|---|
Total Transfers
0
This month
Parts Moved
0
Units across branches
Pending
0
Awaiting confirmation
Completed
0
Fully processed
Stock Transfers
Move parts between branches with full audit trail
| Transfer ID | Date | Part | SKU | Qty | Route | By | Status |
|---|
Stock Movement Log
Every stock change — jobs, PO receipts, adjustments
| Date & Time | Part | Type | Qty | Branch | Reference | By | New Stock |
|---|
Add New Part
Add Supplier
Create Purchase Order
Total: £0.00
✅ Complete Job — Confirm Parts Used
Select parts used in this job. Stock will be deducted automatically on completion.
Client Directory
Fleet bikes: —
🛒 Current Sale
Staff PIN
Net (ex-VAT)
£0.00
VAT (20%)
£0.00
Total (inc. VAT)
£0.00
Payment Method
Sales Invoices
All completed transactions
| Invoice | Date | Client | Staff | Items | Method | Total |
|---|
Sales Orders
All channels: POS, Website, eBay, Amazon, Manual
Today
£0
0 orders
This Month
£0
POS
£0
Website
£0
eBay
£0
Manual / Phone
£0
to
Till Close History
Daily reconciliation records
| Date | Branch | Staff | Transactions | Gross Sales | Cash Counted | Cash Disc. | Card Disc. | Banked | Status |
|---|
👤
Select a staff member
Click any name to view profile, salary, and access rights
Branch Configuration
Select a branch to edit its details
Staff & Roles
Showing staff for selected branch
| Staff Member | Role | Branch | Last Active | Status |
|---|
Stripe Configuration
Showing Stripe settings for selected branch
Global Sync
Auto-sync daily at 06:00 UTC
Pulls paid invoices from all connected Stripe accounts
Manual sync now
Automations
Daily background jobs and triggers
Sync Stripe Payments
Pulls paid invoices from Stripe daily at 06:00
Late Payment Detection
Marks overdue rentals and alerts managers
Financing Reminders
Emails customers 24h before instalment due
Maintenance Scheduler
Flags bikes due for service based on mileage
WhatsApp Payment Reminders
Sends Twilio WhatsApp alerts to overdue clients
Email Digest — Daily
Morning summary sent to branch managers
Notifications
Alert preferences for this account
Overdue Payment Alerts
Notify when a rental payment is 24h+ late
Low Stock Alerts
Notify when parts fall below reorder threshold
New Job Assignments
Notify technicians when a job is assigned
New Client Registrations
Alert managers when a new rental is created
Maintenance Due Alerts
Alert 7 days before scheduled service is due
Calendar & Google Sync
Connect Google Calendar for mechanic scheduling
Google Calendar
Not connected — bookings stay local
When connected, every new service booking will automatically create a Google Calendar event visible to your mechanic team.
Auto-sync New Bookings
Push bookings to Google Calendar immediately on creation
Send Reminders to Technicians
Email reminder 1 hour before each appointment
Include Client Details in Events
Add client name, bike ID and notes to calendar events
Sync Maintenance Jobs
Also create events for scheduled maintenance jobs
Booking Settings
Services, availability, hours & blocked dates for the public booking widget
Loading booking settings...
Cloudflare Worker
Backend for Stripe sync, WhatsApp, email reminders & CSV exports
Worker Status
Not connected — enter URL below to connect
Push all local data to Supabase in one click (run once after setup)
Supabase: wrftvnasgcxcluhknvaz.supabase.co •
Automations: Stripe Sync • Late Payments • WhatsApp • Email • Maintenance • Calendar • CSV • eBay • Royal Mail • Amazon
💾 Supabase Storage
Required buckets: fleet-photos (public) •
client-documents (private) •
finance-documents (private) •
maintenance-photos (public)
📧 Email Trigger Testing
Sends sample payloads for all key templates through the same worker/email path used in production.
💳
Stripe — Payment Processing
Automatic weekly rental payments, invoicing & payment links
How it works: Add your Stripe secret key as
• /api/stripe/sync — Pull recent paid invoices and match to rental agreements
• /api/stripe/customer — Create Stripe customer for new rentals
• /api/stripe/subscription — Set up weekly recurring payments
• /api/stripe/webhook — Receive payment confirmations automatically
STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET to your Cloudflare Worker environment variables. The worker handles:• /api/stripe/sync — Pull recent paid invoices and match to rental agreements
• /api/stripe/customer — Create Stripe customer for new rentals
• /api/stripe/subscription — Set up weekly recurring payments
• /api/stripe/webhook — Receive payment confirmations automatically
Webhook URL:
https://br-ebikes-worker.g-depaula85.workers.dev/api/stripe/webhook
🛒
eBay — Marketplace Sync
Orders pull + listings push (Inventory API)
Phase 1 — Orders (read-only):
•
Phase 2 — Listings (write):
•
•
•
Phase 3 — Fulfilment + compliance:
•
•
Worker secrets required:
•
POST /api/ebay/orders/pull — incremental order import into sales_orders. Runs hourly via cron.Phase 2 — Listings (write):
•
POST /api/ebay/listings/push — create or replace inventory item + offer + publish for every parts row where sell_online=true.•
POST /api/ebay/listings/sync-price — fast batched price + qty update for already-published SKUs. Runs hourly.•
POST /api/ebay/listings/end — withdraw a single SKU (body: {sku}).Phase 3 — Fulfilment + compliance:
•
POST /api/ebay/shipments — auto-called from the Ship Order dialog. Pushes tracking back to eBay so buyer sees "Dispatched".•
GET/POST /api/ebay/webhook — Marketplace Account Deletion callback (required by eBay — register on developer.ebay.com or API access is revoked).Worker secrets required:
EBAY_APP_ID, EBAY_CERT_ID, EBAY_DEV_ID, EBAY_REFRESH_TOKEN, EBAY_PAYMENT_POLICY_ID, EBAY_RETURN_POLICY_ID, EBAY_FULFILLMENT_POLICY_ID, EBAY_LOCATION_KEY, EBAY_DEFAULT_CATEGORY_ID, EBAY_VERIFICATION_TOKEN, EBAY_WEBHOOK_ENDPOINT. Full setup → PHASE-EBAY-DEPLOY.md.
📮
Royal Mail — Shipping & Tracking
Create shipping labels, track parcels & manage deliveries
Add as
• /api/royalmail/shipment — Create domestic shipping labels
• /api/royalmail/track — Track shipment by tracking ID
• "Ship Order" button in Sales Orders uses this API to generate labels
• Royal Mail Click & Drop API account required
ROYAL_MAIL_API_KEY in Worker env vars.• /api/royalmail/shipment — Create domestic shipping labels
• /api/royalmail/track — Track shipment by tracking ID
• "Ship Order" button in Sales Orders uses this API to generate labels
• Royal Mail Click & Drop API account required
📦
Amazon — Seller Central Sync
Import Amazon orders, sync stock levels & fulfilment
Add these Worker secrets:
Optional Worker vars:
• /api/amazon/orders/pull — Pull Amazon orders into sales_orders
• Orders appear in Sales Orders under the "Amazon" channel filter
• Listings routes: /api/amazon/listings/push, /api/amazon/listings/sync-price, /api/amazon/listings/end
• UK marketplace (A1F83G8C2ARO7P) is default — override via
• Amazon Seller Central account + SP-API app registration required
AMAZON_LWA_CLIENT_ID, AMAZON_LWA_CLIENT_SECRET, AMAZON_REFRESH_TOKEN, AMAZON_SELLER_ID.Optional Worker vars:
AMAZON_MARKETPLACE_ID, AMAZON_REGION, AMAZON_PRODUCT_TYPE, AMAZON_DEFAULT_BRANCH.• /api/amazon/orders/pull — Pull Amazon orders into sales_orders
• Orders appear in Sales Orders under the "Amazon" channel filter
• Listings routes: /api/amazon/listings/push, /api/amazon/listings/sync-price, /api/amazon/listings/end
• UK marketplace (A1F83G8C2ARO7P) is default — override via
AMAZON_MARKETPLACE_ID• Amazon Seller Central account + SP-API app registration required
☁️ Google Drive Backup
Daily automatic backup of fleet, clients, stock and more to Google Drive
Automatic Daily Backup
Runs at 3am daily via Cloudflare Cron Trigger. Backs up: clients, fleet, parts, agreements, payments, invoices, jobs, staff as CSV files to Google Drive.
Status: Unknown
Setup Required
1. Google Service Account must have Drive API enabled in Google Cloud Console
2. Add
3. Share that Drive folder with the service account email (
4. Add Cron Trigger in Cloudflare Workers:
2. Add
GDRIVE_BACKUP_FOLDER env var to Worker (the folder ID from Google Drive URL)3. Share that Drive folder with the service account email (
xxx@xxx.iam.gserviceaccount.com)4. Add Cron Trigger in Cloudflare Workers:
0 3 * * * (daily at 3am UTC)
Tax Calendar — BR E-Bikes UK Limited
Upcoming deadlines · alerts shown on dashboard when within 30 days
Add / Update Deadline
Type
VAT Quarter-End Date (DD/MM/YYYY)
e.g. 31/03, 30/06, 30/09, 31/12
Note (optional)
💡 Tip: VAT returns are due 1 month + 7 days after the quarter end. Corporation Tax is due 9 months after your company year end. Self Assessment deadline is 31 January each year.
Onboarding Videos
YouTube unlisted URLs shown to clients before payment
e.g. https://youtu.be/dQw4w9WgXcQ or just the video ID
How it works: Clients must watch 80% of the video before the payment button unlocks. Use YouTube unlisted links so only your clients can access them. The videos are embedded directly on the onboarding page.
📅 Book a Service
Schedule a workshop appointment
ⓘ Booking a Workshop Service automatically creates a scheduled maintenance job.
📊
Loading financial data...