Skip to content

ATS-ACC-BAT-018Inspect and report on posted ledger entries: Capability Test Specification

Markdown

ATS-ACC-BAT-018

Inspect and report on posted ledger entries: Capability Test Specification

Markdown
  • DocumentProposed
  • Product intentProposed

KindAcceptance test setProduct areaAccountingModuleBatch ManagementRevision2

Read atservices-accounting f47cb263react-console baf6dae3rhythm-v2-docs 37405d50

Coverage

  • Rule covered
  • Transition not-applicable
  • Validation covered
  • Permission gap: FND-ACC-BAT-072
  • Edge gap: FND-ACC-BAT-072
  • Failure gap: FND-ACC-BAT-072
  • Boundary covered
  • Concurrency gap: FND-ACC-BAT-072
  • Invariant covered
  • Interaction covered

Test Scenarios

9 scenarios proving CAP-ACC-BAT-018; 6 bound to an existing test.

01 Entry listing checks read accesspermissionapinegativetest
Proves
BR-CAP-ACC-BAT-018-01
Preconditions
The caller lacks entry-read permission.
Steps
Request the entry list.
Expected
The request returns 403.
Data
Provide security fixtures.
Bound to
Source
services-accounting:modules/batches/tests/e2e/subledger-entries.e2e.spec.js#refuses a caller without the subledger entries read permission, 403
02 Filters and page sizes are boundedboundaryapinegativetest
Proves
BR-CAP-ACC-BAT-018-02
Preconditions
Entries span several accounts, units and dates.
Steps
Apply each filter and pagination, then submit zero, oversized and invalid-date values.
Expected
Valid filters return matching entries in pages up to two hundred; invalid inputs return field-specific 400 errors.
Data
Provide no fixtures beyond the stated setup.
Bound to
Source
services-accounting:modules/batches/tests/e2e/subledger-entries.e2e.spec.js#refuses from_date=2026-13-01 with a 400 naming the date, not a 500 (DEF-ACT-0507)
03 Detail and list expose the same entryruleapitest
Proves
BR-CAP-ACC-BAT-018-03
Preconditions
An invoice has posted.
Steps
List its batch’s entries and retrieve its detail.
Expected
Both expose matching ordered lines, money values and the document number.
Data
Provide no fixtures beyond the stated setup.
Bound to
Source
services-accounting:modules/batches/tests/e2e/subledger-entries.e2e.spec.js#names the number of the document each entry posts, never its id (DEF-ACT-0531)
04 Reversed system entries are opt-ininteractionapitest
Proves
BR-CAP-ACC-BAT-018-04
Preconditions
An ordinary batch was unposted and a close posting was reversed.
Steps
List with and without reversed entries.
Expected
Ordinary unposting leaves no rows in either view; system reversal history appears when requested.
Data
Provide a fiscal close and reopen.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/persistence/subledger-entries.queries.integration.spec.js#lists no entry when history is asked for either: nothing is written as a reversal
05 Missing and foreign entries are indistinguishableinvariantapinegativetest
Proves
BR-CAP-ACC-BAT-018-05 INV-DOM-ACC-BAT-004-08
Preconditions
An entry belongs to another workspace.
Steps
Read that reference and a nonexistent reference.
Expected
Both return the same 404 response type.
Data
Provide two workspaces.
Bound to
Source
services-accounting:modules/batches/tests/e2e/subledger-entries.e2e.spec.js#answers an entry of another tenant as it answers an absent one: the same status and error type
06 Reporting exposes line-level ledger valuesruleapinegativetest
Proves
BR-CAP-ACC-BAT-018-06 BR-CAP-ACC-BAT-018-07
Preconditions
Several months contain all document kinds, including reversed system history.
Steps
Query as authorized readers in two workspaces.
Expected
Each reader receives only their own lines with base currency, unit, document numbers and reversal flags.
Data
Provide the view fixtures.
Bound to
Source
services-accounting:modules/batches/tests/integration/db/subledger-entry-lines-view.integration.spec.js#answers the unit’s name and its base currency on every row (Reporting D6): the currency of debits and credits, not the document’s
07 Recovery leaves history without ordinary entriesinteractionapiproposed
Proves
BR-CAP-ACC-BAT-016-03 BR-CAP-ACC-BAT-018-04
Preconditions
Morning is Posted and has a visible ledger entry.
Steps
Unpost Morning and list its entries with and without history.
Expected
Both entry lists are empty while posting history retains the retired generation.
Data
An isolated workspace with the stated business-unit calendar, documents and configuration.
Source
services-accounting:modules/batches/tests/integration/services/posting/unpost-deletes-entries.integration.spec.js#deletes the batch’s entries and their lines, and tells how many entries; services-accounting:modules/batches/tests/integration/services/persistence/subledger-entries.queries.integration.spec.js#lists no entry when history is asked for either: nothing is written as a reversal
08 Immutable accounting remains readableinteractionapinegativeproposed
Proves
BR-CAP-ACC-BAT-017-03 BR-CAP-ACC-BAT-018-03
Preconditions
A posted invoice entry is visible to its workspace reader.
Steps
Read its detail, attempt an ordinary ledger mutation and read it again.
Expected
Mutation fails and the second detail agrees with the first.
Data
An isolated workspace with the stated business-unit calendar, documents and configuration.
Source
services-accounting:modules/batches/tests/integration/services/persistence/subledger-entries.integration.spec.js#cannot be updated even by the table owner: the append-only trigger refuses it, naming the table; services-accounting:modules/batches/tests/e2e/subledger-entries.e2e.spec.js#names the number of the document each entry posts, never its id (DEF-ACT-0531)
09 Entry offsets and dates reject malformed inputvalidationapinegativeproposed
Proves
BR-CAP-ACC-BAT-018-02
Preconditions
An isolated posted batch has readable ledger entries.
Steps
List with a negative offset and an impossible calendar date.
Expected
Both requests return field-specific 400 refusals and leave accounting unchanged.
Data
Owned records in an isolated workspace with the stated calendar and accounting setup.
Source
services-accounting:modules/batches/tests/e2e/subledger-entries.e2e.spec.js#refuses from_date=2026-13-01 with a 400 naming the date, not a 500 (DEF-ACT-0507)

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.