Skip to content

Purchase offers

View as Markdown

A Purchase offer records the cost price of a Variant from a Supplier, for a given Country and validity period. Like a Sale offer it carries a taxExcludedPrice and a Tax reference, but it is the buying side: where a sale offer is what a customer pays, a purchase offer is what you pay your supplier.

Purchase offers feed cost and margin reporting, and let you track price changes from a supplier over time through their startsAt / endsAt windows.

PropertyTypeRequiredDescription
countrystring | Country | nullrequiredThe country resource it belongs to. Requires the instance_params:read scope. Returned null when the scope is missing.
createdAtstring-The date and time when the resource was created (ISO 8601 format).
discountPriceEmbeddedMoneyResource | null-The discounted tax-included price, when a discount applies.
Show discountPrice fields
PropertyTypeRequiredDescription
amountstringrequiredThe monetary amount, as a decimal string.
currencystringrequiredThe ISO 4217 currency code (e.g. EUR).
discountPricePerUnitEmbeddedPricePerUnitResource | null-The discounted tax-included price per measurement reference unit, when a discount applies.
Show discountPricePerUnit fields
PropertyTypeRequiredDescription
amountstringrequiredThe monetary amount, as a decimal string.
currencystringrequiredThe ISO 4217 currency code (e.g. EUR).
unit"ml" | "cl" | "l" | "mg" | "g" | "kg" | "mm" | "cm" | "m" | "m2" | "unit"requiredThe reference unit the amount is expressed per.
valueintegerrequiredThe number of reference units the amount applies to.
discountTaxExcludedPriceEmbeddedMoneyResource | null-The discounted tax-excluded price, when a discount applies.
Show discountTaxExcludedPrice fields
PropertyTypeRequiredDescription
amountstringrequiredThe monetary amount, as a decimal string.
currencystringrequiredThe ISO 4217 currency code (e.g. EUR).
discountTaxExcludedPricePerUnitEmbeddedPricePerUnitResource | null-The discounted tax-excluded price per measurement reference unit, when a discount applies.
Show discountTaxExcludedPricePerUnit fields
PropertyTypeRequiredDescription
amountstringrequiredThe monetary amount, as a decimal string.
currencystringrequiredThe ISO 4217 currency code (e.g. EUR).
unit"ml" | "cl" | "l" | "mg" | "g" | "kg" | "mm" | "cm" | "m" | "m2" | "unit"requiredThe reference unit the amount is expressed per.
valueintegerrequiredThe number of reference units the amount applies to.
endsAtstring | null-End date of the offer.
idstring-The unique identifier of the purchase offer.
priceEmbeddedMoneyResource-The tax-included price, computed from taxExcludedPrice and the referenced Tax rate.
Show price fields
PropertyTypeRequiredDescription
amountstringrequiredThe monetary amount, as a decimal string.
currencystringrequiredThe ISO 4217 currency code (e.g. EUR).
pricePerUnitEmbeddedPricePerUnitResource | null-The tax-included price expressed per measurement reference unit.
Show pricePerUnit fields
PropertyTypeRequiredDescription
amountstringrequiredThe monetary amount, as a decimal string.
currencystringrequiredThe ISO 4217 currency code (e.g. EUR).
unit"ml" | "cl" | "l" | "mg" | "g" | "kg" | "mm" | "cm" | "m" | "m2" | "unit"requiredThe reference unit the amount is expressed per.
valueintegerrequiredThe number of reference units the amount applies to.
startsAtstring-Start date of the offer. Defaults to the current date/time if not provided.
status"/api/statuses/DRAFT" | "/api/statuses/ACTIVE" | "/api/statuses/ARCHIVED"-The status of the offer.
supplierstring | Supplier | nullrequiredThe supplier resource it belongs to. Requires the suppliers:read scope. Returned null when the scope is missing.
taxstring | Tax | nullrequiredThe tax resource it belongs to. Requires the instance_params:read scope. Returned null when the scope is missing.
taxExcludedPriceEmbeddedMoneyResourcerequiredThe price set for the offer, excluding tax.
Show taxExcludedPrice fields
PropertyTypeRequiredDescription
amountstringrequiredThe monetary amount, as a decimal string.
currencystringrequiredThe ISO 4217 currency code (e.g. EUR).
taxExcludedPricePerUnitEmbeddedPricePerUnitResource | null-The tax-excluded price expressed per measurement reference unit.
Show taxExcludedPricePerUnit fields
PropertyTypeRequiredDescription
amountstringrequiredThe monetary amount, as a decimal string.
currencystringrequiredThe ISO 4217 currency code (e.g. EUR).
unit"ml" | "cl" | "l" | "mg" | "g" | "kg" | "mm" | "cm" | "m" | "m2" | "unit"requiredThe reference unit the amount is expressed per.
valueintegerrequiredThe number of reference units the amount applies to.
updatedAtstring-The date and time when the resource was last modified (ISO 8601 format).
variantstring | Product.Variant | nullrequiredThe variant resource it belongs to. Requires the products:read scope. Returned null when the scope is missing.
  • Record a supplier cost. Create a purchase offer for a variant with a supplier, country, tax, taxExcludedPrice and status.
  • Track a cost change. Close the current offer with an endsAt and create a new one with the updated price.
  • Compare suppliers. Keep concurrent offers from different suppliers for the same variant.

All requests require an OAuth 2.0 bearer token:

Authorization: Bearer <token>

PATCH uses JSON Merge Patch with Content-Type: application/merge-patch+json.