Most photographers and video producers know they should be using a contract. Fewer can say, without digging through email or a shared drive, whether the contract for a specific job actually got signed. That gap, between knowing contracts matter and actually keeping track of them, is where a lot of studios quietly expose themselves to risk. It is also the problem we set out to fix when we built Contracts and Projects into FrameCourier.
Why a contract matters in the first place
A contract is the agreement you and your client sign before a shoot begins. It is not a formality; it is the document that decides what happens when reality does not match expectations, when a wedding gets postponed, when a client wants more revisions than you budgeted for, when a shoot runs long and the delivery timeline shifts. Without one, those situations get settled by whoever argues more persuasively after the fact. With one, they get settled by what you both already agreed to before anyone was frustrated.
A good photo or video contract covers the shoot itself, the fee and deposit, what happens if either side needs to cancel or reschedule, exactly what will be delivered and by when, and who owns the finished work and how it can be used. That last point is worth separating clearly in your own head: a contract governs the agreement to do the shoot, while a separate licence governs what the client can do with the media once it is delivered. Conflating the two is one of the more common mistakes we see, and it is worth treating them as two different documents with two different jobs.
Where contracts usually break down
The actual legal content of a contract is rarely the problem. Photographers and video producers who have been in business for more than a year or two generally know what clauses they need. What breaks down is everything around the document: getting it in front of the client quickly, actually getting it signed instead of verbally agreed to, and then being able to find it again three months later when a dispute comes up or a client asks a question about scope. A contract sitting as a PDF attachment in an old email thread might as well not exist when you need it under pressure.
The other place things break down is the disconnect between the paperwork and the actual job. The contract lives in one place, the galleries live in another, the model release lives somewhere else again, and nothing on your side ties them together. When a client asks "did we ever get the release signed for this shoot," the honest answer is often a five-minute search through three different systems.
How FrameCourier handles the contract itself
FrameCourier's Contracts feature builds the document and the signing process into the same place you already manage the client relationship. You choose a client, fill in the shoot type, fee, deposit, deliverables, delivery timeline, and cancellation terms, and the system generates the contract text from those fields. If typing it all out feels slower than just describing the job, MILO Assist lets you describe the shoot in plain English, something like "wedding for Sarah and Tom on June 15th at The Grand Estate, $3,500 total, $1,000 deposit, deliver about 600 photos within eight weeks," and MILO fills in the matching fields for you without overwriting anything you have already typed.
Once a contract is saved, it gets a permanent signing link and QR code automatically, the same signing experience clients already know from model releases. The client opens the link, reviews the contract under your studio's own branding, and signs with a typed legal name and a drawn signature, right from their phone. The moment they sign, the exact wording they agreed to is frozen, so if you edit the contract's fields afterward for a future job, the signed copy on file never silently changes out from under you. Every contract carries a clear status, Draft, Sent, Signed, or Void, so you can tell at a glance where a document actually stands without opening it.
Why the contract needs to live with the job, not next to it
A signed contract that has no connection to the shoot it covers is still just a file. The real fix for the "where is this document" problem is not a better filing system, it is not needing to file anything at all, because the contract is already attached to the same place as everything else for that job. That is what Projects does.
A Project in FrameCourier belongs to a single client and pulls together everything you are delivering for a specific job, its photo galleries, video collections, signed model releases, contracts, and any files either side uploads, into one page instead of a scattered list. Instead of a client hunting through every gallery you have ever sent them to find "the wedding" or "the product launch," they get one home for that job with everything already linked. A contract created from a project's own Contracts tab is automatically scoped to that project, and you can attach an existing contract to a project later if it was created separately. When someone asks whether the paperwork for a specific job is squared away, the answer is one click away instead of a search.
What a project actually shows, on both sides
On your side, enabling Projects adds a Projects list to your sidebar, a Recent Projects row on your dashboard, and a Projects section on every client's own page, so you can see what is in progress for a client without leaving their page. Each project can carry a written brief, an AI-generated overview and daily digest for your own team, and a running thread of updates and comments tied to that specific job.
If you choose to make Projects visible to clients as well, they get their own view of the same project, scoped appropriately: their published galleries and video collections, any files shared both ways, the project updates and comments, and an Ask Milo chat button so they can ask questions about the project directly. Contracts and model releases never appear on the client-facing side of a project, and anything related to them is left out of what clients see in the update feed, so the paperwork stays visible to your team without becoming something a client has to look at or worry about.
Turning it on
Both features are off by default, so nothing changes on your account until you decide to use them. Contracts turns on from Settings, under Company Info, and adds a Contracts link to your sidebar along with a Contracts tab on client and project pages. Projects turns on from Settings under Client Portal, with a second, separate switch for whether clients can see their own project pages. You can enable Contracts without Projects, or Projects without Contracts, but used together they solve the problem this article started with: a contract that gets signed quickly, and stays exactly where the rest of the job lives.
Try Contracts & Projects
Both features are available on every FrameCourier plan, including the free tier — turn them on from Settings whenever you are ready. No credit card required to start.