Once upon a time at Warby Parker, our process for requesting and verifying transfer orders was extremely manual. Our Supply Chain team would communicate with our warehouses and labs to verify everything was where it needed to be. While this process worked, it was incredibly time-consuming for our internal team—and we knew we could do something to automate and allow for visibility for everyone involved.
When we launched our new platform, Springfield, one of our first additions was a home-grown, automated system for transfer orders—this saved gobs of time for our Supply Chain team, provided visibility throughout the process, and allowed our third-party facilities to participate in the fun. (Yay!)
For the Supply Chain team, the most enticing aspect about this integration was that we enabled facilities to interact with our homegrown system. Every person that interacts with our platform gets assigned to an ACL group, which is used to designate permissions across the entire system. To help us have the same secure and restricted access for internal and external parties across all of our applications, we use Active Directory. Based on the groups that each person is placed in, we determine which portions of our system are visible to them with the code snippet below:
# compute the intersection of the handler class' authorized roles and the logged-in
# users’ authorized roles
user_roles = [r.key for r in user.roles]
return 'administrator' in user_roles or \
any(authorized_role in user_roles for authorized_role in cls.authorized_roles)
By granting third parties secure access, they can manage the shipments that they should be expecting and then report on the shipments that they receive. This allows for Supply Chain to have a more hands-off approach and still have a clear trail of activity.
With this system in place, we’ve already increased reporting and insight into our facilities, and we are able to better manage inventory flowing in and out of our system.