ATS-ACC-BKS-003 Set a unit’s accounting and tender-fee policies: Capability Test Specification
Markdown Design / Accounting / Books, Business Units and Chart of Accounts / Business Units and Currency Policy / Capability Test Specification Set a unit’s accounting and tender-fee policies: Capability Test Specification Coverage Protect the accounting method after current-period posting. Use the policy effective at posting. Validate a complete fee rule. Require an eligible fee product. Calculate and distribute one tender fee. Apply fees by payment behaviour. Keep an empty tender free of charges. The structured coverage map distinguishes specified examples from remaining findings. Proposed examples require executable proof before qualification.
Changed write-off policy uses the selected destination. Invalid content selection preserves accounting policy. Related-capability and workflow references identify the seams each scenario exercises. The lifecycle coverage record retains transitions that still need individual proof.
Binding Review The pinned service and browser assertions support the registered bindings. Original test references remain beside each scenario so partial evidence and unresolved conformance remain reviewable.
Show evidence (sources, provenance, origins, pinned commits)Coverage Rule covered Transition covered Validation covered Permission covered Edge covered Failure gap: FND-ACC-BKS-064 Boundary covered Concurrency gap: FND-ACC-BKS-064 Invariant gap: FND-ACC-BKS-064 Interaction covered Test Scenarios 12 scenarios proving CAP-ACC-BKS-003 ; 7 bound to an existing test.
01 Protect the accounting method after current-period posting transition api negative test
Proves BR-CAP-ACC-BKS-003-01 Preconditions One unit has current-period posted work and another has posting only elsewhere. Steps Try method changes in both directions. Expected Current-period work blocks each change with period and count; other-period work permits it. Data Isolated fixture records matching this scenario’s setup. Bound to Source services-accounting:modules/books/tests/integration/services/persistence/business-units.integration.spec.js #refuses the change 409 naming the period and the count when a batch of the open period is posted, leaving the method 05 Calculate and distribute one tender fee rule unit test
Proves BR-CAP-ACC-BKS-003-05 Preconditions Fee rules contain percentage, fixed and minimum choices. Steps Calculate base and foreign fees and allocate a tender across two invoices. Expected Half-up percentage rounding applies; base-only fixed and minimum values are shared once, with remainder on the last share. Data The setup needs no extra fixture records. Bound to Source services-accounting:modules/books/tests/unit/rules/card-fee-rules.spec.js #adds the fixed amount in the base currency: 2.9% + 30 on 10000 is 320 06 Apply fees by payment behaviour rule unit test
Proves BR-CAP-ACC-BKS-003-06 Preconditions Electronic-check charging is alternately enabled and disabled. Steps Evaluate card, bank-debit and offline tenders. Expected Cards attract the fee, bank debits follow the switch and offline money attracts none. Data The setup needs no extra fixture records. Bound to Source services-accounting:modules/books/tests/unit/rules/card-fee-rules.spec.js #charges a card behaviour always, a bank debit only when the rule says so, and never an offline method or without a rule 08 Exercise the grants for set a unit’s accounting and tender-fee policies permission api negative proposed
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 09 Fee percentage endpoints boundary api negative proposed
Proves BR-CAP-ACC-BKS-003-03 Preconditions An isolated workspace has records needed for both eligible and ineligible examples. Steps Submit percentages zero and one hundred, then a value immediately above one hundred and a fifth decimal place. Expected Eligible endpoints save; each exceeded precision or range is refused without altering the previous rule. Data Run-owned records for the stated setup; retain the initial values for comparison. Source services-accounting:modules/books/tests/integration/services/persistence/business-units.integration.spec.js #refuses a rule that is not whole (a percent without a product, a product without an amount, a minimum alone) by the database’s rule 10 Refuse the second replacement of a shared read version concurrency api negative proposed
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 11 Changed write-off policy uses the selected destination interaction browser test
Proves BR-CAP-ACC-BKS-003-02 BR-CAP-ACC-BKS-006-06 Preconditions Run-owned records satisfy the preconditions of the referenced capability proofs. Steps Create a write-off, switch its treatment before posting and post; separately try an allowance write-off without its default and retry after assignment. Expected Posting follows the current policy and succeeds after the required destination is supplied. Data Run-owned records for the stated setup; retain the initial values for comparison. Bound to Source services-accounting:modules/books/tests/integration/services/persistence/business-units.integration.spec.js #takes bad_debt_expense on a create that leaves the treatment out,services-accounting:docs/architecture/accounting-2.0/02-decisions.md#A-1 12 Invalid content selection preserves accounting policy interaction api proposed
Proves BR-CAP-ACC-BKS-003-02 BR-CAP-ACC-BKS-015-04 Preconditions Run-owned records satisfy the preconditions of the referenced capability proofs. Steps Change write-off treatment while selecting wrong-kind content in one replacement, then inspect both choices. Expected Neither the policy nor the document choice changes when validation refuses the replacement. Data Run-owned records for the stated setup; retain the initial values for comparison. Source services-accounting:modules/books/tests/integration/services/persistence/business-units.integration.spec.js #takes bad_debt_expense on a create that leaves the treatment out,services-accounting:modules/books/tests/e2e/document-templates.e2e.spec.js#answers 400 to a business unit naming an inactive template ← Previous Capability Test Specification ATS-ACC-BKS-002 · Enable supported foreign currencies for a business unit: Capability Test Specification Next Capability Test Specification → ATS-ACC-BKS-004 · Maintain dated exchange rates for a unit: Capability Test Specification