Skip to content

CAP-COM-ORD-010Locate orders and understand their progress

Markdown

CAP-COM-ORD-010

Locate orders and understand their progress

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationObserved

KindCapabilityProduct areaCommerceModuleCustomer purchases, purchased benefits and vendor stockRevision1

Read atservices-commerce c8b66a98react-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Outcomes
Staff can identify a customer’s order without its number.Displayed money reflects the latest Accounting position held by the order.
Surfaces
consoleapijob
Intent sources
services-commerce:docs/milestones/plans/COMM-M2-plan.md#D1services-commerce:docs/milestones/plans/COMM-M2-plan.md#2. Scope

Controls

32 controls apply, from the corpus control catalogue.

TC-IAM-006 TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-AZ-006 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-TEN-004 TC-CRY-001 TC-DAT-001 TC-DAT-002 TC-DAT-003 TC-DAT-004 TC-DAT-005 TC-LOG-001 TC-LOG-002 TC-LOG-003 TC-LOG-004 TC-LOG-005 TC-AVL-004 TC-MON-001 TC-MON-002 TC-MON-004 TC-PI-001 TC-PI-002 TC-PI-003 TC-PI-004 TC-PI-005 TC-PRV-001 TC-PRV-002

Permissions

KeyChecked atScope
commerce.orders.readapitenant
commerce.orders.readconsoletenant

Business Rules

10 rules, 8 to be proved before approval. A rule's product intent is derived from its origin: 10 confirmed by a product decision, the rest inheriting this capability's confirmed.

IdRuleKindEnforced atProvenance
01must prove
Confirmed
The workspace list returns orders in descending placement order with buyer names from CRM when available, default pages of fifty, a maximum of two hundred and a continuation cursor.
no proof recorded yet
policyapi, servicetest
services-commerce:modules/orders/tests/integration/services/persistence/orders.queries.integration.spec.js#lists every order of the tenant newest placed first, and none of another tenant’s
02must prove
Confirmed
Literal case-insensitive search matches displayed or partial order numbers and buyer names, with search text limited to one hundred characters.
no proof recorded yet
policyapi, servicetest
03must prove
Confirmed
Status, payment, kind and inclusive placement dates filter together, with paid based on an invoiced zero balance and unpaid excluding voided and cancelled orders.
no proof recorded yet
policyapi, servicetest
services-commerce:modules/orders/tests/integration/services/persistence/orders.queries.integration.spec.js#filters the unpaid orders: owing or not yet billed, never a voided one
04must prove
Confirmed
Buyer lists require both buyer kind and identifier and allow only kind and policy narrowing; incompatible workspace filters are refused, and portal callers can list their own buyer scope only.
no proof recorded yet
validationapi, servicetest
05must prove
Confirmed
Reading an order returns its lines and frozen purchases, price explanations, sequenced payment attempts, invoices, delivery obligations and events.
no proof recorded yet
policyservicetest
services-commerce:modules/orders/tests/integration/services/persistence/orders.queries.integration.spec.js#answers the order whole: every column mapped, the system properties, the mirror absent until derived
06must prove
Confirmed
The order mirrors Accounting’s invoiced, paid, credited and balance figures after payments and acceptance and during sweeps, while raising reconciliation exceptions without suppressing the available figures.
no proof recorded yet
calculationservicetest
services-commerce:modules/orders/tests/integration/services/mirror/refresh-money-mirror.integration.spec.js#raises accepted_without_invoice_line on the billed line the view lacks, one open row counting both findings, and still writes the mirror it could derive
07must prove
Confirmed
The Orders table displays order number, customer, placement date, status, total and balance, links to detail, handles voided balances and foreign currencies, explains missing names and requires order-read authority.
no proof recorded yet
policyconsoletest
react-console:components/commerce/orders/__tests__/orders-list-screen.test.tsx#shows the number, the customer, the status, the total and the balance due
08must prove
Confirmed
Order 360 presents promotion names, money and invoice links, line discounts, tax and delivery errors, payment-attempt states and a message when Accounting has not yet supplied money figures.
no proof recorded yet
policyconsoletest
react-console:components/console/order/__tests__/order-360-live-cards.test.tsx#shows the totals with the promotion's name, the money, and the invoice as a link to Accounting
09
Confirmed
The workspace order-detail page uses the order’s buyer when opened without a contact in the route.
policyconsoleobserved
10
Confirmed
Order records, events and after-sale documents are available as datasets for workspace queries and exports.
policyserviceobserved

Scenarios

IdGivenWhenThenProvenance
01Pat asks about an order from last Tuesday but cannot give its number.Staff use a partial surname search and the placement date.The result provides the matching order and balance with a link to its detail.documented

Edge Cases

IdGivenWhenThenProvenance
02An accepted sale is cancelled and its refunded balance reaches zero.A manager applies the Paid filter.The recorded list behavior includes it based on money rather than cancellation status.documented

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.