Money released in parts against the proof each part names, instead of all at once
A staged payout pays in parts instead of all at once. The brand pays Zooly as it always does, the money stays put, and the talent is paid out through Stripe in the shares the two sides agreed: for example half when the brand pays, and half once the post is live.
The parts are not a new way to charge anyone. How the brand pays does not change. This only decides when the money goes out. The money sits in Zooly's Stripe balance until a part is due, and a part only goes out of money the brand has actually paid in.
One offer can carry up to six parts, and they must add up to the whole. A part never goes out before the one in front of it.
Each part is tied to one moment a person would recognise:
| The part goes | What it means |
|---|---|
| When the brand pays | As soon as the brand's payment has gone through |
| On signing | Once both sides have agreed to the offer |
| When proof arrives | Once the proof that part names is in and approved |
| On completion | When the brand accepts delivery and the deal is done |
A common schedule uses two of them, such as half when the brand pays and half on proof.
A part that waits for proof names the proof it needs. The choices are:
When the talent marks the work delivered, that delivery becomes the proof of the first part that is waiting for one. A proof is not enough on its own: it also has to be approved. That happens when the brand accepts delivery, or when someone on the team approves it.
The schedule starts from the payment line the offer already carries: the words the two sides agreed. On the Payouts page, that wording sits in a box. Preview shows the parts it reads from it, and Save schedule keeps them.
It understands the way people actually write a split:
When the words do not say when a part is due, it ties that part to completion, the latest moment, rather than guessing earlier. Waiting longer is the safe side with money. When the parts do not add up to the whole, or a split like "30/70" does not say when each part is paid, it refuses and says so instead of inventing the rest.
An offer with no schedule behaves exactly as it does today. It pays once, when the brand accepts delivery, and no parts are created for it. Nothing about that offer changes unless someone sets a schedule on it.
A schedule cannot be added once the brand's payment has already been booked for the old way, and cannot be changed after a payment attempt has been made against it. It also cannot be set on a deal that is completed, cancelled, rejected, expired or disputed.
If the old way still ends up booking payouts for the same payment, the parts stop as blocked instead of paying a second time.
Payouts go to a talent's own Stripe account, and to an agent's if the agent earns a share. Someone who has not finished setting that up cannot be paid yet.
There is no separate screen yet where the talent can watch each part's state.
Every release is written on the deal timeline with its amount and the name of the part. So is every failure, every proof attached and approved, the ask to connect, the schedule itself, and any release a person forced by hand.
Each release and each failure is written once, even if two checks run at the same moment.
Writing the failure down matters as much as writing the release: a transfer Stripe refused shows on the timeline instead of disappearing. The daily check tries again, and after five refusals the part stops and waits for a person. See Deal Record.
When Stripe's answer is unclear (a timeout or a server error), the transfer is not counted as refused. It stays in flight, and the next check asks Stripe again for that same transfer, so it can never go out twice.
Payouts in the admin sidebar is where the team watches and steers this.
On the left is everything that needs someone: parts waiting for Connect, for proof, for the brand's money, or for a moment that has not come, plus anything failed, blocked, or in flight. Picking one opens that deal:
If releases are paused, a red note at the top says so and nothing goes out.
Release now appears next to a part only when the money rules would allow it, and the button names the exact amount. Where it cannot go, the page says what is missing instead.
The dialog is deliberately plain: it says the amount leaves Zooly's Stripe balance for the payee's account now, and that it skips only the moment and the proof check. It asks for a reason (at least five characters) and for the word RELEASE typed in. The amount and the reason are written down before the money moves, and a double click sends once. If the amount has changed since the page loaded, it refuses and asks for a reload.
Skipping the moment and the proof is all it does, apart from one thing: it can also release a part that stopped after five refusals. It still refuses if the brand has not paid, if it would pay more than was paid, if the payee cannot receive money, if they owe an advance, if an earlier part has not gone out yet, if the deal is disputed or dead, if the payment was already booked the old way, or if releases are paused.
On This Page
What it isThe moments a part can goThe proof a part can wait forHow the split is read from the deal's wordsAn offer with no scheduleIf someone cannot receive money yetWhat the brand seesWhat the talent seesOn the deal timelineThe Payouts pageRelease nowMoney Zooly never frontsWhat it does not do yetRelated Documentation