Skip to content

ATS-ACC-TRX-015Keep transaction batches and details correct: Capability Test Specification

Markdown

ATS-ACC-TRX-015

Keep transaction batches and details correct: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaAccountingModuleTransactionsRevision2

Read atservices-accounting f47cb263

Coverage

  • Rule covered
  • Transition covered
  • Validation covered
  • Permission covered
  • Edge covered
  • Failure gap: FND-ACC-TRX-080
  • Boundary gap: FND-ACC-TRX-080
  • Concurrency gap: FND-ACC-TRX-080
  • Invariant covered
  • Interaction covered

Test Scenarios

9 scenarios proving CAP-ACC-TRX-015; 8 bound to an existing test.

01 Batch eligibility distinguishes transaction destinationsvalidationapitest
Proves
BR-CAP-ACC-TRX-015-01 INV-DOM-ACC-TRX-006-07
Preconditions
Batches span open, error, closed, posted, period-close and foreign-unit cases.
Steps
[ { "do": "Check invoice, memo and write-off destinations.", "provenance": "test", "source": "services-accounting:modules/transactions/tests/integration/services/batches-for-documents.integration.spec.js#it refuses a system batch, which is period close’s: a transaction batch only (batch_not_open)" } ]
Expected
Only open and error transaction destinations qualify.
Data
Batches representing each lifecycle and purpose.
Bound to
services-accounting:modules/transactions/tests/integration/services/batches-for-documents.integration.spec.js#it refuses a system batch, which is period close’s: a transaction batch only (batch_not_open)
Source
services-accounting:modules/transactions/tests/integration/services/batches-for-documents.integration.spec.js#it refuses a system batch, which is period close’s: a transaction batch only (batch_not_open)
02 Assignment resolves each document kindruleapitest
Proves
BR-CAP-ACC-TRX-015-02
Preconditions
Default and memo-specific recurring rules exist.
Steps
[ { "do": "Create without explicit batches, close the selected memo batch and create again.", "provenance": "test", "source": "services-accounting:modules/transactions/tests/integration/services/batches-for-documents.integration.spec.js#it is refused batch_required once the chosen recurring batch’s active batch is closed (BA-12), naming the reason" } ]
Expected
Default and kind-specific choices apply, then the closed assignment fails with explanation.
Data
Recurring batch assignments.
Bound to
services-accounting:modules/transactions/tests/integration/services/batches-for-documents.integration.spec.js#it gives an invoice, which no rule matches, the active batch of the default recurring batch
services-accounting:modules/transactions/tests/integration/services/batches-for-documents.integration.spec.js#it gives a credit memo the active batch of the recurring batch its rule chooses
services-accounting:modules/transactions/tests/integration/services/batches-for-documents.integration.spec.js#it is refused batch_required once the chosen recurring batch’s active batch is closed (BA-12), naming the reason
Source
services-accounting:modules/transactions/tests/integration/services/batches-for-documents.integration.spec.js#it is refused batch_required once the chosen recurring batch’s active batch is closed (BA-12), naming the reason
03 Movement preserves the posting boundarytransitionapitest
Proves
BR-CAP-ACC-TRX-015-03 INV-DOM-ACC-TRX-006-08
Preconditions
Supported records exist in open and posted batches.
Steps
[ { "do": "Move eligible records, move into and out of posted context and reselect the current batch.", "provenance": "test", "source": "services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it is refused batch_not_open on a reassignment out of the batch" } ]
Expected
Eligible moves retain events, posted moves fail and current-batch selection changes nothing.
Data
Open and posted contexts.
Bound to
Source
services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it is refused batch_not_open on a reassignment out of the batch
04 Receipt movement includes its original applicationsinvariantapitest
Proves
BR-CAP-ACC-TRX-015-04
Preconditions
Payment and allocations share a batch.
Steps
[ { "do": "Move the payment and replay its request.", "provenance": "test", "source": "services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it moves the allocation rows batched with it" } ]
Expected
Applications move with one event and no receivable difference; replay adds nothing.
Data
A payment with batched allocation rows.
Bound to
Source
services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it moves the allocation rows batched with it
05 Inactive money cannot change batchvalidationapinegativetest
Proves
BR-CAP-ACC-TRX-015-05
Preconditions
The receipt is voided.
Steps
[ { "do": "Select another batch.", "provenance": "test", "source": "services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it refuses a void payment" } ]
Expected
The move is refused.
Data
A retained void receipt.
Bound to
Source
services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it refuses a void payment
06 Descriptive correction cannot erase required explanationedgeapitest
Proves
BR-CAP-ACC-TRX-015-06 INV-DOM-ACC-TRX-006-10
Preconditions
Payment and credit records exist.
Steps
[ { "do": "Change reference and notes, clear optional memo and attempt to clear the credit reason while editing its memo.", "provenance": "test", "source": "services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it never clears a required field (a credit’s reason), and changes its memo" } ]
Expected
Payment text changes without money movement; the required reason survives and valid memo changes remain.
Data
Editable financial records.
Bound to
services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it changes the reference number and notes, clears the memo, and leaves the money
services-accounting:modules/transactions/tests/e2e/payments.e2e.spec.js#it sets, then clears, the memo and notes of a succeeded payment when the console sends them blank (PUT .../details)
Source
services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it never clears a required field (a credit’s reason), and changes its memo
07 Date correction restates history in an eligible periodtransitionapitest
Proves
BR-CAP-ACC-TRX-015-07 INV-DOM-ACC-TRX-006-09
Preconditions
An unposted payment and memo face open and uncovered dates.
Steps
[ { "do": "Move their dates and read historical positions, then select the uncovered period.", "provenance": "test", "source": "services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it negates the facts on the old accounting date and restates them on the new one, the originals untouched" } ]
Expected
Opposing entries relocate the position; invalid period selection fails.
Data
Fiscal dates spanning open and absent periods.
Bound to
services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it negates the facts on the old accounting date and restates them on the new one, the originals untouched
Source
services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it negates the facts on the old accounting date and restates them on the new one, the originals untouched
08 Update access controls movement and detailspermissionapinegativetest
Proves
BR-CAP-ACC-TRX-015-08
Preconditions
The caller can inspect payments and memos.
Steps
[ { "do": "Request batch and descriptive corrections.", "provenance": "test", "source": "services-accounting:modules/transactions/tests/e2e/payments.e2e.spec.js#it is refused the batch and details routes without accounting.payments.update (403)" } ]
Expected
Each write is denied.
Data
A transaction reader.
Bound to
services-accounting:modules/transactions/tests/e2e/payments.e2e.spec.js#it is refused the batch and details routes without accounting.payments.update (403)
services-accounting:modules/transactions/tests/e2e/change-memos.e2e.spec.js#it is refused the create, the void, the details and the batch routes 403 permission_missing
Source
services-accounting:modules/transactions/tests/e2e/payments.e2e.spec.js#it is refused the batch and details routes without accounting.payments.update (403)
09 Batch state changes the work a reader can executeinteractionapiproposed
Proves
BR-CAP-ACC-TRX-015-01 BR-CAP-ACC-TRX-015-03 BR-CAP-ACC-TRX-015-04 BR-CAP-ACC-TRX-002-04 BR-CAP-ACC-TRX-016-01 BR-CAP-ACC-TRX-016-02
Preconditions
An isolated workspace has eligible customers, products, matching accounts, an open period and two open batches. Each branch owns separate financial records.
Steps
[ { "do": "Move an unposted invoice and receipt to another eligible batch, inspect actions, then post the destination and attempt invoice amendment and another move.", "provenance": "proposed", "source": "services-accounting:modules/transactions/tests/integration/services/batches-for-documents.integration.spec.js#it refuses a system batch, which is period close’s: a transaction batch only (batch_not_open); services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it is refused batch_not_open on a reassignment out of the batch; services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it moves the allocation rows batched with it; rhythm-v2-docs:specs/accounting/transactions/design/workflows/WF-ACC-TRX-002-amend-re-date-or-void-an-issued-invoice.md#WF-ACC-TRX-002; rhythm-v2-docs:specs/accounting/transactions/design/workflows/WF-ACC-TRX-017-move-a-document-to-another-batch-and-correct-its-details.md#WF-ACC-TRX-017; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-015-move-a-transaction-to-another-batch-and-correct-its-details.md#BR-CAP-ACC-TRX-015-01; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-015-move-a-transaction-to-another-batch-and-correct-its-details.md#BR-CAP-ACC-TRX-015-03; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-015-move-a-transaction-to-another-batch-and-correct-its-details.md#BR-CAP-ACC-TRX-015-04; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-002-correct-or-cancel-an-issued-invoice-before-its-batch-posts.md#BR-CAP-ACC-TRX-002-04; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-016-find-transactions-and-see-what-can-be-done-next.md#BR-CAP-ACC-TRX-016-01; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-016-find-transactions-and-see-what-can-be-done-next.md#BR-CAP-ACC-TRX-016-02" } ]
Expected
The earlier moves retain financial value; current eligibility refuses amendment and movement after posting even if a previously read action was enabled.
Data
Separate command keys, two customers, invoice lines, receipts and credit; controlled processor outcomes and a fixed calendar where the branch requires them.
Source
services-accounting:modules/transactions/tests/integration/services/batches-for-documents.integration.spec.js#it refuses a system batch, which is period close’s: a transaction batch only (batch_not_open); services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it is refused batch_not_open on a reassignment out of the batch; services-accounting:modules/transactions/tests/integration/services/document-edits/reassign-and-edit.integration.spec.js#it moves the allocation rows batched with it; rhythm-v2-docs:specs/accounting/transactions/design/workflows/WF-ACC-TRX-002-amend-re-date-or-void-an-issued-invoice.md#WF-ACC-TRX-002; rhythm-v2-docs:specs/accounting/transactions/design/workflows/WF-ACC-TRX-017-move-a-document-to-another-batch-and-correct-its-details.md#WF-ACC-TRX-017; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-015-move-a-transaction-to-another-batch-and-correct-its-details.md#BR-CAP-ACC-TRX-015-01; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-015-move-a-transaction-to-another-batch-and-correct-its-details.md#BR-CAP-ACC-TRX-015-03; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-015-move-a-transaction-to-another-batch-and-correct-its-details.md#BR-CAP-ACC-TRX-015-04; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-002-correct-or-cancel-an-issued-invoice-before-its-batch-posts.md#BR-CAP-ACC-TRX-002-04; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-016-find-transactions-and-see-what-can-be-done-next.md#BR-CAP-ACC-TRX-016-01; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-016-find-transactions-and-see-what-can-be-done-next.md#BR-CAP-ACC-TRX-016-02

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.