---
id: SCR-ACC-BAT-001
title: Batches list
route: '/console/{tenantId}/accounting/batches'
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: >-
  Help finance staff locate collections, compare current figures and enter
  collection creation.
supports:
  - JNY-ACC-BAT-001
  - JNY-ACC-BAT-003
  - JNY-ACC-BAT-005
  - CAP-ACC-BAT-002
  - CAP-ACC-BAT-001
permission: >-
  accounting.batches.read (the console's batches view alias), required by the
  layout of every batch screen; without it the no-access page is shown rather
  than an empty list
entry_from:
  - The Accounting navigation's Batches item
  - Back to Batches from a batch's detail or creation screen
exits_to:
  - '/console/{tenantId}/accounting/batches/{batchId}'
  - '/console/{tenantId}/accounting/batches/new'
displays:
  - field: 'Selectable status totals for Open, Closed, Posted and Archived'
    source: listBatches with a status filter
  - field: >-
      Collection table showing readable number, name, business unit, accounting
      date, state and current figures
    source: 'listBatches (DOM-ACC-BAT-001 name, code, date, status, live totals)'
  - field: 'Search, lifecycle, business-unit and accounting-date range controls'
    source: >-
      listBatches; lib/accounting/transactions/http/batches.ts performs text,
      multiple-status and date filtering locally
actions:
  - label: New Batch
    operation_id: createBatch (through SCR-ACC-BAT-002)
    permission: accounting.batches.create
    confirm: false
  - label: Open a batch
    operation_id: getBatch (through SCR-ACC-BAT-003)
    permission: accounting.batches.read
    confirm: false
states:
  - empty
  - loading
  - error
  - read-only
validation:
  - BR-CAP-ACC-BAT-002-01
  - BR-CAP-ACC-BAT-002-02
patterns:
  - PageLayout with standard width
  - PageHeader introducing the collection list
  - Summary status tiles with selection behavior
  - Data table and shared filtering controls
  - Permission-aware New Batch entry control
component: components/accounting/batches/batch-list-screen.tsx (BatchListScreen)
evidence:
  - >-
    react-console at baf6dae3:
    app/(console)/console/[tenantId]/accounting/batches/page.tsx, layout.tsx;
    components/accounting/batches/batch-list-screen.tsx, batch-model.ts;
    lib/accounting/transactions/http/batches.ts; lib/authz/backend-aliases.ts
  - >-
    services-accounting at f47cb263:
    modules/batches/aws/api/batch-records.routes.ts (listBatches)
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-TEN-004, TC-LOG-004, TC-LOG-005, TC-PI-001, TC-PI-005]
---

# Batches list

## What the Screen Is For

Staff use this list to choose the collection they need. Current figures and status summaries support that choice; creating another collection opens the dedicated creation form.

## What It Shows and Lets People Do

Status tiles and filters narrow the displayed rows, and a selected row opens its details. The adapter reads service pages before performing additional local filtering, sorting and paging; its cap can make the displayed total incomplete. New Batch is disabled with an explanation when create permission is absent.

## States and Errors

Loading, failed requests and an empty collection list have distinct displays. The shared batch layout refuses access without read permission. The list does not disclose when its capped adapter read omitted records.

## Patterns It Must Respect

The observed implementation uses standard page width, a page header, summary tiles and table filtering. This contract describes the pinned interface and does not grant product approval for it.
