A stock transfer between branches, and optionally between companies, in your organisation. Type decides the document's role and its lines. An Outward transfer carries Transfer Outward Lines. Releasing it takes the stock out of the source and puts it in transit to the destination, and generates a separate Inward transfer with one Transfer Inward Line per released line. The two documents are cross-linked through Inward Document and Outward Document. The destination receives the inward transfer and then posts it with Post Inventory, which moves the stock out of transit into the line's storage location. A Single Step transfer carries Transfer Lines and posts the source and destination effects together, with no transit. Inward transfers cannot be created by hand. Progress is shown by the calculated Outward Released, Inward Received and IL Posted flags; Status follows seeded business rules on save.
Fields
| Field | Label | Type | Required | What it does |
|---|---|---|---|---|
BranchId | From Branch | Lookup → Branch | Yes | The source branch whose stock the transfer reduces. Shown as From Branch. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
DocumentDate | Document Date | DateAndTime | Set to the moment the transfer is first saved. A seeded validation refuses any later change. | |
ExecutiveResourceId | Executive | Lookup → Resource | Not used by any transfer process. | |
ExternalId | External | Text, unique | ||
FieldSalesId | Field Sales | Lookup → FieldSales | The van-sales run that created this transfer through its load, take-in or unload actions. | |
Id | Id | Guid | Yes | |
InwardTransferId | Inward Document | Lookup → Transfer | On an outward transfer, the inward transfer created by its most recent release. Each release creates its own inward transfer, so earlier ones are found on the Related tab. | |
IsILPosted | IL Posted | Calculated (calculated) | Calculated: the transfer has lines and every line, of any kind, carries an inventory ledger entry. | |
IsInwardPosted | Inward Posted | Calculated (calculated) | Calculated: the transfer has inward lines and every one carries an inventory ledger entry. | |
IsInwardReceived | Inward Received | Boolean | Calculated: the transfer has inward lines and every one is marked received, that is, has nothing left to receive. | |
IsOutwardReleased | Outward Released | Calculated (calculated) | Calculated: the transfer has outward lines and none has pending release quantity left. Release Outward is refused once it is on. | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Document Number | Text | The document number, generated by the Transfer Name Setting: series TR, the date as day-month-year and a six-digit counter, joined by hyphens. | |
OutwardTransferId | Outward Document | Lookup → Transfer | On an inward transfer, the outward transfer whose release created it. | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | From Partner Account | Lookup → Account | Yes | The source company. Shown as From Partner Account. |
PerformILPosting | Perform IL Posting | Boolean | Not used. Posting is done by the Post Inventory and Selective Transfer actions. | |
PerformInwardPosting | Perform Inward Posting | Boolean | Not used. Posting is done by the Post Inventory action. | |
PerformInwardReceive | Perform Inward Receive | Boolean | Not used. Receiving is done by the Inward Recieve and Selective Inward Receive actions. | |
PerformOutwardRelease | Perform Outward Release | Boolean | Not used. Releasing is done by the Release Outward and Selective Release Outward actions. | |
PurchaseRequisitionId | Purchase Requisition | Lookup → Requisition | The requisition this transfer was created from by Release Transfer or Selective Release Transfer. The outward lines' quantities count towards the requisition lines' Stock Transfer Quantity. | |
ReceivedResourceId | Received By | Lookup → Resource | The person expected to accept the goods. Optional and not needed to release. The release copies it onto the generated inward transfer. When set, the person must be allowed for the source company and branch through their partner-resource assignments. | |
ReceivedTime | Received Time | Date | Typed by hand; no action fills it in. A seeded validation refuses a Received Time earlier than Transfer Time. | |
RecordTypeId | Record Type | Guid, hidden | ||
Status | Status | PickList | The stepper value. Starts as Draft. Seeded business rules set Released when every outward line is fully released, and Received when every inward line is received, every outward line is fully closed, or every single-step line is posted. These rules run on save, so Status can trail an action until the next save. The Pending Approval and Approved values are never set by the system and are for a tenant-built approval process. Values: Draft, Pending Approval - Outward, Approved - Outward, Released, Pending Approval - Inward, Approved - Inward, Received. | |
ToBranchId | To Branch | Lookup → Branch | Yes | The destination branch. The in-transit balance is held against it, and lot copies made at release belong to it. |
ToPartnerAccountId | To Partner Account | Lookup → Account | The destination company for a transfer between companies. Leave it blank for a move inside one company; lot copies are then owned by the From Partner Account. A two-step transfer needs To Branch or To Partner Account. | |
TotalClosedQuantity | Total Closed Quantity | Calculated (calculated) | ||
TotalQuantity | Total Quantity | Calculated (calculated) | Calculated sum of line quantities for the line set that matches Type: inward lines for Inward, outward lines for Outward, transfer lines for Single Step. | |
TransferredByResourceId | Transferred By | Lookup → Resource | The person who sends the goods. Optional. When set, the person must be allowed for the source company and branch through their partner-resource assignments. | |
TransferTime | Transfer Time | DateAndTime | Set to the moment the transfer is first saved, replacing any value typed on the New form. It can be edited afterwards and is not moved by the release. | |
Type | Type | PickList | Yes | Outward, Inward or Single Step. Outward is the source document of a two-step move; Inward is generated only by releasing an outward transfer (saving one by hand is refused); Single Step posts both ends at once. Values: Inward, Single Step, Outward. |
UIProps | UI Props | Text | ||
UpdatedDateTime | Modified Date | DateAndTime | Yes |
Actions
| Action | Label | Type | What it does |
|---|---|---|---|
BulkDelete | Delete | Delete | Delete |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
Delete | Delete | Delete | Delete |
DeleteInList | Delete | Delete | Delete |
Edit | Edit | Edit | Edit |
EditEntity | Edit | EditInline | Edit |
EditEntityDetails | Edit | Edit | Edit Entity |
EditInLines | Edit | EditInline | Edit |
New | New | New | New |
PerformILPosting | Post Inventory | ServerAction (PerformILPosting) | Post Inventory (single step): approves every single-step line for posting; each unposted line then posts its outward and inward effects together and gets a destination lot copy. Does nothing on outward or inward transfers. |
PerformInventoryPosting | Post Inventory | ServerAction (PerformInventoryPosting) | Post Inventory: posts every line of the transfer's own line set that has no ledger entry yet. On an inward transfer it needs at least one received line, posts each line's full Quantity into its storage location, takes it out of transit and records shortage, damage and excess separately. |
PerformInwardReceive | Inward Recieve | ServerAction (PerformInwardReceive) | Inward Recieve: receives every inward line's pending quantity, adds it to Received Quantity and writes it back to the outward line's Closed Quantity. It does not post stock. |
PerformOutwardRelease | Release Outward | ServerAction (PerformOutwardRelease) | Release Outward: releases every outward line's pending quantity. It posts the Transfer Outward entries, adds the quantity to the destination's in-transit balance, copies lots for the destination and creates a new Inward transfer. Refused on a transfer that is not Outward, has no lines, or is already fully released. |
SelectiveInwardReceive | Selective Inward Receive | ServerAction (SelectiveInwardReceive) | Selective Inward Receive: receives the ticked inward lines for the quantity entered (not capped; above the line quantity it shows as excess). It does not post stock and does not record damage; enter Damaged Quantity on the line itself. |
SelectiveOutwardRelease | Selective Release Outward | ServerAction (SelectiveOutwardRelease) | Selective Release Outward: releases only the ticked outward lines, each for its Requested Quantity (above zero and no more than the pending release quantity), and creates a new Inward transfer for them. |
SelectiveTransferPosting | Selective Transfer | ServerAction (SelectiveTransferPosting) | Selective Transfer: posts the ticked single-step lines, adding each line's Requested Quantity to its Received Quantity. Only for Single Step transfers. |
Validations
| Validation | Applies to | Error message | Notes |
|---|---|---|---|
| Restrict Inward Create | Type, Error | Inward Document cannot be generated without an Outward Transfer Document. | Restrict Inward Create |
| Branch Rule Validation | BranchId, Error, inactive | Branch can't be same | Branch can't be same |
| XM_DocumentDateChangeValidation | DocumentDate, Error | You cannot change Document Date | You cannot change Document Date |
| XM_ReceivedTimeRuleValidation | ReceivedTime, Error | Received Time should be greater than transfer time | Received Time should be greater than transfer time |
| Required Fields | Error | Selection of To Partner Account and To Branch is mandatory. | Selection of To Partner Account and To Branch is mandatory. |
| XM_TimeValidation | TransferTime, Error | Transfer Time can't be less than received time | Transfer Time can't be less than received time |
Lookup filters
| Filter | Lookup field | Notes |
|---|---|---|
| FromBranch For Partner Account | BranchId | |
| To Branch For Partner Account | ToBranchId |
Related entities
- Branch — looks up via
ToBranchId - UserAccount — looks up via
ModifiedById - Resource — looks up via
ReceivedResourceId - Transfer — looks up via
InwardTransferId - Account — looks up via
ToPartnerAccountId - Resource — looks up via
TransferredByResourceId - UserAccount — looks up via
CreatedById - Transfer — looks up via
OutwardTransferId - Branch — looks up via
BranchId - UserAccount — looks up via
OwnerId - Account — looks up via
PartnerAccountId - Requisition — looks up via
PurchaseRequisitionId - Resource — looks up via
ExecutiveResourceId - FieldSales — looks up via
FieldSalesId - Transfer — referenced by via
InwardTransferId - TransferOutwardLine — referenced by via
TransferId - TransferOutwardLine — referenced by via
InwardTransferId - TransferInwardLine — referenced by via
TransferId - Transfer — referenced by via
OutwardTransferId - TransferLine — referenced by via
TransferId
