Movement orders

Movement orders represent stock movements that are processed in CAS for special procedure or tax warehouse stock management. They allow you to track goods entering, leaving, or moving within your warehouse authorizations.

Create a movement order

Use the Create movement order endpoint to ingest a new movement order:

POST https://api-<env>.customs4trade.com/v1/movementorders

The request body follows the MovementIngest model. Refer to the API specification or the MovementIngest XSD for the full schema.

Like other ingestion endpoints, this operates asynchronously. The response is 202 Accepted with a reference ID:

{
    "referenceId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

Scope: create:wms

This endpoint replaces the deprecated POST /v1/movements endpoint.

Retrieve a movement order

Use the Get movement order endpoint to retrieve the full details of an existing movement order:

GET https://api-<env>.customs4trade.com/v1/movementorders/{id}

This is particularly useful when you need to:

  • Check the current status of a movement order
  • Retrieve validation errors to understand why a movement order could not be processed
  • Read back all movement order data as stored in CAS

Returns 200 OK with the movement order details, or 404 Not Found if the movement order does not exist.

Scope: read:wms

Movement order model

MovementOrder

Field Type Description
timestamp timestamp Date of the movement order
documentReference string Reference to the document that triggered the creation
externalReference string Your unique external reference for the movement order
type string CAS movement order type (see Movement types below)
externalMovementType string Movement type as known by your inventory or warehouse management system
status string Current status (see Movement order statuses below)
category string Excise register column category (see Movement categories below)
remark string Remark shown in the excise register (for tax warehouse stock corrections)
adjustmentData object Stock adjustment data for tax warehouse (see below)
lines array Item-level data of the movement order (up to 9999 lines)
validationErrors array Current validation errors (only present when status is Invalid, ProcessingError, or InvalidationRejected)

MovementOrderAdjustmentData

Provided for positive or negative stock adjustments related to a tax warehouse:

Field Type Description
administrativeReferenceCode string ARC of an e-AD, for corrections related to an e-AD
arcSequenceNumber int Sequence number of the e-AD
docRefNum string MRN of a related export declaration

MovementOrderLine

Field Type Description
itemId string Unique identifier of the item/material as defined in master data
itemDescription string Description of the item
direction string Direction: In, Out, or Transfer
serialBatchReference string Unique serial or batch number
quantity decimal Quantity in the base unit of measure as defined in master data
uom string Unit of measure (e.g. KGM, LTR, LPA, HLT, DTN)
exciseProductCode string Excise Product Code (e.g. B000 for beer, S300 for ethyl alcohol)
asv decimal Alcohol % by volume (ABV)
storageLocationReference string Storage location reference as known in CAS
authorizationId string The special procedure or tax warehouse authorization
receivingStorageLocationReference string Receiving storage location (for TRFA and TRFR transfers)
receivingAuthorizationId string Receiving authorization (for TRFA and TRFR transfers)
preferentialOriginCountry string Preferential origin country code (ISO 3166-1 alpha-2)
nonPreferentialOriginCountry string Non-preferential origin country code (ISO 3166-1 alpha-2)
blendResult object Result data for TRFB (transfer + blend) movement orders
quantities array Additional quantities in other units of measure

MovementOrderValidationError

Field Type Description
errorCode string Error code identifying the type of validation failure
errorMessage string Human-readable description of the validation error

Movement types

Type Description
PROC Production -- creation of a product in a TXW or SP (e.g. blend of energy products, registration of alcohol production)
UFOH Usual form of handling -- typically in a customs warehouse
ADJP Positive stock adjustment
ADJN Negative stock adjustment
TRFA Transfer from one authorization to another
TRFR Transfer between storage locations within the same authorization
TRFB Transfer + blend -- transfer to another storage location and blend at destination
RFFC Release for free circulation
DCSV Removal by destruction under customs supervision

Movement order statuses

Status Description
Valid Validated, no errors found
Invalid Validated, validation errors found (check validationErrors)
Submitted Submitted and being processed
Processed Processed successfully
ProcessingError Processed with errors (check validationErrors)
Invalidating Invalidation is in progress
Invalidated Successfully invalidated
InvalidationRejected Invalidation was rejected (check validationErrors)
MissingDensity Energy product with missing density information (weight or litres at 15 degrees is known, but not both)

Movement categories

Used for ADJP and ADJN movement types when the movement applies to a tax warehouse:

Category Excise register column
DepartureUnderSuspension 5. Dispatch under a suspension
Export 6. Export
ArrivalUnderSuspension 3b. Received duty suspension
Production 3a. Production
OtherArrival 3c. Fictive Arrival

For HTTP status codes and error response formats, see Error handling.