Products Service Module
What This Service Is For
Products keeps the common catalogue used by finance and domain applications. It maintains product identities, prices, selling instructions and optional accounting setups, exposing console operations and database functions for supported domain writes.
Boundary
The service checks stored configuration but does not price purchases, execute selling instructions or post entries. Reference records remain with their owners. Platform handles confirmation content independently. Existing product tax assignments remain here until the approved Commerce transfer is implemented.
Operations in Words
Catalogue requests read kinds and products, create and replace records, retire or reactivate products, and delete records whose protection and dependencies permit removal. Product writes include complete price and selling collections.
Financial requests read, save and delete setups under separate permissions. Missing-setup queries and bulk saving support grouped administration. Tax-class permissions govern kind defaults, and a database helper resolves the effective class.
Domain save and retire functions operate inside their caller's transaction. Their SQL checks differ from HTTP validation in several documented variants; this contract does not claim full parity.
Events and Jobs
The module deploys one API function and declares no local queue, schedule, background worker or change event. Maintenance hosts workspace export and purge participation. Products supplies an export declaration, but delivery and recovery remain outside the verified behavior. No model call is present, so all inference lists are empty.
Consistency Guarantees
Local product, setup and bulk writes have transaction rollback boundaries. Product locks stabilize same-product writes, with independent product and setup versions. Remote template operations and successive console requests have separate commits and no compensation. No local Submissions publication is declared; the external registry remains unverified.