---
title: "Closing on closers.deals"
url: https://services.dev/docs/examples/sales/delivery-portal
captured: [sales-closer.txt]
---
# Closing on closers.deals

URL: https://services.dev/docs/examples/sales/delivery-portal

> The closer's path through the sales brand, in your own session on closers.deals. Join with your payout account, read the feed, claim a gig and its brief, work the account in the seller's name, take a refused close, follow your 10% from won to held to Friday's payout, and see what protects it. Your own agent can do all of it but the close.

*sales's words: deal is a job, account is a subject, gig is a task, closer is a member, seller is a client, seller is a buyer (examples/sales/brand.ts).*

You close, and you keep every dollar of your 10%. The seller pays it beside api.forsale's 5%, your terms freeze when you claim, and a deal the seller ends never counts against you. Each screen is what closers.deals serves Dana Reyes, an enterprise closer. [The delivery portal](https://services.dev/docs/app/members.md) covers every Pool's.

## 1. Join

One group of fields a step, resumed by email, ending on the account you are paid into. Until Stripe clears it, your pay accrues and waits:

```txt
→ POST /closers/join {"email":"dana@example.com"}
```

```txt title="magic values: none"
← 200 mbr_7Hq4 · closers · dana@example.com · applying, step 1 of 3: segments, industries · on closers.deals
→ POST /closers/join {"email":"dana@example.com","answers":{"segments":["midmarket"],"industries":["logistics","manufacturing"]}}
← 200 mbr_7Hq4 · closers · dana@example.com · applying, step 2 of 3: acv, hours · on closers.deals
→ POST /closers/join {"email":"dana@example.com","answers":{"acv":75000,"hours":12}}
← 200 mbr_7Hq4 · closers · dana@example.com · applying, step 3 of 3: the account you are paid into, and your tax ID
→ POST /closers/join {"email":"dana@example.com","answers":{"payout":"connect"}}
← 200 mbr_7Hq4 · closers · dana@example.com · joined · tier SMB · offered setter, closer and nurturer gigs in SMB · midmarket after 10 gigs at 90% on time
  payout    acct_…7Hq4 · verifying with Stripe · until it clears, pay accrues and shows pay.waiting with the cure · nothing is lost
```

## 2. Read the feed

Each teaser shows the role, the industry, the value band, the stage and the pay. The account, the thread and the floor open at the claim. Passing is free and never scored:

*Screen: the delivery portal at `/closers`, tsk_7Hq5 · open (captured/screens/sales-delivery-feed.html).*

## 3. Claim, and read the brief

Your terms freeze at the claim. After 48 hours to a first touch, each touch keeps the gig yours:

```txt
→ POST /gigs/tsk_7Hq5/claim
```

```txt title="200 · tsk_7Hq5 · claimed · closer · meet, propose, negotiate, close · Northwind Freight · magic values: none"
  terms     frozen at this claim: 10% of closed_value at won, charged to the seller · floor $64,000 · nothing can lower your pay after it
  hold      48h to a first touch, until 11 Nov 09:12 · then each touch on the record renews it · released only by gone_dark, an end or giving it back
  brief     opens now: the account, the thread, the meeting the setter booked for 10 Nov 11:00, the offer and the floor
```

```txt
→ GET /gigs/tsk_7Hq5
```

```txt title="magic values: none"
← tsk_7Hq5 · claimed · closer · meet, propose, negotiate, close · 10% of closed_value at won
  account   Northwind Freight · logistics · 140 trucks · $80,000 list · floor $64,000 · not yet Harbor's customer
  meeting   booked 5 Nov by the setter, mbr_7Hs1, for 10 Nov 11:00 · ops@northwind.example · their notes: renewal in Q1, the CFO signs
  thread    touches 1 to 3 by AI, from harbor.example · a reply to touch 3
  you send  as Harbor Labs · mail from dana@harbor.example · calls bridged from Harbor's number · Northwind never sees closers.deals
  steps     meet → propose → negotiate → close · each commits at the gate · only the close ends the gig
```

## 4. Work the account

