spryker-feature/purchasing-control
PurchasingControl module
Maintainers
Package info
github.com/spryker-feature/purchasing-control
pkg:composer/spryker-feature/purchasing-control
202606.0
2026-06-24 12:47 UTC
Requires
- php: >=8.3
- spryker-shop/customer-page-extension: ^1.4.0
- spryker-shop/shop-ui: ^1.108.0
- spryker/application: ^3.46.0
- spryker/checkout-extension: ^1.3.0
- spryker/company: ^1.4.0
- spryker/company-business-unit: ^2.0.0
- spryker/company-user: ^2.0.0
- spryker/currency: ^4.0.0
- spryker/customer: ^7.0.0
- spryker/data-import: ^1.0.0
- spryker/glossary: ^3.16.0
- spryker/gui: ^5.0.0
- spryker/kernel: ^3.30.0
- spryker/locale: ^4.0.0
- spryker/money: ^2.0.0
- spryker/permission-extension: ^1.0.0
- spryker/propel-orm: ^1.0.0
- spryker/quote: ^2.0.0
- spryker/quote-approval: ^1.5.0
- spryker/quote-extension: ^1.0.0
- spryker/sales: ^11.83.0
- spryker/sales-extension: ^1.15.0
- spryker/store: ^1.35.0
- spryker/symfony: ^3.0.0
- spryker/transfer: ^3.27.0
- spryker/util-date-time: ^1.6.0
- spryker/util-text: ^1.1.0
- spryker/uuid-behavior: ^1.3.0
- spryker/zed-request: ^3.0.0
Requires (Dev)
Suggests
- spryker-shop/company-page: Use this module if you want to display company information on the storefront.
- spryker-shop/customer-page: Use this module if you want to display customer information on the storefront.
- spryker/oms: Use OMS to manage order states and processes.
- spryker/router: Use Router when the storefront needs to be able to route to the purchasing control module.
Provides
None
Conflicts
None
Replaces
None
proprietary c359ce308ff614dc41db208fd09994160dcc6a33
README
👁 Latest Stable Version
👁 Minimum PHP Version
The Purchasing Control feature extends Spryker's B2B Company Account and Approval Process with native cost center and budget management. It allows finance teams to define departmental or project-based spending limits, and enforces those limits at checkout alongside Spryker's existing permission-based approval flow.
Features
- Cost Center Management — Create, update, activate, and deactivate cost centers in the Back Office. Link cost centers to business units so assigned buyers are automatically available for selection at checkout.
- Budget Controls — Define budgets per cost center with a total amount, period, currency, and enforcement rule (Block, Warn, or Require Approval).
- Checkout Integration — Buyers select a cost center and budget during checkout. The system displays the remaining budget and validates the order total before proceeding.
- Layered Approval Enforcement — Budget rules run in parallel with Spryker's "Buy up to grand total" permission limits. If either check triggers, the configured action is applied: block the order, warn the buyer, or route it through the approval workflow.
- Budget Lifecycle — Budget balance is consumed on order confirmation and restored on cancellation or return.
- Spend Reporting — Back Office dashboard showing spend vs. budget per cost center, with filtering by time range, cost center, or buyer, and CSV export.
- Audit Log — All cost center, budget, and approval events are recorded with timestamps and actor identity for compliance and finance review.
Validation Outcomes at Checkout
| Condition | Result |
|---|---|
| Within budget and within permission limit | Buyer completes checkout |
| Exceeds budget — Warn rule | Warning shown; buyer proceeds but approval is required |
| Exceeds budget — Require Approval rule | Quote sent for approval |
| Exceeds Buy-up-to permission limit | Quote sent for approval |
| Exceeds budget — Block rule | Checkout blocked; no approval option |
Installation
composer require spryker-feature/purchasing-control
