---
title: Accounting Books Planning Examination
examined_at: '2026-10-23T01:34:53.455Z'
examiner: codex
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
branch: agent/accounting-books-plan-exam-1
counts:
  artifacts: 59
  features: 6
  concepts: 6
  activeConcepts: 5
  capabilities: 19
  rules: 160
  mustProve: 124
  illustrations: 30
  journeys: 6
  journeySteps: 32
  assertions: 18
  acceptanceSets: 19
  acceptanceScenarios: 122
  boundScenarios: 116
  proposedScenarios: 6
  bindings: 349
  checkedSourceReferences: 840
  distinctSourceFiles: 108
  capabilityPermissionKeys: 77
source_audit:
  method: >-
    Pinned git objects; exact file and literal symbol/test-title/heading
    existence checks.
  checked_references: 840
  distinct_files: 108
  missing: 0
coverage_catalog: >-
  | Operation | Capability |

  |---|---|

  | createAccountingProject | CAP-ACC-BKS-008 |

  | listAccountingProjects | CAP-ACC-BKS-008 |

  | getAccountingProject | CAP-ACC-BKS-008 |

  | updateAccountingProject | CAP-ACC-BKS-008 |

  | deleteAccountingProject | CAP-ACC-BKS-008 |

  | createBankAccount | CAP-ACC-BKS-007 |

  | listBankAccounts | CAP-ACC-BKS-007 |

  | getBankAccount | CAP-ACC-BKS-007 |

  | updateBankAccount | CAP-ACC-BKS-007 |

  | deleteBankAccount | CAP-ACC-BKS-007 |

  | createBusinessUnit | CAP-ACC-BKS-001 |

  | listBusinessUnits | CAP-ACC-BKS-001 |

  | getBusinessUnit | CAP-ACC-BKS-001 |

  | updateBusinessUnit | CAP-ACC-BKS-001 |

  | deleteBusinessUnit | CAP-ACC-BKS-001 |

  | listDefaultGlAccounts | CAP-ACC-BKS-006 |

  | assignDefaultGlAccount | CAP-ACC-BKS-006 |

  | clearDefaultGlAccount | CAP-ACC-BKS-006 |

  | listCurrencies | CAP-ACC-BKS-002 |

  | listDefaultGlAccountPurposes | CAP-ACC-BKS-006 |

  | listPaymentProcessors | CAP-ACC-BKS-007 |

  | createDepartment | CAP-ACC-BKS-008 |

  | listDepartments | CAP-ACC-BKS-008 |

  | getDepartment | CAP-ACC-BKS-008 |

  | updateDepartment | CAP-ACC-BKS-008 |

  | deleteDepartment | CAP-ACC-BKS-008 |

  | createDocumentTemplate | CAP-ACC-BKS-014 |

  | listDocumentTemplates | CAP-ACC-BKS-014 |

  | getDocumentTemplate | CAP-ACC-BKS-014 |

  | updateDocumentTemplate | CAP-ACC-BKS-014 |

  | deleteDocumentTemplate | CAP-ACC-BKS-014 |

  | duplicateDocumentTemplate | CAP-ACC-BKS-014 |

  | previewDocumentTemplate | CAP-ACC-BKS-014 |

  | listDocumentTemplateVariables | CAP-ACC-BKS-014 |

  | listExchangeRates | CAP-ACC-BKS-004 |

  | createExchangeRate | CAP-ACC-BKS-004 |

  | resolveExchangeRate | CAP-ACC-BKS-004 |

  | fillExchangeRates | CAP-ACC-BKS-004 |

  | getExchangeRate | CAP-ACC-BKS-004 |

  | updateExchangeRate | CAP-ACC-BKS-004 |

  | deleteExchangeRate | CAP-ACC-BKS-004 |

  | generateFiscalYears | CAP-ACC-BKS-009 |

  | listFiscalYears | CAP-ACC-BKS-009 |

  | getFiscalYear | CAP-ACC-BKS-009 |

  | updateFiscalYear | CAP-ACC-BKS-009 |

  | deleteFiscalYear | CAP-ACC-BKS-009 |

  | getCurrentFiscalPeriod | CAP-ACC-BKS-010 |

  | getFiscalPeriodForDate | CAP-ACC-BKS-010 |

  | createGlAccount | CAP-ACC-BKS-005 |

  | listGlAccounts | CAP-ACC-BKS-005 |

  | getGlAccount | CAP-ACC-BKS-005 |

  | updateGlAccount | CAP-ACC-BKS-005 |

  | deleteGlAccount | CAP-ACC-BKS-005 |

  | createMerchantAccount | CAP-ACC-BKS-007 |

  | listMerchantAccounts | CAP-ACC-BKS-007 |

  | getMerchantAccount | CAP-ACC-BKS-007 |

  | updateMerchantAccount | CAP-ACC-BKS-007 |

  | deleteMerchantAccount | CAP-ACC-BKS-007 |

  | createPaymentMethod | CAP-ACC-BKS-012 |

  | listPaymentMethods | CAP-ACC-BKS-012 |

  | getPaymentMethod | CAP-ACC-BKS-012 |

  | updatePaymentMethod | CAP-ACC-BKS-012 |

  | createPaymentTerms | CAP-ACC-BKS-011 |

  | listPaymentTerms | CAP-ACC-BKS-011 |

  | getPaymentTerms | CAP-ACC-BKS-011 |

  | updatePaymentTerms | CAP-ACC-BKS-011 |

  | deletePaymentTerms | CAP-ACC-BKS-011 |

  | getSettings | CAP-ACC-BKS-017 |

  | updateSettings | CAP-ACC-BKS-017 |

  | createTaxClass | CAP-ACC-BKS-013 |

  | listTaxClasses | CAP-ACC-BKS-013 |

  | getTaxClass | CAP-ACC-BKS-013 |

  | updateTaxClass | CAP-ACC-BKS-013 |

  | deleteTaxClass | CAP-ACC-BKS-013 |

  | createTaxZone | CAP-ACC-BKS-013 |

  | listTaxZones | CAP-ACC-BKS-013 |

  | getTaxZone | CAP-ACC-BKS-013 |

  | updateTaxZone | CAP-ACC-BKS-013 |

  | deleteTaxZone | CAP-ACC-BKS-013 |

  | previewSchedule | CAP-ACC-BKS-018 |

  | listScheduleRuns | CAP-ACC-BKS-018 |


  | Declaration File | Capability Evidence |

  |---|---|

  | modules/books/db/accounting-projects.table.ts | CAP-ACC-BKS-008 |

  | modules/books/db/bank-accounts.table.ts | CAP-ACC-BKS-007 |

  | modules/books/db/business-unit-currencies.table.ts | CAP-ACC-BKS-002 |

  | modules/books/db/business-unit-default-gl-accounts.table.ts |
  CAP-ACC-BKS-006 |

  | modules/books/db/business-units.table.ts | CAP-ACC-BKS-001, CAP-ACC-BKS-003,
  CAP-ACC-BKS-015 |

  | modules/books/db/business-units.view.ts | CAP-ACC-BKS-001 |

  | modules/books/db/currencies.table.ts | CAP-ACC-BKS-002 |

  | modules/books/db/default-gl-account-purposes.table.ts | CAP-ACC-BKS-006 |

  | modules/books/db/departments.table.ts | CAP-ACC-BKS-008 |

  | modules/books/db/document-templates.table.ts | CAP-ACC-BKS-014,
  CAP-ACC-BKS-015 |

  | modules/books/db/exchange-rates.table.ts | CAP-ACC-BKS-004 |

  | modules/books/db/fiscal-periods.table.ts | CAP-ACC-BKS-009, CAP-ACC-BKS-010
  |

  | modules/books/db/fiscal-years.table.ts | CAP-ACC-BKS-009 |

  | modules/books/db/gl-accounts.table.ts | CAP-ACC-BKS-005 |

  | modules/books/db/merchant-accounts.table.ts | CAP-ACC-BKS-007 |

  | modules/books/db/payment-methods.table.ts | CAP-ACC-BKS-012 |

  | modules/books/db/payment-processors.table.ts | CAP-ACC-BKS-007 |

  | modules/books/db/payment-terms.table.ts | CAP-ACC-BKS-011 |

  | modules/books/db/settings.table.ts | CAP-ACC-BKS-017 |

  | modules/books/db/tax-classes.table.ts | CAP-ACC-BKS-013 |

  | modules/books/db/tax-zone-rates.table.ts | CAP-ACC-BKS-013 |

  | modules/books/db/tax-zones.table.ts | CAP-ACC-BKS-013 |

  | modules/maintenance/db/schedules.table.ts | CAP-ACC-BKS-018 |


  | Published Permission | Capability |

  |---|---|

  | `accounting.business-units.read` | CAP-ACC-BKS-001, CAP-ACC-BKS-002,
  CAP-ACC-BKS-006, CAP-ACC-BKS-016 |

  | `accounting.business-units.create` | CAP-ACC-BKS-001 |

  | `accounting.business-units.update` | CAP-ACC-BKS-001, CAP-ACC-BKS-002,
  CAP-ACC-BKS-003, CAP-ACC-BKS-006, CAP-ACC-BKS-015 |

  | `accounting.business-units.delete` | CAP-ACC-BKS-001 |

  | `accounting.business-units.bulk` | CAP-ACC-BKS-016 |

  | `accounting.gl-accounts.read` | CAP-ACC-BKS-005 |

  | `accounting.gl-accounts.create` | CAP-ACC-BKS-005 |

  | `accounting.gl-accounts.update` | CAP-ACC-BKS-005 |

  | `accounting.gl-accounts.delete` | CAP-ACC-BKS-005 |

  | `accounting.gl-accounts.bulk` | CAP-ACC-BKS-016 |

  | `accounting.bank-accounts.read` | CAP-ACC-BKS-007 |

  | `accounting.bank-accounts.create` | CAP-ACC-BKS-007 |

  | `accounting.bank-accounts.update` | CAP-ACC-BKS-007 |

  | `accounting.bank-accounts.delete` | CAP-ACC-BKS-007 |

  | `accounting.bank-accounts.bulk` | CAP-ACC-BKS-016 |

  | `accounting.merchant-accounts.read` | CAP-ACC-BKS-007 |

  | `accounting.merchant-accounts.create` | CAP-ACC-BKS-007 |

  | `accounting.merchant-accounts.update` | CAP-ACC-BKS-007 |

  | `accounting.merchant-accounts.delete` | CAP-ACC-BKS-007 |

  | `accounting.merchant-accounts.bulk` | CAP-ACC-BKS-016 |

  | `accounting.departments.read` | CAP-ACC-BKS-008 |

  | `accounting.departments.create` | CAP-ACC-BKS-008 |

  | `accounting.departments.update` | CAP-ACC-BKS-008 |

  | `accounting.departments.delete` | CAP-ACC-BKS-008 |

  | `accounting.departments.bulk` | CAP-ACC-BKS-016 |

  | `accounting.accounting-projects.read` | CAP-ACC-BKS-008 |

  | `accounting.accounting-projects.create` | CAP-ACC-BKS-008 |

  | `accounting.accounting-projects.update` | CAP-ACC-BKS-008 |

  | `accounting.accounting-projects.delete` | CAP-ACC-BKS-008 |

  | `accounting.accounting-projects.bulk` | CAP-ACC-BKS-016 |

  | `accounting.payment-terms.read` | CAP-ACC-BKS-011 |

  | `accounting.payment-terms.create` | CAP-ACC-BKS-011 |

  | `accounting.payment-terms.update` | CAP-ACC-BKS-011 |

  | `accounting.payment-terms.delete` | CAP-ACC-BKS-011 |

  | `accounting.payment-terms.bulk` | CAP-ACC-BKS-016 |

  | `accounting.payment-methods.read` | CAP-ACC-BKS-012 |

  | `accounting.payment-methods.create` | CAP-ACC-BKS-012 |

  | `accounting.payment-methods.update` | CAP-ACC-BKS-012 |

  | `accounting.payment-methods.delete` | CAP-ACC-BKS-016 |

  | `accounting.payment-methods.bulk` | CAP-ACC-BKS-016 |

  | `accounting.tax-classes.read` | CAP-ACC-BKS-013 |

  | `accounting.tax-classes.create` | CAP-ACC-BKS-013 |

  | `accounting.tax-classes.update` | CAP-ACC-BKS-013 |

  | `accounting.tax-classes.delete` | CAP-ACC-BKS-013 |

  | `accounting.tax-classes.bulk` | CAP-ACC-BKS-016 |

  | `accounting.tax-zones.read` | CAP-ACC-BKS-013 |

  | `accounting.tax-zones.create` | CAP-ACC-BKS-013 |

  | `accounting.tax-zones.update` | CAP-ACC-BKS-013 |

  | `accounting.tax-zones.delete` | CAP-ACC-BKS-013 |

  | `accounting.tax-zones.bulk` | CAP-ACC-BKS-016 |

  | `accounting.exchange-rates.read` | CAP-ACC-BKS-004 |

  | `accounting.exchange-rates.create` | CAP-ACC-BKS-004 |

  | `accounting.exchange-rates.update` | CAP-ACC-BKS-004 |

  | `accounting.exchange-rates.delete` | CAP-ACC-BKS-004 |

  | `accounting.exchange-rates.bulk` | CAP-ACC-BKS-016 |

  | `accounting.fiscal-years.read` | CAP-ACC-BKS-009, CAP-ACC-BKS-010 |

  | `accounting.fiscal-years.create` | CAP-ACC-BKS-009 |

  | `accounting.fiscal-years.update` | CAP-ACC-BKS-009 |

  | `accounting.fiscal-years.delete` | CAP-ACC-BKS-009 |

  | `accounting.fiscal-years.bulk` | CAP-ACC-BKS-016 |

  | `accounting.document-templates.read` | CAP-ACC-BKS-014, CAP-ACC-BKS-015 |

  | `accounting.document-templates.create` | CAP-ACC-BKS-014 |

  | `accounting.document-templates.update` | CAP-ACC-BKS-014 |

  | `accounting.document-templates.delete` | CAP-ACC-BKS-014 |

  | `accounting.document-templates.bulk` | CAP-ACC-BKS-016 |

  | `accounting.settings.read` | CAP-ACC-BKS-017 |

  | `accounting.settings.create` | CAP-ACC-BKS-016 |

  | `accounting.settings.update` | CAP-ACC-BKS-015, CAP-ACC-BKS-017 |

  | `accounting.settings.delete` | CAP-ACC-BKS-016 |

  | `accounting.settings.bulk` | CAP-ACC-BKS-016 |

  | `accounting.business-units.query` | CAP-ACC-BKS-001 |

  | `accounting.application.access` | CAP-ACC-BKS-006, CAP-ACC-BKS-007,
  CAP-ACC-BKS-016, CAP-ACC-BKS-018, CAP-ACC-BKS-019 |


  | Service Test File | Capability Evidence |

  |---|---|

  |
  services-accounting:modules/books/tests/e2e/accounting-dimensions-security.e2e.spec.js
  | CAP-ACC-BKS-016 |

  | services-accounting:modules/books/tests/e2e/accounting-projects.e2e.spec.js
  | CAP-ACC-BKS-008 |

  | services-accounting:modules/books/tests/e2e/bank-accounts.e2e.spec.js |
  CAP-ACC-BKS-002, CAP-ACC-BKS-007 |

  | services-accounting:modules/books/tests/e2e/business-units.e2e.spec.js |
  CAP-ACC-BKS-001, CAP-ACC-BKS-002, CAP-ACC-BKS-016 |

  |
  services-accounting:modules/books/tests/e2e/configuration-security.e2e.spec.js
  | CAP-ACC-BKS-010, CAP-ACC-BKS-016 |

  | services-accounting:modules/books/tests/e2e/currencies.e2e.spec.js |
  CAP-ACC-BKS-016 |

  | services-accounting:modules/books/tests/e2e/default-gl-accounts.e2e.spec.js
  | CAP-ACC-BKS-005, CAP-ACC-BKS-006 |

  | services-accounting:modules/books/tests/e2e/departments.e2e.spec.js |
  CAP-ACC-BKS-008, CAP-ACC-BKS-016 |

  |
  services-accounting:modules/books/tests/e2e/document-templates-security.e2e.spec.js
  | CAP-ACC-BKS-015, CAP-ACC-BKS-016, CAP-ACC-BKS-017 |

  | services-accounting:modules/books/tests/e2e/document-templates.e2e.spec.js |
  CAP-ACC-BKS-014, CAP-ACC-BKS-015, CAP-ACC-BKS-017 |

  | services-accounting:modules/books/tests/e2e/exchange-rates.e2e.spec.js |
  CAP-ACC-BKS-002, CAP-ACC-BKS-004 |

  | services-accounting:modules/books/tests/e2e/fiscal-years.e2e.spec.js |
  CAP-ACC-BKS-001, CAP-ACC-BKS-009, CAP-ACC-BKS-010 |

  | services-accounting:modules/books/tests/e2e/gl-accounts.e2e.spec.js |
  CAP-ACC-BKS-002, CAP-ACC-BKS-005 |

  | services-accounting:modules/books/tests/e2e/merchant-accounts.e2e.spec.js |
  CAP-ACC-BKS-002, CAP-ACC-BKS-007 |

  | services-accounting:modules/books/tests/e2e/payment-methods.e2e.spec.js |
  CAP-ACC-BKS-012 |

  | services-accounting:modules/books/tests/e2e/payment-terms.e2e.spec.js |
  CAP-ACC-BKS-011, CAP-ACC-BKS-016 |

  | services-accounting:modules/books/tests/e2e/tax-classes.e2e.spec.js |
  CAP-ACC-BKS-013 |

  | services-accounting:modules/books/tests/e2e/tax-zones.e2e.spec.js |
  CAP-ACC-BKS-013 |

  |
  services-accounting:modules/books/tests/integration/db/accounting-dimensions.table.integration.spec.js
  | CAP-ACC-BKS-008, CAP-ACC-BKS-011, CAP-ACC-BKS-016 |

  |
  services-accounting:modules/books/tests/integration/db/business-units-view.integration.spec.js
  | CAP-ACC-BKS-001 |

  |
  services-accounting:modules/books/tests/integration/db/configuration-records.table.integration.spec.js
  | CAP-ACC-BKS-001, CAP-ACC-BKS-002, CAP-ACC-BKS-005, CAP-ACC-BKS-007,
  CAP-ACC-BKS-016 |

  |
  services-accounting:modules/books/tests/integration/db/configuration-vocabularies.table.integration.spec.js
  | CAP-ACC-BKS-006 |

  |
  services-accounting:modules/books/tests/integration/db/currency-catalog.integration.spec.js
  | CAP-ACC-BKS-002 |

  |
  services-accounting:modules/books/tests/integration/db/document-templates.table.integration.spec.js
  | CAP-ACC-BKS-014 |

  |
  services-accounting:modules/books/tests/integration/db/exchange-rates.table.integration.spec.js
  | CAP-ACC-BKS-002 |

  |
  services-accounting:modules/books/tests/integration/db/fiscal-years.table.integration.spec.js
  | CAP-ACC-BKS-009 |

  |
  services-accounting:modules/books/tests/integration/db/reconciliation-configuration.table.integration.spec.js
  | CAP-ACC-BKS-007, CAP-ACC-BKS-017 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/accounting-projects.integration.spec.js
  | CAP-ACC-BKS-008 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/accounting-projects.queries.integration.spec.js
  | CAP-ACC-BKS-008 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/bank-accounts.integration.spec.js
  | CAP-ACC-BKS-016 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/bank-accounts.queries.integration.spec.js
  | CAP-ACC-BKS-007 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/business-units.integration.spec.js
  | CAP-ACC-BKS-001, CAP-ACC-BKS-002, CAP-ACC-BKS-003 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/business-units.queries.integration.spec.js
  | CAP-ACC-BKS-001 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/currencies.queries.integration.spec.js
  | CAP-ACC-BKS-002 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/default-gl-account-purposes.queries.integration.spec.js
  | CAP-ACC-BKS-006 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/default-gl-accounts.integration.spec.js
  | CAP-ACC-BKS-006 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/default-gl-accounts.queries.integration.spec.js
  | CAP-ACC-BKS-006 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/departments.integration.spec.js
  | CAP-ACC-BKS-001, CAP-ACC-BKS-008 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/departments.queries.integration.spec.js
  | CAP-ACC-BKS-008 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/document-templates.integration.spec.js
  | CAP-ACC-BKS-015 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/document-templates.queries.integration.spec.js
  | CAP-ACC-BKS-014 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/exchange-rates.integration.spec.js
  | CAP-ACC-BKS-004 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/exchange-rates.queries.integration.spec.js
  | CAP-ACC-BKS-004 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/fiscal-periods.queries.integration.spec.js
  | CAP-ACC-BKS-010 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/fiscal-years.integration.spec.js
  | CAP-ACC-BKS-001, CAP-ACC-BKS-009 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/fiscal-years.queries.integration.spec.js
  | CAP-ACC-BKS-009 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/gl-accounts.integration.spec.js
  | CAP-ACC-BKS-005, CAP-ACC-BKS-016 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/gl-accounts.queries.integration.spec.js
  | CAP-ACC-BKS-005 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/merchant-accounts.integration.spec.js
  | CAP-ACC-BKS-007 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/merchant-accounts.queries.integration.spec.js
  | CAP-ACC-BKS-007 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/payment-methods.integration.spec.js
  | CAP-ACC-BKS-012, CAP-ACC-BKS-019 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/payment-methods.queries.integration.spec.js
  | CAP-ACC-BKS-012 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/payment-processors.queries.integration.spec.js
  | CAP-ACC-BKS-007 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/payment-terms.integration.spec.js
  | CAP-ACC-BKS-011 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/payment-terms.queries.integration.spec.js
  | CAP-ACC-BKS-011 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/settings.integration.spec.js
  | CAP-ACC-BKS-017 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/settings.queries.integration.spec.js
  | CAP-ACC-BKS-017 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/tax-classes.integration.spec.js
  | CAP-ACC-BKS-013 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/tax-classes.queries.integration.spec.js
  | CAP-ACC-BKS-013 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/tax-zones.integration.spec.js
  | CAP-ACC-BKS-013, CAP-ACC-BKS-016 |

  |
  services-accounting:modules/books/tests/integration/services/persistence/tax-zones.queries.integration.spec.js
  | CAP-ACC-BKS-013 |

  | services-accounting:modules/books/tests/unit/business-units-schemas.spec.js
  | CAP-ACC-BKS-001 |

  |
  services-accounting:modules/books/tests/unit/document-templates/built-ins.golden.spec.js
  | CAP-ACC-BKS-014 |

  |
  services-accounting:modules/books/tests/unit/document-templates/filters.spec.js
  | CAP-ACC-BKS-014 |

  |
  services-accounting:modules/books/tests/unit/document-templates/resolution.spec.js
  | CAP-ACC-BKS-015 |

  |
  services-accounting:modules/books/tests/unit/document-templates/sample-data.spec.js
  | CAP-ACC-BKS-014 |

  |
  services-accounting:modules/books/tests/unit/document-templates/template-sources.spec.js
  | CAP-ACC-BKS-014 |

  | services-accounting:modules/books/tests/unit/fiscal-year-rules.spec.js |
  CAP-ACC-BKS-009 |

  |
  services-accounting:modules/books/tests/unit/integrations-exchange-rate-provider.spec.js
  | CAP-ACC-BKS-004 |

  |
  services-accounting:modules/books/tests/unit/rules/accounting-dimensions.spec.js
  | CAP-ACC-BKS-008 |

  | services-accounting:modules/books/tests/unit/rules/card-fee-rules.spec.js |
  CAP-ACC-BKS-003 |

  |
  services-accounting:modules/books/tests/unit/rules/exchange-rate-rules.spec.js
  | CAP-ACC-BKS-004 |

  |
  services-accounting:modules/books/tests/unit/rules/multi-currency-rules.spec.js
  | CAP-ACC-BKS-002 |

  |
  services-accounting:modules/books/tests/unit/rules/payment-method-rules.spec.js
  | CAP-ACC-BKS-012 |

  | services-accounting:modules/books/tests/unit/rules/tax-zone-rules.spec.js |
  CAP-ACC-BKS-013 |

  | services-accounting:modules/books/tests/unit/slice0-repairs.spec.js |
  CAP-ACC-BKS-001 |

  | services-accounting:modules/maintenance/tests/e2e/schedules.e2e.spec.js |
  CAP-ACC-BKS-018 |

  |
  services-accounting:modules/maintenance/tests/integration/db/declaration-completeness.integration.spec.js
  | CAP-ACC-BKS-019 |

  |
  services-accounting:modules/maintenance/tests/integration/db/export-coverage.integration.spec.js
  | CAP-ACC-BKS-019 |

  |
  services-accounting:modules/maintenance/tests/integration/db/purge-order.integration.spec.js
  | CAP-ACC-BKS-019 |

  |
  services-accounting:modules/maintenance/tests/integration/services/exports/seed-everything.integration.spec.js
  | CAP-ACC-BKS-019 |

  |
  services-accounting:modules/maintenance/tests/integration/services/participants/billing-participant.integration.spec.js
  | CAP-ACC-BKS-019 |

  |
  services-accounting:modules/maintenance/tests/integration/services/participants/configuration-participant.integration.spec.js
  | CAP-ACC-BKS-019 |

  |
  services-accounting:modules/maintenance/tests/integration/services/participants/fiscal-close-participant.integration.spec.js
  | CAP-ACC-BKS-019 |

  |
  services-accounting:modules/maintenance/tests/integration/services/persistence/tenant-exports.queries.integration.spec.js
  | CAP-ACC-BKS-019 |

  |
  services-accounting:modules/maintenance/tests/integration/services/persistence/tenants.queries.integration.spec.js
  | CAP-ACC-BKS-019 |

  |
  services-accounting:modules/maintenance/tests/integration/services/scheduling/schedules-end-to-end.integration.spec.js
  | CAP-ACC-BKS-010, CAP-ACC-BKS-018 |

  |
  services-accounting:modules/maintenance/tests/unit/exports/export-coverage.spec.js
  | CAP-ACC-BKS-019 |

  |
  services-accounting:modules/maintenance/tests/unit/exports/round-trip.spec.js
  | CAP-ACC-BKS-019 |

  |
  services-accounting:modules/maintenance/tests/unit/exports/secret-guard.spec.js
  | CAP-ACC-BKS-019 |

  |
  services-accounting:modules/maintenance/tests/unit/lifecycle/tenant-availability.spec.js
  | CAP-ACC-BKS-019 |

  |
  services-accounting:modules/maintenance/tests/unit/lifecycle/tenant-lifecycle-operations.spec.js
  | CAP-ACC-BKS-019 |

  |
  services-accounting:modules/maintenance/tests/unit/participants/billing-manifest.spec.js
  | CAP-ACC-BKS-019 |

  |
  services-accounting:modules/maintenance/tests/unit/participants/manifests.spec.js
  | CAP-ACC-BKS-019 |
