A genetic algorithm is developed for a multi-container problem and integrated into a commercial software product. The considered problem is characterized by specific requirements, e.g. non-convex 3D shapes composed of several cuboids and a broad range of constraints. The algorithm uses the packing list as genotype, the first-fit heuristic for placing the items, and a set of problem-specific operators. The algorithm is tested on simple examples, benchmarks by Bischoff/Ratcliff and Loh/Nee, and real-world customer data. The proposed algorithm proves to be an all-rounder that excels on non-convex problems and delivers acceptable results on regular (benchmark) problems.