DepositRule
A deposit rule defines the rules to which a deposit can be connected to the purchase of specific items. The deposit rule describes the amount of deposit that shall be added to the receipt when a specific product is sold in POS. E.g. a bottle of water has a deposit for the plastic bottle and an amount (price + VAT) is added to the transaction, when the empty bottle is returned to the same or any other store then the deposit is returned to the customer.
type DepositRule {
status: DepositRuleStatus!
amount: Decimal!
isPerUnitOfMeasure: Boolean!
countryCode: String
additionalProperties: [AdditionalProperty]
taxRuleId: String @deprecated
taxableGroupId: String
globalUniqueId: String
id: String
correlationId: String
tenantId: String
name: String
description: String
businessUnitId: String @deprecated
businessUnitIds: [String]
businessUnitGroupId: String
version: Int!
revision: Long!
created: DateTime!
createdBy: String
modified: DateTime!
modifiedBy: String
}
Fields
DepositRule.status
● DepositRuleStatus!
non-null enum
Status of the entity.
DepositRule.amount
● Decimal!
non-null scalar
The deposit amount a reverse vending machine or other deposit-return-process should accumulate when the product is recycled.
DepositRule.isPerUnitOfMeasure
● Boolean!
non-null scalar
If the product has a variable deposit depending on its original content this can be true and the deposit amount will be calculated pr NetContent + UnitOfMeasure on the Product. Default value is false.
DepositRule.countryCode
● String
scalar
An ISO-3166 country code + ISO-3166_2 sub division code as a single string separated by a '-'.
DepositRule.additionalProperties
● [AdditionalProperty]
list object
List of customer specific values on the entity level. NOT nullable, but can be empty.
DepositRule.taxRuleId
● String
deprecated scalar
TaxRuleId will be removed on 01 Sep 2026. Use TaxableGroupId instead.
The ID of the Tax Group this Deposit Rule belongs to.
DepositRule.taxableGroupId
● String
scalar
The ID of the taxable group used for this deposit rule. A taxable group is the logical name for the tax, independent of the tax rate assigned. The tax rate for a single taxable group can differ depending on region.
DepositRule.globalUniqueId
● String
scalar
Internal unique ID for CRUD operations and relations. A typical example is: TenantId_itemId_BusinessUnitGroupId
DepositRule.id
● String
scalar
Id for the entity. Either external or internal
DepositRule.correlationId
● String
scalar
ID for tracing an entity and/or a group of sub entities through the application. Might be external, and if missing from the producer of data the API will add an ID. Must be used in all logging and tracing.
DepositRule.tenantId
● String
scalar
To support multi tenancy we need to be able to identify the customer that owns this information.
DepositRule.name
● String
scalar
The name of the entity. This general property can replace the previous ArticleName, StoreName, CampaignName, etc.
DepositRule.description
● String
scalar
The description of the entity.
DepositRule.businessUnitId
● String
deprecated scalar
BusinessUnitId is obsolete. Use BusinessUnitIds property instead.
Used to assign the entity to tenant's specific business unit.
DepositRule.businessUnitIds
● [String]
list scalar
The business units associated with the entity.
DepositRule.businessUnitGroupId
● String
scalar
Used to assign the entity to a specific level in a business unit group hierarchy specific to the tenant.
DepositRule.version
● Int!
non-null scalar
Version of the entity. Must be updated when there is a change to the entity. An ever increasing Integer.
Use revision instead of version if you need a more precise versioning mechanism.
DepositRule.revision
● Long!
non-null scalar
Contains evergrowing number used to validate the version of an entity.
DepositRule.created
● DateTime!
non-null scalar
When the object was first created. This timestamp will be set by the input API POST-endpoints before creating the AVRO data for processing.
DepositRule.createdBy
● String
scalar
Who created. Will be an ID and must be looked up in the user DB. This ID will be set by the input API POST-endpoints before creating the AVRO data for processing.
DepositRule.modified
● DateTime!
non-null scalar
When the object was modified. Will be updated along with the Version property. This timestamp will be set by the input API PUT and PATCH-endpoints before creating the AVRO data for processing.
DepositRule.modifiedBy
● String
scalar
Who created or modified the object. Will be an ID and must be looked up in the user DB. This ID will be set by the input API PUT and PATCH-endpoints before creating the AVRO data for processing.
Returned By
depositRule
query
Member Of
DepositRulesConnection
object ● DepositRulesEdge
object