The manual

Everything KitSlate does, screen by screen.

Written for someone who has just been handed the app. Every screen has a picture, every button is named exactly as it appears, and the things that catch people out are flagged where you would hit them.

Follow along in the sandbox →
Start here

The shape of the app

Two ideas explain nearly all of KitSlate. Learn these and the rest of the manual is just detail.

1. A production holds five documents

You never create a loose call sheet or a floating quote. You create a production, and it carries five documents that share its name, client, dates, location and letterhead:

Gear List Call Sheet Quote Invoice Agreements

They feed each other. Gear you pick shows up priced on the quote; crew on the quote can be pulled onto the call sheet; the quote turns into the invoice; the call sheet's talent list fills the agreement.

Not every production needs all five. An equipment-only rental has no call sheet; a favour for a friend has no invoice. Any document can be marked not required — it stays, subdued and restorable, and stops counting against you. Say nothing and all five apply, exactly as they always have.

The app calls this thing a production on the create button, a project in the page title, and a job or a shoot in a few older screens. Same object every time.

2. The company switch filters everything

The top row of the sidebar carries the KitSlate mark and, beside it, the company you are working in with its coloured bar. Click it for the switcher. It is not a label — it is a filter that silently applies to Today, Projects, the Calendar, All Documents and most Reports.

  • Single tap — a light switch. Turns that company's data on or off everywhere, without moving you.
  • Double tap — "run everything as this company". The whole app now works as them.
  • All companies — every light on.

Each company in the menu also tells you what it is doing today — "on location — Rooftop Series", "client in the studio", or "quiet today". With only one company there is no switcher at all; the row is just the logo.

If a page looks empty

Check the company switch before you assume something was lost. An empty Projects page usually means a company is switched off — which is why several empty states end with "…or switch the company filter in the sidebar".

The sidebar, top to bottom

The sidebar carries navigation and nothing else. Status moved to the topbar, and everything about you moved into the account button at the bottom. It is designed to fit a laptop screen without scrolling.

RowWhat's in it
WorkspaceThe KitSlate mark and the company switch above.
Search / +Search or jump to… (or ⌘K) opens any screen by name. is Create Production.
FAVOURITESOnly appears once you pin something. Drag to reorder.
WorkHome, All Projects, All Documents, Calendar, To do (everything waiting on you) and Activity (with its unread count).
RecordsInventory / Equipment, Clients, Crew, Invoices, Quotes, Camera Settings — the things you reuse on every job, plus the two documents that also stand on their own.
BusinessReports and External Rentals.
NetworkRate Guide, Market and Profile — the shared, opt-in parts, and the public face that goes with them.
Your nameThe account button. Profile, Companies, Settings, Billing, keyboard shortcuts, the manual, and Sign out.

Pinning and hiding — make it your sidebar

Hover any nav row and a appears at its right (right-click does the same thing).

  • Pin to Favourites — the row moves up into a Favourites block under the search box. Drag pinned rows to reorder them.
  • Hide from sidebar — the row disappears from the list. It is not removed: ⌘K still opens it, and so does every link to it elsewhere in the app. Home cannot be hidden.
  • Edit sidebar… — turns on a mode where the pin controls are always visible and a HIDDEN block appears at the bottom listing what you have suppressed, with Reset to put everything back.
Favourites are yours, not the workspace's

Pins, hidden rows and the Continue list are stored on the device you are using, per person. They are not synced, so a colleague in the same workspace does not see or change yours.

The status button

Top right of every page is a small button reading either Clear or a count and to do. Click it for the operational panel: what needs attention, shoots today, what is coming up, equipment out and faulty, unread messages, and where your data last saved. Every row in it is clickable and goes to the page that can fix it.

The number on it is the number of rows on To do — the same list, counted the same way. When you clear one, the count goes down by one. It reaches zero.

Settings moved

There is no longer a Settings button in the sidebar. It is in the account menu at the bottom, alongside Billing and the manual.

↑ Contents
Start here

Signing in

There are no passwords anywhere in KitSlate.

  • Continue with Google — one click, straight in.
  • Email link — type your address and press Email me a sign-in link. You get "Check <your address> for a sign-in link". The link expires shortly and works once.
KitSlate is invite-led

Those two buttons sign existing accounts straight in. They create a new account only for an address that holds an invitation — the restriction lives in the database, not on the screen, so pressing them with an uninvited address refuses rather than signs you up.

If you have no invitation yet, the sign-in screen offers Join the waitlist. If you were sent one, accept it from the invitation email first, then sign in with the exact address it was sent to — your account is created as you do, and another address cannot attach it.

You can also press Play in the demo sandbox — no account, which is the workspace every screenshot in this manual was taken in. It is pretend data you cannot break, and it needs no invitation.

What signing in actually changes

The app works fully without an account — but everything saves into that one browser and nowhere else. Signing in makes your workspace live on the server, and the server copy becomes the real one. Sign in on a new laptop and your work is there.

Signing in is also what unlocks Activity, the Market, feedback, team seats, billing, and handing documents off to guests.

Watch the status button

Top right of every page, the last row of the status panel tells you where your data is: Saved to your account 5m ago is what you want. Saved on this device means the browser is the only copy in existence — see Your data & backups.

Two smaller things worth knowing: a brand-new account lands on Pick your plan before anything else opens, and signing out deliberately clears the workspace off that device — it is parked on the server and comes back when you sign in again.

↑ Contents
Start here

Your first half hour

The app is most useful once it knows your gear, your people and your rates. Do these in order.

  1. Set up your company. SettingsYour businessCompanies & branding. Name, address, email, phone, logo and brand colour. This is the letterhead on every document you send, so it is worth ten minutes.
  2. Get your gear in. Inventory / Equipment. Add items by hand, or use Import / Export ▾ to bring in a CSV, an insurance schedule or even a photo of an old list. Set day rates as you go — they are what price your quotes.
  3. Add your people. Crew+ Add crew. Role, day rate and contact details are enough to start; you can fill in tax paperwork and certifications later.
  4. Add a client or two. Clients+ New client.
  5. Start a production. + Create Production. Pick where you are starting from, give it a name, a client and a date, and it produces the gear list, call sheet and quote in one pass.
  6. Export a backup. SettingsConnections & dataData & backupExport backup (.json). Do this now so the habit sticks.
Practise somewhere safe first

The sandbox is a complete second workspace full of realistic demo data, reachable from the welcome screen or by adding #demo to the app URL. Nothing you do there touches your real work.

↑ Contents
Every day

Today

The operations centre. What needs you, what is happening today, and where you left off.

KitSlate — Today
The KitSlate Today screen: a NOW counter strip grouped into Operations, Inventory and Communications; a Needs Attention block split into Critical, Requires action and Waiting bands; a Today's Timeline card listing the day by time; and an Active Productions list.
Today. The sidebar entry is still called Home; the page itself is Today. The theme switch sits in the top bar beside the page name — Night / Day, plus Aa for high-contrast text.

There is no heading and no summary sentence

The page used to open with MASTER CONTROL in large caps and a line underneath reading "Busy day ahead. 1 invoice overdue · 2 jobs waiting on crew confirmations…". Both are gone. The top bar already names the page, and the sentence only restated the list directly beneath it — so the first thing on screen is now the counters, and the first thing you read is a number rather than a paragraph about numbers.

The sections, in order

The order is deliberate: what is going on, then what needs you, then what is happening and when. Everything below that is supporting.

  • NOW — one strip of counters in three groups. Operations: shooting today, coming up, crew working. Inventory: out, in storage, faulty, due back. Communications: unread, awaiting reply, market enquiries. Every counter is clickable and lands on the list it counts. Today's date sits on the section label and opens the Calendar on today.
  • NEEDS ATTENTION — the same pooled blockers as before, but now sorted into three bands so they stop competing:
    • CRITICAL — overdue invoices, declined quotes, finished shoots not invoiced, an imminent shoot with no crew, unsigned agreements, and the agreement failures (a minor with no guardian signature, a declined agreement, a bounced signing email, an expired link, people on camera with no agreement at all).
    • REQUIRES ACTION — call sheets not sent, jobs waiting on crew confirmations, gear still to pack, quotes awaiting approval, quotes priced but never sent, agreements never sent, overdue reminders, crew credential warnings, and enquiries awaiting reply.
    • WAITING — an invoice that is not overdue but not yet paid. Somebody else owes you something and there is nothing to do but wait.
    All three bands show every morning even when empty, so the page keeps its shape and "nothing critical" reads as an answer rather than a missing section. The rows no longer carry an Open → link — the whole row is the target. Where several jobs are behind a row it opens All Projects filtered to just those jobs and the count sits on the right; where exactly one job is behind it, the row opens that job directly.
    This list is only ever unresolved work. Things that have already happened live in Activity instead.
  • TODAY'S TIMELINE — the day laid out down a time column, the way a calendar reads. Commitments with a real time come from the call sheet's key times and its schedule rows, and from any connected calendar. Anything dated but not timed — a shoot day, gear due back, an invoice due — sits in an All day band at the top rather than being given an hour nobody entered. A thin accent line marks the current time. On a long day it shows the first fourteen entries and offers +N more today, which opens the Calendar's day view.
  • ACTIVE PRODUCTIONS — up to six jobs in flight, soonest first. Each row shows the client, when it lands, and its top one or two blockers on the right — or on track. Click to open the job.
  • SUPPORTING — three smaller cards under the timeline. Crew (roster size and who is booked next), Due back (gear due back and invoices due, with anything overdue flagged), and Meals (the group-lunch card, which becomes an Order lunch button once a call sheet carries an order link).
  • RECENT ACTIVITY — the four most recent things that happened, newest first: documents sent, handoffs filled in, call sheets opened and confirmed, agreements signed, invoices viewed and paid, enquiries received. Each row says which direction it went (← came in, → went out) and how long ago. It sits low on the page on purpose — it is a record of things that have already finished. View history → opens Activity in full, and the label carries a count of anything awaiting a reply.
  • CONTINUE — the documents you had open most recently, newest first, with how long ago. Only appears once you have opened something. Click to go straight back in.
  • CREATE — a compact launcher: Production, Equipment list, Call sheet, Quote, Invoice, Agreement, Camera settings, Marketplace listing, Rate Guide. The same launcher is on the sidebar's and on ⌘K.
  • BUSINESS HEALTH — collapsed by default. Opens to the MY DAY card, everything dated in the next 30 days, and booked days per week for the next eight weeks.
  • INSIGHTS — collapsed by default. The stats tiles with their Curious / Serious toggle: total income, booked pipeline, quoted-not-invoiced and average job value on one side; your workhorse, your best payback and what never left the shelf on the other.
The timeline only shows times you actually entered

If a day looks emptier than it is, the call sheet has no key times and no schedule rows against it. Fill those in on the call sheet and they appear here. KitSlate never invents an hour for something that only has a date.

What happened to the mini calendar

The month grid is gone from this page. It answered "when is August free", which is not the question you ask at six in the morning — and the Calendar is one click away, or one pin away if you want it at the top of your sidebar.

↑ Contents
Every day

To do

Everything waiting on you, in the order it matters, each with the button that does it.

KitSlate — To do
The To do page, with sections headed Now, Waiting on someone and When you get to it. Each row names one thing to do and the production it belongs to, and carries a button such as Record payment, Send the call sheet or Chase confirmations.
One row, one thing to do. The button on the row does it, and the count top right goes down by one.

KitSlate already works out what is outstanding on every production — an invoice past its due date, a quote that came back declined, a shoot that has wrapped with no invoice raised, a call sheet nobody has sent, crew who have not confirmed, signatures still owed, gear not packed. This is that list, flattened across every job and sorted so the things that stop something happening sit at the top.

Three bands

BandWhat is in it
NowThese stop something happening — an overdue invoice, a declined quote, a wrapped shoot with no invoice, an imminent shoot with nobody on the call sheet.
Waiting on someoneSent, not yet answered: confirmations, signatures, quote approvals. Nothing here is yours to do; it is here so you know who to chase.
When you get to itNothing is blocked by these.

How to use it

  • The button on the row is the fix. Record payment opens that invoice; Send the call sheet opens that call sheet; Chase confirmations opens the despatch dialog for that production. You do not have to find the job first.
  • Open, beside it, goes to the production itself if you would rather see the whole picture.
  • Each row is one thing. A production with four things outstanding appears four times, because each has a different answer.
  • The count in the topbar is this list. Clear something and it leaves both together. With nothing outstanding the button reads Clear.

Requests you have sent out

When you ask a client or a crew member to fill in their own details (see Requests & approvals), each request is a row here for as long as it needs you. Waiting on someone holds the ones still out — Waiting on Leah Kim — sent 2 days ago with Resend and Copy link. Now holds the ones that need a decision: an answer that disagrees with what you already hold (Review), an answer held for your approval if you have that switched on, and a link that has expired (Send a fresh link). An answer that fills blanks and contradicts nothing folds into the record on its own and never appears here.

KitSlate — To do
The To do page. Under Now, two request rows: Aster Athletics answered differently — 1 to review, with a Review button, and an expired client-details link with a Send a fresh link button. Below, the Waiting on someone band with call sheets not sent and crew still to confirm.
Requests on To do. An answer that disagrees with your record, and a link that ran out — each with the one button that resolves it.
Nothing here is a reminder you set

You cannot add to this list and there is nothing to tick off. Every row is derived from the state of a real production, so the only way to remove one is to do the thing — send the sheet, take the payment, pack the gear. That is deliberate: a list you can dismiss without acting stops being true within a week.

↑ Contents
Every day

Activity

One chronological record of everything that moved — what you sent, what came back, and what is still owed a reply.

This page was called Messages, and it showed two columns: enquiries coming in, and documents going out. That answered "who wrote to me" but not the question you actually have each morning — what happened since I last looked. A guest filling in an equipment list, a crew member confirming a call sheet, a client signing an agreement: all of it was recorded, but only ever visible inside the job it belonged to, so you had to already suspect something had happened to go and find it.

Activity is one feed, newest first, grouped by day. Every line is something KitSlate recorded happening — nothing here is inferred.

What lands here

  • Documents — every quote, invoice, gear list, call sheet and agreement you send, and each time a recipient opens one.
  • Handoffs — when you hand a document to a guest, and again when they fill it in and it folds back into the job.
  • Call sheets — sent, opened, and confirmed when a crew member taps the confirm link.
  • Agreements — every signature, as it is signed.
  • Requests — a client or crew member asked to fill in their own details: when the link went out, when they opened it, when their answers landed, and when you took or discarded a held answer.
  • Invoices — sent, first viewed by the client, and paid.
  • Enquiries and replies — from your public booking page and in answer to documents you have sent.

The four filters

Everything is the default and is what you want most mornings. Incoming narrows to things other people did; Outgoing to things you did. Needs reply shows only enquiries nobody has answered — the same set that appears in REQUIRES ATTENTION. Each filter carries its own count, so you can see whether a view is worth opening before you open it.

Direction is a filter and not a layout on purpose: if incoming and outgoing were separate panes you would have to check both to answer one question.

Enquiries look different, deliberately

Almost every line is a compact one-row record of something already finished. An enquiry is the exception — it is the one thing on this page you can act on, so it renders as a full card with the message body and its Reply, Mark read, Archive, Mail app ↗ and Delete buttons. Bigger means "this one wants you".

Archive marks it read and takes it out of the way without deleting it, and drops it out of the unread badge and out of Needs reply. It stays in the feed as a permanent record of the enquiry having arrived.

Delete really deletes

Delete removes the message from the database. KitSlate holds no second copy and there is no undo, so it asks first — archive instead if you only want it out of sight.

Updates arrive without opening anything

Opening Activity or Home asks the server for every handoff that has been submitted and every call sheet that has been opened or confirmed, across all of your jobs at once, and folds them in wherever they belong. That is what makes the feed current: previously each job only checked for its own updates, and only while you had it open.

Two kinds of message live elsewhere

  • Market enquiries collapse into a single MARKET pointer card and badge the Market nav item instead — they are kept out of your work feed.
  • Feedback threads with the KitSlate team appear as one card each, tagged FEEDBACK and KITSLATE REPLIED, opening a chat window with your screenshots attached.
Dated ahead

If a line is stamped with a date that has not arrived yet, the day heading says Dated ahead rather than filing it under today. That normally means a clock difference between a device and the server; the event is real, its timestamp just cannot be taken at face value.

↑ Contents
Every day

Projects & jobs

A dashboard, not a list. It answers two questions in order: what is blocked, and what lands next.

KitSlate — All Projects
The All Projects dashboard: a REQUIRES ATTENTION panel across the top listing pooled blockers, then job cards grouped under date headings, each card carrying a status pill, a percentage, five document tracks and a NEXT ACTION strip.
All Projects. Attention first, then everything else in the order it lands.

Requires attention — the production inbox

The panel across the top pools every blocker on every visible job into one line each: "2 invoices overdue", "1 quote declined", "3 call sheets not sent", "4 jobs with gear still to pack". Beside the heading is the total and how many jobs it spans.

Each row is a filter. Click "2 invoices overdue" and the board below narrows to just those two jobs; click it again, or Clear filter ×, to go back. The rows are ordered by how much they should worry you — overdue invoices and declined quotes first, credential warnings last.

When nothing is blocked the panel says "Nothing is blocked — every job is on track" in green, and stays where it is. It is a permanent fixture, not something that appears only in a crisis.

Deadlines and workload

Under the attention panel sit two cards, the same pair the BUSINESS HEALTH fold carries on Today. UPCOMING DEADLINES lists real dated commitments in order — "Invoice due — $1,182 · Fireside Chat — Ep. 4" marked 4d overdue, "Shoot day 1 of 2 · Sizzle Reel — Spring Range" marked tomorrow. NEXT 8 WEEKS — booked days is a bar per week, so a quiet month or a collision is visible before you have read a single job card.

When things land

Below those, jobs sit in date buckets rather than one long list: SHOOTING TODAY, TOMORROW, NEXT 7 DAYS, NEXT 30 DAYS, LATER, NO DATE YET, WRAPPING UP (past but not finished), COMPLETED and ARCHIVED. Empty buckets are not drawn.

Reading a job card

Top line is the name, then client · date · location, with a status pill and the date phrase on the right — today and tomorrow are shown in red. Under that:

  • A percentage bar — overall completion, green at 100%.
  • Five tracksGEAR, CREW, QUOTE, INV, REL — each a small bar in that document's own status colour. Hover one and it names the state: "Quote — Awaiting approval · $4,200". A track marked not required draws a dash instead of a bar.
  • NEXT ACTION — the single most useful next move, with a Do it → button that performs it without opening the job.
  • Document chips — the five documents, coloured when started, faded when not, struck through when marked not required. Clicking one opens it; clicking Invoice before one exists raises it from the quote.
  • The numbers — quote total, item count, crew count, agreements signed, and Summary ▸.

Clicking the card body opens the Gear List.

Starting one — + Create Production

The old four-step New Job wizard is gone. One button, + Create Production, opens a launcher that asks a single question: how would you like to start this production? The answers are a list, heaviest first:

SectionRoutes
START NEWBlank Production — name, client, date, nothing else. Production Template — interview, corporate, podcast, live broadcast and more, matched against your own crew and kit. From Quote — converts an approved quote, bringing the gear it was priced on. From Calendar — reads title, date, time, client and location off an existing event.
START WITH A DOCUMENTGear List, Call Sheet, Quote or Agreement — creates the production the same way Blank Production does and opens straight onto that tab. For when the thought in your head is “I need to write a call sheet” rather than “I need to create a production”.
REUSE EXISTINGDuplicate Production (choose what comes across; no history follows), Reuse Gear List, Reuse Quote — the pricing only, as an unsent draft — and Reuse Call Sheet.
IMPORTS & INTEGRATIONSStudio Booking — turn a booking into a production. Calendar Import — connect Google, iCal or Outlook. Marketplace Rental — turn a rental into a production. Import Production — read a call sheet CSV or PDF. Import Invoice — start from an invoice you already have.
Describe your productionThe panel at the bottom. Type a sentence — "two-day corporate interview for Northwind at the Brooklyn studio starting the 14th" — and it is read into the fields for you to check.

