P3CL Platform

Project 3 Consultants & Logistics Inc. — User Guide
Version 1.0  |  June 2025
#42 Durette Gardens, Gemswick, St Philip, Barbados
✕ Close Guide

P3CL Project Management Platform

A complete project management, procurement, estimating, and team communication system built specifically for Project 3 Consultants & Logistics Inc. and the Caribbean market.

🏗️ Construction 💼 Consulting 💻 IT Projects 🌿 Civil Works 📦 Procurement 💬 Team Chat 🤖 AI Powered

📋 Table of Contents

🏢 1. Platform Overview

The P3CL Project Management Platform (P3CLPM) is a Progressive Web App (PWA) — meaning it runs in your browser but can be installed on any device like a native app. It works on desktop computers, tablets, and smartphones without any app store downloads.

📁
Projects
Manage construction, consulting, IT, and civil works projects from start to finish.
💰
Estimates
Build detailed estimates with line items, VAT control, and branded print/PDF output.
📦
Procurement
Track international orders through a 9-stage pipeline from sourcing to delivery.
🤖
AI Pricing
AI-powered Barbados market price lookups for materials and services.
📧
Email
Send branded emails to clients directly from projects and procurement orders.
💬
Team Chat
Internal messaging with file sharing, replies, and real-time delivery.
☁️
Cloud Sync
All data syncs across devices in real time via Supabase.
📱
Mobile Ready
Installs as a home screen app on Android and iPhone.

Navigation

The sidebar on the left contains all modules. On mobile the sidebar collapses — tap the menu icon to open it. The topbar shows the sync status dot (tap it to sync manually or configure Supabase) and the notification bell.

🔑 2. Logging In

