I was losing shoot dates in a calendar, proofing links in DMs, and finals in a notes app. This is the Notion setup I use for wedding and portrait work. It runs on the Free plan. It is a shoot / gallery / payment tracker — not tax software, not legal advice, and it does not host galleries.
Walkthrough video: https://youtu.be/8UCMlw5jQqE
The spine is four databases plus a gear checklist:
- Clients
- Shoots (related to Clients)
- Galleries (related to Shoots)
- Invoices (related to Clients and Shoots)
- Gear checklist (optional, but useful the night before)
Home is three linked views: this week's shoots, overdue invoices, undelivered galleries.
1. Clients
Create a full-page database named Clients. Title property: Name.
| Property | Type | Notes |
|---|---|---|
| Name | Title | Unique. Shoots and invoices point here. |
| Type | Select |
Wedding Portrait Brand
|
| Status | Select |
Lead Booked Delivered Lost
|
| Next action | Text | One line. What you do next. |
Do not rename Name. Everything else matches on that value.
2. Shoots
Create Shoots. Title: Name.
| Property | Type | Notes |
|---|---|---|
| Name | Title | Unique. Galleries and invoices match on this. |
| Client | Relation → Clients | Limit 1 |
| Date | Date | Date only. When you are on site. |
| Location | Text | Venue or studio. One line. |
| Status | Select |
Inquiry Booked Shot Edited Delivered
|
| Fee | Number | Shoot fee, USD, 0 decimals |
Wire the Client relation after both databases exist. Limit 1.
Home view: Date is This week. That is your week board — not a second calendar.
3. Galleries
Create Galleries. Title: Name (usually the shoot name plus “proofs”).
| Property | Type | Notes |
|---|---|---|
| Name | Title | Scannable. |
| Shoot | Relation → Shoots | Limit 1 |
| Delivery status | Select |
Not started Sent Approved
|
| Gallery URL | URL | Pixieset / Pic-Time / your host. Notion does not host files. |
| Expiry | Date | When the proofing link dies. |
Undelivered Home view: Delivery status is not Approved. That is who still owes you a gallery selection — or who you still owe proofs.
4. Invoices (who still owes you)
Create Invoices. Title property: Number (INV-0001, unique).
| Property | Type | Notes |
|---|---|---|
| Number | Title | INV-0000 |
| Client | Relation → Clients | Limit 1 |
| Shoot | Relation → Shoots | Limit 1 |
| Amount | Number | USD, 0 decimals |
| Status | Select |
Draft Sent Paid Overdue
|
| Due | Date | Date only |
Invoice Status is the source of truth. If the final is late, set Overdue. Do not hope.
Home view: Status is Overdue. Sort Due oldest first. Empty state means you are current on money.
This is a tracker. It does not file VAT, send dunning email, or replace an accountant.
5. Gear checklist (optional)
One database. Title: Item. Select for Wedding / Portrait. Packed: Yes / No. The night before a wedding, filter to Wedding and set Packed to No, then tick as you load the bag.
6. Home
One page. Three linked views. Do not duplicate the databases.
- This week — Shoots, Date is This week.
- Overdue invoices — Invoices, Status is Overdue.
- Undelivered galleries — Galleries, Delivery status is not Approved.
If Home takes more than one scroll of attention, you added too much.
First-day rules
- One Next action per client. Not three.
- Shoot Date is on-site day. Gallery Expiry is when the proofing link dies.
- Invoice status is the source of truth for who still owes you.
- Sample rows are for wiring. Delete them after your first real client.
If you do not want to build it
I packaged this as Cove Shoot OS. Duplicate into your workspace. Works on Notion Free. Clients, shoots, galleries, invoices, gear, Home already related.
Disclosure: these are my paid templates.
- Shoot OS (shoots / galleries / who still owes you): $15 — https://clearstay.gumroad.com/l/dydcf
- Freelance OS (clients / invoices / unpaid hours): $19 — https://clearstay.gumroad.com/l/myopfv
- Shop: https://attractive-crib-5bc.notion.site/Cove-3d0d7a0e569e80d2a58fe8ff9b692e60
- Demo video: https://youtu.be/8UCMlw5jQqE
Affiliate: none. Not tax software. Not legal advice. Does not host galleries.
Top comments (0)