Deliverables held until payment

Deliverables held until payment

You can attach the actual files (or a snapshot of a code repository) you're delivering to a milestone or invoice, and have Handl automatically hold them back from your client until they've paid.

Steps

  1. Attach one or more files — or a linked GitHub repository snapshot — as deliverables on a milestone or invoice.
  2. While you're still assembling them, they're completely invisible to your client.
  3. As soon as you send the linked invoice, each deliverable becomes visible to the client, marked Locked — they can see its name and size, but can't open or download it yet.
  4. Once that invoice is paid in full, every locked deliverable automatically flips to Released, and the client gets a Download or Open button.
  5. Need to release something early — for a trusted client, or a payment you're tracking outside Handl? Open the deliverable and choose Release now to release it manually.

Where clients see this

Deliverables show up consistently wherever they're relevant — on the project's Milestones tab, on the invoice itself, and even on a one-click payment link — with a note reminding the client they'll be "released as soon as this invoice is paid."

Good to know

  • Releasing is one-way — if a payment is later refunded or disputed, a released deliverable stays released.
  • If you void the invoice before it's paid, any locked deliverables tied to it automatically return to draft, so nothing leaks out unpaid.
  • A whole group of files can be bundled as a package and locked or released together, rather than one by one.
  • If a project or invoice has no deliverables attached, this section simply doesn't appear — no empty placeholders.

FAQs

Can I swap a file after it's locked? Replace it before sending the invoice where possible — once locked, treat the attached file as final for that invoice.

Does this work for source code, not just documents? Yes — you can attach a snapshot of a GitHub repository at a specific commit as a deliverable, held under the same lock-until-paid rules (see "GitHub repository snapshots" in Integrations).

Can I release everything manually instead of waiting for payment? Yes, at any time, using Release now.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us