original_unbound_test_files:
  - modules/books/tests/integration/db/currency-catalog.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/accounting-projects.queries.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/bank-accounts.queries.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/business-units.queries.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/currencies.queries.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/default-gl-account-purposes.queries.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/default-gl-accounts.queries.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/departments.queries.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/document-templates.queries.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/fiscal-years.queries.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/gl-accounts.queries.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/merchant-accounts.queries.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/payment-processors.queries.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/payment-terms.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/payment-terms.queries.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/tax-classes.queries.integration.spec.js
  - >-
    modules/books/tests/integration/services/persistence/tax-zones.queries.integration.spec.js
  - modules/books/tests/unit/business-units-schemas.spec.js
  - modules/books/tests/unit/document-templates/filters.spec.js
  - modules/books/tests/unit/document-templates/sample-data.spec.js
  - modules/books/tests/unit/integrations-exchange-rate-provider.spec.js
  - modules/books/tests/unit/slice0-repairs.spec.js
  - modules/maintenance/tests/integration/db/export-coverage.integration.spec.js
  - >-
    modules/maintenance/tests/integration/services/participants/billing-participant.integration.spec.js
  - >-
    modules/maintenance/tests/integration/services/participants/fiscal-close-participant.integration.spec.js
  - >-
    modules/maintenance/tests/integration/services/persistence/tenant-exports.queries.integration.spec.js
  - >-
    modules/maintenance/tests/integration/services/persistence/tenants.queries.integration.spec.js
  - modules/maintenance/tests/unit/exports/export-coverage.spec.js
  - modules/maintenance/tests/unit/exports/round-trip.spec.js
  - modules/maintenance/tests/unit/exports/secret-guard.spec.js
  - modules/maintenance/tests/unit/participants/billing-manifest.spec.js
  - modules/maintenance/tests/unit/participants/manifests.spec.js