Whichever route you pick, the same three fields finish it: a name, a client and a date. Everything else is filled in while you work, and the health panel on the job says what is still missing.

KitSlate — Create Production
The Create Production launcher: four sections of routes — START NEW, START WITH A DOCUMENT, REUSE EXISTING and IMPORTS & INTEGRATIONS — each a row with an icon, a name and a one-line description, with a Describe your production panel at the bottom.
One door, several ways in. Every route ends at the same three fields.
Nothing was lost with the wizard

Every route runs the same code the four-step wizard ran. Studio rental lines still land on the quote, crew bundled into a kit still bill at $0, the call sheet is still seeded, new clients are still created, camera presets are still inherited, and double-booking detection still fires. Only the four screens went away.

Double-bookings warn, they do not block

Anything already committed on those dates is flagged, and saving asks "⚠ N double-bookings on these dates… Book anyway?" You can always overbook — the app assumes you know something it does not.

This covers gear and studio rooms. It does not check whether a person is already booked, and it does not look at the External Rentals ledger.

Inside an open production

KitSlate — Fireside Chat — Ep. 4
An open production showing the document toolbar and, beneath it, the full-width production header with its four cells: WORKFLOW, NEXT ACTION, CALENDAR and PRODUCTION HEALTH.
An open production. The floating PROJECT rail is gone; this full-width header sits above every document instead.

The top bar becomes the document toolbar: the production name, the five tabs, then the action bar — the same three controls on every document, in the same order, at the same size:

  • The primary action, and only ever one, in filled green. It is the thing that finishes the job on that document: ✎ Edit equipment on a gear list, ✉ Send to crew on a call sheet, ✉ Send quote or ✉ Send invoice, ✎ Send for signature on an agreement.
  • One secondary action, plain — the next most useful verb for that document. Preview on a call sheet or invoice, → Turn into invoice on a quote, ✉ Send on a gear list, ✉ Send a copy on an agreement.
  • Actions ▾ — everything else, grouped in a fixed order: Add, Document, Sharing, Payments, Danger. A document may leave a group empty but never reorders them, so the same thing is always in the same place.

The bar cannot wrap and cannot change height. Previously each document built its own row: the quote carried six controls and two filled-green buttons and spilled onto a second line even on a wide screen, while the invoice detail page reached eleven. Documents now supply only their content — the layout is one shared component and is not theirs to change.

On a phone

The bar shows the primary action and •••. The secondary action is not dropped — it moves to the top of the menu, so it is never in both places at once.

The production header

Under the toolbar, above the document, a full-width header carries the production's context. Its top line is the name, then date · location · first call · number of days, with the status pill, the completion bar and the percentage. Below that, four cells:

CellWhat it tells you
WORKFLOWThe five documents as a column. complete, started, not started, not required. Click one to switch to it; hover for what is outstanding. Each row has its own menu.
NEXT ACTIONOne to three buttons that do the next useful thing — send the call sheet, record a payment, pack the gear. ✓ Nothing outstanding when there is nothing to do.
CALENDARThe real dates this job carries — shoot date, call times off the call sheet, gear due back, invoice due. Deadlines are reserved a slot before call times, so a busy sheet can never push "invoice due" off the bottom. Every row is clickable. Nothing here is invented; if there are no dates it says so.
PRODUCTION HEALTHWhat is wrong first, then what is already right, then the stage the production is at.

Two smaller things worth knowing: a document tab whose work is finished carries a tick in the tab strip (✓ Agreements), and the right-hand panel on the gear list is now a PRODUCTION CHECKLIST — "4 things still to do — each one is a link" — listing the client, the shoot date, whether it is on the calendar, and then each document with its own status and its own menu.

Document chrome is not in the header

Zoom, paper theme, print and delete are not production context, so they are not in the header. They live in Actions ▾, which now carries a DOCUMENT group: ⧉ Duplicate project, Print / PDF — this document, Print all documents, Document theme — switch to dark/light, See it on the calendar, Summary & rundown, Archive this job… and Delete… — now reached through Actions ▾. Zoom is the small control that floats at the bottom of the window — screen only, printing is always 100%.

The sidebar no longer lists documents

The per-document entries that used to sit under a job in the sidebar are gone — the workflow cell does that job now. Anything job-shaped in the sidebar lights All Projects instead.

Not every production needs every document

An equipment-only rental has no call sheet. A favour for a friend has no invoice. Every document row — in the header's workflow cell, on All Documents, and on the job card — has a menu with Mark as not required.

  • The document is not deleted. It stays visible, subdued and struck through, and Restore to workflow gives it back exactly as it was.
  • It drops out of the warnings, out of the Attention panel, and out of the completion maths — so a gear-only rental with its call sheet and agreement switched off can genuinely reach 100%.
  • Say nothing and nothing changes. A production you have never touched behaves exactly as it always did.
  • The app will sometimes offer an opinion next to the menu — "Equipment only, nobody crewed — a call sheet may not be required" — but it never decides for you.

Approving, paying and archiving

  • Quote approvalMark approved asks "Has <client> approved this quote?" and moves the job on to invoicing. Mark declined is a separate action: the job stays put and the quote stays editable, so you can rework it and send again. Dismissing either dialog means "not yet", never "declined".
  • Record payment — asks how much has been paid against the invoice and shows the total. Enter the full amount to settle it; enter less and the job reads "Partially paid — $X outstanding".
  • Archive this job… — the end of the lifecycle. It drops to the ARCHIVED section on All Projects, leaves the date buckets entirely and stops counting toward anything needing attention. Every document stays exactly as it is — nothing is deleted, and Unarchive this job puts it back.
Two deletes that are not the same

Delete from the Gear List tab and you delete the whole production and all five documents. Delete from any other tab and you remove just that document. The tooltips spell it out — read them before clicking.

Deleting a quote also deletes its invoice. If you want a job off the board without losing anything, archive it instead.

⧉ Duplicate project copies every document and appends "copy" — and deliberately resets all packing statuses and clears call-sheet delivery tracking, so the new job starts clean.

↑ Contents
Every day

Calendar

KitSlate — Calendar
The Calendar month view with coloured bars spanning each booking's days, a company legend and imported-feed chips along the bottom.
Month view. Bars run across a shoot's booked days and are coloured by company; day two onwards carries its position in the run.
KitSlate — Calendar
The calendar month view with a day card open in the centre of the screen, listing the day's bookings and one of them expanded to show client, location, dates, call times, crew, company and next action, with a Take me to the project button.
Click any day. The card opens centred over the month, and a booking inside it opens in place rather than taking you away from the calendar.

Four views — Day, Month, Month + day, Year — then Today, + New (a planning event), Settings, a small clock, Calendars ▾ and Import / Export ▾. Which view it opens on, and whether the week starts Monday or Sunday, are set once under Calendar settings → Preferences.

Import / Export ▾ here is not about CSVs

The button carries the same name it does on Inventory, Clients and Crew, but on the Calendar it holds four routes rather than a file dialog. Under IN: Connect a calendar… and Calendar settings…. Under OUT: Publish KitSlate Calendar… and Export PDF — print this view. The first three all land in the same settings workspace.

  • Returned jobs render outlined instead of filled.
  • Draft shoots are drawn as a dashed outline in the company colour with a DRAFT badge. They reserve planning space without blocking the date — set a job to Draft or Confirmed under STATUS in the gear list's right-hand rail.
  • Imported events are dashed, in their calendar's colour, with a start time.
  • Call sheet dates — shoot day, travel day, scout, rehearsal, load in, strike — can be shown as their own entries. Off by default; switch them on in Calendars ▾ or Settings.
  • A booking that runs more than one day says so on every day it occupies. The name sits on the day it starts, with the coloured spine; each following day reads 2/5, 3/5 and so on, so a Thursday in the middle of a run tells you which run it is and how far through.
  • Days show as many bars as the cell can actually fit, then +N more. It is measured after the calendar is drawn rather than fixed at three, so a tall window shows more and a short one still never cuts a bar off at the bottom edge.
  • Clicking a bar opens that job's Call Sheet — not the gear list. Worth remembering.
  • Clicking a day opens a card over the month in Month and Year: every booking on that day with its client, location, crew and state, and a summary line giving the first call and how many need attention. Click a booking inside the card and it opens in place — call times, crew, company, quote and payment — with Take me to the project →. Click the day again, press Esc, or click away to close it.
  • In Month + day there is no card: one click just moves the pane on the right, which is already showing the day you picked.
  • Hovering a bar shows a KitSlate card with the client, location, crew and state — not the browser's own tooltip.
On a phone

The calendar opens on the Day view — today, the timeline, and who is on set. The month grid is still there: its bars drop their text at phone width (they keep their colours and spans), and tapping a day opens that day rather than the split view. Your desktop default view is unchanged.

Calendars ▾ is the visibility panel: your companies, every connected calendar, and the overlays (draft shoots, call sheet dates, returned gear, crew and equipment counts) — each with its own switch, and a colour swatch where a colour applies. Those colours affect the calendar only; document brand colours live in Settings. Manage… at the foot of the menu jumps to the full page.

Click an imported event and the side panel names its Source, Calendar, Company, Status and when it was last updated — with a booking reference when the source calendar carries one — plus ↻ Refresh and Open in Google ↗.

Connecting an outside calendar

KitSlate — Calendar settings → Connections
Calendar settings, Connections: a card per connected calendar showing company, what it blocks, time zone, connection type, last sync, imported event count and calendar ID, with Refresh, Edit and Disconnect buttons, and an Add Calendar button below.
Calendar settings → Connections. One card per connected calendar, in a workspace that covers the whole calendar.

There is no longer a calendar-sync popup. Everything — connecting, editing, publishing, availability, visibility — lives in the Calendar settings workspace, and every entry point lands there: the Settings button on the Calendar toolbar, Manage… at the foot of Calendars ▾, both IN items on Import / Export ▾, and Settings → How you work → Calendar, which is a signpost that opens the same workspace rather than a settings page of its own.

Planning events — the calendar before the job exists

+ New on the Calendar adds a planning event: a Hold, Pencil Booking, Client Meeting, Scout, Travel day, Equipment Service, Studio Maintenance, Block Time, Reminder, Deadline, Gear Reservation — or a Production you haven't built yet. Each carries its own status (Inquiry, Hold, 1st/2nd/3rd Hold, Quoted, Awaiting Approval, Confirmed, Cancelled, Released, Completed) and its own availability (Busy, Tentative, Available, Hold, Out of Office, Travel, or a Blocking state); the two are separate on purpose — a 2nd Hold can mark the day busy while an Inquiry doesn't.

A planning event links to a real production rather than copying it: Create production builds one prefilled from the event, Link existing… attaches one you already have, and when you create a production the normal way on matching dates, KitSlate asks whether it belongs to the plan. Once linked, the event's panel shows the production's quote, call sheet, gear and invoice state, a timeline of what has happened, and plain-fact prompts like No quote attached or Hold ageing. Planning events draw as dotted outlines in their company's colour, and can be hidden under Calendars ▾ → Planning events.

The workspace has a rail down the side with four sections at the top, then BEHAVIOUR, then HISTORY.

  • Control tower — not a settings page. One measured verdict on the calendar itself: OPERATIONAL, ATTENTION REQUIRED or UNSAFE, with an overall score and, when it is not clean, the weakest link named. A connection that has never synced, or whose last sync is older than a day, reads STALE — and any room it maps to reads "availability uncertain" rather than free. It fails closed on purpose.
  • Connections — one card per connected calendar showing its company, what it blocks (if anything), its time zone, what it is connected with, last sync, event count and read-only calendar ID, plus ↻ Refresh, Edit and Disconnect, and ↻ Refresh all below them. + Add Calendar starts the two-screen wizard described below.
  • Resource map — which sources can reach which of your rooms, and therefore who can make one unavailable. External calendars are adapters that report events in; rooms and bundles are the things that actually become unavailable. Nothing syncs provider to provider.
  • Publishing — two things. External Calendar Subscription is a private live feed per company: Create calendar link mints a secret URL that Google Calendar (Other calendars → From URL), Apple Calendar (File → New Calendar Subscription) or Outlook subscribes to; from then on it stays current on its own — KitSlate updates the feed immediately, and the provider refreshes on its own schedule. Copy calendar link, Test feed, Regenerate link (kills the old address instantly) and Disable. Feed-content switches choose what subscribers see: key dates, gear due-back, drafts, invoice due dates (never amounts), locations, client names. The feed is one-way — editing an event in Google never changes KitSlate. Anyone with the link can read that company's calendar, so treat it like a password. Calendar Snapshot is Download calendar snapshot (.ics), a one-time file of the moment you export it; for a calendar that stays current, subscribe instead.

Under BEHAVIOUR:

  • Studio availability — pick a day and see which spaces are free and exactly what is holding the rest, across productions, imported bookings and planning events at once. With no rooms configured it says so and points at Studio → Rooms & spaces rather than showing an empty grid.
  • Planning defaults — per company. Switch off the planning templates this company never uses and + New stops offering them; below that, what a new planning event starts as.
  • Preferences — week start, default view, your time zone, Treat drafts as busy and Show call sheets.
  • Visibility — the same switches as Calendars ▾, in one place.
  • Import history — every refresh of every connected calendar, newest first, with the time, the event count and how it went. The last 40 are kept.

Under HISTORY:

  • Activity log — what has happened on the calendar, searchable. Click through to a single object and you get the forensic view: everything that ever happened to that one booking, oldest first, each entry written by the action that caused it.

Adding a calendar

+ Add Calendar opens Add a calendar — five rows, one per source: Google Calendar (its secret address in iCal format, so nothing has to be shared publicly), Apple Calendar (iCloud), Outlook / Microsoft 365, Any iCal address, and Upload a .ics file — a one-time snapshot, refreshed only when you upload again.

Picking one goes straight to the form, which is the second and last screen: name, description, company, time zone, what it blocks, the connection type and the address itself. How does this work? at the foot opens the notes for the source you chose — where to find its address, what Import and Export each mean, and what "blocks" does — and ‹ Back to setup returns you to the form rather than to the top.

Bookings from a website or a marketplace arrive the same way

They come through whatever calendar they land in. Connect that calendar and its bookings come in with the next refresh — KitSlate reads the calendar, and where a booking originated makes no difference. Imports never write back to the source; two-way sync is not built.

A calendar doesn't have to block anything

Blocks defaults to Nothing — display only: the events draw on your calendar and that is all. That is the right setting for a company that isn't a studio — a production company's schedule is worth seeing without any room being marked occupied.

Pick a space only when the calendar genuinely means somewhere is taken. Then, on the day, the company switch says "client in the studio" and the MY DAY card (under Business Health on Today) names that room as client only.

One calendar, connected once

A single connection can block several companies and several spaces — tag it with all of them rather than connecting it again. Connect the same calendar twice and KitSlate recognises it (by its calendar ID, or the address itself) and says "This calendar is already connected" instead of importing every event a second time.

Imported events are matched on the calendar they came from plus the event's own ID, so a refresh updates what is already there and never creates a second copy. Point KitSlate's own published calendar back at itself and it recognises its own handwriting and refuses.

Time zones

Every calendar carries its own time zone, and every imported event is pinned to a real instant. Times are drawn on your clock — set under Calendar Preferences — while the source zone is kept and named on the event when the two differ. A studio in Melbourne and one in New York can share the same screen.

Sync is one-way in each direction

Connected calendars are read-only: edit the event in Google (or wherever it came from) and the change flows back on refresh. They also re-pull quietly when you return to the window, at most once a minute.

Download calendar snapshot (.ics) produces a one-time file, not a live subscription — download it again after changes. A live subscription link is served from your cloud workspace, so Publishing asks you to sign in before it will mint one, and the sandbox shows a simulated address rather than a real feed. Draft shoots stay out of the published file.

Connections drop history older than six months and cap at 800 events.

"My sync broke" — usually it didn't

Switching a company off hides its calendar's events too, which looks identical to a dead connection. The app catches this and shows an amber banner — "N events from <calendar> are hidden because <company> is switched off" — with a Show them button.

↑ Contents
Every day

All Documents

All Projects answers "what is live and what happens next". This page answers a different question: what documents exist, what state are they in, and what is waiting on someone else.

KitSlate — Documents
The Documents control centre: four view tabs, a row of filter chips, and document rows grouped under each production showing icon, name, status word, meta and an action button.
The document control centre. Four views over one list — no view has its own data.

The sidebar calls it All Documents; the page itself is headed Documents. Across the top: a Search documents… box, + New Document, and the four view tabs.

Four views

ViewWhat it is for
By ProductionThe default. Every document stacked under the job it belongs to.
By DocumentA table across all jobs — every quote together, every invoice together.
Needs AttentionOnly what is unfinished or unstarted. Documents marked not required drop out entirely, because they need nothing.
Recently UpdatedWhat actually moved, newest first.

Reading a row

In By Production each job is a collapsed header first — name, client · when, then a one-line summary ("1 complete · 2 awaiting response", "5 to do", "nothing here yet"), Next: the most useful action, and a completion bar. Click it to expand the five document rows underneath.

Every document row is the same shape: icon, document name, a status word in that status's colour, some meta, and a button that does the next thing — Send quote, Record payment, Chase confirmations, Add talent. On the right, the same menu you get everywhere else.

The vocabulary is per document type, because "awaiting approval" means nothing on a gear list and "returned" means nothing on an invoice:

DocumentThe words it uses
Gear ListNot started · In progress · Ready · Checked out · Returned
Call SheetNot started · Draft · Ready to send · Confirmations pending · Complete
QuoteNot started · Draft · Awaiting approval · Approved · Declined
InvoiceBlocked · Not started · Draft · Sent · Partially paid · Paid · Overdue
AgreementsNot started · Not sent · Sent · Partially signed · Complete
"Blocked" is not an error

An invoice reads Blocked until its quote is approved. Nothing is wrong — it just isn't its turn. The row still offers you the way through: Open quote, or Mark the quote not required.

The four surfaces can't disagree

This page, the workflow cell in the production header, the job cards on All Projects and the production checklist all read the same underlying status. If a quote says "Awaiting approval" here it says it everywhere.

Filters

One chip row above the list: the five document types, then Needs attention / Waiting on others / Complete, then Next 30 days / Past shoots / Not required, and Clear × once anything is on. They apply to every view, not just one.

Not-required documents are visible by default

The Not required chip narrows to them; it does not reveal them. They are on the list already, subdued — the whole point is that they are still part of the production, just not wanted.

Why some rows have no time

Recently Updated only lists real events — a send, an approval, a payment, a requirement change. There is no per-document "last edited" timestamp in KitSlate, so rather than invent one, a document nobody has done anything to simply carries no time. "Updated 1 minute ago" about an empty quote would be a lie.

↑ Contents
The five documents

How documents work

All five behave the same way, so learning one teaches you the rest.

Four ways to create one

  1. + Create Production — the launcher, described under Projects & jobs. Produces the gear list, call sheet and quote together. This is the usual route.
  2. The CREATE launcher on Today — Call Sheet / Quote / Invoice / Agreement open a blank draft with a strip at the top reading "Name this call sheet…". Equipment list instead opens a chooser with a START FRESH form and a list of existing jobs to attach to. (The per-document buttons that used to sit in the sidebar are gone — with a production open, the workflow cell in its header switches tabs.)
  3. From the Inventory — tick items, then use the bottom bar: Create Gear List →.
  4. The quick gear list wizard — one form where the equipment can be your current selection, a saved kit, or a copy of a past gear list.

A document you decide you don't want isn't deleted — it is marked not required, which keeps it and drops it from the warnings.

KitSlate — Quick gear list
The quick gear list wizard: a single form with job name, client, date, days and an equipment source choice of current selection, a kit, or a copy of a past gear list.
The quick gear list wizard. Copying a past list carries the camera settings over and resets every packing status.
Blank drafts vanish

A draft you type nothing into is silently discarded when you navigate away. Give it a name in the top strip and it becomes a real job.

After you save any document, a prompt offers the missing siblings: "<Document> saved — what else does '<job>' need?", with No thanks — I'm done.