You hold the meeting the setter booked, then work the account as the seller. The gig stays yours to the close. Your touches are on [the deal's thread](https://services.dev/docs/examples/sales/deal.md#how-a-closer-reaches-the-account):

```txt
→ POST /gigs/tsk_7Hq5/meet {"held":"evt_…7Hs5","notes":"renewal in Q1; the CFO signs; three years worth pricing"}
```

```txt title="200 · tsk_7Hq5 · claimed · meet committed · held: ops@northwind.example stayed 34 minutes · the setter's $250 accrues · next propose · magic values: none"
→ POST /gigs/tsk_7Hq5/propose {"proposal":"proposal-northwind.pdf","notes":"three-year option priced at list less 7.5% for year one"}
```

## 5. Take a refused close

Your first close came in under the floor. The gate said by how much, and the gig stayed yours: propose again, ask the seller to move the floor, or give it back:

*Screen: the delivery portal at `POST /gigs/tsk_7Hq5/complete`, 422 · guard_refused (captured/screens/sales-delivery-refused.html).*

## 6. Won, held, final, paid

The close commits with the seller's own invoice. Your 10% is held from the day the seller's charge collects, final when the window closes, and paid that Friday:

```txt
→ POST /gigs/tsk_7Hq5/complete {"closed_value":74000,"term":36,"contract":"msa-northwind.pdf","pay_link":"https://invoice.stripe.com/i/acct_…H4rb/in_…8841","notes":"three years, the first at list less 7.5%"}
```

```txt title="200 · tsk_7Hq5 · committed · won · your 10% waits on Northwind's payment · nothing is held until it lands · magic values: none"
  pay link  in_…8841 on Harbor Labs' Stripe account · net 30 · metadata.deal job_7Hq5 · the account's customer, Northwind Freight
```

```txt
→ GET /closers/me/earnings/tsk_7Hq5   # 12 Mar 2027
```

```txt title="200 · tsk_7Hq5 · api.forsale · closer · Northwind Freight · $7,400.00 · paid · magic values: none"
  committed Fri 4 Dec 14:02     won · your 10% waits on Northwind's payment    deal.ended         $0.00
  held      Fri 8 Jan 09:00     Harbor's bank debit collected · ring-fenced    charge.collected   $7,400.00
  final     Tue 9 Mar 09:00     the 60-day window closed                       pay.accrued        $7,400.00
  paid      Fri 12 Mar 16:02    Friday's run · pyo_7Hu9 · bank …4412           pay.paid           $7,400.00
  charged   to the seller beside the 5% · never taken from your share · fees $0.00
  tax       on the 1099-NEC api.forsale files for 2027, with the rest of your pay from it
```

*Screen: the delivery portal at `/closers/earnings`, nothing waiting (captured/screens/sales-delivery-earnings.html).*

## 7. What protects your pay

| When | Your pay |
|---|---|
| The account is refunded inside the window | Your share reverses with that payment, and nothing else reverses it |
| The account is refunded in part | Your share moves by the same fraction |
| The seller never pays api.forsale | api.forsale carries the loss, and your share is paid at the window |
| The seller marks it lost, and the account pays within 90 days | The tail credits the deal to you, won |
| The account pays monthly | Each invoice holds its own 10% for 60 days |
| A chargeback after the window | The seller's, and your pay is final |
| Flat pay for a held meeting or a revival | Never clawed back |
| The seller ends the deal, or it goes dark | Never counted against your record |
| The account pays from another entity | You contest it, and staff rule within 14 days |

```txt
→ GET /closers/me/earnings?held=true   # 8 Jan 2027: what is held for you, and what would move it
```

```txt title="200 · mbr_7Hq4 · 4 shares held · $20,633.34 · magic values: none"
  tsk_7Hq5  Northwind Freight  $7,400.00   paid 4 Jan · final 9 Mar    reverses only with its own refund or chargeback, pro rata if partial
  tsk_7Hu4  Coho Winery        $5,800.00   paid 6 Jan · final 7 Mar    the same
  tsk_7Hw7  Contoso Logistics  $6,200.00   paid 19 Dec · final 17 Feb  won by the tail: marked lost, then paid within 90 days, and credited to you
  tsk_7Ht1  Trey Research      $1,233.34   2 of 12 invoices paid       each monthly invoice holds its own 10% for 60 days
  rules     the seller not paying is api.forsale's loss, never yours · a chargeback after the window is the seller's · flat pay is never clawed back
```

```txt
→ POST /gigs/tsk_7Hu8/contest {"reason":"paid_by_affiliate","evidence":["alpine-group-remittance.pdf"],"notes":"Alpine Group paid Alpine Ski House's invoice in_…6620 from its own account"}
```

```txt title="202 · tsk_7Hu8 · contested · staff rule within 14 days, by 16 Jan · the outcome waits, and nothing counts against you · magic values: none"
← 202 · tsk_7Hu8 · contested · staff rule within 14 days, by 16 Jan · the outcome waits, and nothing counts against you
```

```txt
→ GET /gigs/tsk_7Hu8   # 8 Jan
```

```txt title="magic values: none"
← tsk_7Hu8 · done · closer · won · contest upheld by api.forsale's staff · $4,100.00 held to 9 Mar 2027
  ruling    in_…6620 paid metadata.deal job_7Hu8 from Alpine Group, Alpine Ski House's parent: the same account · outcome.verified
```

## From your own agent

Your agent holds your member key. It finds, claims, drafts and reads. The close is your act, so it hands you the draft:

```txt
→ tools/call claim_gig {"id":"tsk_7Hq5"}
```

```txt title="magic values: none"
← tsk_7Hq5 · claimed · terms frozen at this claim · 48h to a first touch, until 11 Nov 09:12
```

```txt
→ tools/call propose_close {"id":"tsk_7Hq5","closed_value":74000,"term":36,"contract":"msa-northwind.pdf","pay_link":"https://invoice.stripe.com/i/acct_…H4rb/in_…8841"}
```

```txt title="magic values: none"
← tsk_7Hq5 · drafted · the close is your act
  next  hand https://closers.deals/closers/gigs/tsk_7Hq5/close?draft=drf_7Hq5 to Dana, to confirm in her session
```

```txt
→ tools/call get_earnings {"held":true}
```

```txt title="magic values: none"
← mbr_7Hq4 · 4 shares held · $20,633.34 · next payout Fri 15 Jan · $400.00 of flat pay on it
```

## The doors

| Door | What it is to the Pool |
|---|---|
| [closers.deals](https://closers.deals) | Where closers work on B2B deals: the feed, the gig, earnings and the track record |
| [closers.sale](https://closers.sale) | The same door's consumer face: B2C gigs list there, on the same roster |
| [setters.sale](https://setters.sale) | Where setters are recruited, sent to `/join` |
| [gigs.sale](https://gigs.sale) | The bridge in the gigs family: it routes each visitor to the door that fits |
| [`closers.agency`](https://closers.agency) | Where a firm enrolls its bench |

Tiers, firms and licenses are on [the closers' Pool](https://services.dev/docs/examples/sales/pool.md).

---

- Up: [The sales example](https://services.dev/docs/examples/sales.md)
- Previous: [The customer portal](https://services.dev/docs/examples/sales/customer-portal.md)
- Next: [The owner console](https://services.dev/docs/examples/sales/console.md)
