For buyers contracting authority
Pick 72212190 when the deliverable is built software for an education or assessment use case, not when the contract buys teaching itself or an off-the-shelf product. The cleanest test: if the accepted output is a learning platform, an online examination system, or custom interactive learning content that someone develops for you, this is the code.
Two boundaries trip contracting authorities. The first is 48190000, Educational software package: that code is for buying a ready-made educational software product off the shelf, while 72212190 is for development effort. The second is the training-services family (80000000, Education and training services): if you are procuring the delivery of courses or instruction rather than the software behind them, the work belongs there, not here.
Where a single contract bundles content authoring, platform development and some support, set the primary CPV code by the dominant deliverable. If the work is genuinely cross-sector software with no education-specific core, the broader parent (72212100) or generic development (72262000) is the safer tag.