---
id: CON-COM-FUL-002
name: Fulfilment Policy
feature: FEAT-COM-FUL-01
product_area: commerce
module: fulfillment
revision: 1
status: draft
product_intent: proposed
implementation_evidence: observed
source_sha:
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
definition: >-
  A fulfillment policy configures financial and human conditions for delivery
  together with readiness requirements and the response to later reversal.
owned_by: MOD-COM-FUL
synonyms:
  - delivery rule
  - gate policy
not_to_be_confused_with:
  - The ordering profile that organizes selling and payment
  - Return-policy settings governing post-sale goods
  - Application-specific cancellation terms
facets:
  - name: Money condition
    meaning: >-
      Financial eligibility selects immediate delivery, full payment, amount,
      percentage, paid deposit or no financial condition.
    used_for: Understanding money condition in the fulfilment policy workflow.
    provenance: observed
    source: 'services-commerce:modules/fulfillment/services/policies/evaluate-gate.ts'
  - name: Approved terms
    meaning: A policy can permit approved terms to satisfy the full-payment condition.
    used_for: Understanding approved terms in the fulfilment policy workflow.
    provenance: observed
    source: 'services-commerce:modules/fulfillment/services/policies/evaluate-gate.ts'
  - name: Approval required
    meaning: Required approval reserves an explicit staff release before delivery.
    used_for: Understanding approval required in the fulfilment policy workflow.
    provenance: observed
    source: 'services-commerce:modules/fulfillment/services/policies/evaluate-gate.ts'
  - name: Application readiness
    meaning: >-
      Application readiness supplies a prerequisite from the owning delivery
      service.
    used_for: Understanding application readiness in the fulfilment policy workflow.
    provenance: observed
    source: 'services-commerce:modules/fulfillment/services/policies/evaluate-gate.ts'
  - name: After a reversal
    meaning: >-
      Reversal treatment selects staff review, notification, suspension,
      cancellation follow-up or no action.
    used_for: Understanding after a reversal in the fulfilment policy workflow.
    provenance: observed
    source: >-
      services-commerce:modules/fulfillment/services/enforcement/enforcement-handler.ts
  - name: Bank-debit timing
    meaning: Bank-debit eligibility can use processor acceptance or final settlement.
    used_for: Understanding bank-debit timing in the fulfilment policy workflow.
    provenance: observed
    source: 'services-commerce:modules/fulfillment/services/policies/evaluate-gate.ts'
  - name: Follow parent
    meaning: >-
      A child can follow the parent's gate unless its saved setting changes that
      dependency.
    used_for: Understanding follow parent in the fulfilment policy workflow.
    provenance: observed
    source: 'services-commerce:modules/fulfillment/services/policies/evaluate-gate.ts'
  - name: Scope and precedence
    meaning: >-
      Configuration resolution selects product, profile, workspace or built-in
      policy in that order.
    used_for: Understanding scope and precedence in the fulfilment policy workflow.
    provenance: observed
    source: >-
      services-commerce:modules/fulfillment/services/policies/policy-resolution.ts
  - name: Frozen version
    meaning: An obligation retains the chosen policy version and selection source.
    used_for: Understanding frozen version in the fulfilment policy workflow.
    provenance: observed
    source: >-
      services-commerce:modules/fulfillment/services/policies/policy-resolution.ts
relationships:
  - to: CON-COM-FUL-001
    statement: >-
      Policy application can explicitly replace differing gates on pending
      obligations.
    provenance: test
    source: >-
      services-commerce:modules/fulfillment/tests/e2e/fulfillment-policies.e2e.spec.js#re-freezes
      the pending obligation to the replaced policy with a receipt, records the
      intervention, and re-freezes nothing on a repeat
  - to: CON-COM-FUL-003
    statement: Reversal review produces an operational finding for staff.
    provenance: test
    source: >-
      services-commerce:modules/fulfillment/tests/integration/services/enforcement/enforcement-handler.integration.spec.js#leaves
      the review enforcement pending with an enforcement_review exception and no
      obligation, and the cancel_line one dispatched with a review for the
      request