verification_changes:
  - id: ATS-ACC-BKS-003
    metadata: []
    newRules: []
    newScenarios:
      - ATS-ACC-BKS-003-07
  - id: ATS-ACC-BKS-007
    metadata: []
    newRules: []
    newScenarios:
      - ATS-ACC-BKS-007-07
  - id: ATS-ACC-BKS-018
    metadata: []
    newRules: []
    newScenarios:
      - ATS-ACC-BKS-018-06
  - id: ATS-ACC-BKS-019
    metadata: []
    newRules: []
    newScenarios:
      - ATS-ACC-BKS-019-08
  - id: CAP-ACC-BKS-001
    title: Establish a separate set of books for each business unit
    metadata:
      - field: rules.1.enforced_at
        before:
          - api
          - service
          - database
        after:
          - service
          - database
      - field: rules.3.origin
        before: 'services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#D3'
        after: none
    newRules: []
    newScenarios: []
  - id: CAP-ACC-BKS-002
    title: Enable supported foreign currencies for a business unit
    metadata:
      - field: rules.3.origin
        before: >-
          services-accounting:docs/architecture/accounting-2.0/02-decisions.md#P-3
        after: 'services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#D2'
      - field: rules.7.provenance
        before: observed
        after: test
      - field: rules.7.source
        before: >-
          services-accounting:modules/books/services/persistence/business-units.ts:readBusinessUnitCurrencies
        after: >-
          react-console:acceptance/accounting/playwright/journeys/configuration/ACT-ACC-0007.spec.ts#ACT-ACC-0007
    newRules: []
    newScenarios: []
  - id: CAP-ACC-BKS-003
    title: Set a unit’s accounting and tender-fee policies
    metadata:
      - field: rules.7.origin
        before: 'services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#D3'
        after: none
    newRules:
      - BR-CAP-ACC-BKS-003-09
    newScenarios: []
  - id: CAP-ACC-BKS-005
    title: Maintain a business unit’s chart
    metadata:
      - field: rules.1.enforced_at
        before:
          - api
          - service
          - database
        after:
          - service
          - database
    newRules: []
    newScenarios: []
  - id: CAP-ACC-BKS-006
    title: Assign accounts to standard posting purposes
    metadata:
      - field: rules.4.provenance
        before: documented
        after: observed
    newRules: []
    newScenarios: []
  - id: CAP-ACC-BKS-007
    title: Configure where received money lands
    metadata: []
    newRules:
      - BR-CAP-ACC-BKS-007-09
    newScenarios: []
  - id: CAP-ACC-BKS-008
    title: Organize reporting by department and project
    metadata:
      - field: rules.5.origin
        before: >-
          services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#Entity
          capabilities (R2-ARCH-001)
        after: none
    newRules: []
    newScenarios: []
  - id: CAP-ACC-BKS-009
    title: Extend and maintain a unit’s fiscal calendar
    metadata:
      - field: rules.4.enforced_at
        before:
          - api
          - service
        after:
          - service
    newRules: []
    newScenarios: []
  - id: CAP-ACC-BKS-010
    title: Locate the fiscal period for accounting work
    metadata:
      - field: rules.5.enforced_at
        before:
          - job
        after:
          - service
    newRules: []
    newScenarios: []
  - id: CAP-ACC-BKS-011
    title: Define invoice payment terms
    metadata:
      - field: concepts
        before:
          - CON-ACC-BKS-005
        after:
          - CON-ACC-BKS-006
    newRules: []
    newScenarios: []
  - id: CAP-ACC-BKS-012
    title: Configure the methods used to receive money
    metadata:
      - field: intent_sources
        before:
          - >-
            services-accounting:docs/architecture/accounting-2.0/02-decisions.md#D-01
          - >-
            services-accounting:docs/architecture/accounting-2.0/02-decisions.md#D-05
          - >-
            services-accounting:docs/architecture/accounting-2.0/02-decisions.md#D-08
        after:
          - >-
            services-accounting:docs/architecture/accounting-2.0/02-decisions.md#2.11
            The payment methods, deferred payment and order collection decisions
            (Andrew, 2026-10-18 evening); decision D-01
          - >-
            services-accounting:docs/architecture/accounting-2.0/02-decisions.md#2.11
            The payment methods, deferred payment and order collection decisions
            (Andrew, 2026-10-18 evening); decision D-05
          - >-
            services-accounting:docs/architecture/accounting-2.0/02-decisions.md#2.11
            The payment methods, deferred payment and order collection decisions
            (Andrew, 2026-10-18 evening); decision D-08
      - field: concepts
        before:
          - CON-ACC-BKS-005
        after:
          - CON-ACC-BKS-006
      - field: rules.0.origin
        before: >-
          services-accounting:docs/architecture/accounting-2.0/02-decisions.md#D-01
        after: >-
          services-accounting:docs/architecture/accounting-2.0/02-decisions.md#2.11
          The payment methods, deferred payment and order collection decisions
          (Andrew, 2026-10-18 evening); decision D-01
      - field: rules.1.origin
        before: >-
          services-accounting:docs/architecture/accounting-2.0/02-decisions.md#D-01
        after: >-
          services-accounting:docs/architecture/accounting-2.0/02-decisions.md#2.11
          The payment methods, deferred payment and order collection decisions
          (Andrew, 2026-10-18 evening); decision D-01
      - field: rules.6.origin
        before: >-
          services-accounting:docs/architecture/accounting-2.0/02-decisions.md#D-05
        after: none
    newRules: []
    newScenarios: []
  - id: CAP-ACC-BKS-013
    title: Maintain tax payable mapping during the Commerce transition
    metadata:
      - field: intent_sources
        before:
          - >-
            services-accounting:docs/architecture/accounting-2.0/02-decisions.md#R-1
          - >-
            services-accounting:docs/architecture/realignment-2026-10-22/ownership.md#Capability
            matrix
          - 'services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#D1'
          - >-
            services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#D16
        after:
          - >-
            services-accounting:docs/architecture/accounting-2.0/02-decisions.md#R-1
          - >-
            services-accounting:docs/architecture/realignment-2026-10-22/ownership.md#3.
            Capability ownership matrix
          - 'services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#D1'
          - >-
            services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#D16
      - field: concepts
        before:
          - CON-ACC-BKS-005
          - CON-ACC-BKS-002
        after:
          - CON-ACC-BKS-006
          - CON-ACC-BKS-002
      - field: rules.0.enforced_at
        before:
          - service
        after: []
    newRules: []
    newScenarios: []
  - id: CAP-ACC-BKS-015
    title: Select templates for business documents
    metadata:
      - field: rules.3.enforced_at
        before:
          - api
          - service
          - database
        after:
          - service
          - database
      - field: rules.7.enforced_at
        before:
          - service
        after: []
      - field: rules.7.provenance
        before: inferred
        after: unknown
      - field: rules.7.source
        before: >-
          services-accounting:modules/books/services/document-templates/resolution.ts;
          modules/transactions/services/invoices/invoice-rendering.ts
        after: FND-ACC-BKS-031
    newRules: []
    newScenarios: []
  - id: CAP-ACC-BKS-016
    title: Control access and safe changes to books configuration
    metadata:
      - field: rules.6.provenance
        before: test
        after: observed
      - field: rules.6.source
        before: >-
          services-accounting:modules/books/tests/integration/services/persistence/gl-accounts.integration.spec.js#refuses
          an account locked against updates
        after: >-
          services-accounting:modules/books/services/persistence/gl-accounts.ts:updateGlAccount
      - field: rules.7.provenance
        before: test
        after: observed
      - field: rules.7.source
        before: >-
          services-accounting:modules/books/tests/e2e/business-units.e2e.spec.js#answers
          400 to a cursor the list never answered
        after: 'services-accounting:modules/books/aws/api/paging.ts:decodeCursor'
    newRules: []
    newScenarios: []
  - id: CAP-ACC-BKS-017
    title: Set accounting policy shared by the workspace
    metadata:
      - field: rules.1.source
        before: 'services-accounting:modules/books/db/settings.table.ts:settings'
        after: >-
          services-accounting:docs/architecture/accounting-2.0/02-decisions.md#A-9
      - field: rules.3.source
        before: 'services-accounting:modules/books/db/settings.table.ts:settings'
        after: >-
          services-accounting:docs/architecture/accounting-2.0/02-decisions.md#M5-2
    newRules: []
    newScenarios: []
  - id: CAP-ACC-BKS-018
    title: 'Preview, run and review scheduled Accounting work'
    metadata:
      - field: rules.4.enforced_at
        before:
          - job
          - database
        after:
          - service
          - database
      - field: rules.5.enforced_at
        before:
          - job
        after:
          - service
      - field: rules.6.enforced_at
        before:
          - job
        after:
          - service
      - field: rules.8.enforced_at
        before:
          - job
        after:
          - service
    newRules:
      - BR-CAP-ACC-BKS-018-10
    newScenarios: []
  - id: CAP-ACC-BKS-019
    title: Manage Accounting data through workspace lifecycle jobs
    metadata:
      - field: intent_sources
        before:
          - >-
            services-accounting:docs/architecture/accounting-2.0/02-decisions.md#D-01
        after:
          - >-
            services-accounting:docs/architecture/accounting-2.0/02-decisions.md#2.11
            The payment methods, deferred payment and order collection decisions
            (Andrew, 2026-10-18 evening); decision D-01
      - field: rules.0.origin
        before: >-
          services-accounting:docs/architecture/accounting-2.0/02-decisions.md#D-01
        after: none
      - field: rules.4.enforced_at
        before:
          - database
        after:
          - service
    newRules:
      - BR-CAP-ACC-BKS-019-09
    newScenarios: []
  - id: CON-ACC-BKS-005
    title: Payment and Tax Setup
    metadata:
      - field: status
        before: draft
        after: superseded
    newRules: []
    newScenarios: []
  - id: CON-ACC-BKS-006
    title: Accounting Workspace
    metadata:
      - field: acted_on_by
        before:
          - CAP-ACC-BKS-016
          - CAP-ACC-BKS-017
          - CAP-ACC-BKS-018
          - CAP-ACC-BKS-019
        after:
          - CAP-ACC-BKS-011
          - CAP-ACC-BKS-012
          - CAP-ACC-BKS-013
          - CAP-ACC-BKS-019
          - CAP-ACC-BKS-016
          - CAP-ACC-BKS-017
          - CAP-ACC-BKS-018
      - field: supersedes
        before: []
        after:
          - CON-ACC-BKS-005
    newRules: []
    newScenarios: []
  - id: FEAT-ACC-BKS-04
    title: 'Shared Terms, Receipt Methods and Tax Mapping'
    metadata:
      - field: concepts
        before:
          - CON-ACC-BKS-005
        after: []
    newRules: []
    newScenarios: []
