<- Object

Object

All versions ->

TransferOrderBeta

Transfer orders track the entire lifecycle of an inventory transfer, including:

  • What items and quantities are being moved
  • Source and destination locations
  • Current TransferOrderStatus
  • Shipping information and tracking
  • Which TeamMember initiated the transfer

This object is commonly used to:

  • Track CatalogItemVariation movements between Locations
  • Reconcile expected vs received quantities
  • Monitor transfer progress and shipping status
  • Audit inventory movement history
Link to section

Properties

Link to section

id

string

Read only Unique system-generated identifier for this transfer order. Use this ID for:

  • Retrieving transfer order details
  • Tracking status changes via webhooks
  • Linking transfers in external systems
Link to section

source_location_id

string

The source Location sending the CatalogItemVariations. This location must:

  • Be active in your Square organization
  • Have sufficient inventory for the items being transferred
  • Not be the same as the destination location

This field is not updatable.

Link to section

destination_location_id

string

The destination Location receiving the CatalogItemVariations. This location must:

  • Be active in your Square organization
  • Not be the same as the source location

This field is not updatable.

Link to section

status

string

Read only Current TransferOrderStatus indicating where the order is in its lifecycle. Status transitions follow this progression:

  1. DRAFT -> STARTED via StartTransferOrder
  2. STARTED -> PARTIALLY_RECEIVED via ReceiveTransferOrder
  3. PARTIALLY_RECEIVED -> COMPLETED after all items received

Orders can be CANCELED from STARTED or PARTIALLY_RECEIVED status.

This field is read-only and reflects the current state of the transfer order, and cannot be updated directly. Use the appropriate endpoints (e.g. StartPurchaseOrder, to change the status.

Link to section

created_at

string

Read only Timestamp when the transfer order was created, in RFC 3339 format. Used for:

  • Auditing transfer history
  • Tracking order age
  • Reporting and analytics

Examples for January 25th, 2020 6:25:34pm Pacific Standard Time:

UTC: 2020-01-26T02:25:34Z

Pacific Standard Time with UTC offset: 2020-01-25T18:25:34-08:00

Link to section

updated_at

string

Read only Timestamp when the transfer order was last updated, in RFC 3339 format. Updated when:

  • Order status changes
  • Items are received
  • Notes or metadata are modified

Examples for January 25th, 2020 6:25:34pm Pacific Standard Time:

UTC: 2020-01-26T02:25:34Z

Pacific Standard Time with UTC offset: 2020-01-25T18:25:34-08:00

Link to section

expected_at

string

Expected transfer completion date, in RFC 3339 format. Used for:

  • Planning inventory availability
  • Scheduling receiving staff
  • Monitoring transfer timeliness
Link to section

completed_at

string

Read only Timestamp when the transfer order was completed or canceled, in RFC 3339 format (e.g. "2023-10-01T12:00:00Z").

Examples for January 25th, 2020 6:25:34pm Pacific Standard Time:

UTC: 2020-01-26T02:25:34Z

Pacific Standard Time with UTC offset: 2020-01-25T18:25:34-08:00

Link to section

notes

string

Optional notes about the transfer.

Link to section

tracking_number

string

Shipment tracking number for monitoring transfer progress.

Link to section

created_by_team_member_id

string

Read only ID of the TeamMember who created this transfer order. This field is not writeable by the Connect V2 API.

Link to section

line_items

Link to section

version

integer(64-bit)

Version for optimistic concurrency control. This is a monotonically increasing integer that changes whenever the transfer order is modified. Use this when calling UpdateTransferOrder and other endpoints to ensure you're not overwriting concurrent changes.