Welcome back, Matthew
Total clients
+0
—
Loading…
Upcoming shoots
7d
—
Loading…
Galleries in progress
—
Awaiting delivery
Outstanding invoices
—
Loading…
Total revenue
—
+0% vs previous period
Upcoming shoots
Galleries awaiting delivery
| Client | Shoot type | Shoot date | Phase | Images |
|---|---|---|---|---|
| Loading… | ||||
Upcoming shoots · list
| Client | Date | Type | Location | Package | Time | Status |
|---|---|---|---|---|---|---|
| Loading… | ||||||
To-do
Activity
Audit log
Loading...
← Back to companies
Company saved!
Company details
Address
Notes
← Back to companies
| Name ↕ | Email ↕ | Phone | City ↕ | Shoots ↕ | Services | Release | Source ↕ | |
|---|---|---|---|---|---|---|---|---|
| Loading... | ||||||||
← Back to clients
Lead Pipeline
Your full funnel from first contact to completed shoot
Galleries
Loading galleries…
Client added and saved to your database!
Contact information
Address
Services required
Additional details
← Back to client
Client details updated!
Contact information
Address
Services required
Additional details
Recent shoots
—
Sun
Mon
Tue
Wed
Thu
Fri
Sat
Upcoming Shoots
Booking Requests
Pending submissions from the public booking form
Loading…
New Bookings
All incoming bookings — card payments, bank transfers, and requests needing review
Loading…
← Back to client
Booking confirmation details
Preview
Enquiries
Messages from the contact form
Select an enquiry to read it
Gallery tracker
| Client | Shoot date | Due date | Phase | Images | Gallery link | Actions |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Business details
Invoice details
Line items
Service
Hrs
Rate ($)
Live preview — A4
Business details
Quote details
Shoot details
Line items
Service
Qty
Price ($)
Live preview
Total invoices
—
Total quotes
—
Expiring soon
—
Within 7 days
Expired / overdue
—
All records
| Type | Number | Client | Amount | Issue date | Due / Expiry | Countdown | Status | Action |
|---|---|---|---|---|---|---|---|---|
| Loading... | ||||||||
Total outstanding
—
Pending invoices
—
Deposits awaited
—
Outstanding invoices
| Client | Invoice # | Total | Balance due | Due date | Status | Action |
|---|---|---|---|---|---|---|
| Loading... | ||||||
BAS Export
| Type | Reference | Date | Client | Ex GST | GST | Total | Status |
|---|---|---|---|---|---|---|---|
| Select a quarter above | |||||||
Log expense
× $0.88/km (ATO)
Expenses
| Date | Description | Category | Amount | GST | ||
|---|---|---|---|---|---|---|
| No expenses logged yet | ||||||
Packages
Loading packages…
No packages yet — create your first one below.
Create package
Business settings
Settings saved — invoices will now use these details automatically.
Appearance
Accent colour
Display mode
Database connection
1
Run SQL in Supabase (first time only)
Go to your Supabase project → SQL Editor → New query. Paste and run:
alter table clients disable row level security;
alter table bookings disable row level security;
alter table deliverables disable row level security;
alter table invoices disable row level security;
create table if not exists settings (
id int primary key default 1,
business_name text, email text, phone text,
abn text, bsb_account text, address text,
constraint single_row check (id = 1)
);
insert into settings (id) values (1) on conflict do nothing;
alter table settings disable row level security;
-- Add contract tracker to clients (run once):
alter table clients add column if not exists services_required text;
alter table clients add column if not exists company text;
alter table clients add column if not exists client_type text default 'Individual';
alter table clients add column if not exists
contract_signed text default 'No';
alter table clients add column if not exists
deposit_received text default 'No';
alter table clients add column if not exists
final_payment text default 'No';
alter table clients add column if not exists
gallery_delivered text default 'No';
2
Connection status
Checking connection...
3
Custom domain (Cloudflare)
When you are ready to use a custom domain like clients.mashfordphotography.com, upload this file to Cloudflare Pages and point a CNAME at it. Everything else stays the same.
Email previews
Send a test copy of any email template to matthew.mashford@gmail.com. Quote and invoice tests require saving first.
Booking confirmation
Sent to customer when you confirm a booking
Booking decline
Sent when you decline a request
Quote
Save a quote first, then test
Invoice + payment link
Save an invoice first, then test
Payment reminder
Sent from the Outstanding Payments page
Gallery delivery
Sent when marking a deliverable as done
Payment received
Auto-sent when Stripe deposit is paid
Pre-shoot brief
Auto-sent 72h before the shoot
Bank transfer request
Sent to customer when they select bank transfer on /book