validation:
  - 'npm ci && npm run check: pass, zero conformance errors.'
  - 'npm test: pass, four checker tests.'
  - 'Product suites: static evidence examination only.'
---

# Books Planning Examination

## Verdict for Andrew

The corrected layer is a faithful, sourced static description of the scoped module at the pinned commits, with uncertain cross-module adoption explicitly left open. Its weakest areas are live-provider and browser execution evidence, granular authority hidden behind group approvals, and the unresolved tax and lock-release boundaries. Before design starts, Andrew should settle the recorded ownership and policy questions, require the outstanding proving scenarios, and approve the planning text without treating code observation as product approval.

## Scope and Method

The examination uses the supplied authoring contract, planning templates, approved Entities example and draft brief. Structured source references and existing bindings are checked against the pinned repositories, then rules are compared with route validation, service logic, declarations and the scoped console evidence. Each existing artifact receives independently written final prose and human-facing structured text; verification changes and rewrites are committed separately, with later evidence corrections retained as additional verification commits.

Product records establish authority only for the subjects they actually decide. Group approvals provide capability-level scope but do not reconstruct an unavailable external inventory; unsupported specific rule origins are removed. No approval status is assigned by this examination.

## Counts Examined

| Item | Count |
|---|---:|
| Existing module files examined and rewritten | 59 |
| Accounting actor rows rewritten | 5 |
| Features | 6 |
| Concept identities retained | 6 |
| Active broad concepts | 5 |
| Capabilities | 19 |
| Rules, including four additions | 160 |
| Rules requiring proof | 124 |
| Capability illustrations | 30 |
| Journeys | 6 |
| Journey steps | 32 |
| Journey assertions | 18 |
| Acceptance sets | 19 |
| Acceptance scenarios, including four additions | 122 |
| Bound acceptance scenarios | 116 |
| Proposed unbound acceptance scenarios | 6 |
| Existing acceptance bindings checked | 349 |
| Structured repository source references checked | 840 |
| Distinct files behind structured row sources | 108 |
| Findings retained, including five additions | 35 |
| Product questions retained | 3 |

