Skip to main content

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​

ChangeHow
A price, with its quantity breaksstart_date on the price
An article: name, metadata, bundle componentsvalid_from on the article
A pricelist: currency, VAT mode, parent, rules, metadata, active windowvalid_from on the pricelist
A rounding profile, and which profile is a defaultvalid_from on the profile
A bundle ruleeffective_from on the rule; see Bundles
A VAT ratestart_date on the rate; see VAT
An article's VAT class in a tax areastart_date on the mapping; see VAT
An exchange ratethe 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_of after its start, or read the pricelist, article or rounding profile with asOf: GET /pricelist/retail-sek?asOf=2026-12-01T00:00:00Z.
  • Mind time zones: start dates are instants, so 2026-12-01T00:00:00+01:00 is 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.