---
id: SCR-ACC-BKS-003
title: GL chart and posting defaults
route: '/console/{tenantId}/configuration/accounting/glAccounts'
surface: console
product_area: accounting
module: books
revision: 1
status: draft
design_intent: proposed
implementation_evidence: observed
inference: []
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
purpose: >-
  Maintain GL destinations and choose the account used for each standard posting
  purpose.
supports:
  - JNY-ACC-BKS-001
  - JNY-ACC-BKS-002
  - JNY-ACC-BKS-005
  - JNY-ACC-BKS-006
  - CAP-ACC-BKS-005
  - CAP-ACC-BKS-006
  - CAP-ACC-BKS-016
permission: >-
  accounting.gl-accounts.read (the console's configuration gl-accounts view
  alias); defaults need accounting.business-units.read and update
entry_from:
  - >-
    '/console/{tenantId}/configuration' (Accounting group in the configuration
    catalogue)
  - Navigation between Accounting setup screens
exits_to:
  - >-
    '/console/{tenantId}/configuration' (Accounting group in the configuration
    catalogue)
displays:
  - field: >-
      Accounts grouped by unit and code with display label, account type and
      currency
    source: listGlAccounts
  - field: Account details and availability in the side editor
    source: getGlAccount
  - field: >-
      Console-defined missing-default notice for receivables, deferred revenue,
      bad debt, missing-product revenue and sales tax payable
    source: listDefaultGlAccounts (the required list is the console's own)
  - field: Default-purpose drawer showing assignments and available account choices
    source: listDefaultGlAccounts; listDefaultGlAccountPurposes; listGlAccounts
actions:
  - label: Add GL Account
    operation_id: createGlAccount
    permission: accounting.gl-accounts.create
    confirm: false
  - label: Save
    operation_id: updateGlAccount
    permission: accounting.gl-accounts.update
    confirm: false
  - label: Deactivate or Activate
    operation_id: updateGlAccount
    permission: accounting.gl-accounts.update
    confirm: false
  - label: Delete
    operation_id: deleteGlAccount
    permission: accounting.gl-accounts.delete
    confirm: true
  - label: Assign default account
    operation_id: assignDefaultGlAccount
    permission: accounting.business-units.update
    confirm: false
  - label: Clear default account
    operation_id: clearDefaultGlAccount
    permission: accounting.business-units.update
    confirm: false
states:
  - empty
  - loading
  - error
  - read-only
  - inactive
validation:
  - BR-CAP-ACC-BKS-005-01
  - BR-CAP-ACC-BKS-005-02
  - BR-CAP-ACC-BKS-005-03
  - BR-CAP-ACC-BKS-005-04
  - BR-CAP-ACC-BKS-005-05
  - BR-CAP-ACC-BKS-005-07
  - BR-CAP-ACC-BKS-006-02
  - BR-CAP-ACC-BKS-006-07
  - BR-CAP-ACC-BKS-006-08
  - BR-CAP-ACC-BKS-002-06
patterns:
  - >-
    Shared configuration list with search, sorting, availability filtering and
    an empty state
  - 'Permission-gated bulk activation, deactivation and deletion'
  - Deletion confirmation; availability changes are immediate
  - Editor unsaved-changes protection
  - Accounting read loading and error panels
  - Side-panel account editor
  - >-
    Working-unit filter; the defaults drawer requires one unit rather than all
    units
  - Single-row toolbar without type or currency filters
  - Defaults drawer with active account search filtered by expected type
component: components/configuration/resources/accounting-gl-accounts.tsx
evidence:
  - >-
    react-console at baf6dae3:
    components/configuration/resources/accounting-gl-accounts.tsx
  - >-
    react-console:components/configuration/config-list-screen.tsx:changeStatus;
    components/configuration/standard.tsx:standardCapabilities (shared-list
    behavior where applicable)
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-005, TC-AZ-006, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-TEN-004, TC-DAT-001, TC-DAT-004, TC-LOG-001, TC-LOG-002, TC-LOG-003, TC-LOG-004, TC-LOG-005, TC-PI-001, TC-PI-003, TC-PI-005]
---

# GL chart and posting defaults

## What the Screen Is For

Maintain GL destinations and choose the account used for each standard posting purpose.

## What It Shows and Lets People Do

The list and side panel support ordinary chart maintenance. The defaults drawer independently assigns or clears a purpose using business-unit update permission. A notice highlights the console’s five important missing defaults. The drawer is unavailable while all units are selected.

## States and Errors

The editor fixes the unit, code and currency after creation. Currency locking is a console choice: the service can accept a supported replacement when references allow it. Defaults offer active accounts of the expected type, although the service accepts other account types. A default account cannot be deactivated or deleted. Normal replacement checks the loaded version; default assignment and clearing do not.

## Patterns It Must Respect

Shared configuration list with search, sorting, availability filtering and an empty state. Permission-gated bulk activation, deactivation and deletion. Deletion confirmation; availability changes are immediate. Editor unsaved-changes protection. Accounting read loading and error panels. Side-panel account editor. Working-unit filter; the defaults drawer requires one unit rather than all units. Single-row toolbar without type or currency filters. Defaults drawer with active account search filtered by expected type.