The new dated report brings the module file count to sixty. Literal path and anchor checks report no missing row source or bound test; unknown producer adoption points to its finding. Existing bindings establish present assertions, while unbound scenarios remain proposals.

## Coverage

| Surface | Covered / Total | Evidence Home | Uncovered |
|---|---|---|---|
| Declared business HTTP operations | 81 / 81 | Capability operation catalogue | None |
| Lifecycle operations | 6 / 6 | `CAP-ACC-BKS-019` | None |
| Table/view declaration files | 23 / 23 | Capability declaration catalogue | None |
| Physical tables and registered view | 26 / 26 | Twenty-five tables and the business-unit view | None |
| Scoped published configuration permissions | 72 / 72 | Permission catalogue | None |
| Scheduling subject-read keys | 5 / 5 | `CAP-ACC-BKS-018` | None |
| Service e2e specifications | 19 / 19 | Capability test catalogue | None |
| Current service test-file evidence homes | 94 / 94 | Capability test catalogue | None |
| Original service test-file row sources | 62 / 94 | Row sources and acceptance bindings | Thirty-two files listed below |
| Hosted configuration areas | 13 / 13 | Module screen catalogue | None |
| Scoped browser specifications | 25 / 25 | Acceptance and journey bindings | None |
| Configuration catalogue capability seeds | 18 / 18 | Replacement references | None in scope |
| Owned work and dead-letter queues | 2 / 2 | `CAP-ACC-BKS-018` | None |
| Dispatcher schedules | 1 / 1 | `CAP-ACC-BKS-018` | None |
| Owned state machines | 0 / 0 | Posting machines are external dependencies | None |

