Modulaire architectuur
Odoo WebViews en acties
CPQ-moduleRegels en pricing
Odoo ORMModellen en security
PostgreSQLBedrijfsdata
Pythonmodellen verzorgen domeinlogica, XML definieert schermen, record rules beveiligen multi-companydata en QWeb genereert offertes. De publieke demo blijft technisch gescheiden.
Datamodel
| Model | Doel |
|---|---|
ouito.cpq.template | Configurator per transportbandfamilie |
ouito.cpq.question | Technisch keuzeonderwerp |
ouito.cpq.option | Component, uitvoering of service |
ouito.cpq.rule | Vereist of sluit combinaties uit |
ouito.cpq.configuration | Klantgebonden configuratie |
sale.order.line | Gegenereerde offerteregel |
Voorbeeld rule engine
def _validate_answers(self): selected = self.answer_ids.mapped("option_id") for rule in self.template_id.rule_ids.filtered("active"): if rule.trigger_option_id not in selected: continue target = rule.target_option_id in selected invalid = (rule.action == "require" and not target) invalid |= (rule.action == "exclude" and target) if invalid: raise ValidationError(rule.message)
Offerteregels genereren
self.env["sale.order.line"].create({ "order_id": configuration.order_id.id, "product_id": option.product_id.id, "product_uom_qty": answer.quantity, "cpq_configuration_id": configuration.id, })
Beveiliging en integratie
CPQ User
Maakt en valideert configuraties.
CPQ Manager
Beheert templates, opties en regels.
Multi-company
Record rules scheiden bedrijfsdata.
Audit trail
Chatter en activiteiten documenteren wijzigingen.
Doelomgeving: Odoo 19 Enterprise op Odoo.sh. Odoo Online ondersteunt geen eigen Pythonmodules.