Printing, PDFs and sending

  • Print / PDF — this document prints the open sheet. Print all documents prints every document in the job, each on its own page — don't navigate while it works.
  • ✉ Send opens the send dialog — described below — and attaches a real generated PDF. For quotes and invoices the attachment mirrors the document: same sections, subtotals, totals and payment details as the page and the hosted copy. What was sent, and what happened to it, then shows on the document's STATUS card — see below.
  • CSV is available for the gear list, the call sheet, and invoices in three flavours (QuickBooks, generic/Wave, and grouped by ledger account).

The Status card

Every document page opens with the same STATUS card, directly under the production header — GEAR LIST · STATUS, CALL SHEET · STATUS, QUOTE · STATUS, INVOICE · STATUS, AGREEMENT · STATUS. Learn it once and you have learned it on all five: the layout never changes, only the facts do.

  • Collapsed (one row) — the document's state in words (Awaiting approval, Confirmations pending, Overdue, 2 of 3 signed…), the figures that must never hide (an invoice's outstanding balance and due date live here), the delivery tally (3 sent · 2 opened · 1 confirmed), the first few recipients with a ✓ once they have acted, and the buttons: View status, ✉ Resend / add people (or a single ✉ Send before anything has gone out), and Details ▾.
  • Expanded (Details ▾) — a RECIPIENTS grid, one row per person, with a stamped chip per step: Sent, then Opened / Confirmed / Viewed / Paid / Signed as applies to that document, each with its time. A ? on a chip means a soft signal (mail apps proxy images). Below the grid come the document's own extras — catering on the call sheet, the approval record on the quote, the payment line on the invoice, the signer pills on the agreement, and a HANDOFF row on any document you have assigned to someone. A closing line says plainly what is and isn't tracked for that document.
  • Warnings never hide. Failed deliveries, a signed minor still missing a guardian signature, signers gone quiet past your reminder mark — these show on the card even when it is collapsed.

The card is a readout. Its buttons open the same screens they always did — View status opens the delivery window, Send opens the send dialog — and the counts on the card, in the delivery window and on the workflow rail are the same arithmetic, so they cannot disagree.

The send dialog

All five documents share one send dialog. Only the title, subject, body, preview and attached PDF differ — the call sheet, gear list, quote, invoice and agreement are otherwise identical to send, so learning it once is enough. (An agreement has a second, different button — ✎ Send for signature — which mails a private signing link per person rather than a copy. See Agreements.)

Its header names the document, the production, the date, the company whose letterhead is on it, how many recipients are ticked, and the state of the send — Ready to send, No recipients yet, 4/6 confirmed or 3/6 opened. Then two panels:

  • LeftTo as recipient chips, each with the person's photo or initial and a dot for their status. Click a chip to leave someone off this send without removing them; the × removes them. + Add people opens a picker over your crew and clients, grouped, with search — or type a full email address to use one that isn't in either. Below that: subject, message, the attachment and who it comes from.
  • Right — a reading-width preview of the actual email, plus the delivery history for this document: who it went to, when, and whether they opened or confirmed.
Crew with no email

If people on the call sheet have no email address, the dialog names them: "2 people on the sheet have no email — Dana Reyes, Sam Okafor. Add one on their crew record and they'll appear here."

Document theme

The Document theme — switch to dark/light item in Actions ▾ changes the paper only, across all five tabs. It used to live on the floating PROJECT rail, which no longer exists. Light is the client copy — that is what the printed examples below look like.

↑ Contents
The five documents

Gear List

What physically goes out, what it rents for, and whether it came back.

KitSlate — Gear List
The Gear List page: the GEAR LIST · STATUS card reading In progress, 8 items not packed, not sent yet with a Send button, above the equipment list sheet with per-row packing toggles and the production checklist panel on the right.
The Gear List. The right-hand panel is where you re-price and re-group the whole sheet.

The packing and return workflow

Every row carries four toggles — IN CASE ✓, RETURNED, MISSING, FAULTY. Click again to clear. These are not just marks on paper: they write straight back to your inventory availability.

Mark itInventory becomes
IN CASE ✓ or MISSINGout
RETURNEDin storage
FAULTYfaulty

Set GROUP BY to Case and the groups become case cards with a progress bar and ✓ all packed / ✓ all returned / "x / y packed" — which is how you pack a van without a clipboard.

Reset statuses

Reset statuses under ACTIONS wipes every packing mark on the sheet and puts all of it back "in" in your inventory. There is no undo.

The right-hand panel

  • SHOOT NAME and rental income per day.
  • PRICING TERMPer day, Weekend, Week, Month. Standard rental maths: a weekend counts as 1 shoot day, a week as 3, a month as 10. Only the terms you enabled in Settings appear.
  • RATES — WHERE IS THE GEAR WORKINGStudio / Outside / Rental. This re-prices every linked item from its three stored day rates.
  • GROUP BYCategory or Case.
  • SHOW ON THE SHEET — chips for Model, Serial, Case, Rates, Cost, Replace $, Purchased and Notes. Dimmed when no item has that data. These control what prints.
  • STATUSConfirmed or Draft. A draft shows on the calendar as a dashed outline with a DRAFT badge, stays out of the published .ics, and does not hold the date or the gear unless you switch on Treat drafts as busy under Calendar settings → Preferences.
  • ACTIONSExport…, Add to Google Calendar, Expenses, Reset statuses.

Actions ▾ → Add offers equipment from your inventory, outsourced gear sub-rented from another house (tagged OUTSOURCED and pushed onto the quote), and ↗ Assign — hand the gear list to someone outside the workspace.

A printed equipment list on white paper with company letterhead, camera settings block, and items grouped by category with serials and cases.
What the client gets. The same sheet with DOCUMENT THEME set to Light, printed to PDF. Only the columns you left switched on appear.
Export quirk worth knowing

Download CSV always contains every column regardless of the SHOW chips. Apply & Print / PDF prints exactly what the chips reveal.

↑ Contents
The five documents

Call Sheet

Where everyone needs to be, when, and how to reach them if it goes wrong.

KitSlate — Call Sheet
The Call Sheet page with the CALL SHEET · STATUS card expanded: confirmations pending, seven on set, a per-person grid of Sent, Opened and Confirmed chips with times, the catering roll-up, and the call sheet editor below.
The Call Sheet editor. Everything is edited in place on the sheet itself.

What goes on it

In order: Job, Venue Name, Address & Main Entrance, Freight Elevator, Google Maps, Meeting Point, Point of Contact, Dress and Weather. Then the key-times strip — Crew Call / Shooting Call / Lunch / Est. Wrap, whose labels you can rename — followed by:

  • CREW — crew, name, phone, email, call time, location, floor.
  • SCHEDULE — time, activity, detail, notes, equipment. Plus + add next-day schedule and + add department note.
  • + add talent and + add client on set — the talent list is what feeds the Agreement.
  • SHOOT PLAN — cameras and audio, prefilled from the job's camera settings.
  • Safety — Hospital, Urgent Care, Nearest Subway / Transport, Nearest Parking, and the confidentiality line.
  • MEALS — GROUP LUNCH ORDER — paste a group-order link and an Order lunch button appears in the emailed sheet. A lunch note on its own, with no link, travels too.
  • NOTES and Walkie Channels.
Weather

Type it, or press to fetch a real forecast from the address and date. It needs both, and only reaches about 16 days ahead.

Getting crew onto it

Actions ▾ → Add+ Crew — from your crew database… opens a searchable picker. Each person shows + Add · <their role> and, if they have one, a second button for their secondary role — that choice decides which rate the row uses. Two shortcuts sit at the top: ⇄ Everyone on the quote (N) and + Blank row — type manually.

Type a name into a blank row and the app links it to your address book: if it matches someone you are asked "'X' looks like Y in your Crew address book. Link them?"; if it matches nobody, "Save 'X' to your Crew database?". Phone and email you type here flow back and fill blanks on their record.

Actions ▾ → Add also offers + Import call sheet CSV… and AI import — any production's call sheet…, which reads someone else's sheet and links the names to your crew automatically.

Importing a CSV replaces this call sheet

+ Import call sheet CSV… expects a file that came out of Export call sheet CSV. Anything else is refused and nothing changes. A real one asks you to confirm first, then replaces the crew, schedule, cameras and venue details on this call sheet — it does not merge them in.

Sending it — and tracking confirmations

✉ Send to crew opens a three-column drawer: FROM (follows the letterhead), a TO roster with tick-boxes (a NO EMAIL chip flags anyone missing an address), and a live EMAIL PREVIEW. Press Send ✉ — N people.

The email carries every section the sheet has — the same content as the attached PDF, so nobody has to open an attachment on a phone to find their own call time. That includes talent's pickup and HMU times, CLIENTS ON SET, NEXT DAY — ADVANCED SCHEDULE, DEPARTMENT NOTES and the weather line. A Google Maps or lunch link pasted without https:// still opens; if it is not a usable address at all, it is printed as text you can copy rather than a button that goes nowhere.

It sends one email per person so nobody is CC'd, each carrying their own one-tap ✓ Confirm — I'll be there link. The CALL SHEET · STATUS card then tracks each person through Sent → Opened → Confirmed — the tally and how many are on set sit in the collapsed row; open Details ▾ for the per-person grid with times, and a CATERING — WHO'S EATING WHAT summary rolled up from your crew's dietary flags.

A printed call sheet with letterhead, venue and access details, key times, crew table, schedule, shoot plan and safety information.
The sheet that sends. This is the PDF attached to each crew member's email.

Templates and sheet types

Actions ▾ holds SHEET TYPEShoot Day / Travel Day / Scout / Rehearsal / Load In / Strike — the letterhead picker, and TEMPLATES, where Save this as a template… keeps a layout you can load onto future jobs.

KEY DATES, under the venue table, is where a sheet gets more than one day: a scout the week before, load in the night before, strike the morning after. Each row is a type and a date, each draws on the Calendar when Call sheet dates is on, and each clicks straight back to this sheet. Leave it empty and the sheet simply sits on the shoot date. It is screen-only — the printed and emailed call sheet is unchanged.

↑ Contents
The five documents

Quote

The price of the job, in five sections that each collapse to one client-friendly line.

KitSlate — Quote
The Quote page: the QUOTE · STATUS card reading Awaiting approval with the quote total and delivery tally, above the quote editor's studio, equipment, labour and misc sections with rate, quantity, days and total columns.
The Quote editor. Double-click any description to open the matching picker — except in BANKING / PAYMENT FEES, where the fields are typed directly.

Sections: STUDIO, EQUIPMENT, LABOUR / CREW, MISC and BANKING / PAYMENT FEES, each with a on its header. Every line has DESCRIPTION, DATE, RATE, QTY, DAYS, TOTAL and a ×; + details adds a notes block and a ledger-account picker.

The on BANKING / PAYMENT FEES is the exception: it opens Payment methods and fees rather than a line picker, because a banking fee belongs to a way of paying. See Payment methods and fees.

Each section header carries a three-state control — Show all / One line / Hide — and all three stay visible, so what the client will receive is never a guess about what an ambiguous chip meant. One line is what you want when a client should see "Equipment package — $1,285" rather than 30 rows; the detail stays saved either way. Hide leaves the section out of the document, the PDF and the email. The control is editor-only and never prints. Hide empty sections tidies the rest away.

Pulling from the other documents

Actions ▾ → AddPULL FROM:

  • ⇄ A gear list — priced items & kits
  • ⇄ Call sheet crew — as labour lines
The gear list stays connected

Equipment lines created from a gear list keep a hidden link, so adding or removing gear updates the quote. It works the other way too: deleting a linked equipment line on the quote also removes that item from the gear list. Hand-typed lines are never touched.

Two side effects of pulling: items with a $0 day rate are skipped, and pulls de-duplicate by description — so a renamed line can come through twice.

Crew lines, overtime and discounts

Crew lines show DAY RATE × DAYS plus an OVERTIME column (×1.5 = $/hr) and a + with gear / – person only switch for people who bring their own kit. Bill a line below its listed rate and you get a struck-through "listed" figure and an automatic DISCOUNT row. Percentage banking fees recalculate on the pre-fee total.

A rate cell takes money written the way it reads: 1,250, $1,250.00 and 1250 all enter the same rate, so a figure copied from a document does not need cleaning up first. Rates are committed to the cent — type 100.005 and the cell redraws as 100.01, which is what is stored and what is charged.

A printed production quote with letterhead, prepared-for block, equipment lines, crew lines with overtime, misc lines, payment details and a total.
The printed quote. Payment details and accepted methods come from Settings → Money → Payments, per company.

Actions ▾ sets the equipment pricing term, PAYMENT TERMS (Due on receipt through Net 60), which sections and columns show, and links to ⚙ Quote settings for the defaults that apply to every future quote.

↑ Contents
The five documents

Invoice

A frozen copy of the quote, with its own number and date.

KitSlate — Invoice
The Invoice page: the INVOICE · STATUS card reading Overdue with the outstanding balance and a red overdue due date, the ACCOUNTING REFERENCE strip holding an external Wave invoice number, and the invoice sheet below.
The Invoice. The STATUS card keeps the balance and due date in sight; the ACCOUNTING REFERENCE strip below it is where you write down the invoice number this job carries in your own accounting software — a note for your bookkeeping, not a connection.

You never start an invoice from scratch. Use → Turn into invoice on the quote, or click the greyed-out Invoice tab. With no quote yet, the tab tells you "Needs a quote first" and sends you there.

It takes its own number, invoice date and terms. The quote keeps living alongside it.

Numbers are sequential, per company, and set under Settings → Money → Invoices → Invoice numbering: a Prefix (blank is fine — you can number 1, 2, 3), Minimum digits (4 gives 0007, 0 gives 7) and the Next number. The page previews the next three and tells you the highest number issued so far.

The counter only moves forward

Next number sets a floor and cannot be dropped below the highest number already issued — two invoices carrying one number is an accounting problem, not a preference. Changing any of this never renumbers an invoice that already exists, and imported invoices keep the numbers they came in with. The counter moves only when an invoice is actually raised, never on a preview.

When the two drift apart

Edit either side and a bar appears — OUT OF SYNC or BIG CHANGE — offering Keep them different, Save old as vN & push, or Push to invoice. Archived versions come back via Restore v1 · date.

Once you have imported your invoice list under Reports → Income tracker, the ACCOUNTING REFERENCE strip also shows UNPAID / PARTIAL / PAID, the amount paid, the due date, and whether the figure still matches the quote.

The INVOICE · STATUS card above it keeps the money readable at a glance and never hides it: the outstanding balance and due date (turning red with — overdue when it passes) sit in the collapsed row, the tally adds viewed and paid from the invoice's own hosted page, and Details ▾ shows the per-recipient grid plus a PAYMENT row — paid so far against the total, with Record payment for money taken outside the app.

Payment methods and fees

One dialog decides how a client can pay this invoice and what that costs. Open it from Actions ▾ → Add+ Banking fee — wire, card fees, free routes…, or from the on the BANKING / PAYMENT FEES header. Both go to the same place.

Every method your company accepts is listed, each with what it costs you and the details the client will be told to pay into — bank block, Zelle address, Venmo handle. A method with nothing filled in says which Settings field would fill it instead of looking configured.

  • Add / Remove — whether the method prints on this invoice at all. Nothing is offered until you say so; a new invoice starts with none of them on.
  • Quote fee — prints "1% processing fee" beside the method. Wording only; the total does not move.
  • Charge it — adds the calculated amount as a real line in BANKING / PAYMENT FEES, so it is in the total. Press it again to take the line off.

Online card payment (Stripe) sits at the top of the same list. Adding it is what gives the client a Pay button on the invoice page. Its row reports what Stripe will actually allow — switched on, on when sent, or blocked with the reason — so it never offers an action the server would refuse.

Adding a method asks about its fee

Add a method that costs you something and you are asked once whether to pass it on, with the arithmetic done: "Taking this payment costs you 2.9% + $0.60 — $34.60 on this invoice's $1,000." Decline and the amount you have chosen to absorb is said out loud.

Answer it permanently in Settings → Money → Payments: each method has You absorb it / Add to the invoice. Until a method is set, it keeps asking on every document — an unanswered question is not permission to bill a client.

One-off fees

Below the methods sits ONE-OFF FEES — lines that belong to no payment route. A wire surcharge under $1,000, a correspondent bank's cut. Add blank row drops an empty line into BANKING / PAYMENT FEES for you to type yourself. A blank line is yours to edit but not yet the client's to see: the section joins the invoice, the PDF and the email the moment a fee has a name or an amount, and stays off all three until then.

These are not ways to pay: they never print in the payment block, and removing a payment method never removes them. The catalogue behind them is shared by every company, while payment methods belong to one company each — which is why the two are edited on separate tabs in Settings.

A printed invoice with letterhead, invoice number and terms, itemised lines, payment details and balance due.
The printed invoice. The footer reads BALANCE DUE. Whatever you switched on in Payment methods and fees prints here, on the hosted page and in the PDF identically.
The PDF is the same document now

The PDF attached to invoice and quote emails follows the same structure as the page and the hosted copy: the same sections with their headings and subtotals, the same totals, the same payment details, and — on a published invoice — the same paid / partly paid / overdue status. Dates and amounts format identically everywhere.

One deliberate difference: the attachment never carries the payment link. A PDF gets forwarded and filed beyond the original email, so the private link stays in the email itself and on the hosted invoice — the attachment says exactly that in its payment section, and paying online happens from those two places only.

The hosted invoice keeps your sections too

Invoices published from now on carry the same section grouping you built onto the hosted page the client opens: section headings, per-section subtotals, combined subtotals, and a section you collapsed to one line stays one line. Invoices published before this keep the simpler list they were published with — nothing already sent changes.

Totals, amount due and the paid / partly paid / overdue status always come from the authoritative invoice record, never from the page's presentation — the sections are how the document reads, not what it charges.

Online payment is real money

The hosted invoice's Pay <amount> securely button opens a real Stripe checkout. Your client is charged, and the money lands in your own Stripe balance — KitSlate takes no cut and never holds the funds. Treat it as live: do not press it on a real invoice to see what happens.

It appears only when the invoice is published, still has a balance outstanding, has online payment switched on, and the company behind it has connected a Stripe account with charges enabled. Where any of those is not true, the payment block says so and lists whatever other methods you have set up instead.

What you see is what was published

Once an invoice is published, every copy you can produce of it — Download PDF, Print, the emailed attachment, the hosted page, the document panel on its detail page — renders the published record, not whatever the editor currently says. Edit after sending and the detail page tells you plainly: "The editor has unpublished changes — it says $4,720, while this published copy says $3,760." Press Send with unpublished changes and KitSlate asks first, with both figures, whether to Publish update & send — there is no way to email a mixture of old and new.

Editing a published invoice — revisions and versions

Edit invoice on a published invoice no longer takes it back to Draft, and the client's link never stops working. It creates a revision: a private copy you edit while the customer keeps seeing exactly what they were sent. The editor says so at the top — "Revision draft · based on Version 2. The customer still sees Version 2 ($2,006.85)." — with two buttons that end it: Publish update (the same link now shows the new version, and the customer's page carries an "Updated invoice — Version 3" notice) or Discard revision (the published invoice is untouched).

Every published version is kept. The detail page's VERSIONS panel lists the current one and every superseded one — open any of them read-only, download its own PDF, or Compare it against the current version line by line. History cannot be edited or deleted, and a paid invoice cannot be revised at all: correcting a paid invoice is a credit note or a second invoice (Duplicate gives you the same document under a new number).

The Invoices page

RECORDS → Invoices in the sidebar is every invoice you have raised, in one place: what is owed, what is overdue, and what has been paid. An invoice does not have to be a production's document any more — one raised here stands on its own.

Across the top, five summary cells:

  • Overdue — the money past its due date, in red, with how many invoices that is.
  • Due within next 30 days.
  • Paid this month — counted by the date the money actually arrived, not the invoice date. A paid invoice with no payment date cannot be placed in a month, so it is left out and the cell says how many are in that position rather than quietly assigning them to this one.
  • Average time to get paid — from invoices that have both a send date and a payment date. With too few, it says Not enough data instead of a number.
  • Upcoming payout — always Not available. KitSlate does not read Stripe's payouts API, and a figure worked out from what has been paid would be a guess dressed as a balance, so the cell points at your Stripe dashboard instead.