Health endpoints use shared infrastructure rather than add customer capabilities. The browser denominator excludes period close and the two batch-assignment specifications owned elsewhere. Carried legacy adapters are not counted as current service test files, and references to posting state machines do not transfer their ownership here.

The following files receive capability evidence homes during examination but retain the original gap in individual scenario bindings. Their full paths and the complete operation, declaration and permission mappings are retained in structured evidence.

| Test File | Capability |
|---|---|
| `db/currency-catalog.integration.spec.js` | `CAP-ACC-BKS-002` |
| `persistence/accounting-projects.queries.integration.spec.js` | `CAP-ACC-BKS-008` |
| `persistence/bank-accounts.queries.integration.spec.js` | `CAP-ACC-BKS-007` |
| `persistence/business-units.queries.integration.spec.js` | `CAP-ACC-BKS-001` |
| `persistence/currencies.queries.integration.spec.js` | `CAP-ACC-BKS-002` |
| `persistence/default-gl-account-purposes.queries.integration.spec.js` | `CAP-ACC-BKS-006` |
| `persistence/default-gl-accounts.queries.integration.spec.js` | `CAP-ACC-BKS-006` |
| `persistence/departments.queries.integration.spec.js` | `CAP-ACC-BKS-008` |
| `persistence/document-templates.queries.integration.spec.js` | `CAP-ACC-BKS-014` |
| `persistence/fiscal-years.queries.integration.spec.js` | `CAP-ACC-BKS-009` |
| `persistence/gl-accounts.queries.integration.spec.js` | `CAP-ACC-BKS-005` |
| `persistence/merchant-accounts.queries.integration.spec.js` | `CAP-ACC-BKS-007` |
| `persistence/payment-processors.queries.integration.spec.js` | `CAP-ACC-BKS-007` |
| `persistence/payment-terms.integration.spec.js` | `CAP-ACC-BKS-011` |
| `persistence/payment-terms.queries.integration.spec.js` | `CAP-ACC-BKS-011` |
| `persistence/tax-classes.queries.integration.spec.js` | `CAP-ACC-BKS-013` |
| `persistence/tax-zones.queries.integration.spec.js` | `CAP-ACC-BKS-013` |
| `unit/business-units-schemas.spec.js` | `CAP-ACC-BKS-001` |
| `document-templates/filters.spec.js` | `CAP-ACC-BKS-014` |
| `document-templates/sample-data.spec.js` | `CAP-ACC-BKS-014` |
| `unit/integrations-exchange-rate-provider.spec.js` | `CAP-ACC-BKS-004` |
| `unit/slice0-repairs.spec.js` | `CAP-ACC-BKS-001` |
| `db/export-coverage.integration.spec.js` | `CAP-ACC-BKS-019` |
| `participants/billing-participant.integration.spec.js` | `CAP-ACC-BKS-019` |
| `participants/fiscal-close-participant.integration.spec.js` | `CAP-ACC-BKS-019` |
| `persistence/tenant-exports.queries.integration.spec.js` | `CAP-ACC-BKS-019` |
| `persistence/tenants.queries.integration.spec.js` | `CAP-ACC-BKS-019` |
| `exports/export-coverage.spec.js` | `CAP-ACC-BKS-019` |
| `exports/round-trip.spec.js` | `CAP-ACC-BKS-019` |
| `exports/secret-guard.spec.js` | `CAP-ACC-BKS-019` |
| `participants/billing-manifest.spec.js` | `CAP-ACC-BKS-019` |
| `participants/manifests.spec.js` | `CAP-ACC-BKS-019` |

