---
title: "One job, every side"
url: https://services.dev/docs/examples/tax/walk
captured: [tax-sides.txt, tax-years.txt]
---
# One job, every side

URL: https://services.dev/docs/examples/tax/walk

> One annual return, from the year the Tax Plan ran, as each participant saw it. The plan orders it, the company's officer answers through her own links, an enrolled agent signs for the brand's firm in her own session, and the owner reads the record.

*tax's words: return is a job, taxpayer is a subject, review is a task, preparer is a member (examples/tax/brand.ts).*

One return, one recording, four seats. It's the 2026 return from [the `tick 1y` walk](https://services.dev/docs/examples/tax/years.md): the plan ordered it on 1 February 2027, and it was accepted in July. Each call below was made by the participant it names, with their own credential.

## Its year

Every line the walk fired for this return. The books came late, so three days out the rung deposited the tax and filed each state's extension. In July it was filed with $0 due; New York rejected it once, and the repair kept its first filing time:

```bash
npx services.dev tick 1y --test-clock tc_7Hq4 --market normal
```

```txt title="magic values: owner.email = signs@example.test, metadata.sandbox.asks = {"organizer.books":"after 160d","organizer.assets":"waive","organizer #2":"after 2d","w9":"after 19d"}, metadata.sandbox.outside = {"reject":{"file.US-NY":["ein_mismatch"]}}, metadata.sandbox.events = { notice.received: { at: 2027-11-14T15:00:00Z, data: { notice, reply_by, tax_years } } }"
  2027-02-01 14:00:00  sbn_7Hq2  schedule annual → job_4Tx3 annual-return · period 2026 · $0.00 · allowance 1 of 1
  2027-02-01 14:00:00  job_4Tx3  ask consent · signs@example.test · §7216 consented as officer · use: prepare · disclose: none
  2027-02-01 14:00:00  job_4Tx3  ask organizer · signs@example.test · 8 items from 2025 (job_4Tx2) · 6 answered · 1 waived · 1 open (books)
  2027-02-01 14:00:00  job_4Tx3  waits on party at organizer
  2027-03-16 13:00:00  job_4Tx3  clock file · rung notice 30d · due 2027-04-15 · US, US-CA, US-NY · owner of_record
  2027-04-01 13:00:00  job_4Tx3  clock pay · rung notice 14d · due 2027-04-15 · owner buyer · about $324 a month if it's late
  2027-04-09 13:00:00  job_4Tx3  clock file · rung ack daily 7d · acknowledged, simulated · the acknowledgement due 7 days out
  2027-04-10 13:00:00  job_4Tx3  clock file · rung ack daily 7d · acknowledged, simulated · the acknowledgement due 6 days out
  2027-04-11 13:00:00  job_4Tx3  clock file · rung ack daily 7d · acknowledged, simulated · the acknowledgement due 5 days out
  2027-04-12 13:00:00  job_4Tx3  clock file · rung run tentative 3d → tentative proposed · committed
  2027-04-12 13:00:00  job_4Tx3  tentative · the year as the ledger stands · US $73,710 · US-CA $6,205 · US-NY $7,605, and 2027's first installment $1,901 · US-NJ $6,318
  2027-04-12 13:00:00  job_4Tx3  clock file · rung ack daily 7d · acknowledged, simulated · the acknowledgement due 4 days out
  2027-04-12 13:00:00  job_4Tx3  clock pay · rung escalate 3d · due 2027-04-15 · owner buyer
  2027-04-12 13:00:00  job_4Tx3  pay · Treasury and states · 4 accepted, US first · rcp_7HqB · $95,739.00 deposited
  2027-04-12 13:00:00  job_4Tx3  clock pay · satisfied · pay committed
  2027-04-12 13:00:00  job_4Tx3  extend · US Form 7004 accepted → US-CA automatic, no filing; paid by voucher · US-NY CT-5 accepted · US-NJ CBT-200-T accepted, 100% paid · all in
  2027-04-12 13:00:00  job_4Tx3  clock file · moved 2027-04-15 → 2027-10-15 · US, US-NY · US-NJ 2027-05-17 → 2027-11-15 · US-CA → 2027-11-15, automatic · each by its own rule · clock pay unmoved, still 2027-04-15
  2027-04-12 13:00:00  job_4Tx3  waits on party at organizer
  2027-07-11 14:00:00  job_4Tx3  ask organizer · books answered · done
  2027-07-11 14:00:00  job_4Tx3  compute · carryforwards read off 2025 (job_4Tx2) · $95,739.00 deposited with the extension, credited · balance due $0.00 → draft → check · waits on claim at sign
  2027-07-11 14:00:00  job_4Tx3  sign · offered first to mbr_8Ea1, of record · claimed · 2025 beside it (job_4Tx2)
  2027-07-11 14:00:00  job_4Tx3  ask authorize · signs@example.test · Form 8879-CORP signed id-verified as officer · sha256:69d3…
  2027-07-11 14:00:00  job_4Tx3  file · US 1120 accepted → US-CA 100 accepted, US-NJ CBT-100 accepted, US-NY CT-3 rejected ein_mismatch → organizer
  2027-07-11 14:00:00  job_4Tx3  clock file · US, US-CA, US-NJ satisfied · US-NY open until its own receipt
  2027-07-11 14:00:00  job_4Tx3  ask organizer · signs@example.test · 1 item · 1 open (ny_account)
  2027-07-11 14:00:00  job_4Tx3  waits on party at organizer
  2027-07-13 14:00:00  job_4Tx3  ask organizer · ny_account answered · done
  2027-07-13 14:00:00  job_4Tx3  compute · carryforwards read off 2025 (job_4Tx2)
  2027-07-13 14:00:00  job_4Tx3  ask.voided · authorize
  2027-07-13 14:00:00  job_4Tx3  ask authorize · signs@example.test · sha256:0513… · open
  2027-07-13 14:00:00  job_4Tx3  draft → check · waits on claim at sign
  2027-07-13 14:00:00  job_4Tx3  sign · mbr_8Ea1 again, a new act paid again · 2025 beside it (job_4Tx2)
  2027-07-13 14:00:00  job_4Tx3  ask.voided · authorize
  2027-07-13 14:00:00  job_4Tx3  ask authorize · signs@example.test · Form 8879-CORP signed id-verified as officer · sha256:9375…
  2027-07-13 14:00:00  job_4Tx3  file · US-NY CT-3 accepted (keeps 2027-07-11)
  2027-07-13 14:00:00  job_4Tx3  clock file · US-NY satisfied · file committed · every item closed
  2027-07-13 14:00:00  job_4Tx3  delivered · collected $0.00
  2027-07-20 14:00:00  job_4Tx3  accepted · the subject keeps carryforwards, tax, paid, first_installment · earned $0.00
```

