Workflow

Delivery and Kickoff: execution flow, payment, and change control

Understand the full post-sign execution flow — from execution handoff through Stripe payment, project activation, and final settlement.

Cross-step flow page connecting actions, signals, and handoffs.

In this guide

Ownership and review discipline

ProductSupport
Last reviewed 2026-03-12Review cadence 30 days

Change signals to watch

  • package schema changes
  • pricing generation logic updates
  • commercial review policy updates
  • send modal behavior changes
  • buyer signing flow updates
  • deal room experience changes
  • execution next action changes
  • kickoff and handoff logic changes
  • change request workflow updates

Operator guidance

What this means in QuoterAgent

Use this guide as the operating reference for Delivery and Kickoff: execution flow, payment, and change control. It explains what this surface controls, what good execution looks like, and which teams should keep it trustworthy over time.

  • After a client signs a proposal, QuoterAgent moves into an execution phase with a defined sequence of steps. Each step has a gate: payment must be confirmed before activation, and delivery must be explicitly marked complete before closeout. This guide walks through that sequence in order.
  • The execution gating is intentional. Activating before payment is confirmed creates cash-flow risk. Closing out before delivery is marked complete loses the audit trail. QuoterAgent enforces these as hard gates so the commercial integrity of the signed proposal carries through to settlement.
  • Primary owners currently covering this area: Product, Support.

What to do

Treat this as a working checklist, not background reading. Use it before you change settings, publish external material, or hand work to another operator.

  • Open this guide immediately after a proposal is signed. The execution panel becomes available at that point. Do not skip steps — activation is gated on payment confirmation, and closeout is gated on delivery completion.
  • If you have not connected Stripe yet, do that before your first proposal is sent — not after it is signed. If payment is stuck in pending, check that your Stripe webhook is active and subscribed to the checkout.session.completed event.
  • Go to Settings → Integrations → Stripe and verify your account is connected and the webhook endpoint is active.
  • In your Stripe dashboard, confirm the webhook is subscribed to 'checkout.session.completed' and points to your QuoterAgent webhook URL.

Where it shows up in the workflow

This guide matters most when work moves between setup, authoring, buyer delivery, and post-sign execution. Use the linked guides to follow the full path instead of solving one surface in isolation.

  • The execution flow depends on three things being in place before a proposal is signed: Stripe must be connected in Settings, the proposal must have a defined pricing structure, and a webhook endpoint must be active in your Stripe dashboard pointing to QuoterAgent's webhook URL.
  • Review the related guide "Sending and Signing: buyer-facing flow and acceptance confidence" when this step depends on another surface.
  • Review the related guide "Packages and Pricing: commercial structure and proposal clarity" when this step depends on another surface.

Common failure modes and risks

Most quality problems here come from drift: outdated setup, weak commercial boundaries, or teams skipping the review moment before customer-visible delivery. Use these signals to catch issues before they reach the buyer.

  • package schema changes
  • pricing generation logic updates
  • commercial review policy updates
  • Payment confirmation is driven by Stripe's webhook, not the redirect URL — a client can pay and close the browser without the status updating if the webhook is not configured correctly.
  • Partially_paid status means the kickoff amount has been collected but the final payment has not yet been initiated.

What this is

After a client signs a proposal, QuoterAgent moves into an execution phase with a defined sequence of steps. Each step has a gate: payment must be confirmed before activation, and delivery must be explicitly marked complete before closeout. This guide walks through that sequence in order.

  • Step 1 — Create execution handoff: after signature, open the execution panel and create a handoff record to begin the post-sign phase.
  • Step 2 — Initiate kickoff payment: the system creates a Stripe Checkout session and sends the client a payment link for the agreed upfront amount.
  • Step 3 — Payment confirmation: Stripe's webhook confirms payment. Status becomes 'paid' (full amount) or 'partially_paid' (kickoff amount only). Activation is blocked until this step completes.
  • Step 4 — Activate project: once payment is confirmed, you can mark the project as active and begin delivery.
  • Step 5 — Mark delivery complete: when all deliverables are handed over, explicitly mark delivery as complete in the execution panel.
  • Step 6 — Final payment (if applicable): if the project used a kickoff + final split, initiate the final Stripe payment. Confirmation via webhook sets status to 'paid'.
  • Step 7 — Closeout: only available once delivery is marked complete and payment is fully confirmed.

When to use

Open this guide immediately after a proposal is signed. The execution panel becomes available at that point. Do not skip steps — activation is gated on payment confirmation, and closeout is gated on delivery completion.

  • When a client signs a proposal and you are ready to move to delivery.
  • When troubleshooting a stuck payment state (e.g. Stripe session created but status still shows 'pending').
  • When a client requests scope changes after signing — use change-request discipline to keep commercial terms intact.

Why it matters

The execution gating is intentional. Activating before payment is confirmed creates cash-flow risk. Closing out before delivery is marked complete loses the audit trail. QuoterAgent enforces these as hard gates so the commercial integrity of the signed proposal carries through to settlement.

  • Payment confirmation is driven by Stripe's webhook, not the redirect URL — a client can pay and close the browser without the status updating if the webhook is not configured correctly.
  • Partially_paid status means the kickoff amount has been collected but the final payment has not yet been initiated.
  • Scope changes after signing should be handled as formal change requests, not silent edits to the proposal.

How it connects

The execution flow depends on three things being in place before a proposal is signed: Stripe must be connected in Settings, the proposal must have a defined pricing structure, and a webhook endpoint must be active in your Stripe dashboard pointing to QuoterAgent's webhook URL.

  • Stripe connection → kickoff payment session → webhook confirmation → activation gate.
  • Proposal pricing → determines whether the project uses full payment or kickoff + final split.
  • Delivery handover confirmation → closeout gate — this must be manually marked, it is not automatic.

Next steps

If you have not connected Stripe yet, do that before your first proposal is sent — not after it is signed. If payment is stuck in pending, check that your Stripe webhook is active and subscribed to the checkout.session.completed event.

  • Go to Settings → Integrations → Stripe and verify your account is connected and the webhook endpoint is active.
  • In your Stripe dashboard, confirm the webhook is subscribed to 'checkout.session.completed' and points to your QuoterAgent webhook URL.
  • Review the Billing and Admin guide for plan-level controls that affect execution panel access.

Related guides