From ab6ce7bd8bd6a0ba5234e60923d769f4b7b3ace8 Mon Sep 17 00:00:00 2001 From: Benjamin Willems Date: Tue, 30 Jan 2018 01:54:43 -0800 Subject: [PATCH 1/2] Add stub documenting Spree::InventoryUnits --- guides/inventory/inventory-units.md | 38 +++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 guides/inventory/inventory-units.md diff --git a/guides/inventory/inventory-units.md b/guides/inventory/inventory-units.md new file mode 100644 index 00000000000..bd4ff246b60 --- /dev/null +++ b/guides/inventory/inventory-units.md @@ -0,0 +1,38 @@ +# Inventory units + + + +A `Spree::InventoryUnit` object is created every time that an item is sold. +It tracks a sold item as it changes location: from being a sold item waiting in the +warehouse to be shipped, to being a shipped item (or potentially a returned item). + +Note that the `Spree::InventoryUnit` tracks an item as an object associated with +a `Spree::Order`, a `Spree::Shipment` and a specific `Spree::LineItem`. This +allows you to more closely track the status of an order and the line items and +shipments associated with it. + +A `Spree::InventoryUnit` object has the following attributes: + +- `state`: The current state of the inventory unit. The state value can be + `on_hand`, `backordered`, `shipped`, or `returned`. +- `variant_id`: The ID for the `Spree::Variant` corresponding with the inventory + unit that has been sold. +- `shipment_id`: The ID for the `Spree::Shipment` that the inventory unit is + being shipped in. +- `pending`: Documents whether the current unit is pending or finalized. If + `true`, the stock for this unit has not yet been allocated to a shipment. If + `false`, the stock has been finalized and is no longer tracked in the + `Spree::StockItem`'s `count_on_hand` value. +- `line_item_id`: The ID for the `Spree::LineItem` that the inventory unit + corresponds with. +- `carton_id`: The ID for the `Spree::Carton` that the inventory unit belongs + to. + + From d023307fa57326436312dd1e9a74e66da15d0f32 Mon Sep 17 00:00:00 2001 From: Benjamin Willems Date: Tue, 30 Jan 2018 01:54:55 -0800 Subject: [PATCH 2/2] Add stub documenting Spree::ReturnAuthorizations This commit adds a short article describing RMAs. In the future, it might make sense to move this to a `../returns` section of the documentation. --- guides/inventory/return-authorizations.md | 48 +++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 guides/inventory/return-authorizations.md diff --git a/guides/inventory/return-authorizations.md b/guides/inventory/return-authorizations.md new file mode 100644 index 00000000000..05686c74ff2 --- /dev/null +++ b/guides/inventory/return-authorizations.md @@ -0,0 +1,48 @@ +# Return authorizations (RMAs) + +After an order is shipped, administrators can approve the return of any part +of an order in the `solidus_backend` (from the **Orders -> Order -> RMA** page). + +Return authorizations are just the first part of the larger returns system built +into Solidus. When a store administrator creates a new RMA, they fill out a form +that defines the scope of the anticipated return. + +A `Spree::ReturnAuthorization` object has the following attributes: + +- `number`: The number assigned to the return authorization. It begins with an + `R` and is followed by ten-digits (`RA338330715`). +- `state`: The state of the return authorization. The state can be `authorized` + or `cancelled`. +- `order_id`: The ID of the `Spree::Order` associated with this return + authorization. +- `memo`: An administrative note regarding the authorization. +- `stock_location_id`: The `Spree::StockLocation` associated with this return + authorization. +- `return_reason_id`: The ID for the `Spree::ReturnReason` associated with this + return authorization. + +The RMA creation process typically includes the following steps: + +1. The administrator presses the **New RMA** button (on the backend's **Orders + -> Order -> RMA** page). +2. They select the items on the order that are being returned. +3. For each item selected, they choose the following optional values: + - They choose a reimbursement type (if applicable). For example: store credit. + - They choose an exchange item (if applicable). + - They choose a reason for the return authorization for the item (if + applicable). For example: "Damaged/Defective". +4. They choose a stock location that the return is authorized to be shipped to. +5. They write a memo that documents why the return authorization is being + created. +6. Once the new RMA form is completed, they press the **Create** button and + generate a new `Spree::ReturnAuthorization` object. + +After the customer has mailed their returns back, the administrator can mark the +the customer return as received (on the backend's **Orders -> Order -> Customer +Returns** page). + + +