The OPOS standard specifies two levels for an OPOS control, the control object which presents an abstract hardware interface to a family of devices such as receipt printer and the service object which handles the interface between the control object and the actual physical device such as a specific model of receipt printer. This division of functionality provides a way for the application development to write to an abstract hardware interface while allowing the application to work with a variety of different hardware. The only requirement is that a hardware vendor supplies an OPOS compatible service object with their particular hardware offering.
Typically a manufacturer of point of sale terminals will provide along with a terminal operating system an OPOS control object package with a software utility that is used to configure OPOS settings. Such a utility will specify the settings for an OPOS control object and indicate the service object to be used with a particular OPOS profile. When the point of sale application starts up, it loads the OPOS control object and the OPOS control object in turn loads the service object specified by the current OPOS profile. The Windows Registry is typically used as the persistent store for device settings. The hardware device manufacturer will normally provide a utility for device specific settings used by the service object.