Request a Demo
Domain

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.

RFP / RFQ / RFT / RFSQ

Solicitation Types

Weighted Criteria

Evaluation

Integrated

P-Card

CETA / CFTA

Trade Agreement

Purpose-Built for Canadian Municipalities

Ontario Compliant
MFIPPA Ready
AODA Accessible
Bilingual Support
Canadian Hosted
SOC 2 Aligned

Purpose & Scope

What this module owns

Clear ownership boundaries prevent duplication and ensure every capability has exactly one authoritative home.

Owns

8

Delegated to

6

GL posting, budget validation, encumbrance

financial-core

Payment processing and EFT

payment-engine

Approval workflows and routing rules

workflow-automation

Vendor registration & contracts

vendor-contract-management

AI bid evaluation & spend analytics

procurement-intelligence

Document storage and retention

document-records

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.

|
POST

/api/v1/procurement/requisitions

Create requisition

GET

/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

TargetTime-stamped, tamper-evident

Three-Way Match

TargetAutomated with configurable tolerance

Trade Agreement

TargetCETA/CFTA threshold tracking

Audit Trail

TargetComplete for all procurement decisions

Late Bid Rejection

TargetAutomatic with timestamp evidence

FAQ

Frequently Asked Questions

Ready to Integrate

Build on Procurement Lifecycle

Request an architecture brief, integration guide, or live demo environment for your team.