Invoices & Payments
Split an invoice into milestones
Break an invoice into percent-based payment milestones, each with its own due terms, and request them as work progresses.
Updated 2026-07-10
Instead of billing a project as one payment, you can split an invoice into milestones, deposit and final payment, or a deposit plus a production draw plus a balance. Each milestone has its own share of the total and its own due terms, and you request later milestones only when you're ready to bill them.
Where to find it
Open a Draft invoice, go to its Payment Terms section, and click Split into multiple payments. If the milestones came from the proposal's own payment schedule, the invoice is already in schedule mode when you open it.
Building the schedule
A few quick-start templates get you started:
- 50 / 50 splits a deposit and a final payment.
- 33 / 33 / 34 is a three-way split.
- 30 / 40 / 30 is a deposit, a production draw after the shoot, and a final balance.
- 100% Upfront bills the full amount now.
Pick one and customize freely, or add milestones one at a time. Each milestone has a label (defaults to "Payment 1", "Payment 2", etc. if left blank), a trigger (see below), and a percent or dollar amount, editing one updates the other. A "fill remainder" shortcut sets a milestone to whatever's left unallocated.
When a milestone is due
Every trigger answers two things: what starts the clock, and how long after. FirstSlate offers:
- From the invoice — Upon Receipt (immediately), or Net 15 / 30 / 45 or a custom net-day term (that many days after the invoice or the prior payment).
- From delivery — On delivery, or Net 15 / 30 / 45 after delivery or a custom number of days. This is the natural fit for a final payment, "balance due after editing" is a delivery-anchored term, not a net term counted from the deposit. New proposals default their final payment to On delivery.
- A specific date — an explicit calendar date you pick.
A delivery-anchored milestone is due relative to when you actually deliver the project. Until then, FirstSlate shows its due date as an estimate ("est. Aug 14") projected from the project's delivery target, and it is never flagged overdue and never triggers a payment reminder. Once you mark the project delivered (or the client approves it on the delivery page), the estimate firms into a real date and normal due-date and reminder behavior resumes.
A running total at the bottom confirms the milestones add up to the invoice total before you can send. Once any milestone has been paid, the payment structure locks: you can no longer switch back to a single payment or apply a different preset, and a paid milestone's amount and terms can't be edited.
Requesting a milestone payment
The first milestone bills automatically the moment you send the invoice. Every later milestone stays unbilled until you explicitly request it. On the project's Project Hub, the Payment Schedule queue lists each milestone with a Send Now button for any that are ready. Clicking it opens a Send Payment Request dialog showing the amount due now, a live preview of the email, and an optional personal message before you send.
How the headline due date works
The due date shown on the invoice always tracks the next unpaid milestone, resolved to a real calendar date anchored to when that milestone actually becomes payable, not the date the whole invoice was first issued. The first milestone's date is anchored to the invoice's send date. A later milestone's date is anchored to when it was explicitly requested, or to the date the prior milestone was paid if it hasn't been requested yet. This keeps a "Net 15" balance from reading as overdue the moment the deposit's own term runs out.
A delivery-anchored milestone ("On delivery" or "Net N after delivery") is anchored to delivery instead: before you deliver it shows an estimated date projected from the project's delivery target and is never treated as overdue, and after delivery it firms to the real delivery date plus its term.
What the client sees
Your client's invoice page shows the full payment schedule, with each milestone's label, term or resolved date, and amount. Only the amount currently due shows a Pay Now button; later milestones display as upcoming until you request them.
Milestone status chips
In the builder, each milestone shows one of: Not yet requested (not yet billed), Awaiting Payment (requested, unpaid), or Paid [date] · [method] (settled).
The invoice's overall status shows N/M PAID once at least one milestone is paid but the invoice isn't fully settled yet (the equivalent of "Deposit Received" for a milestone schedule).
Common questions
Can I change a milestone's amount after sending it?
Yes, as long as it hasn't been paid. Once a payment is recorded against it, that row locks.
What if I need to bill an unplanned add-on after the schedule is set?
Use a change order instead of editing the existing schedule. Approved change orders bill as their own separate invoice so they never disturb a schedule the client has already started paying against.
Can I record a milestone payment that came in outside FirstSlate?
Yes, see record a check, cash, or wire payment.