A summary cell never adds two currencies together

Rows can belong to companies billing in different currencies, and there is no exchange rate anywhere in KitSlate. A mixed cell prints each currency on its own line and says "2 currencies, never added together". And because the cells are company-scoped, a switched-off company would make every one of them read as an absence — so where something is scoped out, each empty cell says "Not counting N invoices hidden by the company filter" rather than asserting that nothing exists.

Below the cells: the company switch (only with more than one company), then Filters, which folds open and carries a count of how many are active. Inside it — customer, status, an Issued date range, a Due date range, invoice number, production, and Clear filters. That last button is always drawn, disabled when nothing is set, so the row is the same height in every state and the list beneath it never jumps as you filter.

Then the status tabs, always in lifecycle order and always all of them, each with its count: Draft, Approved, Unpaid, Paid, All invoices. A stage that vanished when empty could not be reasoned about, so none of them do. Void appears as a sixth tab only when something actually is void — that is an exception, not a stage every invoice passes through.

The table itself: status, due, issue date, invoice number, customer, production, company, total, paid, amount due and payment method. Due, issue date, invoice number, customer, total and amount due all sort. Clicking anywhere on a row opens the invoice.

The row menu

The at the end of each row is the only action control, and it lists only what that invoice can really do in its current state — nothing renders that would do nothing when pressed. What you see depends on what kind of invoice it is.

  • A production's invoice — open it, view the client's page, edit the document (or just view it once paid or void), duplicate, open the production, send or email again, Record payment, payment history, open or copy the client link, download the PDF, print, and the timeline. Then, at the bottom, Void the invoice (cancels it without deleting the record) and Delete the invoice.
  • A standalone invoice — the same shape without anything that needs a production. A draft's primary action is ✓ Approve invoice, not Send: approving and sending are two different decisions, and collapsing them made the amount a claim on somebody's money the instant it left the building. Once approved, ✉ Send invoice is the primary. Edit invoice on an already-sent invoice reopens it as a draft and says so — the client's link pauses until you resend. A paid invoice has no Edit at all: correcting what somebody has already paid is a credit note.
  • An imported invoice — open it, open its production if it has one, and payment history. There is no KitSlate document behind it, so there is nothing to edit, send or print.

Copy client link copies a live link, and mints one first if none exists — the client's existing link is untouched either way and the new one is recorded. Duplicate invoice always produces a fresh unpaid standalone draft under its own number, from any state including paid and void.

The two doors at the top

  • Import invoice… — an invoice raised somewhere else. It lands here read-only with the original file attached. Same importer as everywhere else; see Importing an invoice you raised somewhere else.
  • Create invoice — raises a blank standalone invoice straight away. The beside it offers the same thing spelled out (Blank invoice — a standalone invoice, not attached to a production) and From production…, which opens the Create Production launcher.
Quotes has a page of its own too

RECORDS → Quotes is the simpler cousin: one card per production showing its client, date, location and the quote total — or not started. Click one to open that production's quote. It is a way in, not a second editor.

Deleting several at once

The Invoices list has a checkbox on every row (and on each card on a phone). The header checkbox selects everything visible in the current tab and filters; the selection survives switching tabs and filters, and the bar above the table says so — "7 selected · 3 visible in this view" means four more are selected in other tabs, and they will be in the batch.

Delete selected lists exactly what will go — numbers, customers, combined value — and requires you to type DELETE before the button arms. Invoices with a payment recorded against them are never deleted: they are named in the same dialog as protected, and they stay selected afterwards so you can decide to void them instead. Deletion is permanent, same as the single delete — client links stop working and there is no undo.

↑ Contents
The five documents

Agreements

Anything that needs a signature — a talent release, a location release, or wording of your own — written once, sent, signed on a phone, chased and filed.

KitSlate — Agreements
The Agreements page with the AGREEMENT · STATUS card, the DOCUMENT TYPE bar naming the General Talent Release, the agreement body below and the signatures table.
Agreements. The band at the top is the workflow — who has signed, who has only looked, and one button to chase the rest.
This tab used to be called Release

It is the same feature, the same signing engine and the same audit trail — it simply covers more than talent now, so the tab, the status card and the settings all read Agreements. Nothing you already had changed: existing releases open where they always did, old signing links still work, and every signature already collected is untouched.

Choosing what kind of document it is

The DOCUMENT TYPE bar above the page picks what this production needs signed. Three types ship:

  • General Talent Release — someone appearing on camera consents to being recorded and to the material being used. Eight wordings ship under this type: General Talent, Appearance, Documentary, Commercial, Interview, Podcast, Reality TV and Social Media.
  • Location Release — whoever controls a property gives permission to film there, to bring people and equipment onto it, and to use the resulting material. Signed by an Authorized Property Representative rather than talent.
  • Other / Custom Agreement — write your own. A crew NDA, a contractor letter, anything that needs signing and is not one of the built-in types.

Switching type regenerates the document instantly. If people have already been sent the old one, KitSlate asks first — because they would otherwise be signing something they were never shown. Anyone who has already signed is never affected.

The Location Release

A location release is about a property, so the page carries a THE PROPERTY block the other types do not: Property / location name, Property address and Description of the premises. These are the only place those values are edited, and they feed the wording directly — type an address and the paragraph that quotes it resolves as you type, so you can see the real document rather than a placeholder.

KitSlate — Location Release
A Location Release on a production: the DOCUMENT TYPE bar reading Location Release, a THE PROPERTY block with the location name, address and description of the premises, and the first paragraph of the agreement below with those values merged into it.
The Location Release. The property block feeds the wording directly — the paragraph underneath is quoting what was typed above it.

They print as {{Property Name}}, {{Property Address}} and {{Property Description}}. Everything else — the production name, your company, your address — comes from what KitSlate already knows, so nothing is typed twice.

Other / Custom Agreement

Pick this type and you write the document itself on the production: an Agreement title that prints as the heading, and as many paragraphs as you need, each with move and delete controls. Merge fields work in them exactly as they do in a template, and clauses can be added on top.

A custom agreement is a one-off — its wording lives on that production, so writing one here cannot change any other job, and editing a built-in template cannot change this one. It saves to your account like everything else: reload the page, or open the production on another machine, and it is there.

What every type shares

Whichever type you pick, it is one signing system. There is no second workflow to learn:

  • AGREEMENT · STATUS — the same status card every document has, here tracking the signing ceremony: 2 of 3 signed in the headline, each signer’s Sent → Viewed → Signed with times under Details ▾. A signed minor still missing a guardian signature, or signers gone quiet past your reminder mark, are flagged on the card even collapsed.
  • SIGNERS (inside Details ▾) — a filter pill per state (not sent, awaiting, viewed, reminder sent, signed, declined, expired). Audit trail and All agreements sit beside them, and a COPIES row covers the send-a-copy emails every other document has.
  • The document type bar — which wording this production is using, how many optional clauses are on it, and Edit template.

Templates, clauses and profiles

The wording lives in Settings → Agreements, not on the job, so you write it once and every production picks it up. Templates are grouped by the type they belong to. Change a template and every agreement still in draft regenerates instantly — but anyone who has already signed keeps the exact wording they agreed to. Their signed copy, and every copy regenerated afterwards, reproduces the text they actually saw, not the edited template. That holds for all three types.

KitSlate — Settings → Agreements
Settings Agreements tab listing templates grouped under General Talent Release, Location Release and Other / Custom Agreement, each with Edit and Duplicate, and a rail for saved clauses, agreement profiles, signing providers and defaults.
Agreement templates. Grouped by type. Edit one here and every agreement still in draft updates.
  • Agreement templates — name, description, title, header, body paragraphs, footer, signature wording, colour and logo. Duplicate any of them; a shipped one you edit stays edited, and Reset to the shipped wording puts it back. Templates you build or bring in are listed first, under YOURS; KitSlate's own sit below by type.
  • Saved clauses — reusable paragraphs: AI Usage, Social Media, Exclusivity, Territory, Time Limited Licence, Credit Requirement, Music Rights, NDA, Usage Restrictions, No Further Payment. Build them into a template so they always print, or add one to a single agreement from Options ▾ → Optional clauses. Write your own too.
  • Agreement profiles — one choice instead of four. Picking Podcast or Commercial on a production sets the template, the clauses and the reminder schedule together.
  • Signing — KitSlate’s own signing engine is built in and needs nothing connected. There is no other signing provider; the agreement, the templates and the audit trail don’t change when a provider is switched.
  • DefaultsStarting template (the one a new agreement opens on — or the menu, so every new agreement begins at the chooser), whether KitSlate's templates are shown or hidden in the lists to begin with, whether reminders are armed, and how long signing links live.
A template belongs to no company

Templates and presets are wording, not letterhead. The preview in Settings leaves Company unfilled on purpose — the company, its address and the producer come from the production the agreement is created on, so one template serves every company you invoice as.

Starting a new agreement

+ New agreement on the Agreements tab opens the chooser. YOURS — the templates and presets you built or brought in — sits at the top; KitSlate's own templates are grouped by type underneath, and Start blank is last. Hide KitSlate's templates / Show KitSlate's templates folds the built-in groups away to a single line each; that switch is remembered on this device only, and the workspace-wide starting position lives in Defaults. Pick one and the agreement opens on the production, ready to fill in and send.

KitSlate — New agreement
The New agreement chooser over a production. A Show KitSlate's templates button at the top, then a YOURS group listing Vizzcast Studio Terms and the Vizzcast — Standard booking preset, then the People, Places, Studio and Production groups each folded to one line reading N hidden · show, and a Start blank group at the bottom.
The chooser with KitSlate's templates hidden. Yours first, the built-ins folded to a line each, blank last.

The visual editor

