Build the backend for an inventory management system designed to track products, stock levels, and supplier information for a small to medium-sized business. This system will provide APIs for managing product details, recording stock movements (in/out), and generating basic inventory reports. Emphasis will be on efficient database design and data integrity.