KamoCRM

Market, lines, approval decisions, and the vendor order lifecycle (send, receive, close, cancel)

Featurekamo-shared-library
Shipped
November 8, 2026 at 1:16 AM UTC
Author
Kamo
Commit
fb90023

ProcurementService owns purchase requests and vendor orders: - the engagement carries the market (chosen Procurement market, else the vendor's); lists filter by market plus rows with none; marketId/marketTitle on both DTOs; PUT market/account return the record - lines (description, quantity, unit cost, received) in the record payload; the total is their sum - reject (outcome REJECTED + reason) and withdraw (CANCELLED) a waiting request; requester and decider recorded; the request is SUBMITTED on create - vendor order: mark sent, receive in parts or whole, close (FULFILLED), cancel before anything arrived (VOIDED); derived stage on the DTO, never stored - EngagementLifecycle: all commitments voided -> CANCELLED, all ended -> FULFILLED - one-query lists (fetch-joined engagement/account/market, vendors and orders batched) - vendors: contact name, email, phone, website, notes, market, active flag (deactivate, never delete) - indexes on org_id / intent_id / commitment_id of the intent and commitment tables (applied by hand)

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing