# SalesAgreement - admin-graphql - INTERFACE Version: 2025-01 ## Description A contract between a merchant and a customer to do business. Shopify creates a sales agreement whenever an order is placed, edited, or refunded. A sales agreement has one or more sales records, which provide itemized details about the initial agreement or subsequent changes made to the order. For example, when a customer places an order, Shopify creates the order, generates a sales agreement, and records a sale for each line item purchased in the order. A sale record is specific to a type of order line. Order lines can represent different things such as a purchased product, a tip added by a customer, shipping costs collected at checkout, and more. ### Access Scopes `read_orders` access scope or `read_marketplace_orders` access scope. ## Fields * [app](/docs/api/admin-graphql/2025-01/objects/App): App - The application that created the agreement. * [happenedAt](/docs/api/admin-graphql/2025-01/scalars/DateTime): DateTime! - The date and time at which the agreement occured. * [id](/docs/api/admin-graphql/2025-01/scalars/ID): ID! - The unique ID for the agreement. * [reason](/docs/api/admin-graphql/2025-01/enums/OrderActionType): OrderActionType! - The reason the agremeent was created. * [user](/docs/api/admin-graphql/2025-01/objects/StaffMember): StaffMember - The staff member associated with the agreement. ## Connections * [sales](/docs/api/admin-graphql/2025-01/connections/SaleConnection): SaleConnection! ## Types implemented in * [OrderAgreement](/docs/api/admin-graphql/2025-01/objects/OrderAgreement) * [OrderEditAgreement](/docs/api/admin-graphql/2025-01/objects/OrderEditAgreement) * [RefundAgreement](/docs/api/admin-graphql/2025-01/objects/RefundAgreement) * [ReturnAgreement](/docs/api/admin-graphql/2025-01/objects/ReturnAgreement) ## Examples