Image source: Morguefil
Inventory that moves within an organization is a transfer. “Within” an organization can mean within the same building, within the same campus, or within the same company even though the origin location and destination point are many miles away. I like to think about transfers in two different types:
The processes and layouts are different for the two types. Let’s start with the external transfers.
External transfers are movements of inventory that require the Pick, Pack, and Ship process. To that end, the External Transfer process is very similar to a Sales Order process:
Sales Order → Pick → Pack → Ship → Invoice
Transfer → Pick → Pack → Ship
Once at the destination, the External Transfer is received much like a Purchase Order:
Receipt → Putaway
External transfers have a header/line data model:
A detail view may look something like this:
Transfer ID: the unique record id.
Date: date that the transfer record was created.
Status: Requested, In Process, Completed, Canceled. You may have different phases of a status, but having a status is very useful in order to determine where in the process the transfer is.
Source ID: where the product currently is.
Destination ID: where you would like the product to end up.
Note that the source and destination in this example are given as a warehouse. A warehouse is a general location for the product and usually sufficient for external transfers. The exact location of the product is recorded in the Pick process for sending out and the Pack process after receiving.
Employee ID: the person who created the warehouse order. Alternatively, you may wish to have this as the employee who requested the transfer. Often times in FileMaker solutions, developers will have a set of fields that go into every table. These are sometimes called “Housekeeping fields.” Each developer is different, so the housekeeping fields may vary from developer to developer. However, more often than not, they include fields for who created the record, when the record was created, who modified the record, and when it was modified.
Why Not Use a Sales Order to Transfer
Since the External Transfer is very similar to the Sales Order process, you may ask, “Why not use the Sales Order layout to make transfers?” While the two are similar, I like to separate the process for a couple of reasons:
Internal Transfers are different than their external counterparts. An Internal Transfer is movement within the same complex. This might be the same building or the same campus. The product is moved without going through the Pack and Ship processes. For example, you may have a pick area with several bins of blue widgets. And you also have an overstock or replenishment area of blue widgets. This allows you to purchase blue widgets in bulk. When the bins reach their re-order point, a notification is created and someone transfers blue widgets from the overstock area to the bin.
The overstock area may be in the same building or it may be in another building on campus or close by. Where ever it is, the distinction is that it does not need to be packed and shipped. The transfer process can happen with a forklift, hand truck, cart, etc. And the movement can happen from point to point - that is, from the overstock location directly into the bin without going through the shipping and receiving areas.
Since Internal Transfers are slightly different from External Transfers, you may benefit from a different layout. There are a couple of ways to approach this:
Highlighting the differences from the External Transfer Detail View above:
The Status field can be updated automatically, depending on the Received and Pick Status fields.
Status = Requested when:
Received = NULL and Pick Status = NULL
Status = In Process when:
Received = NULL and Pick Status = Picked
Status = Completed when:
Received = any quantity and Pick Status = Picked
Status can manually be set to Canceled. Your organization will need to determine the rules for allowing a cancelation (e.g. can it happen after an item was picked or only before? Does it happen only if overstock cannot fulfill the request? etc.).
The key differences here are:
Selecting Internal or External
Presuming that there are, in fact, two different types of Transfers, the user will need a way to select one of the two. Here are a couple of ways to do this in FileMaker:
Selection Method 1 - Custom Menu
Creating a custom menu allows you to control functions such as Add, Delete, Duplicate, etc. (Custom Menus do MUCH more than this, but it is outside the scope of this article). With Custom Menus you can assign a script to a process, so you
This is the process flow of forcing a custom dialog when the user creates a new transfer record.
This is what the user will see when clicking the New Transfer button (changed from New Record)
Selection Method 2 - Button Bar with Popover
Another method is to add a Popover button to a navigational button bar. A button bar can be a combination of buttons and popover buttons, which is a powerful feature in FileMaker. While the navigational button to Items would take the user to the Item lTEM layout, the Transfers popover button would create additional options:
a. Create a new Internal Transfer record.
b. Create a new External Transfer record.
c. Go to the Transfer layout.
An example of using a button bar with a popover button to create transfers.