--- sidebar_label: 'Price groups' sidebar_position: 4 --- # Price groups Defines price groups and VAT configurations. A price group assigns a price to each item in a specific currency. **Top-level structure:** ```json { "priceGroups": { "": { ... } }, "vatConfigurations": { "": { ... } } } ``` ## Price group fields | Property | Type | Required | Description | |----------|------|----------|-------------| | `name` | string | Yes | Internal name used for administration purposes; not displayed to guests. | | `currency` | string | Yes | ISO 4217 currency code (e.g. `"SEK"`, `"NOK"`). | | `itemPrices` | object | Yes | Map of item ID → price. Every item included in a menu must have an entry here for the menu to be generated correctly. | | `fallback.referencedPriceGroupId` | integer | No | ID of a fallback price group used when an item has no price entry in this group. | ## Price fields | Property | Type | Required | Description | |----------|------|----------|-------------| | `amount` | integer | Yes | Price in the lowest monetary unit of the currency (e.g. `1400` for 14.00 SEK). | | `vat.referencedVatId` | string (numeric) | Yes | ID of the VAT configuration to apply. | ## VAT configuration fields | Property | Type | Required | Description | |----------|------|----------|-------------| | `name` | string | Yes | Internal name used for administration purposes; not displayed to guests. | | `type` | string | Yes | VAT calculation type. Currently only `"percent"` is supported. | | `value` | string | Yes | The VAT rate. For `"percent"` type, the percentage as a string (e.g. `"25"` for 25%). | **Example:** ```json { "priceGroups": { "20": { "name": "SEK-PG1-TakeAway", "currency": "SEK", "itemPrices": { "1001": { "amount": 4500, "vat": { "referencedVatId": "300" } }, "1002": { "amount": 0, "vat": { "referencedVatId": "300" } } } } }, "vatConfigurations": { "300": { "name": "VAT-25P", "type": "percent", "value": "25" } } } ```