Open the platform URLNavigate to your Netlify URL (e.g. https://p3clpm.netlify.app) in Chrome or Safari.
Connect Supabase (first time only)At the bottom of the login screen tap ⚙️ Connect Supabase. Enter your Supabase project URL and anon key, then tap Test → Save. You will see a green confirmation showing all 13 database tables found.
Refresh accountsTap 🔄 Refresh accounts from cloud to pull the latest user list from Supabase. This is required on every new device before logging in.
Enter your credentialsEnter your email and password and tap Sign In.
Change your password (first login)On your first login on any new device you will be asked to set a password for that device. Passwords are stored locally per device for security — they never travel through the cloud.
💡
Default administrator credentials: Email mark@p3cl.com · Password P3CL@2026admin. Change this immediately after first login.

Installing as a Mobile App

Android (Chrome)Tap the three-dot menu in Chrome → Add to Home screen → Install. The app opens full-screen like a native app.
iPhone / iPad (Safari)Tap the Share button (box with arrow) → Add to Home Screen → Add. Must use Safari, not Chrome.

📊 3. Dashboard

Sidebar → Dashboard

The dashboard gives you an at-a-glance view of your business. Four stat cards show total projects, active projects, the total estimated value of active projects (calculated from estimates), and the total accepted value. Below the cards, up to 8 recent active projects are shown in a scrollable grid. Completed and archived projects do not appear on the dashboard.

Estimated Value vs Accepted Value

Estimated Value is the sum of the highest estimate total across all active and estimate-stage projects. Accepted Value shows only estimates that have been formally accepted by a client. Together these show your pipeline value versus confirmed work.

The Dashboard is the first screen after login. It gives a real-time snapshot of the entire business.

What the Dashboard shows
👋
Greeting — Personalised good morning/afternoon/evening message with your name and current time.
📁
Active Projects — Count of currently active projects with a link to view all.
💰
Pending Estimates — Estimates awaiting client response.
📦
Open Procurement Orders — Orders currently in the pipeline.
👥
Total Clients — Number of clients on file.
🔔
Recent Notifications — Last activity feed across the platform.

👥 4. Clients

Clients are the foundation of the platform. Every project, estimate, and procurement order is linked to a client.

Adding a Client

Go to ClientsClick Clients in the sidebar.
Click + Add ClientFill in: Name (required), Company, Email, Phone, and Address.
SaveThe client is saved locally and synced to Supabase immediately.

Editing a Client

Each client card has an ✏️ Edit button. The edit modal pre-fills all existing details. All fields are editable including address. Click Save Changes when done.

Deleting a Client

A 🗑️ Delete button appears only on client cards that have no projects attached. Clients with active projects cannot be deleted to protect data integrity.

Add clients before creating projects — the client dropdown in new project and new procurement order modals pulls from this list.

📁 5. Projects

Creating a Project

Click Projects → + New ProjectA modal opens with all project fields.
Fill in the detailsProject name, type (Construction / Consulting / IT / Landscaping), client, location, description, and target end date.
StatusNew projects default to Estimate status. The status changes to Active automatically when an estimate is accepted.

Project Detail Tabs

Opening a project shows the detail view with four tabs:

📋
Overview — Status, milestones, financial summary, Email Client button, notes.
Tasks — Add, edit, and complete tasks. Each task has title, description, assignee, priority, and due date.
💰
Estimates — Create and manage estimates for this project.
📐
Plans — Upload and store building plans and documents.

Milestones

Add milestones in the Overview tab. Each milestone has a title and a completion checkbox. Progress percentage is calculated automatically from milestone completions and shown on the dashboard.

Active and Completed Tabs

The Projects screen has two tabs: Active (all in-progress projects) and Completed & Archived. When you archive or complete a project it moves off the Active tab automatically. You can restore an archived project at any time from the Completed & Archived tab.

Budget vs Actual

If a project has an Estimated Value set, the project overview tab shows a budget progress bar. This bar fills as you add expenses linked to that project, showing the percentage of budget spent. If expenses exceed the budget the bar turns red and shows an over-budget warning.

Filtering Projects

The Projects list has filters for Client and Status at the top, plus a text search box. All filters work together in real time.

Emailing the Client

Projects → Open Project → Overview → 📧 Email Client

Opens the email compose modal pre-filled with the client's details. Choose a template, customise the message, and optionally attach a file before sending.

💰 6. Estimates & Invoices

Project → Estimates tab or Sidebar → Invoices

Sequential Numbering

Estimates are numbered sequentially starting at EST-0037. Invoices start at INV-0023. Each new document automatically receives the next number in sequence, shared across all users so numbers never repeat.

Creating an Estimate

Open a project → Estimates tab → click + New Estimate.
Add line items manually or use Import from supplier to pull items from your supplier catalogue with markup applied.
Toggle VAT on or off. Set status to Sent when you share it with the client.
When the client agrees, set status to Accepted. This activates the project automatically.

Import from Supplier Catalogue

On any open estimate, click Import from supplier. Choose a supplier, tick the items you need, set the quantity, then choose your markup type — percentage (e.g. 20%) or fixed amount (e.g. $45.00) — per line item. The sell price and line total calculate instantly. Click Add to estimate to insert all selected items.

Converting an Estimate to an Invoice

When an estimate is marked Accepted, a Convert to Invoice button appears in the estimate header. Clicking it creates a new invoice automatically, copying all line items, VAT settings, terms and client details across. The invoice receives the next sequential INV number.

Document Layout

Both estimates and invoices are printed in A4 portrait format and include the full company block (name, address, Co. No: 52770, TIN: 100027841100, website) and a Prepared For block showing the client's business name, business address, contact name, email and phone.

Estimate Statuses

📝
Draft — Work in progress, not shared with client.
📨
Sent — Shared with client, awaiting decision.
Accepted — Client approved. Project moves to Active.
Rejected — Client declined.

Creating an Invoice Manually

Sidebar → Invoices → + New Invoice. Select a project and client, add line items, set the due date and VAT. Mark as Sent when issued to the client. Record payments using the Paid Amount field.

💳 7. Financials — Expenses, P&L & Bank

Sidebar → Financials

The Financials module gives you a full picture of your company's money — expenses, profit and loss, and monthly bank balance history. Access is permission-controlled: admins see everything; finance viewers see expenses and P&L but not bank balances or salary and investment categories.

Adding an Expense

Click + Add Expense in the Financials screen.
Fill in the date, category, and description. If you choose Other, a free-text field appears for you to describe the category.
Select a supplier from your contacts list (or leave blank for company overhead) and optionally link to a project.
Enter the amount (excluding VAT), choose VAT on or off, set payment method, reference number, and status (Paid or Pending).
Attach a receipt or invoice photo — it is compressed automatically and stored securely as your audit trail.

Expense Categories

🧱 Materials👷 Labour 🏗️ Equipment Hire⛽ Fuel & Transport 💼 Professional Fees💡 Utilities 🗂️ Office & Admin📣 Marketing 🛡️ Insurance🔧 Subcontractors 💰 Salaries (admin only) 📈 Investments (admin only) 📋 Other (free text)

Filtering & Searching Expenses

Use the search bar and dropdown filters to narrow expenses by category, project, status (paid or pending), or a date range. The table updates instantly. Searching works across description, category, supplier name, and project name.

Exporting for Your Accountant

Click Export CSV to download a spreadsheet of all visible expenses (respecting your current filters and date range). The CSV includes date, description, category, supplier, project, amount, VAT, total, payment method, reference, and status — everything your accountant needs.

Bank Account — Upload Statement

Admins can click Bank Entry to open the bank entry screen. The quickest way to populate your history is to upload a CSV statement downloaded from CIBC Caribbean online banking:

Log into CIBC Caribbean online banking and download your account statement as a CSV file.
Click 🏦 Bank Entry in the Financials screen.
Click Choose File and select your downloaded CSV, then click Import from CSV.
A preview appears showing each month found in the statement with income, expenses, and closing balance. The closing balance is validated against the statement summary row automatically.
Click Confirm & Import All Months. All months are saved instantly.

You can upload multiple statements (one per month or one covering several months) — re-uploading a month that already exists will update it rather than duplicate it. You can also enter months manually using the form below the upload section if needed.

The bank balance history table is visible only to admins and finance admins. Bank name and address are pre-filled from the statement file.

Profit & Loss

The four stat cards at the top of Financials show your year-to-date income (from paid invoices), expenses, net profit, and outstanding invoice value. Admins also see the current bank balance and unpaid expenses. The figures update automatically as you add expenses and mark invoices paid.

Finance Access Permissions

🔒
Admin / Finance Admin — Full access including bank balances, salaries, investments, all exports.
👁️
Finance Viewer — Can view and add expenses, see P&L. Cannot see bank balances, salaries, or investments.
🚫
Standard users — No access to Financials at all.

Assign finance permissions per user in User Management. Permissions can be toggled without changing the user's role.

📦 8. Supplier Catalogue & Import

Sidebar → External Contacts

Overview

Every contact in your contacts list can have a product catalogue attached to them. This is your master price list for each supplier — what they sell, in what unit, and at what cost price. You can then import directly from any supplier's catalogue into an estimate or invoice, applying a markup per item.

Adding Items to a Supplier's Catalogue

Go to Sidebar → External Contacts and find the supplier.
Click the 📦 Catalogue button on their card.
Click + Add Item and fill in the description, category, unit (bag, tonne, metre, unit etc.), and cost price in BBD.
Click Save Item. The item appears in the catalogue list immediately.

Searching Contacts & Items

The search bar on the Contacts screen searches both supplier names and catalogue item names. Type "cement" to find any supplier who stocks cement, even if their company name doesn't contain the word.

Importing Items into an Estimate

Open an estimate and click Import from supplier in the header.
Choose a supplier from the dropdown. Their catalogue items appear.
Tick the items you want. Enter a quantity for each.
Set your markup — click % for percentage or $ for a fixed amount. You can mix markup types across items in the same import.
The sell price and line total calculate instantly. Click Add to estimate.

The same import works for invoices — open an invoice and the Import from supplier button is available there too.

Pinning a Supplier on the Map

When editing a contact, you will see Latitude and Longitude fields. Enter the supplier's coordinates to pin them on the Project Map. Right-click any location in Google Maps and select "What's here?" to get the coordinates.

🗺️ 9. Project Map

Sidebar → Project Map

The map shows all your pinned projects, clients, and suppliers on a single interactive map of Barbados.

Pin Colours

Green — Active project
Gold — Estimate stage project
Grey — Paused project
Blue — Completed project
Navy — Client
Teal — Supplier / vendor

Filter Toggles

Use the three checkboxes above the map to show or hide Projects, Clients, and Suppliers independently. Useful when the map is crowded.

Clicking a Pin

Clicking any pin opens a popup with the name, address, and contact details. Project pins have an Open Project button. Supplier pins show their company details.

Pinning a Project

Open a project → Overview tab → Edit Project → scroll to Set Location → drag the pin to the exact location → Save.

Pinning a Client or Supplier

Open their record (Clients or External Contacts) → Edit → enter Latitude and Longitude coordinates → Save. Get coordinates by right-clicking any location in Google Maps → "What's here?".

Projects Without a Pin

A list of un-pinned active projects appears below the map with a direct link to each project's edit screen.

📦 7. Procurement

The Procurement module tracks international purchases through a full 9-stage pipeline specifically designed for Barbados — from identifying a supplier to final delivery to the client.

The 9-Stage Pipeline

🔍 Sourcing 💬 Quote Received ✅ Purchase Approved 📦 Order Placed 🚢 Shipped to Freight 🌊 In Transit 🇧🇧 Arrived in Barbados 🏪 Ready for Delivery 🎯 Delivered

Creating a Procurement Order

Click Procurement → + New OrderFill in title, category, client, associated project, priority, and supplier details.
Add itemsUse the Items section to list what is being ordered with quantities and unit prices.
Fill in financialsEnter shipping cost, insurance, customs duty, handling fee, VAT amount, and client charge. The system calculates totals and your margin automatically.
Enter tracking infoAs the order progresses, enter the Freight Forwarder, Shipment Reference, Bill of Lading, Container Number, Vessel Name, Port of Origin, and ETA Barbados. All tracking fields auto-save when you click away from each field — no save button needed.
Advance the stageClick the → [Next Stage] button in the header. A confirmation modal opens with an optional note. After confirming, the platform asks if you want to send the client an email update.

Save All Changes

The 💾 Save All Changes button in the order header saves financials, tracking, timeline, and notes in a single action — useful before navigating away.

Emailing the Client from Procurement

Procurement → Open Order📧 Email Client (header)

Opens the email compose modal pre-filled with the procurement update template, order number, and current stage. Also available automatically after every stage advance.

⚠️
The Purchase Approved stage requires the Manager or Admin role. Estimators and Field Staff cannot approve purchases.

Order History

Every stage change and manual note is recorded in the History & Activity card at the bottom of each order. This creates a complete audit trail with timestamps and the name of who made the change.

🤖 8. Material Pricing & AI Search

Your Price Library

Sidebar → Material Pricing

Save standard prices for materials and labour rates specific to your work. These feed directly into estimate line items so you never have to look up prices twice.

AI Barbados Price Search

The AI search tool at the top of the Material Pricing page accepts a plain-English query and returns estimated Barbados market prices, typical local suppliers, and relevant notes.

Type your queryExamples: "roofing nails galvanised", "PVC 4-inch fittings", "electrical conduit 20mm", "painted blockwork per sq ft"
Click Search Barbados MarketThe AI returns 2–4 items with BBD prices, supplier suggestions (Bhagwansingh's, BS&T, Brydens, etc.), and any relevant notes.
Add to your libraryClick + Add to List on any result to save it to your price library for reuse in estimates.
💡
Requires an AI API key. Go to Settings → AI & Integrations and add your key. OpenRouter (openrouter.ai) is recommended for Barbados — it accepts international credit cards. Get a key starting with sk-or-. Anthropic direct (console.anthropic.com) is US/UK billing only, key starts with sk-ant-.

Rates Library

Sidebar → Material Pricing → Rates tab

Store standard labour rates (daily rate, hourly rate per trade) separately from material prices. Rates can be pulled directly into estimates as line items.

📧 9. Email & Templates

Where to Send Emails

📁
Projects → Open Project → Overview → 📧 Email Client
Send any template to the project client.
📦
Procurement → Open Order📧 Email Client
Send a procurement update to the order client.
🔄
After stage advance — Automatically prompted when you advance a procurement order stage. Click OK to open compose, Cancel to skip.
👥
User Management → 📨 Invite
Send a platform invitation to a new team member.

Built-in Templates

📊
Project Update
General progress update to a client about their project.
💰
Estimate
Sends the estimate for client review and acceptance.
📦
Procurement Update
Update on a shipment or order stage change.
🧾
Invoice
Invoice notification with payment terms.
✏️
Custom
Blank compose for any custom message.

Creating Custom Templates

Settings → Email Templates+ New Template
Click + New TemplateEnter a name for your template (e.g. "Site Visit Confirmation").
Edit the templateClick your new template chip to select it. Edit the subject line and body in the editor below. Variables like {clientName} and {projectName} are substituted automatically.
SaveClick Save Template. It now appears in the email compose modal for all users.
DeleteClick the ✕ on the template chip in the Settings editor to remove a custom template. Built-in templates cannot be deleted but can be reset to defaults.

Email Attachments

The email compose modal includes an Attachment field. Attach any PDF, image, Word document, or Excel file up to 5MB. The file is base64-encoded and embedded as a download link in the email body — recipients can click to save it directly from their email client.

💡
Requires a Resend API key configured in Settings → Email Settings. See the installation guide for DNS setup instructions.

💬 10. Team Chat

Team Chat is an internal messaging system between all P3CL platform users. It is not visible to clients.

Sidebar → 💬 Team Chat
Features
💬
Message bubbles — Your messages appear on the right in gold tint. Other users' messages appear on the left with their initial.
Reply to a message — Hover any bubble and click ↩ Reply. A reply bar appears above the compose box showing what you are replying to.
📎
Attach files — Click the 📎 paperclip to attach an image or document (max 5MB). Images display inline in the chat. Other files appear as download links.
🔗
Links — Any URL typed in a message becomes a clickable link automatically.
✏️
Edit your message — Hover your bubble and click ✏️ to edit. The message is marked as "edited" after saving.
🗑️
Delete your message — Hover your bubble and click 🗑️. Deleted messages are removed from all devices.

Message Delivery

The chat status bar shows the delivery mode:

Live (green) — WebSocket connected. Messages arrive instantly, typically within 1 second.
Polling (amber) — WebSocket unavailable (network change, device sleep). Messages are checked every 5 seconds automatically.
Local only (yellow) — Supabase not configured. Messages save locally but do not reach other users.

The system automatically switches between live and polling modes and reconnects when your device wakes from sleep or regains network access.

On mobile: touch and hold a message bubble to show the action buttons (Reply, Edit, Delete).

🔔 11. Notifications

The notification bell (🔔) in the topbar shows recent activity across the platform. A red dot indicates unread notifications.

Notification Types

🎯
Milestone completed — A project milestone was marked done.
💰
Estimate accepted — A client accepted an estimate.
📦
Procurement stage change — An order moved to a new pipeline stage.
🇧🇧
Order arrived in Barbados — Shipment has cleared customs.
🎯
Order delivered — Item delivered to client.
💬
New chat message — Team member sent a message in Team Chat.

Browser push notifications are sent automatically for new chat messages. You may need to grant notification permission on first use.

👤 12. User Management

Sidebar → User Management

Only Administrators can access User Management.

User Roles

👑
Administrator — Full access to everything including financials, bank balances, salaries, user management.
🏗️
Project Manager — Full project, estimate, and procurement access. Can view expenses and P&L but not bank balances.
📋
Estimator — Projects, estimates, rates and pricing only.
👷
Field — View projects and plans only.
👁️
Viewer — Read-only access to projects, estimates, and procurement.

Finance Permissions

Three finance permissions can be toggled independently per user regardless of their role:

💳
View Financials — Can see expenses and P&L. Does not include bank balances, salaries, or investments.
✏️
Add / Edit Expenses — Can create and update expense records and attach receipts.
🔒
Finance Admin — Full financial access including bank balances, salaries, and investments. Admins have this automatically.
RoleAccess Level
AdministratorFull access to all modules including User Management and Settings. Can create, edit, and delete users.
Project ManagerFull project and procurement access. Cannot manage users or change platform settings.
EstimatorAccess to estimates, pricing, and rates only. Cannot view procurement or user management.
Field StaffCan view projects and update tasks and photos. Read-only on estimates and procurement.
Read OnlyCan view all data across the platform but cannot create, edit, or delete anything.

Adding a New User

Click + Add UserFill in full name, email address, role, and a temporary password.
Send the inviteClick 📨 Invite on their user card. Confirm the platform URL, enter their temporary password, and click Send Invite Email. They receive a branded email with instructions.
First loginThe user opens the platform link in their email, taps Refresh accounts from cloud, enters their email and temporary password, then sets their own personal password.

Editing a User

Click ✏️ Edit on any user card to change their name, email, or role. Click 🗑️ Delete to remove them. You cannot delete your own account.

⚠️
Passwords are stored locally per device for security. If a user forgets their password they should use the temporary password from their invite email, or you can set a new temporary password by editing their account and re-sending an invite.

⚙️ 13. Settings

Sidebar → Email & Notifications

Email Settings

Paste your Resend API key and confirm the sender email (info@p3cl.com). Click Save then Send Test Email to verify. All client emails are sent from here.

AI & Integrations

Paste your AI API key (OpenRouter sk-or-... or Anthropic sk-ant-...). The status line confirms which provider is active. Required for AI Barbados Price Search and the AI Project Manager assistant.

Cloud Sync (Supabase)

Enter your Supabase Project URL and anon key. Click Test Connection — you should see all 13 tables confirmed green. Click Save. The sync dot in the topbar turns green when connected.

Email Templates Editor

Select any template chip to edit its subject and body. Click Save Template. Click + New Template to create a custom one. Click Reset to restore a template to its factory default.

Notifications Settings

Enable or disable specific notification types. Browser notification permission must be granted for push notifications to work on your device.

☁️ 14. Sync & Offline

How Sync Works

The platform uses a layered sync approach. All data is saved to your device's local IndexedDB database instantly (no internet required). When Supabase is connected, changes are pushed to the cloud immediately after every save. A full background sync runs every 5 minutes to catch anything missed. The retry queue attempts failed writes every 30 seconds.

Reading the Sync Dot

Green / solid — All data synced successfully.
Blue / pulsing — Sync in progress.
Amber — Pending writes in queue, will retry shortly.
Red — Error. Tap the dot for details and to reconfigure.

Manual Sync

Tap the sync dot in the topbar at any time to open the sync panel. Click Sync Now to force an immediate full sync.

Multi-Device Use

Each device stores its own password locally. When using the platform on a new device:

  1. Open the platform URL
  2. Connect Supabase (tap ⚙️ at the bottom of login)
  3. Tap 🔄 Refresh accounts from cloud
  4. Log in — you will be asked to set a password for this device

Database Version Updates

When a platform update changes the database structure, you will need to clear site data on every device before the update takes effect:

Desktop ChromeF12 → Application tab → Storage → Clear site data → Confirm. Then Ctrl+Shift+R to hard reload.
MobileSettings → Apps → Chrome → Storage → Clear data. Then reopen the platform URL.

⏱️ 16. Timesheets & Labour Tracking

Track hours worked by staff on each project. Labour costs are calculated automatically and feed into your project financials.

1
Navigate to Timesheets Click Timesheets in the sidebar under the Financials section.
2
Log time Click + Log time. Select the project, enter a description of work, the date, hours worked, and hourly rate. The labour cost calculates automatically.
3
View summaries The screen shows your hours and cost for the current month, plus team totals broken down by project.
4
Export CSV Click Export CSV to download a full timesheet report for your accountant or payroll.
💡 Labour rates from your Labour Rates screen pre-fill the hourly rate field automatically when logging time.

📋 17. Purchase Orders

Create formal purchase orders linked to suppliers and projects. Track status from draft through to received.

1
Navigate to Purchase Orders Click Purchase Orders in the sidebar.
2
Create a PO Click + New PO. Select a supplier and project, enter a description of items, total amount, and expected delivery date.
3
Track status Click any PO to open its detail. Update the status as it progresses — Draft → Sent → Approved → Received. Status changes are synced across all devices.
4
Print PO Click Print PO from the detail view to generate a formal A4 purchase order document with your company header, ready to send to the supplier.
5
Check price variances Click 📊 Price variances to see where actual expenses differ from your catalogue prices by more than 10%.

📈 18. Cash Flow Forecast

A 90-day projection of your cash position broken into weekly buckets, automatically populated from your outstanding invoices and recurring expenses.

1
Navigate to Cash Flow Click Cash Flow in the sidebar. The opening balance pulls automatically from your most recent bank statement.
2
Review the forecast Inflows come from outstanding invoices with due dates. Outflows come from your active recurring expense templates. Click any week row to expand and see the individual items driving that week.
3
Add manual entries Click + Add entry to add expected income or payments not yet in the system — a deposit you are expecting, a large payment coming up, anything.
4
Watch for warnings A red warning banner appears if the balance goes negative at any point in the 90-day window — act early to collect outstanding invoices or defer payments.
5
Print Click 🖨️ Print to generate a landscape A4 cash flow report suitable for your accountant or a bank meeting.

🏢 19. Company Administration

Central record of everything the company owns and is responsible for. Accessible to admins, company admins, and finance admins.

1
Company Info tab Edit your company name, registration number, TIN, address, contact details, VAT number, and banking details. All changes flow through to invoices and estimates immediately.
2
Assets tab Add every item the company owns — laptops, vehicles, equipment, furniture. Each asset tracks make, model, serial number, purchase date, cost, assigned staff member, condition, and warranty expiry. Depreciation (straight-line or reducing balance) calculates automatically. Export the register as CSV for your accountant.
3
Insurance tab Add each insurance policy with insurer, policy number, coverage type, coverage amount, premium, and renewal date. Upload the actual policy PDF directly to each record. The platform alerts you 30 days before any policy is due for renewal.
4
Corporate Docs tab Upload company-level documents — Certificate of Incorporation, Tax Compliance Certificate, NIS registration, banking documents, licences. Separate from project documents. Set expiry dates on certificates to receive renewal alerts.
💡 The platform checks insurance renewals once per day on login and sends an email alert to your staff email when any policy renews within 30 days.

📑 20. Accountant & Financial Reports

Formal financial statements and the automated monthly Accountant Finance Pack — everything your accountant needs, prepared automatically.

1
Set up your accountant profile Go to Company Admin → Accountant tab. Enter your accountant's firm name, contact name, email address, and a CC email for your own records. Also enter the engagement reference if your accountant uses one.
2
Monthly Accountant Finance Pack On the 5th of every month you receive a notification: "Your October Accountant Finance Pack is ready." Open it, review the summary of income, expenses, net profit and VAT, and click Approve & Send to accountant. The pack is emailed to your accountant with you CC'd. Nothing is sent without your explicit approval.
3
Prepare a pack manually In the Accountant tab, select any month and year and click Prepare finance pack to generate a pack for any historical period.
4
Financial Statements Go to Company Admin → Financial Statements tab. Set a date range and print any of the three statements — Income Statement, Balance Sheet, or Cash Flow Statement. All are marked "Unaudited — for management purposes only."
5
Accountant Report Pack For a full export go to the Accountant screen in the sidebar. This gives you a date-range selector, a live preview, and five export options — full PDF report, income CSV, expenses CSV, VAT summary CSV, and bank reconciliation CSV.
💡 The Income Statement, Balance Sheet and Cash Flow Statement are management accounts — they give your accountant a starting point but do not replace a professionally audited set of financial statements.

📦 22. Client Portal — Procurement Tracking

Clients can now track the progress of their procurement orders directly from their portal at portal.p3cl.com. This gives clients real-time visibility into where their materials are without exposing any internal cost or pricing information.

What clients can see

When a procurement order is linked to a project that belongs to a client, it appears automatically on the client's Procurement tab. For each order the client sees:

  • The order number (e.g. PO-2026-A1B2C)
  • Each individual line item — description and quantity
  • The portal status of each line item as a coloured badge
  • A progress bar showing how many items have been delivered

Clients do not see supplier names, unit costs, total amounts, or any internal notes. Only the order number, item descriptions, quantities, and statuses are visible.

The six portal statuses

1
Ordered — The order has been placed with the supplier. Shown in blue.
2
In Transit to Barbados — The item has shipped and is on its way. Shown in amber.
3
Arrived — The item has arrived in Barbados. Shown in green.
4
Preparing for Delivery — The item is being prepared to deliver to the client's site. Shown in purple.
5
Delivered — The item has been delivered to the client's site. Shown in teal.
6
Closed — The item is complete and the order is closed. Shown in grey.

Updating item statuses (staff)

1
Go to Procurement in the sidebar and open the order you want to update.
2
In the Line Items table you will see a Portal Status column with a dropdown for each item.
3
Select the correct status from the dropdown — it saves automatically. The client's portal view updates immediately.

Which orders appear on the portal

Only orders with a Project assigned will appear on the portal, and only for the client linked to that project. Internal orders without a project assigned are never visible to clients. This means your normal workflow continues unchanged — simply assign the project when creating an order that the client should be able to track.

💡 You can update multiple line item statuses at once on the order detail screen — just change each dropdown in turn. Each change saves instantly without needing to click Save.

🧾 23. Payment Receipts

When a client payment is received, you can generate a professional payment receipt with a unique receipt number. The receipt formally acknowledges the payment and gives the client a reference document for their records.

Logging a payment

1
Go to Invoices and open the invoice you have received payment against.
2
In the Payment History card on the right, fill in the amount, date, payment method, and reference number.
3
Click Save payment. The payment is logged and the invoice balance updates automatically. If the invoice is fully paid, the status changes to Paid.

Generating a receipt

1
After logging a payment, a Generate Receipt button appears next to that payment in the Payment History list.
2
Click it to generate a PDF receipt. The receipt is assigned a unique number in the format REC-0001, incremented automatically for each new receipt.
3
Review the receipt in the preview. When you are satisfied, click Send / Download Receipt to download the PDF or email it to the client.

What the receipt contains

  • Receipt number (e.g. REC-0001)
  • Payment date and method
  • Amount received in BBD
  • Reference to the original invoice number
  • Project name and client details
  • Company letterhead and contact information
💡 Receipts are always reviewed manually before sending. The platform never sends a receipt automatically — you stay in full control of what goes to the client.

🔐 25. Client Portal — Invite Email, Password Setup & Reset

Clients access portal.p3cl.com using a simple email and password. The first time they are invited, a magic link gets them straight in. From that point forward they manage their own password directly on the login screen — no emails, no tokens, no expiry.

The portal invite email

When you send a portal invite from a client record, the client receives a branded onboarding email with the subject line "Your client portal is ready". The email contains:

  • A personalised greeting with the client's name
  • A clear explanation of what the portal gives them access to
  • A prominent Access My Portal button linking to their unique one-time login link
  • Step-by-step instructions for setting a password and signing in on future visits
  • Instructions for resetting a forgotten password directly on the login screen
  • Your company contact details at the bottom
💡 The invite link expires in 24 hours and can only be used once. If a client misses the window, go to their portal tab and click Send login link to send a fresh one.

First time — clicking the invite link

1
The client clicks Access My Portal in the invite email and is taken straight into the portal — no password required on first access.
2
To set a password for future logins, the client signs out and clicks "Set / Reset my password" on the login screen at portal.p3cl.com.
3
They enter their email address, choose a password of at least 8 characters, confirm it, and click Save password & sign in. They are logged straight in.
4
On every future visit the client goes to portal.p3cl.com, enters their email and password, and signs in independently.

Forgot password — self-service, no email required

1
The client clicks "Set / Reset my password" on the portal login screen.
2
They enter their email address, choose a new password, confirm it, and click Save password & sign in.
3
If the email matches their portal account, the new password is saved and they are logged straight in. No email or link is required.
💡 No action is ever required from you for password resets. Clients handle it entirely themselves on the login screen at any time.

Deploying portal updates

The client portal at portal.p3cl.com is a separate Netlify site from the staff platform. Any time the portal is updated it must be deployed with its own command in addition to the main app deploy:

netlify deploy --dir=p3cl-portal --prod --site da5e80a8-5f54-44dd-9f9e-b8200cb25593
💡 Passwords are stored as SHA-256 hashes — the actual password is never visible to anyone. There is no way to recover a forgotten password, only to set a new one via the login screen.

26. API Health Check & Auto-Sync

The platform now runs automatic checks on login to make sure all connected services are working. This removes the need to manually verify connections each time you log in on a different device.

Auto-sync on login

Every time you open the staff platform and the login screen appears, the app silently pulls the latest user accounts from Supabase in the background. This means that if a new staff member was added on another device, their account is available immediately without you needing to click Refresh accounts from cloud. The login screen also shows a green "✅ Supabase connected — syncing automatically" status when your connection is already configured.

API health check on login

Eight seconds after you sign in, the platform silently checks three services:

  • Supabase — confirms multi-device sync is active
  • Email (Resend) — confirms your API key is saved and emails can be sent
  • AI Assistant — confirms your Anthropic or OpenRouter API key is saved

If all three are configured, nothing happens — the check runs and passes silently. If anything is missing, a warning toast appears at the bottom of the screen listing which services need attention, and a notification is logged in the bell so you can come back to it. Both point you to Settings to resolve the issue.

Fixing a failing service

1
Go to Settings from the sidebar.
2
For Supabase — your URL and key are stored in your browser. If you are on a new device, click Reconfigure connection on the login screen and enter your Supabase URL and anon key.
3
For Email — go to Settings → Email Integration and enter your Resend API key, then click Save. The key is now also stored in Supabase so portal password resets work automatically.
4
For AI Assistant — go to Settings → AI Integration and enter your OpenRouter or Anthropic API key, then click Save.
💡 API keys are stored in your browser's local storage per device. If you switch devices or clear your browser data you will need to re-enter them. Supabase credentials only need to be entered once per device — everything else in the platform syncs automatically after that.

🛃 28. Import Cost Calculator

The import cost calculator lets you identify the true landed cost of any item purchased from outside Barbados, including all applicable duties, levies, VAT, and shipping before you commit to the order. This ensures your client pricing reflects your actual costs.

Marking Items as Imported or Local

Every line item on a procurement order has a Source column with an Imported / Local toggle. Click the toggle to switch between the two. Items marked as Imported will have the full duty calculation applied. Items marked as Local skip all import charges — only VAT applies if selected.

1
Open a procurement order from Procurement → Orders.
2
In the items table, find the Source column. Each item shows either an amber Imported badge or a green Local badge.
3
Click the checkbox next to any item to toggle it between Imported and Local. The badge updates immediately and saves automatically.
4
Scroll down to the Financials card and click ⚡ Calculate Import Costs.
5
The system automatically populates Shipping, Customs Duty, VAT, and Handling Fee fields based on each imported item's category and the current duty rates. Click Save Financials to confirm.

How the Calculation Works

1️⃣
Item cost in BBD — supplier price converted from USD, GBP, EUR, CAD, TTD, or BBD using fixed exchange rates.
2️⃣
Shipping (20% default) — added to item cost. Adjustable per order in the Financials card.
3️⃣
Insurance (1.5% default) — added to item cost.
4️⃣
CIF value — Cost + Insurance + Freight. This is the taxable base for all duties.
5️⃣
Customs duty — applied to CIF at the category rate (e.g. Construction 5%, Electrical 10%, Furniture 20%).
6️⃣
Environmental levy — 1% on CIF.
7️⃣
Foreign exchange fee — 2% on CIF.
8️⃣
VAT (17.5%) — applied to CIF plus customs duty. Captured in financials as recoverable if VAT-registered.
9️⃣
Customs broker fee — BBD $250 flat per order (not per item). Goes into the Handling Fee field.
💡 All calculations use non-CARICOM rates (full CET). Goods from CARICOM member states may qualify for reduced rates — adjust manually in the Financials card if needed.

📄 29. Delivery Notes

A delivery note is generated when a procurement order reaches Preparing for Delivery status. It accompanies the physical delivery and is signed by the site supervisor or client as confirmation of receipt. No pricing appears on the delivery note — it is a logistics document only.

Generating a Delivery Note

1
Open a procurement order and advance its status to Preparing for Delivery or Delivered.
2
A 📄 Delivery Note button appears in the order header alongside the other action buttons.
3
Click the button. A print-ready document opens in a new tab.
4
Before printing, edit the Qty Delivered fields if any items were short-delivered, and set the Condition for each item (Good, Partial, or Damaged).
5
Add any notes in the Remarks box — for example, a second delivery run scheduled for short items.
6
Click Print or use Ctrl+P. Set the destination to Save as PDF to keep a digital copy, or print directly for the site supervisor to sign.

What the Delivery Note Contains

🏢
Company header
Your company name, address, and contact details pulled from Settings.
🔢
DN number
Sequential DN-0001 format, separate from the PO number. Each delivery gets its own unique reference.
📋
PO reference
Links back to the original purchase order for full traceability.
📦
Line items
Description, quantity ordered, quantity delivered (editable), and condition per item.
📝
Remarks box
Free-text field for delivery notes, shortfalls, or follow-up actions.
✍️
Signature blocks
Delivered by (pre-filled with your name) and Received by (blank for client signature).
💡 Supplier names and pricing never appear on the delivery note — it is intended for the client and site team only.

📊 30. Import Duty Rates Management

Barbados customs duty rates can change. The platform reminds you to check rates monthly and allows you to update them in one place without touching any code.

Monthly Rate Check Reminder

On the first login of each month, if any procurement orders contain imported items, a bell notification appears reminding you to verify that current duty rates are still accurate. The notification includes direct links to the two official sources:

🔗
PwC Barbados Tax Summary — updated every January, covers all import duties, levies, and VAT rates.
🔗
Barbados Customs and Excise Department — official tariff schedules and HS code classifications.

Updating Duty Rates

1
Go to Settings from the sidebar.
2
Scroll to the Import Duty Rates section at the top of the Settings page.
3
Edit any category rate as needed. Current categories and default rates are shown below.
4
Click Save Duty Rates. All future import calculations will use the updated rates immediately.
5
Click ✅ Mark as verified today to record that you have reviewed the rates. This clears the monthly reminder until the following month and stamps the verification date.

Default Duty Rates (Non-CARICOM)

🧱
Construction materials — 5%
Electrical equipment — 10%
🚿
Plumbing fixtures — 10%
❄️
HVAC / mechanical — 5%
🪑
Furniture & fittings — 20%
🔧
Tools & machinery — 5%
💻
IT equipment / tech — 10%
📦
Other / general — 15%
💡 The environmental levy (1%), foreign exchange fee (2%), and VAT (17.5%) are fixed statutory rates set by the Government of Barbados and are updated separately if the law changes.

🔑 31. Portal Password Activity Log

Every time a client sets or resets their password through the Client Portal, the action is logged and visible to your staff in the main platform. This provides a full audit trail of portal access activity without requiring access to Supabase.

Viewing the Activity Log

1
Go to Clients from the sidebar.
2
Click the 🌐 Portal button on any client card that has a portal account.
3
In the modal that opens, scroll down to the Portal password activity card.
4
Each entry shows the timestamp, the email address used, and the type of action.

Badge Types

🔑
Password set via portal (green) — the client used the "Set / Reset my password" screen on the portal login page to set or change their password directly.
Magic link sent (green) — a login link was sent to the client via email from the staff platform.
Send failed (red) — a magic link email was attempted but the email delivery failed. Check the email integration settings.
💡 The log shows the 10 most recent entries per client, sorted newest first. It reads directly from Supabase so it always reflects the latest activity even if another staff member made changes on a different device.

💡 27. Tips & Shortcuts

⌨️
Chat: Send with Enter
Press Enter to send a chat message. Press Shift+Enter to add a new line without sending.
💾
Tracking auto-saves
Procurement tracking fields save automatically when you tab away — no need to click Save Tracking every time.
📝
Notes auto-save
Order notes save automatically when you click out of the text area.
📄
Estimate as PDF
Open an estimate, click Print/PDF, then use the browser's print dialog — set destination to "Save as PDF".
🔄
Stage email auto-prompt
Every procurement stage advance automatically offers to email the client — saves a separate email step.
🔍
Search and filter
Every list view (Projects, Estimates, Procurement, Clients) has live search and dropdown filters.
📊
AI project manager
Inside any open project, the AI tab gives you an AI advisor with full project context — status reports, risk analysis, client emails, and more.
📱
Mobile touch tip
On mobile, touch and hold any chat bubble to reveal the reply, edit, and delete action buttons.

Troubleshooting Quick Reference

Login fails — "No account found" → Tap 🔄 Refresh accounts from cloud first.
Sync dot stays red → Tap it → Setup → re-enter Supabase URL and key → Test → Save.
AI search says "No API key" → Settings → AI & Integrations → paste key → Save Key.
Email test fails → Resend domain verification is pending. Check Resend → Domains for green ticks. DNS can take up to 24 hours.
Procurement order shows wrong stage after advancing → Tap the sync dot → Sync Now. Stage advances are saved immediately but the display refreshes on sync.
Chat shows ↻ polling instead of ● live → This is normal on mobile networks. Messages still arrive within 5 seconds. The indicator will return to ● live when the connection stabilises.

💡 Field Designer

The Field Designer is a purpose-built engineering module for designing, documenting and sharing sports field lighting installations. It generates a live-linked Bill of Quantities automatically from every drawing.

Opening the Field Designer

  1. Click Field Designer in the left navigation sidebar.
  2. The screen splits — the left panel shows saved drawings, the right panel is the canvas.
  3. Click + New Drawing to create a new drawing, or click any existing drawing to open it.

Creating a New Drawing

  1. Enter a drawing title (e.g. Codrington College Field Lighting — Design A).
  2. Select the project to attach it to, or leave blank and attach later via the action bar.
  3. Search for the field location by address — GPS coordinates fill automatically.
  4. Set field dimensions: Length, Width and boundary distances North, South, East, West.
  5. For cricket set pitch length (20.12m) and pitch width (3.05m).
  6. Click Save drawing. The oval field renders to scale.

Placing Elements on the Canvas

Fixture aim editor: Double-click any pole to set the aim angle and tilt of each individual fixture. Use Aim toward centre as the recommended starting position.

Lighting Settings

Bank Wiring System

Each bank = exactly 2 poles on one independently switched circuit. Select the number of banks needed:

Tick Show bank wiring to display colour-coded cable routes along the oval boundary. All cables route along the perimeter — no cross-field trenching.

Bill of Quantities (BQ)

Click 📋 View BQ in the action bar. The BQ is live-linked and recalculates on every save. It covers Civil Works, Structural, Electrical Fixtures, Cables and Control Room — including the 125A main MCB, manual changeover switch and third-party remote control device.

Click 🖨️ Print Full BQ inside the modal to print on A3 landscape or save as PDF.

AI Features

Requires an OpenRouter API key set in Settings → AI Assistant.

Version History

Every save increments the version number. Click 🕐 History in the action bar to view the last 10 versions and restore any previous version.

Client Portal Approval

  1. Click 📤 Send to client. Status changes to SENT.
  2. Client logs in at portal.p3cl.com → 💡 Drawings tab → View and Review Drawing.
  3. Client reviews the interactive canvas with full pan and zoom support.
  4. Client clicks ✅ Approve Drawing — BQ locks, status changes to APPROVED.
  5. Or client clicks ✏️ Request Changes — notes sent back to your team.

📧 Email Client

The Email Client lets you send and receive real p3cl.com emails from directly inside the platform. All emails go from and arrive in your actual mark@p3cl.com mailbox — nothing is simulated.

Setting up your email connection

  1. Click 👤 My Profile in the sidebar.
  2. Scroll to the Email Account (IMAP/SMTP) section.
  3. The server settings are pre-filled: mail.p3cl.com port 993 (IMAP) and 465 (SMTP).
  4. Enter your email password and click Test connection.
  5. Click Save all changes.
  6. Click 📧 Email in the sidebar — your inbox loads automatically.

Reading emails

Composing and replying

AI review before sending

  1. Write your email in the compose window.
  2. Click 🤖 AI review.
  3. Claude reviews grammar, tone, and structure based on your tone preference.
  4. Choose Accept rewrite to apply the improvement, or Ignore to send as written.

AI review can be turned on or off per user in My Profile → AI Email Review toggle.

Folder views

💡 Tip: Click 📅 Calendar on any email to create a calendar event from it — great for scheduling site visits from client emails.

📅 Calendar Scheduler

The Calendar gives you a visual overview of everything time-sensitive across all your projects — milestones, invoice due dates, site visits, and meetings — all in one place.

What appears automatically

Views

Adding an event

  1. Click + New event in the toolbar, or click any day on the month/week grid.
  2. Enter the title, type, date, time, project, and notes.
  3. Click Save event — it appears on the calendar immediately and syncs to all devices.

Creating an event from an email

  1. Open an email in the Email client.
  2. Click 📅 Calendar in the email toolbar.
  3. The new event form opens pre-filled with the email subject as the title.
  4. Adjust the date and time and click Save.

Filters

Use the filter checkboxes in the toolbar to show or hide event types — useful when you want to focus on just milestones, or just invoice due dates.

Quick add

Type a title in the Quick add panel on the right sidebar and click Add for today to create a meeting or reminder for the current day without opening the full form.

🌐 Client Portal

The client portal gives your clients secure, read-only access to their project information at portal.p3cl.com. Each client logs in with their email address and a password you set for them from the Clients module.

What clients can see

Setting up a client portal account

  1. Go to Clients in the sidebar and open the client record.
  2. Scroll to the Portal Access section.
  3. Enter the client's email address and set a password.
  4. Toggle Portal enabled to on.
  5. Click Save. The client can now log in at portal.p3cl.com.

Drawing approval workflow

  1. In the Field Designer, click 📤 Send to client on a completed drawing.
  2. The drawing appears in the client's Drawings tab automatically.
  3. Client clicks View Full Drawing to open the full screen canvas viewer.
  4. Client clicks ✅ Approve Drawing — approval is recorded with name, timestamp, and date.
  5. Or client clicks ✏️ Request Changes — your team is notified and can update the drawing.
💡 Tip: Clients can only see drawings that have been explicitly sent via the Send to client button. Drafts are never visible in the portal.

🔍 Platform Audit Dashboard

The Platform Audit Dashboard is a live health check for the entire P3CL platform. It runs 31 automated checks across the staff platform, client portal, database, and data integrity — and shows you instantly if anything needs attention.

Access it at audit.p3cl.com or click 🔍 Platform Audit in the staff platform sidebar.

Understanding the results

What is checked

Change Protocol — run before and after every change

Before every change — Run the audit. Confirm zero red checks. Do not proceed if anything is red.
Download a backup — Download the current platform ZIP and portal index.html from Netlify before touching any files.
One change at a time — Never combine multiple fixes in a single deployment.
After every change — Re-run the audit. All previously passing checks must still pass.
If production breaks — Roll back immediately via Netlify Deploys tab. Never patch a broken live site.

🔧 Development & Production Environments

The platform runs in two completely separate environments. This means new features are always tested safely before real clients ever see them.

The two environments

EnvironmentURLsPurpose
Developmentp3clpm-dev.netlify.app
portal-dev.p3cl.com
audit-dev.p3cl.com
Build and test all new features here first. Uses dummy test data — no real clients affected.
Production (Live)p3clpm.netlify.app
portal.p3cl.com
audit.p3cl.com
Real clients, real data. Only receives code that has been tested and confirmed working in dev.

How to promote a feature from dev to production

  1. Build and test the feature on the dev environment.
  2. Run the audit on dev — must show all checks passing.
  3. Download a backup of the current production ZIP from Netlify.
  4. Deploy the tested ZIP to p3clpm.netlify.app (production).
  5. Run the production audit at audit.p3cl.com — confirm all checks still pass.

If something breaks in production

  1. Go to app.netlify.com and find the affected site.
  2. Click Deploys in the left sidebar.
  3. Click the deploy just before the broken one.
  4. Click Publish deploy to roll back instantly.
  5. Fix the issue in dev, then promote again once confirmed working.
💡 Golden rule: Never try to fix a broken production site by patching it live. Always roll back first, then fix in dev.

Development changelog

Every change to the platform is logged with a timestamp in the development changelog at p3clpm-dev.netlify.app/docs/changelog. This gives a complete searchable history of every feature added, fix applied, database migration run, and deployment made.

🏦 Payment Details

A dedicated page showing P3CL's bank account information — accessible to all staff from the sidebar under Payment Details.

Viewing payment details

Any staff member can open Payment Details from the sidebar to view the company's banking information. Each field has a Copy button for quick sharing with clients.

Editing payment details (Admin only)

  1. Open Payment Details from the sidebar.
  2. Click ✏️ Edit (top right — visible to admins only).
  3. Fill in: Bank name, Branch, Account number, Routing / Transit No., SWIFT / BIC, and Payment reference instructions.
  4. Click Save payment details.

Printing a payment slip

Click 🖨️ Print slip to open a branded P3CL payment instruction page. Use the browser print dialog to save as PDF or print. The slip includes the company logo, all bank fields, and contact details.

💡 Bank details are stored in the company profile and are separate from invoices — they do not appear automatically on invoices or estimates.

📍 Project Location & Photo Geotagging

Capturing your location on a project

When you are physically on a project site, open the project and use the location buttons on the Overview tab:

Once coordinates are saved, the lat/lng appears in teal below the buttons and a View on map → link becomes available. The pin also appears on the Project Map in the sidebar.

Photo timestamp and GPS overlay

When you upload photos to a project's Photos tab, the platform automatically:

💡 Photos taken on mobile with GPS enabled will have the most accurate location data. On desktop, location may be approximate or unavailable — the timestamp is always recorded regardless.

📊 Dashboard KPI Indicators

The dashboard now shows two rows of stat cards. The second row contains live financial KPI indicators pulled from your invoice data.

KPI CardWhat it showsClicking it
💰 OutstandingTotal balance across all unpaid invoices. Count shown below.Opens Invoices
⚠️ OverdueTotal balance on invoices past their due date. Shows red if any overdue, green if none.Opens Invoices
Collected (Month)Total cash received from invoice payments in the current calendar month.Opens Invoices
📋 Awaiting ApprovalNumber of estimates in Sent status waiting for client decision.Opens Estimates
💡 All KPI cards are clickable and take you directly to the relevant module for further action.