Skip to content

ATS-ACC-BAT-007Place documents in eligible batches and protect posted work: Capability Test Specification

Markdown

ATS-ACC-BAT-007

Place documents in eligible batches and protect posted work: 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-061
  • Edge covered
  • Failure covered
  • Boundary covered
  • Concurrency gap: FND-ACC-BAT-061
  • Invariant covered
  • Interaction covered

Test Scenarios

12 scenarios proving CAP-ACC-BAT-007; 7 bound to an existing test.

01 Issuance rejects unsuitable intake batchesvalidationapinegativetest
Proves
BR-CAP-ACC-BAT-007-01 BR-CAP-ACC-BAT-007-10
Preconditions
Selected batches are Closed, system-owned or Open in another unit.
Steps
Issue an invoice into each selection.
Expected
Each request refuses the batch or unit and preserves the draft.
Data
Provide a fiscal close's system batch.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/close/system-batch-guard.integration.spec.js#refuses an invoice, a credit memo and a write-off naming the system batch (a transaction batch only, batch_not_open)
02 Errored intake differs between API and pickeredgebrowsertest
Proves
BR-CAP-ACC-BAT-007-02
Preconditions
The selected batch is Error.
Steps
Issue through the API with that batch and inspect the new-invoice picker.
Expected
The API accepts the assignment while the picker excludes the batch.
Data
Provide an errored batch.
Bound to
Source
react-console:acceptance/accounting/playwright/journeys/batches-posting/ACT-ACC-0538.spec.ts#ACT-ACC-0538
03 Pro forma records cannot hold a batchinvariantapinegativetest
Proves
BR-CAP-ACC-BAT-007-03
Preconditions
No special setup is necessary.
Steps
Persist a pro forma invoice with a batch reference.
Expected
The database rejects the assignment.
Data
Provide no fixtures beyond the stated setup.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/persistence/batch-totals.queries.integration.spec.js#is refused a batch by the database, so no batch’s totals can count one
04 Document moves protect posted batchestransitionbrowsernegativetest
Proves
BR-CAP-ACC-BAT-007-04 BR-CAP-ACC-BAT-007-05 INV-DOM-ACC-BAT-001-05
Preconditions
One unit has two Open batches and one Posted batch.
Steps
Move an invoice between the Open batches, then move a document out of Posted.
Expected
The first move succeeds; the database rejects the posted move.
Data
Provide a posted batch with a document.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/posting/rebuilt-documents.integration.spec.js#refuses, in the database, moving a document out of a posted batch (RHA05)
05 Posted allocations are protectedruleapinegativetest
Proves
BR-CAP-ACC-BAT-007-06
Preconditions
A posted payment exists and the unit has no assignment configuration.
Steps
Add an allocation in its posted batch and record another without a batch.
Expected
The database rejects the posted insertion and the unassigned allocation requires a batch.
Data
Provide a posted payment batch.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/posting/rebuilt-payments.integration.spec.js#refuses, in the database, an allocation row into the posted batch (RHA05)
06 Voiding protects posted documentsfailureapinegativetest
Proves
BR-CAP-ACC-BAT-007-07
Preconditions
A Posted batch contains invoices, memos, payments and credits; another invoice remains unposted.
Steps
Void those documents.
Expected
Posted documents return the batch-not-open refusal; the unposted invoice can be voided.
Data
Provide a posted batch.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/posting/gl-resolution-at-posting.integration.spec.js#refuses voiding an invoice of a posted batch (batch_not_open), the invoice unchanged
07 Amendment stops after postingtransitionbrowsernegativetest
Proves
BR-CAP-ACC-BAT-007-08
Preconditions
An issued invoice belongs to an Open batch.
Steps
Amend a line, post the batch and attempt another amendment.
Expected
Posting uses the accepted revision; the later amendment fails.
Data
Provide no fixtures beyond the stated setup.
Bound to
Source
react-console:acceptance/accounting/playwright/journeys/batches-posting/ACT-ACC-0552.spec.ts#ACT-ACC-0552
08 Date corrections stop after postingboundaryapinegativeproposed
Proves
BR-CAP-ACC-BAT-007-09
Preconditions
One memo remains in an Open batch and another belongs to Posted.
Steps
Change both document dates.
Expected
Only the unposted memo changes, together with its receivable facts.
Data
Provide no fixtures beyond the stated setup.
Source
services-accounting:docs/architecture/accounting-2.0/02-decisions.md#A-7
09 Routing selection must pass intake checksinteractionapinegativeproposed
Proves
BR-CAP-ACC-BAT-007-10 BR-CAP-ACC-BAT-011-09
Preconditions
Routing selects Daily and its active batch is Closed.
Steps
Evaluate invoice facts and then issue an invoice without an explicit batch.
Expected
Evaluation identifies Daily; issuance refuses the Closed intake and saves no issued invoice.
Data
An isolated workspace with the stated business-unit calendar, documents and configuration.
Source
services-accounting:modules/batches/tests/integration/services/close/system-batch-guard.integration.spec.js#refuses the system batch as a default batch (BA-12); react-console:acceptance/accounting/playwright/journeys/batches-posting/ACT-ACC-0510.spec.ts#ACT-ACC-0510
10 Posting freezes document placementinteractionapinegativeproposed
Proves
BR-CAP-ACC-BAT-007-04 BR-CAP-ACC-BAT-013-03
Preconditions
A draft invoice and two Open batches exist in one unit.
Steps
Issue into Morning, post Morning, then try to move the invoice to Evening.
Expected
The move is refused and the invoice and its entry still identify Morning.
Data
An isolated workspace with the stated business-unit calendar, documents and configuration.
Source
services-accounting:modules/batches/tests/integration/services/posting/rebuilt-documents.integration.spec.js#refuses, in the database, moving a document out of a posted batch (RHA05); services-accounting:modules/batches/tests/e2e/batch-postings.e2e.spec.js#posts a batch as a durable job: the answer is the job, and the job posts the batch
11 Recovery permits document reassignmentinteractionapiproposed
Proves
BR-CAP-ACC-BAT-007-05 BR-CAP-ACC-BAT-016-06
Preconditions
Morning is Posted with one invoice and Evening is Open in the same unit.
Steps
Unpost Morning and move its invoice to Evening.
Expected
Morning is Open without ledger entries and the invoice names Evening.
Data
An isolated workspace with the stated business-unit calendar, documents and configuration.
Source
react-console:acceptance/accounting/playwright/journeys/batches-posting/ACT-ACC-0538.spec.ts#ACT-ACC-0538; services-accounting:modules/batches/tests/e2e/batch-postings.e2e.spec.js#unposts a posted batch as a durable job: the batch is open again and its entries are deleted
12 Reassignment requires the update grant in the consolepermissionapinegativeproposed
Proves
BR-CAP-ACC-BAT-007-05
Preconditions
An invoice is in Open Morning and Open Evening belongs to the same unit.
Steps
Attempt reassignment in the console as a reader and as an updater.
Expected
The reader cannot submit reassignment; the updater moves the invoice to Evening.
Data
Owned records in an isolated workspace with the stated calendar and accounting setup.
Source
react-console:acceptance/accounting/playwright/journeys/batches-posting/ACT-ACC-0538.spec.ts#ACT-ACC-0538

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.