Scheduled Updates
A scheduled update is a change written today that takes effect at a future moment: a price increase on the first of the month, a weekend campaign, a new VAT rate on the date the law changes. You prepare it in advance; it takes effect on the second, with no deployment, no nightly job and no one awake at midnight.
What Can Be Scheduled
| Change | How |
|---|---|
| A price, with its quantity breaks | start_date on the price |
| An article: name, metadata, bundle components | valid_from on the article |
| A pricelist: currency, VAT mode, parent, rules, metadata, active window | valid_from on the pricelist |
| A rounding profile, and which profile is a default | valid_from on the profile |
| A bundle rule | effective_from on the rule; see Bundles |
| A VAT rate | start_date on the rate; see VAT |
| An article's VAT class in a tax area | start_date on the mapping; see VAT |
| An exchange rate | the rate's date; see Exchange Rates |
Until the moment arrives, the current version stays in force. From that moment, every query uses the new one. Queries can already see the change in advance with an as_of after its start.
POST /price
{
"sku": "SKU-CHAIR-001",
"pricelist": "retail-sek",
"start_date": "2026-12-01T00:00:00Z",
"price": { "fields": { "fixed": 2490.00 } }
}
Without start_date or valid_from, a write takes effect now; a past moment also means now. To replace everything scheduled after a new price, article, pricelist or rounding profile, send it with "remove_future_changes": true.
Interaction With Other Pricing Features
Inheritance
A scheduled price on a parent pricelist takes effect on the pricelists that inherit it at the same moment. A pricelist with its own price for the SKU is not affected.
Rules and Metadata
A scheduled change to a pricelist's rules, its metadata or an article's metadata recalculates the prices it affects from its start: the pricelist's own prices, the prices it inherits, and the pricelists that inherit from it. Prices before the start stay as they were.
Bundles
A sum_of_parts bundle follows scheduled changes to its component prices automatically, and its own rule can be scheduled too.
History
Once a scheduled change takes effect, the version it replaced becomes history and can still be queried with as_of. See Historical Pricing.
Best Practices
- Use scheduled updates for every timed change rather than writing prices at the moment they should change.
- Check a scheduled change before it goes live with a query at an
as_ofafter its start, or read the pricelist, article or rounding profile withasOf:GET /pricelist/retail-sek?asOf=2026-12-01T00:00:00Z. - Mind time zones: start dates are instants, so
2026-12-01T00:00:00+01:00is midnight in Stockholm.
Summary
Prices, articles, pricelists, rounding profiles, bundle rules, VAT rates, VAT classes and exchange rates can all be written ahead of time. Each takes effect at its start, on every pricelist that uses it.