# Why procurement governance matters An Atlas Corporate APAC buyer assembles a 180-line requisition worth AUD 92,000 and is ready to submit. In a consumer purchase, that is the end of the story: the shopper decides, the shopper pays. In B2B, it is the start of a second story. Who is allowed to commit that spend? Does it need a manager's sign-off, a second approver above a threshold, or a compliance check first? Procurement governance answers those questions, and you can configure it directly on the platform rather than bolting on an external workflow engine. ## The business problem: controlling who can commit spend B2B organizations delegate purchasing to many people but rarely delegate unlimited authority. Three needs recur across almost every buyer: - **Spending thresholds.** A buyer can self-serve up to a limit; above it, someone with more authority must approve. - **Separation of duties.** The person who raises a purchase should not be the only person who approves it. You designed Associate Roles with this split in [Configure associate access](/learning-model-b2b-commerce/configure-associate-access/associate-roles-and-permissions.md); approval workflows are where that split is enforced. - **Departmental controls.** Different divisions, cost centers, or product categories carry different sign-off requirements. [Approval Rules](/api/projects/approval-rules.md) and [Approval Flows](/api/projects/approval-flows.md) model all three, scoped to the Business Unit hierarchy you already designed. ## The three resources at a glance Approval governance is built from two configuration resources and one runtime resource. - **Approval Rule**: the policy. It states which Orders need approval (a `predicate`), which roles' Orders it applies to (`requesters`), and who must approve and in what order (`approvers`). A rule belongs to one Business Unit. - **Approval Flow**: the runtime instance. When an Order matches an active Approval Rule, the platform creates an Approval Flow automatically to track that Order's approvals, rejections, and the parties involved. - **Associate Role**: the currency of authority. Both the requesters and the approvers in a rule are expressed as Associate Roles, not individual people, so governance stays stable as staff change. Approval governance evaluates **Orders**, not Carts. A rule's `predicate` is an [Order Predicate](/api/projects/predicates.md#order-predicates), and an Approval Flow references the Order it governs. The buying-committee Cart freeze you met in the previous module protects a price before checkout; an Approval Flow governs whether the resulting Order may proceed. ## Where approval sits in the purchasing flow Approval Rules are designed once, ahead of time. The Approval Flow is created at the moment an Order is placed and matches a rule. From there, the flow moves through the rule's approver tiers until it is fully approved or a single rejection stops it. ```mermaid flowchart TD A["Design time: Approval Rule
predicate + requesters + approver hierarchy"] -.belongs to.-> BU[Business Unit] B[Buyer places Order] --> C{"Order matches an
active Approval Rule?"} C -->|No| D[Order proceeds] C -->|Yes| E[Platform creates Approval Flow] E --> F[Approvers act tier by tier] F -->|All tiers approve| G[Order approved] F -->|Any rejection| H[Order rejected] ``` The next pages build each piece in turn: the rule's predicate and requesters, the approver hierarchy, the flow at runtime, and how rules inherit across a Business Unit hierarchy. ## Key takeaways - B2B purchasing needs governance for spending thresholds, separation of duties, and departmental controls; you configure it natively. - An **Approval Rule** is the policy (predicate, requesters, approver hierarchy); an **Approval Flow** is the runtime instance the platform creates when an Order matches a rule. - Both requesters and approvers are expressed as **Associate Roles**, so governance is role-based and survives staff changes. - Approval governance acts on **Orders**: rules use Order Predicates, and a flow references the Order it governs. ## Related pages - [Area overview page with navigation](/learning-model-b2b-commerce.md) - [Previous page: Overview](/learning-model-b2b-commerce/configure-approval-workflows/overview.md) - [Next page: Approval Rules: predicates and requesters](/learning-model-b2b-commerce/configure-approval-workflows/approval-rules-predicates-and-requesters.md)