# Return

object type

A sales Return / RMA — the customer→merchant goods-back document (distinct from vendor RTV; the disjoint law: a billing correction is a CreditNote/DebitNote, never a Return). References the original Order (+ optionally one of its Invoices); returns WHOLE units of order lines; receive posts per-line disposition legs at the RECEIVING LF and stamps the telescoping refund money; refund RECORDS the routing (tender mechanics; store-credit issuance).

## Fields

| Field | Type | Notes |
| --- | --- | --- |
| `id` | [ID](/types/#scalars) `ID!` | The record’s id — a UUID the platform assigned when the record was created; every reference to this record uses it. |
| `sysId` | [String](/types/#scalars) `String!` | The group-scoped human-facing system id (RT-…). |
| `type` | [String](/types/#scalars) `String!` | The kind of record — always `Return` here. |
| `caption` | [String](/types/#scalars) `String!` | The record’s display name — what people see it called. |
| `status` | [String](/types/#scalars) `String!` | The FSM state: requested \| approved \| received \| refunded \| closed \| cancelled \| rejected. |
| `parentId` | [ID](/types/#scalars) `ID!` | The processing/receiving LogicalFacility; rootId = the org group; parentId!== rootId always. |
| `rootId` | [ID](/types/#scalars) `ID!` | The org-group family root. |
| `createdAt` | [String](/types/#scalars) `String!` | When the record was created, as a UTC timestamp. |
| `updatedAt` | [String](/types/#scalars) `String!` | When the record last changed, as a UTC timestamp. |
| `revisionNum` | [Int](/types/#scalars) `Int!` | How many times this record has been edited; the first save is 0. |
| `revision` | [ID](/types/#scalars) `ID!` | The OCC revision token — supply it on every mutation of this record; rotates on every write. |
| `refCaptions` | [RefCaption](/types/RefCaption/) `[RefCaption!]!` | The server-composed captions of this record's declared references (the referenced-caption rule) — one row per referenced id; see RefCaption. |
| `orderId` | [ID](/types/#scalars) `ID!` | The returned Order. |
| `invoiceId` | [ID](/types/#scalars) | Optional Invoice ref (receipted returns) — belongs to orderId, gated at create. |
| `organizationId` | [ID](/types/#scalars) `ID!` | The selling Organization (copied from the Order at create — attribution). |
| `currency` | [String](/types/#scalars) `String!` | The order currency (copied at create; refunds never cross currency). |
| `customer` | [OrderCustomer](/types/OrderCustomer/) | The order's inline customer capture, copied at create (identity on the RMA — audit). |
| `refundTotalMinor` | [Int](/types/#scalars) | RECEIVE-stamped: Σ line refundMinor — the total owed back (absent until received). |
| `refund` | [ReturnRefund](/types/ReturnRefund/) | REFUND-stamped: the routing record (amount = refundTotalMinor; state = the FSM). |
| `lines` | [ReturnLine](/types/ReturnLine/) `[ReturnLine!]!` | The return lines (1..45); each refs an order line by its frozen lineNo. |

## Used by

- [approveReturn](/reference/return/approveReturn/)
- [cancelReturn](/reference/return/cancelReturn/)
- [closeReturn](/reference/return/closeReturn/)
- [createReturn](/reference/return/createReturn/)
- [posReturn](/reference/register-approvals/posReturn/)
- [receiveReturn](/reference/gated-floor-actions/receiveReturn/)
- [refundReturn](/reference/refunds-and-payment-corrections/refundReturn/)
- [rejectReturn](/reference/return/rejectReturn/)
- [return](/reference/return/return/)
- [updateReturn](/reference/return/updateReturn/)
