Allowances
Allowances represent item-specific discounts or rebates applied to catalog entries stored in Ottimate. Common use cases include:
- Volume rebates from distributors
- Promotional discounts
- Contract-based pricing adjustments
Configuration Requirements
Allowances require the client to have been configured for related features
Creating Allowances
If you wish to include allowances in Ottimate, include the allowances array when creating catalog entries:
Allowance Object Fields
Cross-validation of target against ottimate_location_id/ottimate_group_id differs by endpoint. The nested path shown above (allowances inside POST /v1/catalog/entries) does enforce it: target: "location" without ottimate_location_id returns a 400, and the same for target: "location_group" without ottimate_group_id.
The standalone endpoints below (POST/PATCH /v1/catalog/allowances) do NOT enforce this — keep them consistent yourself. target: "location" without ottimate_location_id does not error there; it creates an allowance with no location scope. The reverse also isn’t checked: target: "company" with an ottimate_location_id supplied stores that location id as-is rather than clearing it, leaving the allowance internally inconsistent (target_type: "company" with a non-null location id).
Managing Allowances Separately
List allowances for a catalog entry:
Filter by effective date:
Filter by location:
Create a new allowance:
Update an allowance:
All fields are optional on update. catalog_entry_id cannot be changed through this endpoint — any value you send is silently overwritten with the allowance’s existing catalog entry before the update runs, so an allowance can’t be moved to a different catalog entry after creation.

