Skip to content

Business Rules Register

Last updated: 2026-07-03.

This register tracks implemented workflows that mutate business data.

Workflow Business event Records that may change Current rule document Technical references
Contact created MSP seat automation A CRM Contact is created and the CRM workflow calls middleware. Contact Lead_Status; MSP Seat creation. MSP contact lifecycle app/automations/contact_created.py, zoho_crm/deluge/standalone.on_create_contact_automations.dg
Contact edited MSP seat automation A CRM Contact is edited and the CRM workflow calls middleware. MSP Seat Billing_Status / Billing_End; Contact Lead_Status / update_source; MSP Seat creation when missing. MSP contact lifecycle app/automations/contact_edited.py, zoho_crm/deluge/standalone.on_edit_contact_automations.dg
Generate or refresh one MSP invoice A user clicks the plan-level CRM button. CRM Invoice; Xero draft invoice; CRM invoice Xero reference fields. MSP invoicing docs/dev/xero_crm_invoice_sync.md, msp_imports/msp_invoices/service.py
Generate or refresh monthly MSP invoices A user clicks the list-level CRM button for all plans. CRM Invoices; Xero draft invoices; CRM invoice Xero reference fields. MSP invoicing docs/dev/xero_crm_invoice_sync.md, msp_imports/msp_invoices/service.py
Reconcile one MSP invoice line An MSP Invoice Line is created or edited. MSP Invoice Line Start_Date, End_Date. MSP invoicing docs/notes/2026-05-29_msp_invoice_line_crm_implementation_plan.md, msp_imports/msp_invoices/reconcile.py
Project from deal A Deal workflow calls middleware to ensure a linked Zoho Project exists. Zoho Project; Deal project link fields; project tasklists/tasks; Delivery Models. Deals, projects, and delivery models app/automations/projects_from_deal/project_bootstrap.py
Reserved / approval / payment pending deal setup A Deal reaches Reserved, Approval and Payment Pending for an MSP or Tech Project category. Zoho Project tasklists; tasklist completion; Delivery Models; Deal Closing_Date. Deals, projects, and delivery models app/automations/projects_from_deal/reserved_pending.py
Delivery Model alert evaluation Delivery Model progress is evaluated, optionally with CRM updates and alert emails. Delivery Model completion fields; Delivery Model mail action. Deals, projects, and delivery models app/delivery_models/alerts.py, app/automations/delivery_model_completion_calculations.py
Delivery Model state sync Delivery Model progress is evaluated and optionally written without sending alert emails. Delivery Model completion fields and Cumulated_Amount. Deals, projects, and delivery models app/automations/delivery_model_completion.py
Archived timelog backfill cache reset A reporting operator resets the archived timelog report cache. Generated cached report files only; no CRM/Projects/Xero business records. Reporting assumptions docs/archived_timelog_backfill.md

Not Process Rules

Some endpoints are intentionally excluded from the process-rule register:

  • Read-only report exports.
  • Health checks and internal debug pages.
  • Thin technical proxy endpoints that forward a specific Projects update without applying Peppermint business rules.
  • Compatibility endpoints that currently do not mutate records, including POST /zoho/msp-invoices/reconcile-plan-lines.
  • One-off scripts unless they become repeatable business processes.