lifecycle: []
acted_on_by:
  - CAP-COM-FUL-001
  - CAP-COM-FUL-002
  - CAP-COM-FUL-006
visible_to:
  - ACT-COM-009
  - ACT-COM-008
evidence:
  - repository: services-commerce
    sources:
      - >-
        services-commerce:modules/fulfillment/tests/e2e/fulfillment-policies.e2e.spec.js#re-freezes
        the pending obligation to the replaced policy with a receipt, records
        the intervention, and re-freezes nothing on a repeat
      - >-
        services-commerce:modules/fulfillment/tests/integration/services/enforcement/enforcement-handler.integration.spec.js#leaves
        the review enforcement pending with an enforcement_review exception and
        no obligation, and the cancel_line one dispatched with a review for the
        request
  - repository: react-console
    sources: []
supersedes: []
---

# Fulfilment Policy

## What It Is

A fulfillment policy describes the conditions under which Commerce can authorize delivery of a sale. It brings financial eligibility, staff approval, application readiness and later reversal response into one configuration. Staff use it to express how a product should be handled within their workspace. A policy can apply to a product, an ordering profile or the workspace default, allowing common settings with more specific choices where needed.

The configured record and the policy retained on an obligation serve different purposes. Configuration supplies the choice for new work. The saved gate preserves the policy selected for a particular sale, including where it came from and its version. That gives operations staff context when an older order behaves differently from a sale placed after a configuration change. A later application of configuration is an explicit action rather than an automatic consequence of editing the policy.

## What It Is Not

An ordering profile describes how selling and payment are organized; it is not itself the saved delivery gate. A return policy governs what can come back and how the return is handled. The delivering application's preparation requirements are also separate inputs. Configuring delivery eligibility does not establish that the owning application can perform every requested outcome or that every observed setting has Product approval.

## How It Is Used

Administrators configure policies through service operations. Staff investigating a delayed delivery read the resulting gate rather than assume today's configuration governs an older sale. Policy application lets administrators deliberately revisit some waiting work and record why. Its bounded implementation needs careful operational handling: repeated calls do not provide a continuation cursor through all waiting entries. The product should explain the scope examined and the work still awaiting review.

## Its Facets

**Money condition.** Financial eligibility selects immediate delivery, full payment, amount, percentage, paid deposit or no financial condition. Understanding money condition in the fulfilment policy workflow.

**Approved terms.** A policy can permit approved terms to satisfy the full-payment condition. Understanding approved terms in the fulfilment policy workflow.

**Approval required.** Required approval reserves an explicit staff release before delivery. Understanding approval required in the fulfilment policy workflow.

**Application readiness.** Application readiness supplies a prerequisite from the owning delivery service. Understanding application readiness in the fulfilment policy workflow.

**After a reversal.** Reversal treatment selects staff review, notification, suspension, cancellation follow-up or no action. Understanding after a reversal in the fulfilment policy workflow.

**Bank-debit timing.** Bank-debit eligibility can use processor acceptance or final settlement. Understanding bank-debit timing in the fulfilment policy workflow.

**Follow parent.** A child can follow the parent's gate unless its saved setting changes that dependency. Understanding follow parent in the fulfilment policy workflow.

**Scope and precedence.** Configuration resolution selects product, profile, workspace or built-in policy in that order. Understanding scope and precedence in the fulfilment policy workflow.

**Frozen version.** An obligation retains the chosen policy version and selection source. Understanding frozen version in the fulfilment policy workflow.

## How It Relates

Obligations retain and evaluate the policy. Orders and ordering profiles provide selection context, while Accounting provides the financial position used for evaluation. A reversal can create enforcement or an operational review. The delivering application can add its preparation requirements without becoming the owner of Commerce's policy configuration.

## What It Could Become

The product should provide a policy editor and a preview of affected waiting orders. Product authority remains unsettled for much of this configuration despite its implementation evidence. Before extending policy application to large scopes, design should address continuation and distinguish deliberate policy changes from the safeguards retained at placement.
