Price Changes
Review, approve, and manage price changes with complete workflow control
Overview
The Price Changes page is the heart of Calibrate's pricing governance system. Every proposed price change goes through a controlled workflow with human-in-the-loop approval before being applied to your platforms.
Access: Navigate to Price Changes in the project sidebar, or visit /p/[your-project]/price-changes
Price Change Workflow
Every price change moves through a series of states in a controlled workflow:
Price change has been proposed but not yet reviewed
- →Review details
- →Approve
- →Reject
Price change has been approved and is ready to apply
- →Apply to platforms
- →Reject
Price change has been synced to connected platforms
- →Rollback to previous price
Price change was rejected and will not be applied
- →View reason (read-only)
Applied price was reverted to its previous value
- →View history (read-only)
Error occurred during sync to platform
- →View error details
- →Retry
Workflow Actions
Approve
Mark a pending price change as approved
- 1.Review the price change details
- 2.Check policy compliance and AI explanation
- 3.Click the 'Approve' button
- 4.Price change status changes to APPROVED
Note: Approved changes are NOT automatically applied. You must explicitly apply them.
Apply
Sync an approved price change to your platforms
- 1.Ensure price change is in APPROVED status
- 2.Click the 'Apply' button
- 3.Price change is queued for sync
- 4.Monitor connector status for sync progress
- 5.Status changes to APPLIED when complete
Note: Applied prices are immediately pushed to connected platforms (Shopify, etc.).
Reject
Reject a price change to prevent it from being applied
- 1.Open price change details
- 2.Click the 'Reject' button
- 3.Optionally provide a reason
- 4.Price change status changes to REJECTED
Note: Rejected changes cannot be approved later. You must create a new price change.
Rollback
Revert an applied price change to its previous value
- 1.Find an APPLIED price change
- 2.Click the 'Rollback' button
- 3.Confirm the rollback action
- 4.Previous price is restored in platforms
- 5.Status changes to ROLLED_BACK
Note: Rollback creates a new price change in reverse. The original change remains in history.
Price Change Details
Information Display
Click any price change to open the detail drawer, which shows:
- •SKU Code: The specific product variant being changed
- •Price Difference: Old price → New price (with currency symbol)
- •Percentage Change: How much the price increased or decreased
- •Source: Where the change came from (AI, manual, rule, etc.)
- •Created Date: When the price change was proposed
- •Policy Checks: Automated validation results
- •AI Explanation: Context and reasoning for the change
- •Connector Status: Sync progress with platforms
Policy Compliance
Each price change is automatically checked against your pricing policies:
- ✓Passed Checks: Policy rules that were satisfied
- ✗Failed Checks: Policy violations that need review
Note: Failed policy checks don't prevent approval - they're advisory warnings to help you make informed decisions.
Search & Filter
Status Filter
Filter price changes by status to focus on specific workflows:
- •Pending: Changes awaiting review (default view)
- •Approved: Changes ready to apply
- •Applied: Changes synced to platforms
- •Rejected: Changes that were declined
- •Failed: Changes with sync errors
- •Rolled Back: Reverted changes
Search
Search for specific price changes by:
- •SKU Code: Find changes for a specific product variant
- •Source: Filter by change source (ai, rule, manual)
Connector Sync Status
Understanding Sync States
When you apply a price change, it's queued for synchronization with your platforms. The connector status shows the sync progress:
- ⏳QUEUED: Price change is waiting to sync
- 🔄SYNCING: Currently syncing to platform
- ✓SYNCED: Successfully applied to platform
- ✗ERROR: Sync failed (see error message for details)
Troubleshooting Sync Errors
If a price change fails to sync:
- 1.Open the price change details drawer
- 2.Check the connector status section for error messages
- 3.Common issues: platform credentials, product not found, platform API down
- 4.Retry the sync after resolving the issue
- 5.Check platform integration status on Integrations page
Pagination
Price changes use cursor-based pagination for efficient loading:
- •Default: 25 price changes per page
- •Use "Next" and "Previous" buttons to navigate
- •Filters and search persist across pages
- •Most recent changes appear first
Bulk Actions
Working with Multiple Price Changes
For large-scale price updates, you can use bulk actions:
- •Select Multiple: Use checkboxes to select multiple price changes (coming soon)
- •Bulk Approve: Approve all selected pending changes at once
- •Bulk Apply: Apply all approved changes to platforms
- •Bulk Reject: Reject multiple unwanted changes
Tip: Use filters to narrow down to the specific changes you want to bulk-process, then select all on the current page.
Best Practices
API Reference
The Price Changes API allows programmatic access to price change workflows. All endpoints require authentication via Bearer token.
List price changes with filters and pagination
- • project: Project slug (required)
- • status: Filter by status (PENDING, APPROVED, APPLIED, etc.)
- • q: Search query (SKU or source)
- • cursor: Pagination cursor
- • limit: Results per page (default: 25)
Approve a pending price change
Apply an approved price change to platforms
Reject a price change
Rollback an applied price change to its previous value
Response Example
{
"id": "string",
"status": "PENDING" | "APPROVED" | "APPLIED" | "REJECTED",
"currency": "USD",
"fromAmount": 2999, // in cents
"toAmount": 3499, // in cents
"createdAt": "2024-01-15T10:30:00Z",
"source": "ai" | "rule" | "manual",
"context": {
"skuCode": "SKU-123"
},
"policyResult": {
"ok": true,
"checks": [...]
},
"connectorStatus": {
"target": "shopify",
"state": "QUEUED" | "SYNCING" | "SYNCED" | "ERROR"
}
}