An inventory device attachable to a first movable container, the inventory device comprising: a retainer clip for removably attaching the inventory device to a retainer slot of the first movable container; a memory including a non-volatile data store containing a local cache storing a local inventory of the first movable container, the local inventory including an amount of an item; a communication interface; an audiovisual element (162, 164, 174); and a processor configured to: output, via the audiovisual element, a visual representation of the local inventory; receive a user input via the communication interface; determine a change to the local inventory according to the user input; update the local inventory in the non-volatile data store according to the change; synchronize, via the communication interface, the local inventory stored in the local cache of the inventory device with inventory stored in a cache of one or more other inventory devices removably attached to one or more respective movable containers geographically remote from the first movable container such that the cache of the other inventory devices are updated with the local inventory; receive, from the one or more other inventory devices, via the communication interface, periodic updates sent by the one or more other inventory devices for the local cache comprising locations and inventories of the one or more respective movable containers attached to the one or more other inventory devices. a retainer clip for removably attaching the inventory device to a retainer slot of the first movable container; a memory including a non-volatile data store containing a local cache storing a local inventory of the first movable container, the local inventory including an amount of an item; a communication interface; an audiovisual element (162, 164, 174); and a processor configured to: output, via the audiovisual element, a visual representation of the local inventory; receive a user input via the communication interface; determine a change to the local inventory according to the user input; update the local inventory in the non-volatile data store according to the change; synchronize, via the communication interface, the local inventory stored in the local cache of the inventory device with inventory stored in a cache of one or more other inventory devices removably attached to one or more respective movable containers geographically remote from the first movable container such that the cache of the other inventory devices are updated with the local inventory; receive, from the one or more other inventory devices, via the communication interface, periodic updates sent by the one or more other inventory devices for the local cache comprising locations and inventories of the one or more respective movable containers attached to the one or more other inventory devices. receive a user input via the communication interface; determine a change to the local inventory according to the user input; update the local inventory in the non-volatile data store according to the change; synchronize, via the communication interface, the local inventory stored in the local cache of the inventory device with inventory stored in a cache of one or more other inventory devices removably attached to one or more respective movable containers geographically remote from the first movable container such that the cache of the other inventory devices are updated with the local inventory; receive, from the one or more other inventory devices, via the communication interface, periodic updates sent by the one or more other inventory devices for the local cache comprising locations and inventories of the one or more respective movable containers attached to the one or more other inventory devices.