Edit template opens a block editor with the real document rendering live beside it. Each body paragraph is its own block with move and delete controls. Typing / or {{ anywhere in a paragraph opens the merge-field and clause menu inline.

KitSlate — Agreement template
The template editor. On the left, the Document tab with the title, header line and body paragraphs; on the right the live preview of the talent release, where the Company merge field is highlighted in amber at the top right, inside the first paragraph and in the signature block, because the template itself holds no company.
The amber fields fill themselves. Anything highlighted in the preview has no value in the template; it takes its value from the production the agreement is created on.

The amber highlights are the fields that fill themselves. In the template preview, a merge field with nothing behind it yet — Company, Company Address, Production Name, Shoot Date — is marked in amber so you can see at a glance what the production will supply. On the agreement itself those same fields print with the real values, and anything still empty prints as its field name in square brackets rather than as a raw {{token}}.

Merge fields resolve per signer, which is what lets one template serve a whole cast: {{Production Name}}, {{Shoot Date}}, {{Location}}, {{Project Number}}, {{Company}}, {{Company Address}}, {{Producer}}, {{Producer Email}}, {{Talent Name}}, {{Talent Email}}, {{Talent Role}}, {{Guardian Name}}, {{Property Name}}, {{Property Address}}, {{Property Description}}, {{Today’s Date}}, plus any custom field you add per production under Options ▾ → Custom merge fields. A field with nothing behind it shows highlighted on screen and prints as [Field Name] — never as raw {{ }} placeholder text.

The editor’s AI assistant tab rewrites the body only: improve wording, shorten, simplify, more formal, more friendly, US English, UK English, or generate a fresh documentary / commercial / podcast / interview wording. Title, clauses, signature wording and the disclaimer are left alone, and one click undoes it. It writes clearer English — read every word before you send it.

Deal terms fill themselves

A studio-hire or production-services agreement asks for money and dates the production already knows. Under AGREEMENT DETAILSShow all fields, the Deal terms group arrives pre-filled: Hire Fee is the approved quote's payable total and Deposit half of it; Balance Due is two days before the booking; Booking Dates come from the shoot date; Access Times are the call sheet's first and last call; Overtime Rate is your studio's hourly rate. Each filled value says where it came from — "Filled from the call sheet's first and last call — type over it if the deal differs." — and typing over it wins. Deal terms are typed once for the production; every agreement on it reads the same ones.

KitSlate — Agreement details
The Agreement details panel on a production, scrolled to the Deal terms group: Hire Fee $3,567 and Deposit $1,784 with Prints as lines beneath, Balance Due 08/02/2026 with the note Filled from two days before the booking, Access Times 8:00 AM–3:00 PM with the note Filled from the call sheet's first and last call, Booking Dates, Overtime Rate $160 per hour, and the Your side group below with the company and producer.
Deal terms, already filled. Fee and deposit from the quote, dates from the booking, access times from the call sheet — each one says so, and each one can be typed over.

Who signs

⇄ Pull talent from call sheet reconciles rather than duplicating: it matches on name, fills blank roles and emails from the call sheet and your crew database, and tells you what it did. + Add also picks from cast, crew and clients directly.

Each row has a SIGNS AS menu — Talent, Authorized Property Representative, Signer, Guardian, Witness, Producer or Client. A new signer starts as whatever the document type expects, and you can change any row. Each signer carries their own status and their own link.

The Talent is a minor toggle reveals guardian name, email and relationship, and a signed minor with no guardian signature does not count as complete — in the agreement, in Production Health, or in the job’s progress. It appears on talent agreements only: a building manager does not need a parent to co-sign. An ADDITIONAL TERMS box prints into the body of this production’s agreement only, and merge fields work in it.

Getting it signed

✎ Send for signature is the main event. The recipient list is the signatures table — you cannot send to someone who is not on the document, and anyone you add in the send dialog lands on the table. Set the message, tick any other document to attach, choose how long the links live (7 / 14 / 30 / 90 days) and arm reminders.

Everyone gets their own private link. They open it on a phone, read the document in the page, sign with a finger, and it comes back onto the table with their signature, the time, their IP address, device and browser. The signing page names what they are signing and who they are signing as — a location release says location release, and the signer is asked for a title or position rather than a role. A countersigned PDF is emailed back to them automatically, and the exact text they signed is preserved with their signature, whether they signed on their phone or on your device. Nobody downloads anything to sign, and nobody needs an account.

  • Sign here on any row signs on this device instead — draw it or type it — for someone standing next to you.
  • Reminders fire after 3, 5, 7 or a custom number of days, and stop the moment somebody signs.
  • A signer can decline, with a reason, and that comes back too.
  • The row’s menu covers resend, remind, copy link, void link, download their signed copy, email their copy again, their history, and clearing a signature.
  • Send with… (under Actions ▾) puts the agreement in one email with the other things that person owes you — their details, the quote, the invoice — see sending several things in one email.

What the signer sees when they finish. The page turns into their receipt: a SENT card saying their signature is with you and that the countersigned copy will follow by email, the same offer to print or save a PDF that every KitSlate form makes once it is submitted, and beneath it the complete agreement as signed. If it came as part of a bundle, See what is left → takes them back to the rest. A copy is emailed to them at the same time.

The audit trail

Every event is recorded on the production and exports as CSV: created, edited, document type changed, sent, viewed, reminder sent, signed, declined, downloaded, delivered, completed, text snapshot recovered — each with a timestamp, and each signature with the IP address, device and browser that produced it. Talent releases, location releases and custom agreements all use the same record.

Once it is signed, who signed it stops being editable

The moment a signer signs, their name, role, email and signature date become read-only on that row — they render as plain text instead of editable boxes, and the workspace refuses to change them even if something tries. The same applies to a parent or guardian's details once the guardian has signed. Everything else about the agreement stays editable.

An attempt to change one is recorded rather than silently ignored: the audit trail gets a refused entry naming the field, what the record says, and what the change would have made it. If a signed row is genuinely wrong, remove that signer and add them again — which is itself recorded — rather than editing the executed record.

Signed before this safeguard

Signatures collected before signed-text preservation existed may have no stored record of the exact wording that was signed. Where the original text can still be recovered from the signing record, KitSlate restores it automatically and the audit trail shows Text snapshot recovered. Where it cannot, the row is marked legacy — text not snapshotted, and any regenerated PDF says so honestly on the document: “Reconstructed from the current template — original signed text snapshot unavailable.” The signature, date, device and IP records are unaffected either way.

More than one agreement on a production

A production carries as many agreements as the job needs — a talent release for the cast and a location release for the venue on the same job, each its own document with its own signers, status and audit trail. The AGREEMENTS strip under the status card lists them; click one to work on it, + New agreement adds another, and archiving one keeps its signatures. Several agreements per production is the next step, and the signing engine is already built for it.

Every agreement, everywhere

All agreements opens a dashboard across every production: total signed, a filter pill per state, and one searchable table of every signer — by signer, email, role, production, company, status or date. Click any row to open the agreement it belongs to. On a phone the table becomes cards, so the signature status is always on screen.

Agreements also feed Production Health: unsigned agreements, a minor missing a guardian signature, a declined agreement, an expired signing link, a bounced email, an overdue reminder, an agreement never sent, and people on the call sheet with no agreement naming them at all.

A printed talent appearance release with the agreement body and a signature table.
The printed agreement. The PDF carries the document id, version, generation timestamp, page numbers and a QR back to the record. The signature block names the role that signed it — Signature of Authorized Property Representative on a location release.
↑ Contents
The five documents

Assigning a document

Give someone outside the workspace a scoped fill-in form. No account, no app, no seat.

On the Gear List, Quote, Invoice or Call Sheet, Actions ▾ → Add↗ Assign. The dialog leads with what the person actually gets — a private link with no login, work they can do on any device, results that land straight on this document, and progress tracked back here — then asks who. Search your crew and clients, or type an email address for someone in neither. Nothing is sent until you press Assign the <document>.

They get an email with Open the <document> → pointing at a one-off web form.

DocumentWhat the guest sees
Gear ListYour categories and items with tick boxes — "Tick everything this job needs, then submit."
Quote / InvoiceAn editable line table (description, qty, days, day rate) with + Add a line.
Call SheetKey times, a crew table, a schedule table, shoot-plan cameras and notes.

The same machinery is used away from documents, to ask a person to fill in their own crew record or client record — see Requests & approvals.

Back in the production, a HANDOFF row inside that document's STATUS card tracks it: "Handed off to <email> — waiting for them to fill it", then "Filled by <email> — their picks are on the list below", with Reassign / Assign again.

It overwrites, it does not merge

A returned form replaces what is on that document. Don't assign something you have already built by hand.

Other limits: you must be signed in (the person you assign it to does not — the dialog says so if you try), email sending must be configured in Settings → Integrations, there can be only one live assignment per document type per production, and the app only checks for returns while that production is open — so open it to pull a submission in.

What the person sees when they finish

Every form KitSlate sends out — gear list, quote, invoice, call sheet, agreement, a client's or crew member's own details — ends the same way. While the form is open there is no print button: the banner at the top names the form, who it is for, and what happens when they submit. Once they submit, the page becomes their receipt, stacked full width:

  • A SENT card first — what went to you, with two short columns: What happens now and Your copy.
  • If it came in a bundle, a Your other items panel with See what is left →, so they can get back to the rest without hunting for the email.
  • Then the complete form as they sent it, every row, under a banner that now offers Print / Save PDF. Printing prints the receipt, not the page around it.
  • A copy is emailed to them at the same moment, so the link can expire without them losing their record.
kitslate.app — receipt
A guest's receipt after signing an agreement. A Your copy banner at the top with a Print / Save PDF button, a SENT card with two columns headed What happens now and Your copy, a Your other items panel with a See what is left button, and beneath it the complete agreement as sent — name, role, signature type and time.
The receipt. Sent on top, the details below, print only now that there is something final to print.

A link that has been cancelled, has expired, or was already used says so plainly on the same banner and offers nothing to fill in. Nothing sent before that moment is lost.

Sending several things in one email

One person often owes a production more than one thing — their details, a quote to approve, an agreement to sign, an invoice to pay. Actions ▾ → + Send with… on any document opens one dialog for all of them. Pick the person; each item you could include is a switch, and a greyed one says why it cannot go — already approved, not a signer on this production, already paid. Quick presets tick the usual combinations. One send is one person: someone else gets their own email and never sees anybody else's items.

KitSlate — Send with…
The Send with… dialog on a production. A TO row of the people on the job with Marcus Rivera selected, an INCLUDE list of switches — Confirm your details, Your crew details, Review the quote, Review and sign the agreement, Pay the invoice — with greyed rows explaining why they cannot go, and a Send 1 item button.
One email, several items. Each stays its own KitSlate document, signed, paid and tracked exactly as if sent alone.

The email carries one link per item and one link to their page: everything they were sent, with what is done and what is still to do, and an Open → on each. Every receipt they land on offers the way back to it.

kitslate.app — their page
The bundle page a recipient opens: the company name, the production and date, for Priya Nair, a line reading 1 of 3 complete, then three rows — Confirm your details marked Done, Review and sign with a Review & sign button, Pay the invoice with an amount due and a Review & pay button — and the Sent with KitSlate credit.
Their page. What is done, what is left, one button each.

Requests & approvals — asking people for their own details

On Clients and Crew, ✉ Ask client to fill in / ✉ Ask crew to fill in in the top bar, or ✉ Ask them on a selected person, sends a private link to a one-off form holding their own record. What comes back fills blanks only. If an answer disagrees with what you already hold, your version stays and theirs is parked for you to review.

The requests live where they are acted on, in one vocabulary: To do for what needs you (waiting, expired, an answer to review), the person's own record for the link itself (a small flag on their tile, and a REQUEST section on the record with Resend, Copy link and Cancel), and Activity for what happened. Cancelling revokes the link on the server — it stops working for the person it went to. A fresh request to the same address replaces the one still out.

Settings → How you work → Requests & approvals holds the three decisions: Approval — hold every answer for your approval before it touches a record (off by default: blanks fill straight in, disagreements park for review either way); Links expire after 7, 14, 30 or 90 days, applied to links sent from then on; and Offer a reminder after 3, 5, 7 or 14 days, which is when To do starts offering Resend instead of Copy link. Nothing is ever sent without you pressing Send.

KitSlate — Settings → Requests & approvals
The Requests & approvals settings page: a line reading 2 requests out · 1 answer waiting for you — open To do, an APPROVAL switch labelled Hold every answer for your approval before it touches a record, LINKS EXPIRE AFTER with 7, 14, 30 and 90 days, and OFFER A REMINDER AFTER with 3, 5, 7 and 14 days.
Three decisions, one page. The requests themselves are on To do, the person's record and Activity — this page only sets the rules.
↑ Contents
Your database

Inventory / Equipment

Your fleet. This is the screen the rest of the app leans on hardest — day rates here become quote totals, and packing marks here become availability.

KitSlate — Inventory
The Inventory screen showing a KITS card, then category groups with item rows listing model, serial, location, rate, cost, replacement value, age and status bars.
The Inventory. Kits sit at the top, then your categories. The thin bar at the right of each row is its status.

Three ways your gear is organised

StructureHow it works
CategoriesThe top-level grouping (CAMERA, LENSES, GRIP…). Every item is in exactly one. Names are forced to uppercase. Deleting a category deletes its items.
LocationsWhere a thing physically sits. Either manual ("Shelf B", "Van"), or created automatically when you tick Is this a case? on an item — that item then appears in every location list with a CASE tag.
KitsNamed bundles with one blended day rate. A kit stores copies of item names and serials, not live links — so editing an item later does not update the kit.

Adding and editing an item

+ Add item, or the + on any category header to pre-select that category.

KitSlate — Edit item
The lower half of the item editor: location, purchase date with the age beside it, purchase and replacement cost, SKU, the three day-rate boxes, the Rate Guide where-you-fall panel, product links and notes.
The item editor. The three rate boxes are the important part — see below.

Beyond the obvious fields (model, serial numbers, location, date purchased, purchase cost, replacement cost, SKU, photo URL, notes), two things deserve attention:

The three day rates cascade

Rates — $/day, by where the gear is working has three boxes: In studio, Outside / on location and ShareGrid / public. Leaving one blank is deliberate — it falls back down the chain:

  • A gear list at outside rates uses Outside, or falls back to In studio.
  • A rental uses ShareGrid / public, then Outside, then In studio.

So you only need to fill in the ones that actually differ.

Links auto-fill

Paste a B&H or Amazon product URL into Links and the app tries to fetch the name, model and price. Paste a URL into ShareGrid listing and that alone is what publishes the item on your public page as kit for hire.

There is no quantity field

Multiples are separate rows. The CSV and receipt importers expand "qty: 3" into three rows for you.

Delete has no confirmation

The × on an item row deletes it immediately.

The row controls

ControlWhat it does
Selection bar (left)A thin bar, not a checkbox. Click to pick the item for a gear list.
Market rate — opens an inline panel with the going day rate near you, the weekly price, and how your three tiers compare. Only when Rate Guide sharing is on.
Edit.
Merge into another item — moves the receipt, SKU and price paid across, then deletes this one. It suggests likely duplicates ranked by serial, then SKU, then shared words.
×Delete.
Status bar (right)Click to cycle: in → out → faulty.

Views, columns and search

  • VIEWCategory / Location / Kits / Receipts. In Location and Kits views the location column becomes a read-only category label, so you cannot re-file gear from there.
  • Columns ▾ — Serial, Rate, Cost and Replace $ each have three states, cycled by clicking: ✓ shown••• masked (values become dots — for screen-sharing) → – hidden.
  • / — expand or collapse every section.
  • Search gear… matches name, serial, model, location and category, and auto-expands everything while you type.
  • Categories & Locations ▾ jumps to a category or location, and holds ⚙ Manage — rename, remove….

Selecting gear and bundling kits

Clicking selection bars raises a bottom bar — "N items selected", Clear, Bundle into Kit, Create Gear List → — plus a live GEAR LIST — BUILDING tray showing the running daily total.

Bundle into Kit (needs two or more) shows what is going in, then lets you tick crew and set their day rate to build an all-in package. The kit rate pre-fills with gear plus crew, and typing your own figure stops it auto-updating. Crew included in a kit land on the call sheet automatically, and the quote shows one all-in line with them marked "included".

× on a kit unbundles it: "The kit is deleted; your inventory items are not affected."

Getting your gear in — imports

Import / Export ▾ holds two ways in:

  • Import equipment… — the one door for anything that lists gear. Drop a CSV, a PDF or a photo — an old spreadsheet, an insurance schedule, a rental-house list — or paste the list as text. KitSlate picks the reader itself: files it recognises (its own CSV export, the original Gear List spreadsheet, tabular PDFs) are read directly; anything the standard reader can't shape gets an explicit Read it with AI → offer, and photos go straight to that offer. Either way you land on the same review — tick the items you want, untick misreads, then Add N items to Inventory. Missing categories are created; new arrivals wear a NEW tag so you can see exactly what landed.
  • Import receipts… — see below.
Import matching rules differ per database

Inventory CSV import skips duplicates outright (matched on name + serial) — an existing item is never updated. Clients and Crew do the opposite: they fill in blanks on existing records. Don't assume one behaves like the other.

Importing data from the Mixel spreadsheet

If you came from Gear List for Video Professionals — the Google Sheet sold on Gumroad — your kit moves across as it is. In the sheet, open the Inventory tab, press UPDATE THIS LIST so every equipment tab has been pulled in, then File → Download → Comma-separated values (.csv). Import that one file here and every category comes with it — the importer recognises the sheet by its Serial Numbers: header and reads your category bands, names, serials, notes and prices without you mapping a single column.

The full walkthrough, with screenshots of both the sheet and the app, is at kitslate.app/mixel-spreadsheet-import.

Bulk CSV import needs Studio

The equipment-list CSV import is a Studio-and-up feature. Receipt import and your full encrypted backup are on every plan, free included.

Tidying names afterwards

If imported names nearly match the shared catalogue, you get "Tidy up N names for consistency" with tickboxes, Keep mine and Rename ticked →. It changes only the name — but it is what makes your gear line up with Rate Guide benchmarks.

Receipts

VIEW → Receipts lists imported receipts with a storage meter. Drop PDFs and each is reviewed one at a time: editable order number, date, buyer, subtotal, tax, total, and a Payboo saved −$ field (B&H's card refunds the sales tax, so it counts as saved, not spent).

Each line offers ⚠ Update: <existing item>, Add as new item, or Skip this line. The promise is explicit: "Update fills price paid, date, SKU and links the receipt — it won't rename or move your item."

When a vendor's layout isn't recognised the receipt is still logged, and a banner offers Read it with AI → — any vendor, a few seconds, check the lines before importing.

The original file itself: signed in to your own workspace, the PDF or photo is stored privately in your cloud workspace — the receipt row keeps only a small reference, so originals never eat your browser's storage budget. View original on the receipt row fetches it back on demand; the same button appears on imported invoices. Signed out or in the sandbox, small originals are kept in the browser as before. If a file ever can't reach cloud storage, KitSlate says so at import — it never quietly falls back to stuffing the file into the browser.

Receipts name things the way the till prints them — "SONY FX6 FULL FRAME CINEMA CAMERA BODY". Every item name on the review screen is a type-ahead: start typing and the shared catalogue offers its own spelling, so picking "Sony FX6" lines your gear up with everyone else's benchmarks. You do not have to — anything left as printed is still offered for tidying at the end of the import.

KitSlate — Categories & Locations
The Categories and Locations management screen with category chips showing item counts and rename and delete buttons, and location chips below.
Categories & Locations. Case locations are listed automatically and can't be removed here — untick Is this a case? on the item instead.
↑ Contents
Your database

Clients

KitSlate — Clients
The Clients screen as a balanced two-pane address book: an alphabetical list of tall client tiles on the left, and on the right a full-width client record with a pinned header and cards for overview, contact, address, production defaults and activity.
Clients. An address book: list on the left, the client record taking the other half of the page.

The page is a balanced two-pane layout: the list takes about half the width, the selected client takes the other half. Each list tile carries the company name, the primary contact, their email and phone, how many documents that client has and when you last shot for them.

The record itself opens under a header that stays put while you scroll it — company name, main contact, city, currency, and the three actions: New job → (starts a booking pre-filled with this client), ✎ Edit client, and a deliberately quiet Delete off to the right. Below that the record is grouped into cards: Overview, Contact, Address (with a map), Production defaults — camera settings, preferred kits and regular crew in one place — Activity, Past shooting information and Notes. Empty sections say "none set" rather than leaving a hole.

✉ Ask client to fill in in the top bar, or ✉ Ask them on the open record, emails the client a private link to their own record — address, contacts, billing details, the camera they shoot on — and what comes back fills the blanks. A small flag on the tile and a REQUEST section on the record show a request that is out; To do shows anything that needs you. See Requests & approvals.

The two columns scroll separately

On desktop the page itself does not scroll. The list and the open record each get their own scrollbar and fill the height under the toolbar, so you can reach the bottom of a record — Work history, Notes — without first scrolling the whole page to its end.

Narrower screens

Under about 1100px the list goes full width and the selected client opens over it as a drawer with a ← Clients button. On a phone it fills the screen. There is never a pair of squeezed columns.

KitSlate — Edit client
The client editor as a standard modal with a pinned title bar, two columns of fields grouped into overview, contact and address sections, and Cancel and Save pinned along the bottom.
The client editor. The standard KitSlate window — title pinned at the top, Cancel / Save pinned at the bottom, and only the fields in between scroll.

✎ Edit client opens as a large drawer rather than a tall thin modal. Fields sit in the same groups as the read-only record — Overview, Contact, Address, then camera settings, equipment and regular crew — and the footer with Cancel and Save stays visible however far you scroll. Every field is the one that was always there; nothing was renamed or removed.

What a client record does for you

  • FILMING LOCATIONS is derived from past shoots — you don't type it. Those addresses are offered back next time you book them.
  • REGULAR CREW are auto-added to this client's call sheets.
  • CAMERA SETTINGS presets load automatically on their shoots. The first one added is the default.
  • Quotes and invoices pull their name, address and contact from here.
Which camera settings win

In order: the preset you pick in the booking wizard, then the client's settings saved from their last job, then the client's default preset. A client's saved-from-last-shoot values beat their attached preset — there's a Clear button if that's not what you want.

Known issue

Deleting a client can blank the contact details on an already-issued Quote or Invoice, even though the confirmation says "Existing gear lists keep their info". Print or export anything you need before deleting a client.

Importing clients

KitSlate — Import clients
The client import assistant on its mapping screen: a detected-format panel reading Xero Contacts with a high-confidence badge, an address-choice row, and a table of source columns with example values, KitSlate destination fields and confidence badges.
The import assistant. Format detected, columns mapped, every one of them yours to change before anything is written.

Import contacts — Xero / QuickBooks / Wave / any CSV… opens a staged assistant. Drop a file in and it works through four screens; nothing is written until the last one.

  1. Upload — drag and drop or browse. It reports the filename, size, detected encoding (including UTF-8 BOM and UTF-16), row and column counts, and copes with comma, semicolon and tab separators. Up to 8 MB and 20,000 rows.
  2. Detect — the format is worked out from the column headers, never the filename: Xero Contacts, QuickBooks customers, Wave customers, a KitSlate export, or Generic CSV. You get a confidence badge — High confidence, Likely or Needs review — and a Change picker to override it.
  3. Map — a table of every source column with two or three real example values, the KitSlate field it will land in, and where that mapping came from ("exact header", "known alias", "from values", "your saved mapping"). Change any of them, or send a column to Ignore, Add to Notes or Keep as source data. If two columns point at the same field you get told.
  4. Review — every row, with counts of new, existing matches, possible duplicates, rows needing review and invalid rows, each filterable. Correct the name, contact, email or phone inline. Then Import.

Header matching is tolerant: spacing, capitalisation, underscores, hyphens, a UTF-8 byte order mark, missing optional columns, extra columns KitSlate doesn't use and a different column order all pass. An absent optional column never fails the import.

Xero contact files

Xero contact exports and the Xero contact import template both work. ContactName becomes the client name, AccountNumber, FirstName, LastName, EmailAddress, PhoneNumber, MobileNumber, FaxNumber, Website and DefaultCurrency map straight across.

Xero ships two addresses — KitSlate keeps one

When a file carries both a street and a postal address you are asked which is the real one, before the preview: Prefer street, fall back to postal (the default), Use street address, Use postal address, or Street address, postal address into Notes. The two are never mashed together into one malformed field, and a second address that was left behind is flagged on the row.

Nothing is silently dropped

Xero fields KitSlate has no home for — tax number, contact status, sales and purchases accounts, tracking categories, extra contact people — are listed under Additional source data on the mapping screen and kept on the client record as source data. You can send any of them to Notes, to a real field, or to Ignore instead.

When KitSlate can't work a column out

Known headers never need help. For a generic spreadsheet or an oddly-labelled column, Ask AI to map unclear columns appears. It sends only the unresolved column names and up to three sample values each — one request for the whole file, never one per contact — and every suggestion comes back for you to review before anything is imported. The AI can only ever choose from KitSlate's own field list; it never writes data and never fills in a missing name, email or address.

Once you have corrected a mapping by hand, Remember this mapping saves it against that exact set of headers, so the next file of the same shape arrives already mapped.

Duplicates

Before anything is written, each row is compared against your existing clients — on email, then account number, then company name plus phone, then contact name plus email or phone. A close-but-not-exact company name is only ever raised as a possible duplicate. Possible duplicates are never merged automatically. Per row you choose Skip, Create, Update empty fields only, Update mapped fields or Replace record — and the default is always the safest one, which fills blanks and overwrites nothing you have typed.

Afterwards

The final screen reports created, updated, merged, skipped and failed. Anything that failed can be downloaded as an error CSV with the original row, the reason and a suggested fix. Import history… in the same menu keeps the result of each job — date, who ran it, company, format, filename, row counts and the mapping used — plus your remembered mappings, each of which can be forgotten. The uploaded file itself is not kept.

Exporting to your accounting package

The OUT half of the menu has Export full KitSlate CSV plus presets for Xero, QuickBooks and Wave. Each one previews the first rows with the destination's own column headings and tells you plainly which KitSlate fields that package has no home for — Xero has no toll-free or notes field on a contact, for instance — before you download.

↑ Contents
Your database

Crew

KitSlate — Crew
The Crew screen showing tall crew tiles with avatars, names, pronouns, primary and secondary roles, phone, email, employment badges and paperwork markers, beside a full-width crew profile with pinned header and sectioned cards.
Crew. The status bar counts freelance, casual, full-time staff and anyone with dietary needs.
KitSlate — Crew profile
The crew profile editor as a standard modal with a pinned title bar, fields in two columns grouped into overview, contact, rates, tax and paperwork, address, dietary and notes sections, and Cancel and Save profile pinned along the bottom.
The crew profile. The same window as the client editor — Save profile never scrolls out of reach.

Crew uses the same two-pane layout as Clients, and the same sizes: list on the left at roughly half the width, the selected person on the right. A list tile shows their avatar, name, pronouns, primary and secondary role, phone and email, their employment badge, and compact markers for W-9, DIET, CERT EXPIRED or NO CONTACT so you can see at a glance who is missing something.

The profile opens under a header that stays put — avatar, name, pronouns, roles, employment badge and those same markers, with ✎ Edit profile, ✉ Ask them and a quieter Delete set apart. Below it: Overview, Contact, Rates (with the going-rate comparison where the Rate Guide has one), Tax and paperwork, Licenses and certifications, Dietary requirements, Work history and Notes. Nothing was dropped in the move — a section with nothing in it now says "None recorded" in one line instead of taking up a screenful.

Editing works exactly as it does for clients: the same window, the same section order as the read-only profile, and Cancel / Save profile pinned to the bottom.

The fields that matter most

  • EmploymentFreelance / Casual / Full-time. Choosing full-time greys out every rate field, and their quote line reads "Full-time staff — no day rate on quotes".
  • RATES — PRIMARY ROLE — from a list of 21, or + Custom role… — plus day rate, rate basis (10-hour day / 12-hour day / other) and OT multiplier, defaulting to 1.5.
  • RATES — SECONDARY ROLE with its own day rate. This is how one person can be booked as DP on one job and Operator on another, at different money — you pick which when you add them to a call sheet.
  • TAX AND PAPERWORK — tax ID type, employment type for tax, a Received W-9 toggle, and a drag-and-drop zone for W-9s, contracts and NDAs. Uploading a file with "W-9" in the name ticks the box for you.
  • LICENSES & CERTIFICATIONS — type, name and expiry. Anything lapsing within 60 days shows amber; anything expired shows red.
  • DIETARY REQUIREMENTS — tap-to-toggle pills from a 17-item list. It asks how someone eats as well as what they can't: vegetarian, vegan, halal, kosher and keto sit alongside the allergies, so a vegetarian no longer reads the heading and leaves it blank. These roll up onto every call sheet's catering summary.
Certifications are shoot-date aware

If someone's ticket lapses before a shoot they are booked on, it appears under PRODUCTION HEALTH in that job's header. This is the closest thing KitSlate has to a crew-readiness check.

Save first, then attach documents

A brand-new profile shows "Save the profile first, then reopen it to attach documents". Files cap at 2 MB each.

People are not double-booking checked

KitSlate's conflict detection covers gear and studio rooms, not crew. Your signals for a person being in two places are the certification warnings and Home's "You're in N places today" line.

Let them fill in their own details

Rather than typing everyone's details yourself, you can email your crew a link and let them do it. It rides the same rails as handing off a document — a one-off web form, no account, no app, no seat.

✉ Ask crew to fill in in the top bar takes one email address per line and sends each person their own private link. On a selected person, ✉ Ask them does the same for just them, pre-filled with the address you already hold.

What they see is their own address-book entry in six blocks: who you are (name, pronouns, main and second role, both type-ahead against your 21 roles), how to reach you, where you are, your rate, how you eat as tap-to-toggle pills, and anything else. If you already have a record for them it comes pre-filled so they only correct what's wrong — except the rate, which is always asked fresh. They can leave anything blank, and the submit button stays locked until there is at least a name or an email.

Back on the Crew page an ADDRESS BOOK bar tracks it: "N waiting" while links are out, then "<name> filled it in — N blanks filled" as each one lands. Someone who wasn't in your database yet is added as a new freelance crew member. Open jumps to their profile, Clear puts the bar away, and their profile gains a CONFIRMED BY THEM line with the date.

This one merges — it does not overwrite

Unlike a document handoff, what comes back fills blanks only. If someone answers something differently to what you already hold — a new phone number, a higher day rate, a changed dietary need — your record is left alone and their answer is parked behind Review N. That shows yours against theirs per field, with Use theirs, Use all of theirs and Keep mine. Nothing changes until you pick.

Clear asks before throwing away answers you haven't reviewed yet.

The limits

You must be signed in (they don't need to be), email sending must be configured in Settings → Integrations, and there is one live request per email address — a new one replaces it. Returns are pulled in every minute wherever you are in the app, and each request shows on To do, on the person's record and on Activity — see Requests & approvals. Old limit, kept for the record: returns used to arrive only while the Crew page is open — so open Crew to collect them. Tax paperwork, W-9s and certifications are not part of the form; those stay yours to enter.

↑ Contents
Your database

Camera Settings

Reusable camera-menu snapshots that ride onto gear lists and call sheets, so the crew shoots the right thing.

KitSlate — Camera Settings
The Camera Settings screen showing saved presets as cards with attached clients, and setting values rendered as camera-menu tiles.
Camera Settings. Each preset renders like a camera menu, and lists the clients it's attached to.

Every ask for camera settings starts with the camera. A preset, a client's record, a production's camera block, step 2 of Create Production and the guest form a client fills in all open the same picker: Brand first, then the Camera body, and the setting tiles narrow to the values that camera actually offers, from its published specifications. Custom — fill your own keeps every setting KitSlate knows for a body it does not, and Request a camera… asks for one to be added. Every tile still takes + Custom… for a value that is not listed.

KitSlate — Create Production, step 2
Step 2 of 2, Camera settings, in the Create Production dialog. A LOAD A PRESET row with Start blank and two presets, a WHICH CAMERA block with Brand set to Sony and Camera set to FX6 and a note that the settings below are the ones the Sony FX6 actually offers, then the settings tiles.
Brand, then body, then settings. The same picker wherever KitSlate asks about a camera.

+ New preset opens the editor inline. There are tiles for 18 standard settings — resolution, frequency, PAL/NTSC, shooting mode, picture profile, LUT, base ISO, gain/EI, white balance, ND, shutter, focus mode, SteadyShot, timecode, audio channels, proxy, scan mode and codec — each a picker with a + Custom… option. + Add setting covers anything not listed.

Auto-name builds a name from the main values, giving you something like HD / 29.97P / NTSC / CINE EI. Leave the name blank and it applies that automatically on save.

Attach to clients makes a preset load automatically on that client's shoots. A preset can belong to any number of clients, and detaching here also removes it from that client.

A job's settings are a copy

Settings are snapshotted when the job is created. Editing the preset afterwards does not change jobs already built from it — and hand-editing a field on a sheet detaches it from its preset.

Remove has no confirmation

Remove on a preset card deletes it immediately. Duplicate first if you're experimenting.

At the foot of the page, Custom values keeps every value you have ever typed into a settings field, as removable chips, so it reappears in the picker next time.

↑ Contents
Business

External Rentals

A ledger of your own gear going out to someone else — no job, no gear list, no call sheet attached.

KitSlate — External Rentals
The External Rentals screen with a logging form for renter, platform, dates, days and payout, above a rental ledger table with status pills.
External Rentals. The form at the top takes about twenty seconds.
  1. Renter — who has it. Required.
  2. Platform — ShareGrid, KitSplit, Direct or Other.
  3. Start date, Days (in half-day steps) and Payout $.
  4. Pick equipment… — each row shows the serial, whether it's already out, whether it's listed externally, and its external day rate. Close with Done — N items →.
  5. A hint appears — "suggested payout $X", being each item's public rate × days. Optionally open More — status, fees, tax, deposit to match your ShareGrid statement line for line.
  6. Log rental →.

Logging flips every picked item to out. Return on the ledger row puts them back in storage. Blank fields are filled in for you on save: end date from start + days, subtotal from daily × days, payout from subtotal − service fee.

Three things to watch

Rentals do not create date conflicts. The double-booking warnings in + Create Production read other shoots only. The same item can be logged out to two renters with no warning at all. Your only signals are the red "out" status, the equipment counts in the status panel, and "already out" in the picker.

Delete the row before returning and the gear stays marked out forever. Hit Return first — the confirmation even admits "(Doesn't change item status.)"

Rentals carry no company, so the company filter in Reports never touches rental income.

Import rentals CSV… auto-detects a ShareGrid rental-history export, de-duplicates on rental ID, files rows as already returned, and matches items to your inventory by name.

↑ Contents
Business

Reports

Twelve reports in three groups. Every number is clickable and drills into whatever produced it.

KitSlate — Reports
The Reports hub showing report cards grouped under money, equipment and crew headings, with a company filter above.
The Reports hub. The company filter at the top applies to all of them.
GroupReports
MoneyBusiness overview · Income tracker · Expense tracker · Profit & loss by job · Outstanding invoices · Client revenue
EquipmentEarnings & payback · Gear status board · Idle gear · Insurance & replacement
CrewCrew bookings & spend · Roster & catering

Business overview

Shoots booked, days booked, total income, equipment revenue, external rental income, crew spend, misc spend, expenses out of pocket vs billed to client, and Cleared (income − crew − misc − expenses). Then the fleet row: items, fleet cost at RRP, fleet day-rate capacity (the sum of every in-studio day rate), in storage, out, faulty, and fleet paid off as revenue ÷ cost.

INCOME MIX breaks down where the money actually comes from — the studio, equipment, you working a role (split per role), and misc — read from each quote's sections.

Which currency a report is in

Job money — income, equipment revenue, crew and misc spend, expenses, rental income — is reported in the billing currency of the company that earned it. Pick a single company in the filter and every figure reads in that company's currency.

If your companies bill in different currencies, KitSlate will not add them together. All companies shows one band per currency, each summing only its own, and says so — there is no exchange rate anywhere in KitSlate and a combined total would be a number that means nothing.

Equipment figures are different: fleet cost, replacement value and used-gear sales belong to your inventory, not to any one company, and nothing ever recorded what currency you bought in. Those stay in the symbol from Settings → Accounting → Country & market. When that differs from the company's billing currency the page says which is which.

How income is calculated

Income uses each shoot's quote where one exists, and falls back to day rates × days where it doesn't. So building quotes makes these numbers real.

Income tracker

KitSlate — Income tracker
The Income tracker showing invoiced, collected, outstanding, overdue and external rental income tiles, an invoiced-by-month chart, and an Import / Export menu above the invoice table.
Income tracker. One door in — Import invoices — PDF or accounting CSV… — and each imported row can be linked to a job and checked against its quote.

The page's Import / Export ▾ menu carries one way in — Import invoices — PDF or accounting CSV… — and two ways out, Export income CSV and Export PDF — print this report. There is no separate Wave button and no separate QuickBooks button: the importer looks at what you dropped and routes it to the reader that understands that shape. You say what you have; KitSlate works out how to read it. The exports it knows: Wave Settings → Data Export, QuickBooks Reports → Invoice List, and QuickBooks Reports → Sales by Product/Service Detail — plus an invoice PDF, which it reads straight off the document. KitSlate has no connection to Wave, QuickBooks or Xero — nothing is fetched from them and nothing is sent to them; you move the file. Every import shows a review screen first, and nothing is written to your workspace until you press Import on it — cancel and not a row lands.

Which review you get depends on what the file holds, because the two shapes need different decisions from you. An invoice list (Wave's export, QuickBooks' Invoice List) gets a per-invoice review that names, for each row, its status and due date, whether it is new or an update to something you imported before, and which production it will attach to and why — "attaches to ‘Studio Interview’ — matched by client name", or "no production matched — arrives unlinked". A line-item export or an invoice PDF gets the line-by-line review instead, where you tick the individual equipment lines and set what kind of income each one is. Both end the same way: Cancel — bring nothing in or Import selected →.

Imported invoices land on the Invoices page tagged IMPORTED and read-only — KitSlate did not issue them, so it cannot edit or send them. On this page each row gets a — link to job — picker, and once linked the app compares it to that job's quote: "quote $X ✓ matches" or "— differs". A row whose number equals the accounting reference written on a job shows a MATCHED badge. This page is the one place that picker lives, which is why an unlinked imported invoice points you here from its own detail page.

Importing an invoice you raised somewhere else

An invoice raised in another system can be brought in as a PDF or a CSV, and you never have to say which system printed it. The same importer opens from six places and behaves identically in all of them:

  • The Invoices page → Import invoice…, beside Create invoice.
  • Create ProductionIMPORTS & INTEGRATIONSImport Invoice — start a job from an invoice you already have.
  • New documentImport Invoice.
  • A job's Invoice tab → INVOICED SOMEWHERE ELSEImport invoice….
  • The invoice Actions menu.
  • SettingsIntegrationsData in & out.

Opened from a job, it knows which job — it checks whether the file is the same invoice and asks before linking them. Opened from anywhere else it inherits nothing, and finds or creates the production itself. Importing the same document twice updates the record that is already there; it never makes a second one.

What it keeps is what the document says: invoice number, customer, invoice date, payment due, currency, subtotal, discounts and credits, total, amount due, every line's description, quantity, rate and amount, a PO or reference where the invoice carries one, and the original PDF itself — held on the record, viewable and downloadable. The total is the total printed on the invoice, not the lines added up: an invoice with a $4,232 subtotal and a $1,000 discount imports as $3,232, and the discount is listed in the review beside the lines so you can see it going in.

It will not guess where a file came from

If the document names its own maker — most do, in the footer — the record says so. If it does not, it says an imported document and means it. A layout that resembles a product is not evidence of that product, and the import works exactly the same either way.

Equipment is only ever offered, never taken

Every line is tagged EQUIPMENT, STUDIO, CREW or OTHER, and you can click any tag to change it — it is remembered for next time. Transport, wire and card fees, discounts, rounding and labour are never offered as equipment, and nothing reaches your inventory unless you tick it.

If it cannot read the file

Three different answers, because they are three different problems. "There is no text in that PDF" means the page is a picture — a scan or a photo — and there are no words in it to read. "That PDF read, but not as an invoice" means the words came off the page fine but no invoice number, total or priced line could be found among them, and KitSlate will not guess at figures; exporting the same invoice as a CSV imports cleanly. Anything that is neither a PDF nor a CSV is refused before it is opened. In the first two cases, a small file also gets an explicit Read it with AI → offer — AI is never run without you asking, and its reading lands in the same review as everything else.

The equipment reports

  • Earnings & payback — per item: times out, days out, cost, rented income, profit, paid off. Only items that have actually been on a booking appear.
  • Gear status board — chips for Out, Faulty, Packed in cases, In cases & out, In storage and External rentals, plus "External capacity: $X/day if it all rents". The equipment rows in the status panel jump straight here with the filter pre-set.
  • Idle gear — priced but never booked. Capacity sitting still.
  • Insurance & replacement — per category, with replacement value falling back to purchase cost. Print this one for your insurer.
Two different "rental incomes"

"RENTED INCOME" on Earnings & payback is internal booking revenue — day rate × shoot days on your own jobs. It is not the External Rentals ledger, which appears only as its own KPI tile. They measure different things.

Roster & catering is deliberately not company-filtered — it reads your whole crew database for employment mix, dietary needs, roles covered and W-9 status.

Only Income and Expenses have their own Export PDF. Everywhere else, use ⌘P — the tables are print-styled and the action columns hide themselves.

↑ Contents
Business

Profile & enquiries

Your "hire me / rent my gear" page, at kitslate.app/profile/<your handle>.

Having a public page at all is optional

Plenty of people run KitSlate purely as internal software — jobs, gear, call sheets, quotes, invoices — and never publish a thing. The switch at the top of the tab is off until you turn it on, and with it off nothing about you is public. Nothing else in the app depends on it.

The switch works in both directions, and it hides rather than unpublishes. Turn it off on a page that is already up and the page stops being reachable straight away — no need to publish again — but your handle stays reserved, and the bio, kit and pictures all stay exactly where they were. Turn it back on and the same page returns. It is a curtain, not a delete.

A personal page is free, on every plan including the free one. Leading with a company instead — your studio taking the headline, its own address at /company/<handle>, and being described to search engines as a local business rather than as a person — is part of Studio and up. The picker shows which is which, and your personal page keeps working either way.

Two handles, two addresses, and both of them always work

You get two names. Your handle is your own page, at kitslate.app/profile/<handle>. Company handle is the studio's, at kitslate.app/company/<handle>. They are separate namespaces, so the two cannot collide. Leave the company one blank and the company page borrows your personal handle — which names the wrong thing, and the tab says so.

The tab lists both addresses at once. The one that is actually published carries a LIVE badge; one that would change the next time you publish is marked ON PUBLISH. Neither badge is guesswork — LIVE is read from the page that genuinely went up, not from what you have currently selected.

Share either address — both always work. Whichever one somebody has, it lands on your page: the one that is not current redirects to the one that is. That holds for every address the page has ever had, so a handle you have since moved away from still resolves rather than 404ing.

The very top level — kitslate.app/market, /crew, /pricing — is KitSlate's own, and member pages never sit there. Handles are lower case: /profile/Stephen sends you to /profile/stephen.

Changing what leads the page no longer moves it — that is now a separate, deliberate action

It used to be a side effect: picking Your company changed how the page looked and silently moved its web address, so every card, bio and email signature pointing at the old one started redirecting. Changing the lead now changes only what the page looks like. A published page stays at the address it went up on.

To actually move it, use the button under the two addresses — Move it to kitslate.app/… — which asks first, tells you the old address keeps working, and makes the move when you next hit Publish page. A page that has never been published has no address to protect, so it simply follows whatever leads.

A handle locks once you publish

Before you publish, both handle fields are editable — pick carefully, because publishing fixes them. There is no link in the world to break beforehand, which is why the lock waits until then rather than snapping shut on your first keystroke.

After that they are read-only, on every machine you sign in from. If you published a typo, the locked field carries the way out: Ask us to change it opens the report form with the request and your current handle already written in, and it lands in the same place a bug report does. When it is changed, the old handle is retired rather than deleted — it keeps resolving for good, so anything already shared still arrives.

KitSlate — Profile
The Profile tab in Settings: the live toggle and Publish page button, Your handle and Company handle both locked after publishing with an Ask us to change it link, both web addresses listed with a LIVE badge on the published one, a Move it button, the link preview, and the picker for what leads the page.
Profile. Everything about your public page — editing, preview and publishing — is on this one tab. Both addresses are shown at once, with a LIVE badge on the one that is actually published.

Find it as Profile in the sidebar, beside the Market — it's the face buyers, clients and crew see. (It's the same screen as Settings → You → Your public page; the sidebar entry is just a shortcut.) Edit what you want, then press Publish page — nothing reaches the public page until you do. The one exception is the Live/Off switch at the top, which acts immediately.

The tab runs in the order you'd set things up: Profile (the live switch, both handles, both addresses, your link preview), What leads your page, The person, A second person, Your companies — logos and pictures — What you offer, The contact card, then Showreel. What you control:

  • What leads your page — you, or your company? Whichever you pick is the primary: it takes the headline, the main picture and the page title Google shows. It no longer decides the web address — see above; on a page you have already published, the address stays where it is until you move it on purpose. The other becomes secondary and appears small underneath — your companies as a WORKS THROUGH row on a personal page, or a RUN BY line with your name and face on a company one. A switch beneath hides the secondary entirely, so you can have a page that is only you, or only the company. Your company stays greyed out until you tick is a studio on one of your companies.
  • What you are — the three chips on your card. STUDIO (somewhere people can book), PRODUCTION COMPANY (an outfit people can commission) and FREELANCE (somebody people can hire). They sit on your card in Find crew, where people filter by them, and at the top of your public page. Any mix is right — a studio that also takes production work and puts its owner up for hire is all three and should say so; they are three switches, not a choice of one.

    They are worked out for you: a company ticked is a studio lights STUDIO, any other company lights PRODUCTION COMPANY, and FREELANCE depends on whether a person actually appears on the page — so a company-led page with the RUN BY line switched off doesn't claim to be a freelancer, because there is nobody on it to hire. Disagree with any of it and flip the switch; your answer sticks from then on. Pages published before the switches keep exactly the labels they went up with until you publish again.

  • A second person — for a couple or a partnership. Add their name and the page carries both portraits, both names and both sets of pronouns, with your roles and theirs shown together and no repeats. Leave it empty and nothing about the page changes.
  • The person — name, pronouns, photo, personal bio, Vimeo, LinkedIn, Instagram. Your roles used to live here; they now sit in What you offer alongside your services, because the two together are what the WHAT I DO strip is built from.
  • What you offer — your roles, your services and how long you have been going. Roles and services together are the WHAT I DO chips, so emptying this block empties that strip; previously the roles sat under The person and clearing the services here left the chips still showing. On a company-led page the chips are the services alone and your roles move to the RUN BY line. Services are also the words Find crew matches on, so pick from the list wherever one fits.
  • The business — location, contact email, company site, in business since, portfolio site, booking site, services.
  • Town or city — separate from Location on purpose. Location is the address printed on your contact card and searched by the map; Town or city is the one Google and a pasted link use, so your page reads "Founder in New York, NY" rather than reciting a street number. Leave it blank and your studio address supplies it.
  • Your companies — the logo and the picture for each company, together in one place. Note what is not here: a company's name, its website and its one-line blurb — the things that actually fill its card on your page — live on the Companies tab, and that is also where you add, rename and delete one. The two link fields in this block are your own, not a company's: Your website is the Web link beside your name, and A second link feeds the badges under it (and, if it matches none of your companies, gets a card of its own). They were labelled "Company site 1" and "Company site 2", which sent people looking for a company's website in the wrong place. One wide photo per company: drop a JPEG straight on the tile and it is downscaled and compressed on the way in so it fits the published page. On a company-led page that photo is the big picture at the top; with no photo it falls back to the logo, and with neither, to initials.
  • Showreel — up to six Vimeo or YouTube links, mixed freely. Unlisted Vimeo links work — paste the whole thing including the private hash. Each field confirms what it recognised.
  • Your link preview — the card someone sees when your page is pasted into Messages, Slack or LinkedIn. KitSlate draws it for you on every publish, from your name, role, city, first three services and your tagline, with your photo if you have one and a text-only version if you don't. The thumbnail on this tab is the real thing; Rebuild it redraws it without touching anything else. Messages and Slack cache previews per link, so add ?v=2 when testing or you will keep seeing the old one.
Kit for hire comes from the Inventory

An item appears as available to hire when — and only when — you paste a URL into its ShareGrid listing field. It shows at the item's public rate, or "Rate on request" if you haven't set one. (Some in-app copy mentions ticking "Rent this out"; there is no such tick.)

A studio page is a different thing to Google, not just a different layout

Leading with the studio changes what the page claims to be, not only how it looks. It is described to search engines as a local business rather than a person — which is the description that can win a map or "near me" result, and carries your address and the services you offer. Leading with yourself describes a person, with your job titles and the companies you work through. Neither is better; they just answer different searches.

One knock-on worth knowing: the switch that hides the secondary reads Show the secondary, and on a company-led page the secondary is the RUN BY line with your name and photo. Switch it off and the studio page drops your personal Vimeo, LinkedIn and Instagram links too. The page is saying it is the outfit, so linking your personal accounts from it would put back exactly what the switch removed.

What a visitor sees

Hero and avatar, name and pronouns, location and member-since, whichever of the STUDIO, PRODUCTION COMPANY and FREELANCE badges you have switched on, your links, bio, a WHAT I DO chip list, a contact card with a map, the showreel grid, FOR SALE — N ITEMS (live listings, updating themselves, headed with a count of what is currently active), KIT FOR HIRE with a Request → per row, THE COMPANIES, then the GET IN TOUCH form.

An enquiry arrives on Activity as an ENQUIRY card with their name, email and message — the one thing on that page you can act on, which is why it renders as a full card rather than a one-line record. Reply from there and it sends through KitSlate with your company footer.

Publishing is a snapshot

Bio, roles and kit-for-hire are a snapshot — re-publish after you edit them. For-sale listings are the exception and update themselves.

The Live/Off switch is the exception in the other direction: it acts the moment you click it, without publishing, and it works both ways. Off takes the page out of view straight away and keeps your handle, your text and your pictures exactly as they were; on puts the same page back at the same address.

If you fill in Contact email, it prints on the public page. The "email is never shown" promise applies to the enquiry form, not to that field.

The whole published page has to fit one database record, and pictures are the bulk of it. If it doesn't fit, KitSlate publishes everything else and leaves the largest picture out rather than failing — it tells you which one went. Re-upload a smaller shot to get it back on.

There is no client self-booking

Worth being clear about: a client on your page either taps the button at the top of your contact card — a link to whatever external booking site you configured — or sends the enquiry form. You reply, then raise the job yourself with + Create Production. That button reads Book the studio → on a company-led page and Get in touch → on a personal one, because a studio gets booked and a freelancer gets contacted; That button says on the contact card overrides both with your own wording, and an empty Booking or contact link hides the button entirely.

The confirmation page some people mistake for client booking is the call sheet confirmation link that crew receive by email: "See you on set?" → ✓ Confirm — I'll be there. Opening the link only reads status, so a link scanner can't confirm anyone by accident.

Two other public pages exist that you appear on automatically: the crew directory (every published profile, searchable by role, kit and city, and filtered by Studios / Production companies / Freelancers) and the used-gear market.

↑ Contents
Community

Rate Guide

What the industry actually charges — crew day rates, equipment rentals, all-in operator rates, studio rates, and what equipment is worth to buy and sell.

KitSlate — Rate Guide
The Rate Guide Crew Rates tab showing role rows with a source badge, a typical rate, a low-to-high band, the sources behind the figure, and a filter bar for market, work type and currency.
Rate Guide — Crew Rates. Every row states what kind of figure it is before it states the number.

Give to get — the opt-in

The whole guide is gated behind sharing. Opted out, you see a LOCKED badge and two buttons: Turn sharing on and What gets shared?

Opted in, the page carries a short status card — shared rates, your community access level, and how many of the five categories you share. The individual category switches are not on the page; they live behind Manage sharing, which spells out exactly what each one sends. Turn a category off and that tab shows SHARE TO SEE.

KitSlate — Settings → Rate Guide
The Rate Guide settings tab showing the sharing master toggle, five per-category toggles, country and market selection and rental term options.
Settings → Rate Guide. Every sharing decision lives here as well as behind Manage sharing.
Exactly what leaves the app

Only the guided contribution flow uploads anything. Nothing about your inventory, crew or rate cards is silently harvested. The one upload path is Contribute ratesShare N rates →, and the step before that shows you the finished row in plain words before it sends.

A shared row contains: the kind of rate, the item or role name, the rate, the unit, the work type, and your city and country. It carries no submitter identity — never your name, company, clients or studio name. The pool table has no column that could hold one.

In-studio rates are not benchmarked. They are labelled “internal rate — not benchmarked” and are not included in the shared pool. Only your on-location and public/ShareGrid tiers are ever compared.

Equipment purchase and sale prices you add post as soon as you save them, and are shown only as an anonymous median.

Reading a row

Every row leads with a source badge saying what kind of figure it is, then the number. The badge vocabulary is fixed and used everywhere in the guide:

BadgeWhat it means
Community medianReal pool data. Only appears once five or more members have shared that exact item in that market.
Researched benchmarkA hand-checked range with citations. Not a member submission.
Union referenceAnchored on a published union or guild rate card.
Public rental listingAnchored on public listings — ShareGrid, Adorama, Peerspace and similar.
Retail referenceA researched list price for buying new.
Current asking priceWhat used units are listed at right now. Not what they sold for.
Verified sold priceA completed sale from a data provider. No provider is connected yet, so this never appears.
Community purchase / sale priceWhat members report paying, or what they report selling for — kept apart.
Insufficient dataNot enough observations to say anything. KitSlate leaves it blank rather than guessing.

Under the badge sits the headline number, and it is named for what it is — Community median when the pool cleared five contributors, Benchmark midpoint when it did not. The two are never both called "common". Below that: the low-to-high band with a typical marker, the day length and overtime assumptions, how many contributors are behind it, and a Sources: line naming the real rate cards and listings it was checked against. Details and sources → opens the full breakdown, every citation with its URL, the methodology, and a Report a problem button.

If you have your own comparable figure, it appears as a marker on the band plus a percentage against the typical rate. It is only shown when you actually have one — there is no "yours — none yet" noise on every row.

There is deliberately no fake sample size anywhere.

Finding things

Search the Rate Guide at the top searches everything at once — roles, rental gear, operator packages, studios and the equipment catalogue — and groups the results by category. It understands the way people actually type: dp finds Director of Photography, 1st ac finds the camera assistant, fx6 and 600d find their gear, plurals work, and a typo like gaffar still lands on Gaffer. Clicking a result opens the right tab and highlights the row, keeping your market and work-type filters. The equipment catalogue has its own separate search inside Equipment Value, clearly labelled so you know which one you are using.

Everything you are browsing is set in one filter bar: Market (country plus an optional city), Work type, and Currency, with Reset filters when you have wandered. The flag shortcuts are still there as a quick way to change country.

The five tabs

TabWhat's in it
Crew Rates20 roles, Director down to PA, with day lengths, overtime notes (1.5× after 10h, 2× after 12h) and kit-fee flags.
Equipment RentalRental rates with Rental period (per day / per week / weekend) and Rental context (studio rental / location rental / public marketplace).
Operator + KitSix all-in "person plus their gear" rates — ENG shooter, corporate one-man-band, doc DP, live op, photographer, drone op.
StudiosHourly and daily rates with minimum-booking notes and a derived per-1,000-sq-ft figure.
Equipment ValueWhat gear costs to buy and what it is worth to sell — see below.
Week and weekend rates are worked out, not observed

Members only ever contribute day rates. Switch Rental period to per week or weekend and the row picks up an Estimated from daily rate badge — a week is 3× the day (keep 7 days), a weekend bills as one shoot day. Public ShareGrid and Adorama listings carry their own weekly terms.

Equipment Value

KitSlate — Rate Guide → Equipment Value
The Equipment Value tab showing an item card split into separate slots for new retail, used asking, verified sold, community purchases, community sales and estimated resale, each with its own source badge.
Equipment Value. Needs sign-in, but is not share-gated.

Each item is split into slots that are never allowed to borrow from one another:

  • New retail — a researched list price. Never counted as community data.
  • Used asking — what used units are currently listed at on the Market, with how many are for sale.
  • Verified sold — reads Unavailable. There is no completed-sale provider connected, and asking prices are never substituted for sold ones.
  • Community purchases and Community sales — what members paid, and what they got, kept as two separate figures.
  • Estimated resale — only where there is real second-hand evidence. If there isn't, it says Not enough data to estimate rather than inventing a depreciation curve.

The tab opens on items that actually have pricing data. Items with none are hidden behind Show items without pricing data, or appear if you search for them directly, own one, or someone has an open price request against them. Filter chips across the top narrow it to New retail, Used asking, Sold prices, Community purchases, Community sales or My gear value.

Add a price asks whether you bought or sold it and what condition it was in — that is what keeps the two community figures apart. If you are still selling something, that is a listing rather than a price: put it on the Market and it shows up as an asking price. Request a price posts to the community board; replies arrive on your Activity page without exposing your email.

My Gear Value

The My gear value filter values your own inventory against the same data. It shows how many items could be valued, an estimated low, midpoint and high for the fleet, and how many items had nothing to go on.

Each item carries a condition selector — like new, excellent, good, fair, heavily used, damaged or parts. Condition places the item inside the range the market actually showed, and never above it: a like-new body cannot be valued higher than the highest real figure on record.

It never touches your own numbers

My Gear Value reads your purchase price and replacement cost but never writes to them. Your insurance and replacement figures are yours; the condition you set here is stored separately and changes nothing in Inventory or in the Insurance & replacement report.

Why naming matters

Valuation matches on item name. Picking a name from the CATALOGUE type-ahead when you add gear is what lets the Rate Guide find it. An item that reads "not matched to a catalogue item" needs renaming to a known type (for example "Sony FX6") before it can be valued.

Gear the catalogue doesn't know yet

Wherever you type a piece of equipment — the item editor, an import's review screen, a market listing, a rate contribution — if nothing matches, the type-ahead offers + Ask KitSlate to add "…" to the catalogue. That files a request with KitSlate, who check it and add it properly; you'll see it appear in the type-ahead once it's in. Your gear list, listing or rate still saves exactly as you typed it in the meantime — nothing waits on the request. Asking twice for the same thing is harmless: the second ask joins the first rather than making a duplicate.

Contributing

There is one Contribute rates button, top right. It asks what you want to share — crew rate, equipment rental rate, operator + kit rate, studio rate, or an equipment purchase or sale price — then shows only the fields for that choice.

For rate contributions you set the production type and your city, then build as many lines as you like with Add. A Person with gear toggle files a crew rate into the operator + kit pool instead, and Add my studio rate card pulls your hourly / half / full / buyout figures from Settings.

Before anything sends, Review what gets shared → lists the finished rows in plain words and, beneath them, what will not travel. Afterwards you are told plainly that a community figure needs five members on the same item before it appears — your submission is counted while it waits, not lost.

Typing your own equipment name

Pick Type your own… and, from the second character, the shared catalogue suggests matching names beneath the box — "fx" offers the FX6, FX9 and FX3; "alexa" and "600" find theirs too. Picking one is the surest match, because it fills in the catalogue's exact spelling.

If you'd rather just type it out, KitSlate still tries to match what you typed against the catalogue by name. Real gear names rarely line up exactly — "Sony PXW-FS7M2 XDCAM Super 35 Camera System" is the same camera as the catalogue's "Sony PXW-FS7 II" but shares almost none of its wording — so when that plain match misses, the name alone is sent to AI to decide whether it denotes a catalogue product.

Only a confident answer is accepted, and the row then reads → matches <name>. Anything less stays new — pending review, with the AI's reading shown beside it as a suggestion only. That caution is deliberate: a wrong match would quietly merge two different products' rates into one benchmark.

This step runs for equipment only, needs you signed in, and never runs in the sandbox. If it can't run, your typed name still submits — just unmatched.

Leaving has a cooldown

Your first switch-off of any given category is a free try. After that, rejoining that category is locked for 7 days — ×4 if you have left it twice or more, halved if you are a Top contributor (15+ shared rates). Benchmarks hide immediately when you leave.

If you only want the badges to go away, use View only on the Inventory or Crew toolbar, or turn off Show the "where you fall" scale — neither costs you access.

Country and market

The country you pick in the filter bar (and under Settings → Accounting → Country & market) sets your Rate Guide market and the currency symbol on figures the workspace holds — equipment cost, replacement value, used-gear sales and your own rate card. It does not convert numbers you have already typed, and it is not what your invoices are issued in: each company confirms its own billing currency under Money → Getting paid, and quotes and invoices follow that. Changing Market changes what you are looking at, not your home market — while roaming you get "≈ home" conversions marked as indicative.

↑ Contents
Community

The Market

Free peer-to-peer used gear between members. Listings cost nothing and KitSlate never touches the money.

KitSlate — Market
The Market screen: a search box and category filters, a count of items for sale and newest-or-price sorting, then listing cards with photos, prices, condition chips, seller first name and city, and trust badges such as Verified by receipt.
The Market. Cards group into YOUR LISTINGS then FOR SALE FROM MEMBERS.
Read this before you buy or sell

KitSlate never handles the money. You agree the deal and settle payment between yourselves. Check gear in person before paying, and meet somewhere sensible. There is no escrow, no buyer protection and no dispute process.

How buyers browse it

The public page at kitslate.app/market shows the same listings to anyone, signed in or not — the gear sits at the top, and the explainers are below it. Buyers narrow it with the search box (gear name, brand or city), the category chips, and an ordering row: Newest, Price low, Price high. Every tile is the same height; an older listing with no photo shows a stand-in naming the brand rather than the gear, because a picture in that slot would read as a picture of the item. New listings all require a photo. On a phone the grid runs two cards to a row.

Opening a card gives a quick view; Esc or the browser's Back button closes it. Share copies that listing's own address — every listing has a real page at /market/<id> that search engines can index.

Listing something

+ List gear for sale:

  • Bringing over your own Craigslist post — paste the link into the field at the top of the form and press Import →. KitSlate fetches that page, reads it, and brings the photos across at full size (Craigslist keeps a 1200×900 beside the 600×450 it shows). They go through the same watermark and crop as an upload. Craigslist links only — anything else is refused, because an endpoint that fetches whatever URL it's handed is a security hole. Facebook isn't fetched at all: it refuses ordinary browser requests, so screenshot it instead.

    An imported listing carries a CROSS-POSTED chip and a banner naming where it came from — Imported from Craigslist, or Facebook Marketplace, or wherever — with a View original listing → button underneath that opens the original in a new tab. The address itself is kept on the listing but never printed: a marketplace URL is a wall of characters and it told a reader nothing the button doesn't. A listing brought over by screenshot names its site but has no button, because a screenshot carries no link. That chip is grey, not green — it's information, not a KitSlate endorsement. The banner says what's actually been checked and no more: KitSlate can confirm the photos appear on that other post, but not that the account there belongs to the seller, and it says so out loud. The "these photos match that live listing — KitSlate checked" line only appears once the reverse-image check has actually run and found the match; until then it stays off.
  • Already listed somewhere? — the form opens in three parts: this import box, then The listing, then Photos & proof, so it's clear what happens in what order. Everything to do with bringing a listing over is in the one box at the top — the Craigslist link field and the big paste area together. Two ways in: screenshot the listing page and press ⌘V in the box (or drag the file in, or use + Screenshot…), or select the listing text and paste that. The screenshot route is usually easier — Facebook's listing text is awkward to select in one go. Fill the form from this → sends it to AI, which sorts it into the fields below. A screengrab is shrunk in your browser before it leaves, read once, and never stored — and it is not a listing photo; the reader ignores the browser chrome, seller card and thumbnails around the listing, and judges condition only from what the page prints, never from how the gear looks. KitSlate never visits the other site — you paste what you can already see, so this stays clear of scraping and of other marketplaces' terms. It never overwrites something you already typed, phone numbers and email addresses are stripped out of the description (buyers message through KitSlate), and the seller name always stays yours. If the paste isn't a piece of gear for sale it fills in nothing rather than guessing. Photos are the one thing it can't do — add those yourself.

    It reads each site on its own terms rather than expecting one layout: Craigslist glues the price and neighbourhood onto the title, so both get cut; where a listing quotes two prices ("Retail $1,849.79. Selling for $1,400") it takes the one being asked; and a bare neighbourhood is turned into the city a buyer would actually search. Condition is the one to watch — Craigslist listings often don't state one, and when that happens the form says so and leaves Good sitting at its default. Set it yourself, or you've made a claim about the gear the listing never made.
  • What is it? — with catalogue type-ahead. Matching is optional, but it is what puts your listing on the Buy-prices page. Press Enter on a part code and AI resolves the full name.
  • Asking price — the placeholder suggests the used median, or roughly 62% of new.
  • ConditionLike new / Good / Well used / For parts.
  • Category — the ten filter buttons buyers browse the market by. It fills itself in from the catalogue match, or failing that from the name, and says so underneath; tap another to overrule it. A category is required — a listing with no category would sit under Other, where the gear is effectively unfindable.
  • Brand — optional — filled from the catalogue when it recognises the gear, otherwise type it. It is searched alongside the name.
  • Details — what's included, hours, marks, box.
  • City — prefilled from your studio address.
  • Photos — up to 8. The first is the cover; drag a photo onto another to drop it into that place, or use ‹ › (which is what you need on a phone — touch screens don't do drag-and-drop). Dropping image files onto the box still adds them, as before. AI fill from photo reads your first shot and suggests the name, description and price — always check it. Images are downscaled and watermarked.
  • Prove it — optional — upload the purchase receipt as a PDF. AI checks the product and buyer name and you get a VERIFIED BY RECEIPT tag. Buyers only ever see the tag, never the receipt.

Then List it →. You need a name, a price above zero, your first name set, a category, and at least one photo — photo-less listings aren't allowed.

Selling from your inventory

Sell this → on any inventory item fills the listing from what the shelf already knows, so you retype nothing: the name (snapped to the catalogue by model number when the name alone missed), the model, SKU and purchase date into Details, the item's photo, and a Category read off the shelf it sits on (a catalogue match overrules that, and you can overrule both). It also attaches provenance the app can vouch for — how long it has been in your inventory, how many jobs it has done, how often it was rented out — shown to buyers as TRACKED IN KITSLATE.

The receipt comes across too. If a receipt is already filed against that item, it goes through the same AI check as a manual upload without you uploading anything, and the provenance line upgrades from "purchase receipt on file" to verified with the original receipt — plus sold by the original owner when the buyer name on it matches yours. Receipts whose PDF was too large to keep still verify from their saved text copy.

Two things it deliberately will not do: your Notes and serial numbers never go into a public listing, and the carried photo is flagged — if it is a stock product shot, replace it with the actual unit. A stock image cannot earn the PHOTOS CHECKED badge, and buyers expect to see the real thing. Buyers only ever see your first name; your email address is never displayed.

Messaging, and marking things sold

Message the seller → needs a free account — pressed while signed out, it offers one, and once you are in you land back on the same listing. Threads live in a MARKET MESSAGES panel at the top of the Market page — deliberately kept out of your job inbox — with archive and delete per thread. Neither side ever sees the other's email address.

Mark as sold asks what it actually sold for, not the asking price, and offers to remove the item from your inventory (on by default). That real figure feeds the community used-price median anonymously.

Sold, not removed

Remove takes the listing off the market for everyone straight away, with no undo in the UI. Use Mark as sold for actual sales; save Remove for withdrawing a listing.

Deleting a message thread is one-sided: your copy goes for good, the other person keeps theirs.

What happens to an archived listing

Removing or selling a listing archives it. The record is kept for ever — title, price, condition, city and dates stay in your history, and a real sold price keeps feeding the anonymous used-price median.

The photos are deleted permanently 90 days later and cannot be restored. Photos are almost the entire weight of a listing and serve nobody once it has been off the market for three months. The clock starts the moment it is archived; relist inside that window and the photos stay.

Profile pictures are different

Your photo, company pictures and logos are deleted immediately. Remove one and republish your page, and it is gone from the published page in the same moment — there is no retention window, because those pictures live in the page itself rather than in an archive.

Prices don't convert

A listing keeps whatever currency symbol your account had when you posted it. Nothing is ever converted.

↑ Contents
Admin

Settings

Five categories down the left, sixteen tabs inside them. You will spend time in four and never think about the rest.

KitSlate — Settings → Profile & account
Settings, Profile and account: the account holder photo with upload and remove buttons, first and last name fields, and a read-only sign-in email.
Settings → You → Profile & account. This is the one person the account belongs to.

Settings has two controls and they never move. The category button, top left, reads Category — TabYour business — Companies & branding, say. Click it for all sixteen tabs under their five categories, each with a line saying what it is for. The section row runs along the top beside it and lists the sections of the tab you are in. Nothing else changes position between tabs, so the content always starts in the same place.

Four tabs — Your public page, Studio, Rate Guide and Agreements — put every section on one scrolling page instead of swapping between them, because those are the ones you fill in top to bottom rather than dip into. There the section row is a set of jump links: click one and the page scrolls to it and flashes what you landed on.

Nothing was removed when this grouping arrived — every tab is the tab it was, under a heading that says what it is for. Team & access appears only if you are the workspace owner.

KitSlate — Settings
The Settings shell: a category button reading Your business, Companies and branding, a row of section links across the top beside it, and the settings content filling the full width of the page below.
One shell, every tab. The button picks the tab; the row beside it picks the section. Both sit in the same place on all sixteen.
TabWhat's in it
You — your account and how KitSlate looks
Profile & accountYour photo, first and last name, and a read-only sign-in email. Your first name and picture travel to the Market, your public page and your emails. Your email is never used as a public name.
Your public pageLive/off, both handles, both addresses, and all the public-page content — see Profile. Also reachable from NETWORK → Profile in the sidebar.
Plan & subscriptionThe Current plan line, the plan cards and Manage billing.
FeedbackSend a bug, idea or question with up to three screenshots.
Your business — the companies you invoice as
Companies & brandingAn Overview table with every company as a row, then one section per company: name, EIN / Tax ID, address, email, reply-to, phone, website, logo, brand colour (document headers and totals), a one-line description for your public page, and the email footer. One is marked Default brand and fills any blank field on the others' documents. Also the app accent colour.
Team & accessSeats and permissions — see Plans, billing & team. Owner only; it does not appear at all for anyone else.
StudioStudio name and address, how many rooms, minimum booking, then per room: per hour, half day, full day and size in sq ft with a $/sq ft sanity check. Plus bundles, full-building rates, and podcast / multi-camera / green-screen rates.
Money — quoting, invoicing and getting paid
QuotesThe defaults behind every quote: Quote defaults (which sections show), Equipment & lines, your own Misc lines and Presets. Terms and payment details used to live here as well; they moved, and the tab carries a pointer saying where.
InvoicesWhat a new invoice starts with, per company — Invoice numbering, Terms & due dates, Notes & footer and Document display. Not invoice editing; that belongs to the document itself.
PaymentsPer company: billing currency, whether online payment starts on, and a card for each method you accept — Online card payment (Stripe), Credit cards, American Express, Bank transfer (ACH), International wire, Zelle and PayPal / Venmo. Each has an on/off toggle, a percentage and a fixed fee, and a standing You absorb it / Add to the invoice answer. Below them, the bank details that print on the document: bank, account name and number, routing, SWIFT / BIC, IBAN, bank address, intermediary bank, Zelle, Venmo, PayPal and cheque payee. A second section, Banking fee lines, holds the one-off fee catalogue — that one is shared across every company, the method cards are not.
AccountingLedger accounts, Country & market (where you work, and the symbol your own equipment and rate figures carry) and Export.
How you work — documents, calendar and rates
AgreementsAgreement templates, Saved clauses, Agreement profiles, Signing and Defaults — see Agreements.
Requests & approvalsWhether answers from clients and crew are held for your approval, how long request links live, and when To do offers a reminder — see Requests & approvals.
CalendarA signpost, not a settings page. The calendar's own settings are a workspace of their own — see Calendar.
Rate GuideThe pool (sharing toggles), country & currency, the where-you-fall scale, external rental prices, your studio rate card, and which rental terms you offer clients.
Connections & data — other software, and your data
IntegrationsConnected services — Google Calendar, ShareGrid, Stripe and Email, which must be set up before sending documents or handing off. QuickBooks, Wave and Xero appear here as file exchange only: KitSlate reads and writes their CSV formats and does not connect to any of them. Data in & out is a full table of every import and export in the app.
Data & backupBackups, restore, the per-module resets and the danger zone — see below.
KitSlate — Settings → Quotes
Settings, Quotes: the quote defaults section with its section toggles, beside the rail listing Quote defaults, Equipment and lines, Misc lines and Presets.
Settings → Money → Quotes. Quote defaults only. Terms, ledger accounts and payment details now live on Invoices, Accounting and Payments.
KitSlate — Settings → Your public page
The Your public page settings tab with all of its sections stacked down one scrolling page, each as a full-width card.
Your public page. Every section on one page, each the full width — the row above jumps you to any of them.

One colour picker

Anywhere KitSlate asks for a colour — a company's brand colour, the app accent, a calendar's colour, the fallback behind your public page's banner — you get the same control: a dot showing the colour it is now, which opens a small panel holding the house palette and one spectrum dot for anything else. It opens against the dot you pressed, and Esc closes it.

One owner per setting

Where two tabs once wrote the same value, one of them was removed rather than kept in step. Payment terms are on Invoices; ledger accounts are on Accounting; bank details and method fees are on Payments. Quotes points at all three instead of repeating them, and the calendar's settings exist in exactly one place.

Feedback replies come back in-app

Send feedback from Settings → You → Feedback — pick Bug, Idea or Question, attach up to three screenshots (drag, browse, or just paste with ⌘V), and press Send feedback →. Replies from the KitSlate team arrive as a thread on Activity, not by email.

↑ Contents
Admin

Your data & backups

The most important section in this manual. Read it once, properly.

KitSlate — Settings → Data & backup
Settings, Data and backup: the Backup and recovery section with export backup, import backup, export quotes CSV and re-import uploaded files, beside a rail carrying Workspace data and Clear everything.
Settings → Data & backup. Export backup (.json) is available on every plan, by design.

Where your data actually lives

Everything — inventory, clients, crew, jobs, quotes, invoices, settings — is held in your browser's local storage as one blob.

If you are signed in, the same data is also written to the server a couple of seconds after every change, and the server copy is the real one. Sign in on another machine and your work is there.

If you are signed out, the browser is the only copy in existence

Things that wipe it: clearing site data or cookies, a browser reset, a private/incognito window, a different browser, a different computer, the operating system evicting storage under disk pressure, and browser storage simply filling up.

The prototype gets roughly 5 MB. Attached receipt PDFs are the usual thing that fills it — though when you're signed in, imported originals go to private cloud storage instead of the browser, so this mostly concerns signed-out use.

Watch the last row of the status panel, top right of every page. Saved to your account 5m ago is healthy. Saved on this device means you are on your own. Offline — saved here, syncs when back is fine and will catch up.

If you see the red banner

"⚠ Not saving — browser storage is full. Your recent changes are only in this tab and will be lost if you reload." Do not reload. Press Export a backup now first, then free space by dropping receipt PDFs.

The routine to actually follow

  1. Sign in. That alone gets a server copy of everything.
  2. Leave cloud sync alone — it is automatic. Clicking the sync row in the status panel opens the sync window, which has a Sync now button if you want to force it.
  3. Export a .json every week anyway — and always before a big import, a bulk price change, or anything in the danger zone on Data & backup.
  4. Keep exports somewhere that isn't this laptop. A backup on the machine that dies with it is not a backup.

Exporting and importing

Export backup (.json) downloads the whole workspace as kitslate-backup_<date>_<time>.json.

Import replaces — it does not merge

Import backup checks the file is a real KitSlate backup, then tells you what is in it and asks you to confirm — Replace my data. Anything that isn't a backup is refused and nothing changes. But once you confirm, it replaces everything in this workspace and there is no undo. Export your current state first, every time.

Encrypted cloud backup without an account

If you are not signed in, ☁ Sync offers key-based encrypted backups instead. You are given a phrase like slate-grip-tally-274 under YOUR SYNC KEY — SAVE IT SOMEWHERE REAL, and your data is encrypted in the browser before it leaves. The last 20 backups are kept.

The key is the only key

The key is what restores a backup. Record it somewhere other than the browser you are using — without it, this device cannot restore from your cloud backups.

To restore on another machine: ALREADY HAVE A KEY? RESTORE THIS DEVICE FROM IT → paste → Restore →. This one does confirm first.

The three sections of the tab

Settings → Connections & data → Data & backup has its own rail with three sections, and they are ordered by how dangerous they are.

  • Backup & recovery — safe. Nothing on it removes a record, and it says so at the top. It also tells you the date you last exported a backup, or that you never have.
  • Workspace data, under RESET — one card per module, each resetting on its own. You never have to clear everything to clear one thing.
  • Clear everything, under DANGER ZONE — the two whole-workspace actions.

Resetting one module at a time

Each card names the module, counts what is in it right now, and lists Deletes beside Keeps before you touch anything.

CardDeletesKeeps
InventoryEquipment items, kits, categories, storage locationsProductions and their gear lists, clients, crew, quotes and invoices
ClientsClient records, their contacts and addressesProductions — they keep the client name as typed — and quotes and invoices already written
CrewCrew records, roles, rates and contact details, outstanding crew requestsCall sheets (they keep the rows already on them), productions, clients
ProductionsEvery production, their gear lists, call sheets, quotes, invoices and agreements, and the expenses attached to themInventory, clients, crew, studio, presets and templates
Quotes & invoicesThe quote and the invoice on every production, plus imported income-tracker invoicesThe productions themselves, gear lists, call sheets and agreements, clients, ledger accounts
DocumentsCall sheets, agreements, and the send history on every documentProductions, quotes and invoices, gear lists, templates and clauses
StudioRooms and spaces, bundles, hourly / half-day / full-day / buyout rates, the studio addressThe company the studio runs under, productions booked into it, Rate Guide sharing settings
PresetsPacking presets, call-sheet templates, agreement templates, clauses and profiles, saved misc lines and quote presets, remembered import column mappingsEverything they were used to build — productions, documents and inventory are untouched

Three of the cards carry a warning worth reading before you press anything. Clients: quotes and invoices that referenced a client fall back to the plain name, and the contact block on those documents empties. Productions: a production owns its documents, so resetting productions takes all five with it — reset Quotes & invoices or Documents instead if that is what you meant. Quotes & invoices: an invoice already published to a client lives on the server and is not removed by this; unpublish it from the invoice itself.

Two things the page reports but deliberately offers no reset for. Marketplace listings are managed where they are sold, so the card links to the Market instead of deleting them here. Notes are a field rather than a module — on an item, a payment, a quote line, a call sheet — and go with the record that carries them.

The destructive actions

ActionWhat it does
Clear everythingEmpties the workspace in one action — inventory, kits, clients, crew, productions, quotes, invoices, call sheets, agreements and presets, with the exact count of each listed before you confirm. Not deleted: companies and branding, your account and sign-in, plan & subscription, integrations, global settings and preferences, and backups you have already exported. No undo and no staged rollback.
Reset to starter dataDiscards this workspace entirely and rebuilds it from the starter inventory KitSlate ships with. Deliberately separate from Clear everything: that one leaves you empty, this one leaves you with sample data. The page reloads.
↺ Re-import my uploaded filesHarmless, and not part of the danger zone — it sits under Backup & recovery. Brings back the files this workspace was set up from (rental history, sample receipts, the sample call sheet). Nothing is deleted and anything already present is skipped.
There are no confirmation buttons here — you type the phrase

Every destructive action on this tab, module resets included, goes through the same gate. A button opens it; the gate itself is what runs the action.

  • A module reset and Reset to starter data ask you to type RESET.
  • Clear everything asks you to type DELETE EVERYTHING and to type the email address this workspace is signed in as. KitSlate has no password to re-enter, so the account address is the second check. If the workspace is not signed in there is no account to check against, and the page says so — the typed phrase is the only gate.

The final button stays disabled until both fields match exactly; the address is compared without regard to case, the phrase is not. Cancel closes the gate and does nothing. The gate is the guard — clicking the button that opened it is never enough on its own.

↑ Contents
Admin

Plans, billing & team

KitSlate — Pick your plan
The plan picker showing five plan cards — free Profile, Solo, Studio and Production House with monthly prices, and Enterprise with custom pricing and a Contact us button.
The plans. Monthly or annual, with annual saving 20%.
PlanPriceCompaniesTeam seats included
ProfileFreePersonal profile
Solo$19/mo1 company1 seat — you
Studio$49/mo2 companies3 seats
Production House$149/moUnlimited companies8 seats
EnterpriseCustom pricingUnlimited companiesCustom seats

Seats are logins for the people who run your business. Crew, clients and anyone you send a private link never need a seat. Extra seats beyond a plan's allowance aren't billed yet — a workspace over its allowance keeps every member working and simply can't add more until seat billing ships or the plan changes.

The free Profile tier leads with your own public profile page, plus buying and selling used gear — the production toolkit starts at Solo. The profile is free on purpose: it is the page a buyer checks before handing money to a stranger, so it would be self-defeating to charge for it. Activity is open on the free tier too, for the same reason: your page carries a contact form and the market lets buyers write to you, so the page those land on cannot be behind a paywall. What is genuinely gated: the company-profile cap, the studio features (Studio and up), bulk CSV export (Studio and up), and bulk import (Production House and up).

Free on every plan

The full JSON backup, calendar .ics export and B&H receipt import are not gated. Your data is not held hostage to a plan.

Checkout is Stripe, and Manage billing opens the Stripe portal for card changes and cancellation. In the sandbox nothing can charge you — the button reads Exit sandbox to subscribe.

If your plan was given to you

A plan can also arrive as a gift — an invitation with a few months of Studio on it, say. There is no card and no subscription behind one, so there is nothing to cancel and nothing that renews. Settings → You → Plan & subscription says so on the Current plan line at the top of Plan & billing: Complimentary — no charge. if it is open-ended, or Complimentary — ends Mar 3, 2027, then drops to the free plan. if it has an end date.

A complimentary plan ends by itself

On its date the account drops to the free Profile tier. Nothing is deleted and nothing is charged — the paid features simply stop, and subscribing normally picks them straight back up. Take the date on that line at face value; it is the day it happens.

Adding people to your workspace

KitSlate — Settings → Team & access
The Plan and subscription settings tab, showing the current plan line, the plan cards and seat and permission controls.
Settings → Plan & subscription. Seats and permissions live with the plan now. Workspace owner only.

Team & access has four sections down its rail:

  • Overview — included seats, seats used, available, pending invitations, plus your plan, your companies and a line telling you exactly what will happen if you send another invitation.
  • People — everyone who can sign in, you included. Each person shows their role, whether they hold a seat, their email, when they joined and when they were last active.
  • Invitations — people you have invited who have not signed in yet, with Resend, Copy link and Cancel.
  • Roles — what each of the five roles opens, and what a role does not do.
An invitation holds a seat from the moment you send it

This is the number that catches people out. A seat is taken by you plus every active member, but an invitation that has not been accepted is also holding one — so three included seats with two invitations out means one person can still be invited, not three. The Overview tiles count it that way, and so does the check that decides whether the next invitation can go.

Cancel an invitation and its seat is free immediately.

Seats work today; extra-seat billing does not exist yet

The machinery is live: role templates, invitations, the nine permissions, suspend/reactivate and the single-editor lock all work, and each plan includes the seat allowance in the table above.

Nothing bills for a seat yet. Seats beyond your plan's allowance aren't sold: a workspace at its allowance keeps every member working and simply can't add or reactivate anyone until a seat frees up or the plan grows. When per-seat billing ships it will be priced then — never charged retroactively.

+ Invite someone takes their name and email, then their role — Administrator, Producer, Studio Manager, Bookkeeper or Read only. A role sets nine areas at once: five are normally on (Jobs & documents, Inventory, Crew database, Clients database, Calendar) and four normally off, three of them sensitive (Money, Crew rates, Rate Guide, Company settings). Change any single area afterwards under Manage access and the role reads Custom — the areas are what the app actually reads.

They get an invite email with Accept your seat. It expires in 14 days and must be accepted while signed in as that email address. Invite the same person twice and KitSlate stops you and offers to resend the first one instead, because a second invitation would hold a second seat for one person.

A role shapes the screen, not the database

Roles and areas decide what the app offers someone — which pages open, which buttons exist. They are not record-level isolation, and there is no per-company restriction: everyone with a seat can work under every company in the workspace. Give someone a seat because you trust them with the business. If you genuinely need someone kept to one letterhead, that is a separate workspace today.

One editor at a time

Members with permission can edit. Because the workspace saves as one document, KitSlate uses a single-editor lock: if someone else is in a record you see "<Name> is editing — you're viewing only." with Ask to edit, and they get Let them in. Owners can Take over.

Who does not need a seat

Crew and clients you email call sheets, quotes, agreements or handoff forms to never need an account or a seat. Only people working inside your workspace do.

Suspending, reactivating and removing

Open anyone under People → Manage access. Both destructive actions ask first.

  • Suspend ends their access straight away and frees their seat. Their role, permissions and everything they created stay exactly as they are, and they are not told why — so it is worth a word with them. Reactivate puts them back, provided a seat is free.
  • Remove takes them out of the workspace and cancels any invitation still outstanding for their address. Nothing they created is deleted.
There is no way to hand a workspace to someone else yet

Transferring ownership is not built. The owner is stamped on every record, invoice and subscription in the workspace, so it has to be one deliberate, reversible move rather than a button — it is on the list, not in the product.

↑ Contents
Reference

Things that catch people out

Every warning in this manual, in one list. Worth skimming before you trust the app with a real job.

Data

  • Signed out, your browser is the only copy of everything. Sign in, and still export weekly.
  • Import backup asks you to confirm, then replaces everything. There is no undo — export first.
  • Lose your backup key and you cannot restore from the cloud backups.
  • Storage caps around 5 MB. Receipt PDFs are what fill it. Heed the red banner.

Deleting

  • Deleting from the Gear List tab deletes the whole production and all five documents. Every other tab deletes just that document. To take a job off the board without losing anything, archive it instead.
  • Deleting a quote also deletes its invoice.
  • Deleting an inventory item or a camera preset happens immediately, with no confirmation.
  • Deleting a category deletes its items.
  • Deleting a client can blank contact details on an already-issued quote or invoice.
  • Remove on a Market listing is public and immediate. Use Mark as sold for sales. The record is kept for ever; its photos are deleted after 90 days and cannot be restored.
  • Profile and company pictures are deleted immediately when you remove them and republish — no retention window.
  • Deleting a rental row before pressing Return leaves that gear marked out forever.

Things that overwrite or reset

  • Reset statuses on a gear list wipes every packing mark and puts it all back in storage.
  • ⧉ Duplicate project deliberately resets packing statuses and clears send tracking.
  • A returned assigned document overwrites, it does not merge. The one exception is a crew address-book request, which fills blanks only and parks anything that disagrees.
  • Deleting a linked equipment line on a quote also removes that item from the gear list.
  • Changing the pricing term rewrites the DAYS figure on every equipment line.
  • Hand-editing a camera-settings field detaches that sheet from its preset.

Things that don't do what you'd assume

  • The CREATE launcher on Today starts blank drafts; with a production open, the workflow cell in its header switches tabs.
  • Blank drafts you never type into are silently discarded.
  • Clicking a bar in the Calendar month view opens the Call Sheet, not the gear list.
  • Double-booking is a warning, not a block — and it covers gear and rooms only, never people, and never the External Rentals ledger.
  • Calendar feeds are read-only in; the .ics export is a one-time file, not a live subscription.
  • An empty page usually means a company is switched off in the sidebar.
  • "RENTED INCOME" in Earnings & payback is internal booking revenue, not the external rental ledger.
  • Inventory CSV import skips duplicates; Clients and Crew import fills blanks on them.
  • Country selection changes the currency symbol on your own equipment and rate figures only — it converts nothing, and it never sets what a company invoices in.
  • Publishing your public page is a snapshot — but the Live/Off switch acts the moment you click it, and it hides rather than unpublishes: your address and everything on the page are kept.
  • The item quantity field does not exist — multiples are separate rows.
  • Marking a document not required does not delete it. It stays on the production, struck through, and restores untouched. Deleting is a separate, destructive action.
  • An invoice reading Blocked is not an error — it is waiting on the quote being approved.
  • Archived jobs leave the date buckets on All Projects entirely and stop counting toward attention. Nothing is deleted.
  • Recently Updated on Documents lists real events only — a document nobody has sent, approved or paid carries no time at all.

Not real yet

  • Remote signing is real: ✎ Send for signature mails a private signing link per person. ✉ Send a copy is the separate one — it emails the agreement as a PDF for the record and collects no signature.
  • Signing runs on KitSlate's own engine. There are no third-party signing providers.
  • Rate Guide figures are approximate community benchmarks, labelled with their source on every row.
  • Team seats work and each plan states its included allowance. Seats beyond the allowance aren't sold yet — extra-seat billing ships later, and until then a full workspace simply can't add more people.
Stuck?

Send it from Settings → You → Feedback with a screenshot — replies come back as a thread on your Activity page. And if you just want to try something risky first, do it in the sandbox.

↑ Contents