Skip to content

ATS-ACC-BKS-013Maintain tax payable mapping during the Commerce transition: Capability Test Specification

Markdown

ATS-ACC-BKS-013

Maintain tax payable mapping during the Commerce transition: Capability Test Specification

Markdown
  • DocumentProposed
  • Product intentProposed

KindAcceptance test setProduct areaAccountingModuleBooks, Business Units and Chart of AccountsRevision2

Read atservices-accounting f47cb263react-console baf6dae3

Coverage

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

Test Scenarios

9 scenarios proving CAP-ACC-BKS-013; 7 bound to an existing test.

01 Resolve payable accounts at postingrulebrowsernegativetest
Proves
BR-CAP-ACC-BKS-013-02
Preconditions
One unit has a rate mapping, another only a default and another neither.
Steps
Post taxed documents in those units.
Expected
Posting selects mapping then default, and reports a document error for the missing destination.
Data
The setup needs no extra fixture records.
Bound to
Source
react-console:acceptance/accounting/playwright/journeys/configuration/ACT-ACC-0022.spec.ts#ACT-ACC-0022
02 Validate criteria for each zone kindvalidationunitnegativetest
Proves
BR-CAP-ACC-BKS-013-03
Preconditions
No saved zone is required.
Steps
Check matching and foreign-kind criteria, unequal or reversed postal ranges and oversized lists.
Expected
Only criteria appropriate to the kind pass and normalization removes duplicate codes.
Data
The setup needs no extra fixture records.
Bound to
Source
services-accounting:modules/books/tests/unit/rules/tax-zone-rules.spec.js#refuses the criteria of another kind, and any criteria on the rest of the world
03 Bound rate definitionsboundaryunitnegativetest
Proves
BR-CAP-ACC-BKS-013-04
Preconditions
No saved zone is required.
Steps
Validate excess rates, blank names, repeated class/unit references, excessive percentage precision and numeric percentages.
Expected
Each invalid entry is identified by its position.
Data
The setup needs no extra fixture records.
Bound to
Source
services-accounting:modules/books/tests/unit/rules/tax-zone-rules.spec.js#refuses more than twenty rates, a blank name, a class or a unit named twice, and a bad percentage, each by position
04 Retain issued tax after zone replacementtransitionbrowsertest
Proves
BR-CAP-ACC-BKS-013-05
Preconditions
An issued invoice uses the zone’s rates.
Steps
Replace those rate definitions.
Expected
The zone receives new rate identities while the invoice retains its prior tax references.
Data
The setup needs no extra fixture records.
Bound to
Source
services-accounting:modules/books/tests/e2e/tax-zones.e2e.spec.js#answers 200 with the version moved on and the rates rewritten whole, the first under a new id
05 Select zones in order with a default countryruleunittest
Proves
BR-CAP-ACC-BKS-013-06
Preconditions
Prioritized zones include a rest-of-world choice.
Steps
Inspect ordering and match an address without country.
Expected
Ordering follows priority and name; the country defaults to the United States.
Data
The setup needs no extra fixture records.
Bound to
Source
services-accounting:modules/books/tests/e2e/tax-zones.e2e.spec.js#answers every zone in the order it is tried: priority, then name
06 Protect tax classes already referencedinvariantapinegativetest
Proves
BR-CAP-ACC-BKS-013-07 INV-DOM-ACC-BKS-006-03
Preconditions
A class is referenced by setup, rates and issued lines.
Steps
Try removal in each applicable state and remove a removable zone dependency.
Expected
References produce named refusals; removing a zone releases its own dependency only.
Data
The setup needs no extra fixture records.
Bound to
Source
services-accounting:modules/books/tests/integration/services/persistence/tax-classes.integration.spec.js#translates the refusal of each restrict foreign key to a tax class into a 409 naming it, the invoice lines among them
07 Exercise the grants for maintain tax payable mapping during the commerce transitionpermissionapinegativeproposed
Proves
BR-CAP-ACC-BKS-016-01
Preconditions
An application-authorized reader and administrator share the run-owned setup. A third principal lacks the relevant resource grant.
Steps
Read the relevant configuration as the reader, attempt each supported mutation, then repeat with the matching administrator grants. Repeat the reads without their resource grants.
Expected
The permission outcomes match the cited authorization rule, and refused mutations leave every configured value unchanged.
Data
Run-owned records for the stated setup; retain the initial values for comparison.
Source
services-accounting:modules/books/tests/e2e/configuration-security.e2e.spec.js#is refused the create 403 permission_missing
08 Refuse the second replacement of a shared read versionconcurrencyapinegativeproposed
Proves
BR-CAP-ACC-BKS-016-05
Preconditions
Two administrators read the same version of the relevant mutable record. Each prepares a different otherwise valid replacement.
Steps
Release both replacement requests from a barrier. Read the record again and retry the losing payload at its original version.
Expected
One replacement commits, the other is stale, and repeating the stale request preserves the winning values.
Data
Run-owned records for the stated setup; retain the initial values for comparison.
Source
services-accounting:modules/books/tests/e2e/payment-terms.e2e.spec.js#answers 400 naming is_active to a replacement that leaves it out
09 Default tax mapping supplies an unmapped rateinteractionbrowsertest
Proves
BR-CAP-ACC-BKS-013-02 BR-CAP-ACC-BKS-006-02
Preconditions
Run-owned records satisfy the preconditions of the referenced capability proofs.
Steps
Post taxed work without a rate-specific mapping, first with the tax default absent and then assigned to an active local account.
Expected
The missing destination is reported before assignment and the later posting uses the default.
Data
Run-owned records for the stated setup; retain the initial values for comparison.
Bound to
Source
react-console:acceptance/accounting/playwright/journeys/configuration/ACT-ACC-0022.spec.ts#ACT-ACC-0022,services-accounting:modules/books/tests/e2e/default-gl-accounts.e2e.spec.js#answers 400 to another unit’s GL account, naming both units

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.