## Changes by Artifact

Every listed planning artifact has new prose and human-facing frontmatter wording. Evidence descriptions are rewritten as verified file catalogues, and capability evidence includes its acceptance-set test files. Permanent identifiers and pinned commits are retained.

| Artifact | Examination Change |
|---|---|
| `MOD-ACC-BKS` | Rebuild coverage from actual declarations, distinguish files from physical tables, and distinguish evidence homes from assertion bindings. |
| `ATS-ACC-BKS-001` | Verify existing sources, preserve technical values and write final product text. |
| `ATS-ACC-BKS-002` | Verify existing sources, preserve technical values and write final product text. |
| `ATS-ACC-BKS-003` | Verify existing sources, preserve technical values and write final product text. New scenarios: `ATS-ACC-BKS-003-07`. |
| `ATS-ACC-BKS-004` | Verify existing sources, preserve technical values and write final product text. |
| `ATS-ACC-BKS-005` | Verify existing sources, preserve technical values and write final product text. |
| `ATS-ACC-BKS-006` | Verify existing sources, preserve technical values and write final product text. |
| `ATS-ACC-BKS-007` | Verify existing sources, preserve technical values and write final product text. New scenarios: `ATS-ACC-BKS-007-07`. |
| `ATS-ACC-BKS-008` | Verify existing sources, preserve technical values and write final product text. |
| `ATS-ACC-BKS-009` | Verify existing sources, preserve technical values and write final product text. |
| `ATS-ACC-BKS-010` | Verify existing sources, preserve technical values and write final product text. |
| `ATS-ACC-BKS-011` | Verify existing sources, preserve technical values and write final product text. |
| `ATS-ACC-BKS-012` | Verify existing sources, preserve technical values and write final product text. |
| `ATS-ACC-BKS-013` | Verify existing sources, preserve technical values and write final product text. |
| `ATS-ACC-BKS-014` | Verify existing sources, preserve technical values and write final product text. |
| `ATS-ACC-BKS-015` | Verify existing sources, preserve technical values and write final product text. |
| `ATS-ACC-BKS-016` | Replace the unproved cross-list cursor refusal with malformed-offset refusal. |
| `ATS-ACC-BKS-017` | Verify existing sources, preserve technical values and write final product text. |
| `ATS-ACC-BKS-018` | Verify existing sources, preserve technical values and write final product text. New scenarios: `ATS-ACC-BKS-018-06`. |
| `ATS-ACC-BKS-019` | Verify existing sources, preserve technical values and write final product text. New scenarios: `ATS-ACC-BKS-019-08`. |
| `CAP-ACC-BKS-001` | Qualify generated identity and locate founding-field checks correctly; remove the unsupported default-setting origin. Technical-field corrections are recorded in the structured change log. |
| `CAP-ACC-BKS-002` | Replace the claimed currency-lock sequence with the browser-proved safety outcome; cite the approved per-currency policy decision. Technical-field corrections are recorded in the structured change log. |
| `CAP-ACC-BKS-003` | Remove the unsupported export-setting origin and add the nonpositive-tender calculation rule. Technical-field corrections are recorded in the structured change log. New rules: `BR-CAP-ACC-BKS-003-09`. |
| `CAP-ACC-BKS-004` | Verify existing sources, preserve technical values and write final product text. |
| `CAP-ACC-BKS-005` | Allow caller-selected account identity and locate immutable checks at service/database layers. Technical-field corrections are recorded in the structured change log. |
| `CAP-ACC-BKS-006` | Use observed provenance for the type-guidance implementation source. Technical-field corrections are recorded in the structured change log. |
| `CAP-ACC-BKS-007` | Add deletion protection for receiving accounts referenced by financial work. New rules: `BR-CAP-ACC-BKS-007-09`. |
| `CAP-ACC-BKS-008` | Qualify generated identities and remove a custom-field origin whose entity table omits these dimensions. Technical-field corrections are recorded in the structured change log. |
| `CAP-ACC-BKS-009` | Locate name-only structural changes in the service rather than the route schema. Technical-field corrections are recorded in the structured change log. |
| `CAP-ACC-BKS-010` | Replace the job enforcement label with service. Technical-field corrections are recorded in the structured change log. |
| `CAP-ACC-BKS-011` | Verify existing sources, preserve technical values and write final product text. Technical-field corrections are recorded in the structured change log. |
| `CAP-ACC-BKS-012` | Disambiguate duplicated payment decision identifiers by their section; remove the overly broad legacy-method origin. Technical-field corrections are recorded in the structured change log. |
| `CAP-ACC-BKS-013` | Correct the ownership heading and remove enforcement labels from the unimplemented ownership transfer. Technical-field corrections are recorded in the structured change log. |
| `CAP-ACC-BKS-014` | Verify existing sources, preserve technical values and write final product text. |
| `CAP-ACC-BKS-015` | Mark the out-of-scope caller claim unknown and narrow stored-template enforcement locations. Technical-field corrections are recorded in the structured change log. |
| `CAP-ACC-BKS-016` | Describe cursor syntax rather than issuer authentication; narrow lock mutation to the supported GL path. Technical-field corrections are recorded in the structured change log. |
| `CAP-ACC-BKS-017` | Cite recorded policy decisions for downstream meaning instead of treating column declarations as documentation. Technical-field corrections are recorded in the structured change log. |
| `CAP-ACC-BKS-018` | Use valid service labels, state the tested spring-gap shift and add owned-schedule mutation/deletion effects. Technical-field corrections are recorded in the structured change log. New rules: `BR-CAP-ACC-BKS-018-10`. |
| `CAP-ACC-BKS-019` | Distinguish declared exports and specific secret patterns; locate manifest completeness in service logic, remove lifecycle-retry approval and add export dispatch/exclusion semantics. Technical-field corrections are recorded in the structured change log. New rules: `BR-CAP-ACC-BKS-019-09`. |
| `CON-ACC-BKS-001` | Verify existing sources, preserve technical values and write final product text. |
| `CON-ACC-BKS-002` | Verify existing sources, preserve technical values and write final product text. |
| `CON-ACC-BKS-003` | Verify existing sources, preserve technical values and write final product text. |
| `CON-ACC-BKS-004` | Verify existing sources, preserve technical values and write final product text. |
| `CON-ACC-BKS-005` | Retain the permanent identity with superseded status; payment and tax setup become workspace facets. Technical-field corrections are recorded in the structured change log. |
| `CON-ACC-BKS-006` | Absorb the retired facets, capability links and replacement reference. Technical-field corrections are recorded in the structured change log. |
| `FEAT-ACC-BKS-01` | Verify existing sources, preserve technical values and write final product text. |
| `FEAT-ACC-BKS-02` | Verify existing sources, preserve technical values and write final product text. |
| `FEAT-ACC-BKS-03` | Verify existing sources, preserve technical values and write final product text. |
| `FEAT-ACC-BKS-04` | Remove a second concept home while retaining ownership of payment/tax capabilities. Technical-field corrections are recorded in the structured change log. |
| `FEAT-ACC-BKS-05` | Verify existing sources, preserve technical values and write final product text. |
| `FEAT-ACC-BKS-06` | Verify existing sources, preserve technical values and write final product text. |
| `JNY-ACC-BKS-001` | Verify existing sources, preserve technical values and write final product text. |
| `JNY-ACC-BKS-002` | Verify existing sources, preserve technical values and write final product text. |
| `JNY-ACC-BKS-003` | Verify existing sources, preserve technical values and write final product text. |
| `JNY-ACC-BKS-004` | Correct the statement alternate to use workspace default resolution rather than an unsupported per-unit statement choice. |
| `JNY-ACC-BKS-005` | Verify existing sources, preserve technical values and write final product text. |
| `JNY-ACC-BKS-006` | Verify existing sources, preserve technical values and write final product text. |
| Accounting actor catalogue | Rewrite all five module-added rows and their role descriptions; avoid implying that published delete keys guarantee delete actions. |
| Books identifier registry | Reserve four new rules, four acceptance scenarios and five findings before writing; refresh displayed titles without renumbering. |
| Books findings | Rewrite all retained findings and questions; record new source-scope, test-binding, lock-comment, omitted-rule and lock-release concerns. |
| Product-area module row | Set the Books status to planning examined. |

