Archive the three completed changes behind replace-mock-api-wave-1/2/3. Each merge applied cleanly to the main specs: - catalog gains the Public product browse requirement (subtree filtering and price sort) - frontend-mall picks up the per-domain adapter, the pinned home page, the discovery-page changes, the live auth panels and the live transaction flows - cart's Server-side cart requirement now documents the shop and stock carried by every line Also replace the TBD Purpose placeholder in all eleven specs with a one-line description of what each capability covers. Those placeholders predate this work and were the only reason `openspec validate --all --strict` reported 0 passed / 11 failed; it now reports 11 passed / 0 failed.
931 B
931 B
invoice Specification
Purpose
Invoice requests raised by buyers and their issuance by shops.
Requirements
Requirement: Invoice request
Customers SHALL request at most one open invoice (发票) per order, with title, kind (personal | company), and tax_no required for company invoices. Amount equals the order total in the order currency.
Scenario: company invoice requires tax number
- WHEN requesting a company invoice without tax_no
- THEN the API returns 400
Scenario: duplicate rejected
- WHEN an order already has a requested or issued invoice
- THEN a second request returns 409
Requirement: Invoice issuance
Merchants SHALL issue requested invoices of their own shop's orders; issuing sets invoice_no, issued_at and status issued.
Scenario: issue flow
- WHEN the shop issues a requested invoice
- THEN the customer sees status
issuedwith an invoice number