## The buyer

The business, or its agent, reads the return: the deposit, each extension, each filing, and the five clocks:

```txt
→ GET /returns/job_4Tx3
```

```txt title="magic values: owner.email = signs@example.test, metadata.sandbox.asks = {"organizer.books":"after 160d","organizer.assets":"waive","organizer #2":"after 2d","w9":"after 19d"}, metadata.sandbox.outside = {"reject":{"file.US-NY":["ein_mismatch"]}}, metadata.sandbox.events = { notice.received: { at: 2027-11-14T15:00:00Z, data: { notice, reply_by, tax_years } } }"
← job_4Tx3 · accepted · workpapers-2026.txt · return.txt · $0 · sbj_7Hq2
  rcp_7HqB  US       pay     accepted · $73,710.00 · the Form 7004 deposit · paid 2027-04-12
  rcp_7Hq7  US       extend  accepted · Form 7004 · filed 2027-04-12 · to 2027-10-15
  rcp_7Hq8  US-CA    extend  accepted · automatic, no filing · $6,205.00 by FTB 3539 · to 2027-11-15 · after rcp_7Hq7
  rcp_7Hq9  US-NY    extend  accepted · CT-5 · $9,506.00 with it, $1,901.00 toward 2027 · to 2027-10-15 · after rcp_7Hq7
  rcp_7HqA  US-NJ    extend  accepted · CBT-200-T · $6,318.00 with it, 100% of the tax · to 2027-11-15 · after rcp_7Hq7
  rcp_7HqD  US       file    accepted · 1120 · filed 2027-07-11 · balance due $0.00
  rcp_7HqE  US-CA    file    accepted · 100 · filed 2027-07-11 · after rcp_7HqD
  rcp_7HqF  US-NY    file    rejected · ein_mismatch · filed 2027-07-11 · after rcp_7HqD
  rcp_7HqG  US-NJ    file    accepted · CBT-100 · filed 2027-07-11 · after rcp_7HqD
  rcp_7HqH  US-NY    file    accepted · CT-3 · filed 2027-07-11 · sent 2027-07-13 · after rcp_7HqD
  clock   file · US, US-NY due 2027-10-15 · US-CA, US-NJ due 2027-11-15 · mbr_8Ea1 · satisfied · each moved by its own extension
  clock   pay · due 2027-04-15 · buyer · satisfied
  clock   assessment · due 2030-07-11 · the brand · open · on the subject
  clock   refund · due 2030-07-11 · mbr_8Ea1 · open · on the subject
  clock   expiring · due 2046-12-31 · the brand · open · on the subject
```

