Transfer Object

Transfer is a transaction used to move inventory from one location to another.    Like all transactions it is comprised of a Doc portion (Transfer) and one or more Line Items (TransferLineItem).  TransferLineItem may optionally include one or more Details.    

End Point



GET and DELETE requests expect parameter docNo of type Int32.

Properties - Transfer

PropertyCaptionData TypeRequired
FromLocationRefFrom LocationEntityRefTrue
To LocationEntityRefTrue
ShippingMethodRefShipping Method
MemoMemoString (4000)False
Tracking NoString(50)False
LineItemsItemsArray of TransferLineItemTrue
CustomFieldsCustom FieldsArray of CustomFieldDataFalse

Properties - Transfer Line Item

PropertyCaptionData TypeRequiredRead Only
$typeThis property MUST be included to tell the API what type of item is being added.
The value should be "AOLib7.AdjustmentLineItem, AOLib7"
LineNoLine NoInt16FalseTrue
PricePriceDecimalFalse - 0 will be ignoredFalse
CustomFieldsCustom FieldsArray of CustomFieldDataFalseFalse
DetailsLine Item DetailsArray of FillBinBaseFalseFalse

The Quantity should be an absolute decimal value representing the quantity being transferred for that item.  

Properties - Transfer Line Item - Details

The Details node is comprised of Line Item Details.   If you have used the Form Designer,  you know that you can add details to show the Bins and Lot or Serial No data for inventoried items.   Only inventoried items comprising of Part and Assembly items need Details.       You only need to include Details if you want to specifically identify the bins and / or lot and serial numbers being included.   If you include Details for one Transfer Line item then you must do so for all inventoried Transfer Line Items and visa versa.  Details MUST include both From and To Bins.  Make the Quantity negative for From Bins and positive for To Bins. 

You cannot have some inventoried Transfer Line Items with Details and some without.     

Line Item Details are comprised of an Array of FillBinBase.     FillBinBase can morph into either FillBin or DocFillLotOrSerial.  DocFillLotOrSerial is used when the item has TrackLotOrSerial set to true and FillBin is used otherwise. 

PropertyCaptionData TypeRequiredRead OnlyApplied to
$typeThis property MUST be included to tell the API what type of Detail is being added.
The value should be "AOLib7.FillBin, AOLib7" or "AOLib7.DocFillLotOrSerial, AOLib7"
LotOrSerialNoLot Or Serial NoString (50)TrueFalseDocFillLotOrSerial
ExpirationDateExpiration DateDateTimeTrueFalseDocFillLotOrSerial
DescriptionDescriptionString (4000)FalseFalseDocFillLotOrSerial
CustomFieldsCustom FieldsArray of CustomFieldDataFalseFalseDocFillLotOrSerial

Json Sample

    "FromLocationRef": {
        "Id": 10
    "ToLocationRef": {
        "Id": 265
    "Date": "2018-11-05T00:00:00",
    "LineItems": [
            "$type": "AOLib7.TranferLineItem, AOLib7",
            "ItemRef": {
                "Id": 30
            "LineNo": 1,
            "Quantity": 2,
            "Details": [
                    "$type": "AOLib7.FillBin, AOLib7",
                    "BinRef": {
                        "Id": 8,
                        "Name": "Floor"
                    "Quantity": -2
                    "$type": "AOLib7.FillBin, AOLib7",
                    "BinRef": {
                        "Id": 260,
                        "Name": "Default"
                    "Quantity": 2
    "StatusRef": {
        "Name": "Received"