From the receipt
(its “Distribute to stores” action) the receiving arrives pre-filled and locked —
it cannot change, because the lines derive from it. From the
list
(“New distribution”) nothing is chosen, so selecting the receiving is the blocking
first step. This prototype shows the empty state; append
#from=RCV-000089 to the URL to see the locked one.
This page saves; it does not submit. Submit is gated by status and
lives on the detail page — the shape PurchaseOrderDetailPage.tsx:73 documents for a PO
(Draft → Edit header / Submit / Cancel). And the label is Save, not "Save draft",
because the status that results is Allocated whenever the grid has allocations: the
flip is automatic, so promising a draft would be wrong in the common case.
- Source receiving
- fixed by the receiving you came from
- Source location
- — derives from the receiving
- Distribution date
- May 12, 2026
A distribution always sources from a receiving — Distribution.PurchaseReceiptId is
required. Choose one and its received items load here.
| Item | SKU | On receipt | To distribute | Allocated | Per store | Action |
|---|---|---|---|---|---|---|
| Samsung Galaxy A15 128GB | SAM-A15-128 | 60 | 50 | 50 / 50 | Plaza 25 · Mall 15 · Centro 10 | |
| Anker PowerCore 10000 | ANK-PC-10K | 40 | 30 | 30 / 30 | Plaza 12 · Mall 10 · Centro 8 | |
| USB-C cable 2m braided | CBL-USBC-2M | 25 | 10 | 0 / 10 | — not allocated |
Created: 2026-08-18 · Last Updated: 2026-08-18 · mockup de composición (ADR-0118) · issue #303