The retained capability outcomes distinguish setup maintenance, financial lookup, content preparation, content selection and system lifecycle work. None is merely a table catalogue. Shared definitions are facets of the workspace, and the retired concept remains for traceability rather than being deleted.

## Open Findings and Questions

| Finding | Remaining Concern |
|---|---|
| `FND-ACC-BKS-001` | Books configuration is hosted by the shared Configuration surface and its Accounting resources. The corrected registry scope replaces the draft brief’s Accounting page-group assumption. |
| `FND-ACC-BKS-002` | The configuration catalogue marks 53 journeys not started and one blocked despite 28 existing browser specifications. Bindings use the specifications rather than treating catalogue automation flags as evidence of absence. |
| `FND-ACC-BKS-003` | Twenty-six catalogue variants lack browser specifications: 0005, 0012, 0015–0017, 0024, 0028–0029, 0031–0032, 0034–0039, 0042–0045 and 0049–0054. The approved coverage deviation still requires P1 delivery before the next milestone verification. |
| `FND-ACC-BKS-004` | The earlier acceptance inventory misstates accounting-method mutability and invoice-used term deletion handling. Current rules use pinned implementation instead of those stale claims. |
| `FND-ACC-BKS-005` | The API description gives conflicting accounting-method guards. Implementation uses posted or downloaded work in the current open period, consistent with the recorded repair decision. |
| `FND-ACC-BKS-006` | The API description requires fiscal years to be removed before their unit, but implementation cascades the calendar during eligible unit deletion. |
| `FND-ACC-BKS-007` | The unit table commentary understates project deletion dependencies and gives an obsolete default-purpose count. Current service and vocabulary behaviour differs from that commentary. |
| `FND-ACC-BKS-008` | Installment-used payment terms reach deletion’s caller through an untranslated database failure. That contradicts the API description’s promise of useful translated refusals. |
| `FND-ACC-BKS-009` | The scoped term tests do not prove deletion protection and refusal text for invoice, customer-term and installment references. The corresponding regression remains proposed. |
| `FND-ACC-BKS-010` | Term persistence commentary describes references as future work even though financial references already exist. |
| `FND-ACC-BKS-011` | The console alone identifies the important missing-default purposes. Other clients receive no shared required flag, leaving a product decision about consistent early warnings. |
| `FND-ACC-BKS-012` | Default-account selection is type-restricted in the console but accepts other types through the service. The recorded service approval does not eliminate that client difference. |
| `FND-ACC-BKS-013` | The recorded fee decision permits unit or merchant-account rules, while only unit fee configuration is present. Product needs to settle the intended override scope. |
| `FND-ACC-BKS-014` | Manual editing refusal for provider quotes has no proving scoped binding. Its acceptance scenario remains proposed. |
| `FND-ACC-BKS-015` | Provider filling is demonstrated with a stub, while the scoped API test expects unavailability without a Platform client and the catalogue marks its provider journey blocked. These sources do not establish a successful live-provider run. |
| `FND-ACC-BKS-016` | Accounting still owns editable tax classes, zones and rates at these commits although the recorded realignment assigns tax determination to Commerce. Payable mapping remains embedded in the zone and shares its permission. |
| `FND-ACC-BKS-017` | The scoped payable-posting proof is a browser specification. The named service proof belongs to the posting module and is not independently examined here. |
| `FND-ACC-BKS-018` | Document-producer adoption of the shared resolver needs examination in the owning modules. The draft’s assertion that only invoices use it is not established by the permitted Books source scope. |
| `FND-ACC-BKS-019` | The shared resolver’s rejection of inactive receipt, statement and download content differs from described legacy behaviour. Its code commentary records the rationale, but no scoped product decision settles the difference. |
| `FND-ACC-BKS-020` | Several permission families publish unused actions: configuration bulk, settings creation and deletion, and payment-method deletion. Those names do not establish routes that support the actions. |
| `FND-ACC-BKS-021` | Authorized updaters can manage record locks through the service, while console configuration editors expose no lock controls. The associated catalogue journey lacks a browser specification. |
| `FND-ACC-BKS-022` | The chapter-opening catalogue still describes defaults on the unit editor. The later recorded screen change and browser specification place that work on the chart. |
| `FND-ACC-BKS-023` | Accounting continues scheduling recurring billing preparation after Billing receives application ownership. Long-term ownership of that timing seam needs resolution. |
| `FND-ACC-BKS-024` | Scoped records do not approve the scheduling and lifecycle capabilities as a whole. Their implementation and tests support proposed behaviour, while the initial payment-method decision confirms only its narrower subject. |
| `FND-ACC-BKS-025` | Reconciliation approval and close bank-verification switches are stored in Accounting settings but are absent from its settings API. Their owning workflows still need an exposed change path. |
| `FND-ACC-BKS-026` | Working context, concurrent currency safety, default warnings, reader controls, refund approval and payable posting have browser or observational evidence. A binding proves that assertions are present, not that a run at these commits succeeded. |
| `FND-ACC-BKS-027` | Batch assignment, products, recurring batches and coupons share parts of configuration navigation but belong to other modules. Their inventory areas are outside this module’s replacement scope. |
| `FND-ACC-BKS-028` | The release decision excludes stored member payment methods without explicitly settling the separately implemented configuration vocabulary. Retaining that vocabulary in release one remains an assumption. |
| `FND-ACC-BKS-029` | The milestone’s top-level status and its accepted status history disagree. The history and index record acceptance while the header retains the earlier request for changes. |
| `FND-ACC-BKS-030` | Group approvals refer in part to an external inventory unavailable in these repositories. Specific origins are retained where scoped records name the behaviour; capability-level confirmation is not a fresh approval of every discovered edge. |
| `FND-ACC-BKS-031` | The resolver implementation cannot establish all its callers or missing callers outside the allowed scope. The cross-producer claim remains unknown pending an owning-module examination. |
| `FND-ACC-BKS-032` | Thirty-two existing service test files lack row-level draft bindings. The examination gives every file a capability evidence home and lists the remaining binding gap explicitly. |
| `FND-ACC-BKS-033` | A currency-read comment claims key-share locking that its query does not request. Foreign-key protection and a racing-request specification support the safety result without establishing that described lock order. |
| `FND-ACC-BKS-034` | The new zero-tender, receiving-account dependency, owned-schedule mutation and export-dispatch scenarios are proposed. Complete proving bindings remain work to do before approval. |
| `FND-ACC-BKS-035` | The draft promises that any updater can clear record locks. A full GL lock prevents the ordinary update from reaching lock changes, and fiscal-year and settings updates do not expose lock mutation. Product needs a defined release path before relying on this configuration safeguard. |

All three product questions remain for Andrew: transitional tax ownership, merchant fee overrides and a shared required-default vocabulary. The receiving-account, nonpositive-tender, owned-schedule and export-dispatch additions use proposed scenarios; existing unbound provider-edit and referenced-term regressions remain proposed as well.

## Validation

The required dependency installation and corpus conformance command passes with zero errors. All four corpus checker tests pass. Source repositories remain at the supplied commits; service integration, browser and live-provider suites are examined as evidence and are not executed by this documentation job.
