Procurement Lifecycle
Full-cycle municipal procurement — requisitions, purchase orders, receiving, solicitations, bid management, evaluations, awards, and P-Card — compliant with Ontario municipal procurement by-laws, CETA, CFTA, and broader public sector procurement directives.
Solicitation Types
Evaluation
P-Card
Trade Agreement
Purpose-Built for Canadian Municipalities
Purpose & Scope
What this module owns
Clear ownership boundaries prevent duplication and ensure every capability has exactly one authoritative home.
Owns
8Delegated to
6GL posting, budget validation, encumbrance
Payment processing and EFT
Approval workflows and routing rules
Vendor registration & contracts
AI bid evaluation & spend analytics
Document storage and retention
These capabilities are handled by dedicated modules and consumed via stable API contracts — keeping boundaries clean and ownership unambiguous.
Core Capabilities
What it does
4 capability groups comprising 8 discrete capabilities — each with API surface, business rules, and data ownership.
Multi-level requisition creation with budget validation, GL coding, item catalogue integration, and approval routing based on dollar thresholds and department.
Creation
Line-item requisitions with GL account, description, quantity, estimated cost.
Budget Check
Real-time budget availability check before submission.
Catalogue
Item catalogue integration for standardized ordering.
Approvals
Multi-level approval routing based on dollar thresholds and department.
PO creation from approved requisitions, amendments/change orders, blanket and standing POs, and automated PO-to-vendor dispatch via portal or email.
PO Creation
Auto-generation from approved requisitions with vendor assignment.
Amendments
Change orders with re-approval routing for increases over threshold.
Blanket POs
Blanket and standing POs with release tracking and limit enforcement.
Dispatch
Automated PO dispatch to vendor via portal or email.
Goods/services receiving with three-way match (PO, receipt, invoice), partial receiving, and exception handling for discrepancies.
Receiving
Goods/services receiving against PO lines with quantity and condition.
Three-Way Match
Automated PO–receipt–invoice matching with tolerance thresholds.
Partial
Partial receiving with backorder tracking.
Exceptions
Exception handling for quantity, price, or quality discrepancies.
Every module owns a single bounded context, exposes stable APIs, and can be composed into any Civic product — that's the architecture that scales.
Krutik Parikh
Creator of Civic
Data Model
Entity Architecture
4 entities with 4 relationships — the authoritative schema for this bounded context.
Entities
Select an entity to explore its fields and relationships
API Surface
Integration Endpoints
11 RESTful endpoints across 8 resource groups — plus 7 domain events for async integration.
/api/v1/procurement/requisitions
Create requisition
/api/v1/procurement/requisitions/{id}
Get requisition details
Ecosystem
Products that depend on this module
3 Civic products consume Procurement Lifecycle — making it one of the most critical platform services in the ecosystem.
Technical Specifications
Performance, Compliance & Configuration
Bid Sealing
Three-Way Match
Trade Agreement
Audit Trail
Late Bid Rejection
FAQ
Frequently Asked Questions
Ready to Integrate
Build on Procurement Lifecycle
Request an architecture brief, integration guide, or live demo environment for your team.