## The officer

Ada, the officer, holds links no key can use. She signed the §7216 consent, answered the organizer, and signed a Form 8879-CORP for each version, id-verified:

*Screen: the customer portal at `/portal/returns/job_4Tx3`, job_4Tx3 · accepted at file (captured/screens/tax-portal-return.html).*

## The signer

Katherine Johnson, an enrolled agent and the signer of record since 2025, was offered the review first and signed for apis.tax's firm. New York's repair changed the workpapers, so she signed again, a new act, paid again:

```txt
→ GET /reviews/tsk_7Hq4
```

```txt title="magic values: owner.email = signs@example.test, metadata.sandbox.asks = {"organizer.books":"after 160d","organizer.assets":"waive","organizer #2":"after 2d","w9":"after 19d"}, metadata.sandbox.outside = {"reject":{"file.US-NY":["ein_mismatch"]}}, metadata.sandbox.events = { notice.received: { at: 2027-11-14T15:00:00Z, data: { notice, reply_by, tax_years } } }"
← tsk_7Hq4 · done · signer · sign · $105.00 · attested · 30 min · $210.00 an hour · due 2027-08-12 14:00 · attested
  signed  Katherine Johnson · PTIN P01234568 · enrolled agent · in the paid-preparer block for apis.tax, firm EIN 88-1234567 · filed under its EFIN
  pay     sign · attest · $105.00 · $45 and $15 a jurisdiction · payable 2027-07-13 · paid that evening
  pay     sign · attest · $105.00 · the re-sign after New York's repair, a new act · payable 2027-07-15 · paid that evening
```

## The owner

The owner console reads what no buyer can: the whole record, and the ledger. The plan covered this return, so it charged nothing, and its ledger shows what it cost. [The money](https://services.dev/docs/examples/tax/money.md) adds up the year.

```txt
→ GET /owner/returns/job_4Tx3   # the owner console
```

```txt title="magic values: owner.email = signs@example.test, metadata.sandbox.asks = {"organizer.books":"after 160d","organizer.assets":"waive","organizer #2":"after 2d","w9":"after 19d"}, metadata.sandbox.outside = {"reject":{"file.US-NY":["ein_mismatch"]}}, metadata.sandbox.events = { notice.received: { at: 2027-11-14T15:00:00Z, data: { notice, reply_by, tax_years } } }"
← job_4Tx3 · accepted · workpapers-2026.txt · return.txt · $0
  record  consent · owner · §7216 · use: prepare · disclose: none | organizer.bank · answered | organizer.payroll · answered | organizer.assets · waived | organizer.ca_account · answered | organizer.ny_account · answered | organizer.nj_account · answered | organizer.carryforwards · answered | file clock · run tentative 3d · goto tentative | tentative · code · the year as the ledger stands | pay · Treasury and states · 4 accepted · rcp_7HqB | extend · IRS and states · US Form 7004, US-NY CT-5, US-NJ CBT-200-T accepted · US-CA automatic | file clock · moved, each by its own rule | organizer.books · answered | organizer · owner · upload · clock paused 160d | compute · code · carryforwards read off 2025 · deposit credited | draft · ai | check · ai · adversarial · 3 lenses · pass | sign · person · ptin and enrolled agent · * · mbr_8Ea1 · 2025 beside it | authorize · owner · Form 8879-CORP · id-verified | file · IRS and states · rejected · ein_mismatch · repairing at organizer | organizer.ny_account · answered | organizer · owner · upload · clock paused 2d | compute · code · carryforwards read off 2025 | sign · signer · refused · unattested · workpapers changed after the signer signed it; they sign the new version before it is filed. | authorize · signature void | draft · ai | check · ai · adversarial · 3 lenses · pass | sign · person · ptin and enrolled agent · * · mbr_8Ea1 · 2025 beside it | authorize · signature void | authorize · owner · Form 8879-CORP · id-verified | file · IRS and states · efin simulated · 4 accepted
  ledger  +$0.00 · AI $3.36 · signer $210.00 · you −$213.36
```

[The customer portal](https://services.dev/docs/examples/tax/customer-portal.md) and [the delivery portal](https://services.dev/docs/examples/tax/delivery-portal.md) show the same year as screens.

---

- Up: [The tax example](https://services.dev/docs/examples/tax.md)
- Previous: [Build it](https://services.dev/docs/examples/tax/build.md)
- Next: [The agent's order](https://services.dev/docs/examples/tax/agent.md)
