---
id: SCR-ACC-BAT-004
title: Edit batch details
route: '/console/{tenantId}/accounting/batches/{batchId}/edit'
surface: console
product_area: accounting
module: batches
revision: 1
status: draft
design_intent: proposed
implementation_evidence: observed
inference: []
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
purpose: >-
  Correct editable collection details while keeping lifecycle commands separate
  from the form.
supports:
  - JNY-ACC-BAT-001
  - CAP-ACC-BAT-003
  - CAP-ACC-BAT-005
permission: accounting.batches.update (the console's batches edit alias)
entry_from:
  - >-
    The Edit Details action on
    '/console/{tenantId}/accounting/batches/{batchId}'
  - A direct link to the edit route
exits_to:
  - '/console/{tenantId}/accounting/batches/{batchId}'
displays:
  - field: 'Stored collection name, accounting date, description and close-time draft'
    source: getBatch (DOM-ACC-BAT-001)
  - field: Underlying collection detail page while the sheet is open
    source: SCR-ACC-BAT-003
actions:
  - label: Save Changes
    operation_id: updateBatch
    permission: accounting.batches.update
    confirm: false
  - label: Cancel
    operation_id: 'none: closes the sheet'
    permission: accounting.batches.read
    confirm: false
states:
  - loading
  - error
  - read-only
validation:
  - BR-CAP-ACC-BAT-003-01
  - BR-CAP-ACC-BAT-003-03
  - BR-CAP-ACC-BAT-003-05
  - BR-CAP-ACC-BAT-003-06
  - BR-CAP-ACC-BAT-003-08
  - BR-CAP-ACC-BAT-003-10
  - BR-CAP-ACC-BAT-005-05
patterns:
  - Sheet opening from the right over BatchDetailScreen
  - Labelled correction controls with adjacent errors
  - EditorActionBar tracking unsaved edits
  - AutoCloseField reused from collection creation
component: >-
  components/accounting/batches/edit-batch-sheet.tsx (EditBatchSheet, opened by
  BatchDetailScreen with editRoute)
evidence:
  - >-
    react-console at baf6dae3:
    app/(console)/console/[tenantId]/accounting/batches/[batchId]/edit/page.tsx;
    components/accounting/batches/edit-batch-sheet.tsx, batch-detail-screen.tsx,
    auto-close-field.tsx
  - >-
    services-accounting at f47cb263:
    modules/batches/aws/api/batch-records.routes.ts (updateBatch),
    batches.schemas.ts
  - >-
    react-console:lib/accounting/transactions/http/batches.ts:createBatchesApi.updateDetails
controls: [TC-IAM-001, TC-IAM-002, TC-IAM-004, TC-IAM-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-AZ-006, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-LOG-004, TC-LOG-005, TC-PI-001, TC-PI-005]
---

# Edit batch details

## What the Screen Is For

Staff use the sheet to correct the identifying and timing details of an eligible collection. Status changes remain separate actions so their individual admission checks are retained.

## What It Shows and Lets People Do

The dedicated edit route renders the detail screen with the sheet open. Save Changes resends name, date, description and close time without a version, using null to clear empty optional values. Closing the sheet returns to the detail route. An absent edit action redirects to details; action presence does not itself prove the action is enabled.

## States and Errors

The service can refuse duplicate names, unavailable calendar placement, protected states or a combined edit lock. Form errors remain available for correction. The sheet has no lock-management control and sends no optimistic-concurrency version, so it does not prevent overwriting a concurrent details change.

## Patterns It Must Respect

The observed implementation uses a right-side Sheet, shared form controls and EditorActionBar. It corrects collection details without providing a free status selector.
