Grocy

Stock, due soon and missing products

Three coordinated inventory views with concise product, amount, expiry and value cards.

A practical Grocy dashboard for current stock, products due soon and products below their required amount. The mappings were checked against Grocy's API response structure; nested product fields are flattened by Cifru.

Prepare Grocy:
1. In Grocy, open the top-right settings menu and Manage API keys.
2. Create a dedicated API key for Cifru and copy it. Keep the instance behind HTTPS and expose it to the iPhone through your secure remote-access method.
3. Grocy documents its interactive API at /api on each installation.
Project: https://github.com/grocy/grocy

Configure Cifru on iPhone/iPad:
1. Sources → Add source → REST JSON; Base URL: your Grocy origin.
2. Authentication: API key in header; header name GROCY-API-KEY; value: the generated key.
3. Test, import, map “Grocy REST”, then test all three datasets.
4. Cifru calls GET /api/stock and GET /api/stock/volatile only. The package contains no key or household data.

Ce creează pachetul

3 Home0 Detalii3 liste1 surse de legat
  • Home: Grocy stock
  • Home: Due soon
  • Home: Missing products

Sursele se mapează local și se verifică înainte de aplicare.

Vezi JSON-ul care se importărestrâns implicit

Conținutul portabil exact al acestei versiuni.

{
    "components": {
        "sourceSlots": [
            {
                "displayName": "Grocy REST",
                "id": "EE77F3E7-FD70-586B-A078-93A032A693A5",
                "kind": "rest",
                "requiredObjects": [
                    "/api/stock",
                    "/api/stock/volatile"
                ],
                "requiresCustomSQL": false
            }
        ],
        "workspaceSelection": {
            "commonFields": [],
            "datasets": [
                {
                    "cacheMode": "cached",
                    "calculatedFields": [],
                    "customQueryIntegrationName": "",
                    "endpointPath": "/api/stock",
                    "fetchSortRules": [],
                    "id": "D5495DFE-25EA-5E9A-8226-3BD9B9076604",
                    "mappings": [
                        {
                            "commonFieldKey": "",
                            "key": "product_id",
                            "label": "Product ID",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "product.id",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "product_name",
                            "key": "product_name",
                            "label": "Product",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "product.name",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "quantity",
                            "key": "amount",
                            "label": "Amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "amount",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "amount_opened",
                            "label": "Opened amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "amount_opened",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "best_before_date",
                            "label": "Best before",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "best_before_date",
                            "type": "date",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "due_type",
                            "label": "Due type",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "due_type",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "value",
                            "label": "Value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "value",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": true
                        }
                    ],
                    "maxRows": 1000,
                    "name": "Stock",
                    "primaryKey": "product_id",
                    "refreshPolicy": {
                        "enabled": true,
                        "intervalMinutes": 15
                    },
                    "rootArrayPath": "",
                    "rowLimitEnabled": true,
                    "searchKeys": [
                        "product_id",
                        "product_name",
                        "amount",
                        "amount_opened",
                        "best_before_date"
                    ],
                    "sourceID": "EE77F3E7-FD70-586B-A078-93A032A693A5",
                    "sqlQuery": "",
                    "tableName": ""
                },
                {
                    "cacheMode": "cached",
                    "calculatedFields": [],
                    "customQueryIntegrationName": "",
                    "endpointPath": "/api/stock/volatile",
                    "fetchSortRules": [],
                    "id": "E9EFEF8F-22F0-5FAC-BF7E-653239A8BD44",
                    "mappings": [
                        {
                            "commonFieldKey": "",
                            "key": "product_id",
                            "label": "Product ID",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "product.id",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "product_name",
                            "key": "product_name",
                            "label": "Product",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "product.name",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "quantity",
                            "key": "amount",
                            "label": "Amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "amount",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "amount_opened",
                            "label": "Opened amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "amount_opened",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "best_before_date",
                            "label": "Best before",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "best_before_date",
                            "type": "date",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "due_type",
                            "label": "Due type",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "due_type",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "value",
                            "label": "Value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "value",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": true
                        }
                    ],
                    "maxRows": 500,
                    "name": "Due soon",
                    "primaryKey": "product_id",
                    "refreshPolicy": {
                        "enabled": true,
                        "intervalMinutes": 15
                    },
                    "rootArrayPath": "due_products",
                    "rowLimitEnabled": true,
                    "searchKeys": [
                        "product_id",
                        "product_name",
                        "amount",
                        "amount_opened",
                        "best_before_date"
                    ],
                    "sourceID": "EE77F3E7-FD70-586B-A078-93A032A693A5",
                    "sqlQuery": "",
                    "tableName": ""
                },
                {
                    "cacheMode": "cached",
                    "calculatedFields": [],
                    "customQueryIntegrationName": "",
                    "endpointPath": "/api/stock/volatile",
                    "fetchSortRules": [],
                    "id": "E759DE1D-8A5C-5535-8CB6-0BFB64A079F8",
                    "mappings": [
                        {
                            "commonFieldKey": "",
                            "key": "id",
                            "label": "Product ID",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "id",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "product_name",
                            "key": "name",
                            "label": "Product",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "name",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "amount_missing",
                            "label": "Amount missing",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic",
                            "sourceColumn": "amount_missing",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": true
                        }
                    ],
                    "maxRows": 500,
                    "name": "Missing products",
                    "primaryKey": "id",
                    "refreshPolicy": {
                        "enabled": true,
                        "intervalMinutes": 15
                    },
                    "rootArrayPath": "missing_products",
                    "rowLimitEnabled": true,
                    "searchKeys": [
                        "id",
                        "name",
                        "amount_missing"
                    ],
                    "sourceID": "EE77F3E7-FD70-586B-A078-93A032A693A5",
                    "sqlQuery": "",
                    "tableName": ""
                }
            ],
            "pages": [
                {
                    "actions": [],
                    "badgeKey": "amount",
                    "cardEnrichments": [],
                    "cardFieldLayout": [
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "product_name",
                            "label": "Product",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "amount",
                            "label": "Amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "best_before_date",
                            "label": "Best before",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "value",
                            "label": "Value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        }
                    ],
                    "datasetID": "D5495DFE-25EA-5E9A-8226-3BD9B9076604",
                    "dateFilterKey": "",
                    "dateFilterLastDays": 7,
                    "dateFilterPreset": "none",
                    "detailFieldLayout": [
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "product_id",
                            "label": "Product ID",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "product_name",
                            "label": "Product",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "amount",
                            "label": "Amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "amount_opened",
                            "label": "Opened amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "best_before_date",
                            "label": "Best before",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "due_type",
                            "label": "Due type",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "value",
                            "label": "Value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        }
                    ],
                    "fixedFilters": [],
                    "id": "AED229D6-81C2-5676-97A2-174315B140AE",
                    "openFilters": [],
                    "pageSize": 100,
                    "requiresOpeningFilterSelection": false,
                    "showOnHome": true,
                    "sortRules": [],
                    "subtitle": "",
                    "subtitleKey": "best_before_date",
                    "systemImage": "cabinet",
                    "title": "Grocy stock",
                    "titleKey": "product_name"
                },
                {
                    "actions": [],
                    "badgeKey": "amount",
                    "cardEnrichments": [],
                    "cardFieldLayout": [
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "product_name",
                            "label": "Product",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "best_before_date",
                            "label": "Best before",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "amount",
                            "label": "Amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "due_type",
                            "label": "Due type",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        }
                    ],
                    "datasetID": "E9EFEF8F-22F0-5FAC-BF7E-653239A8BD44",
                    "dateFilterKey": "",
                    "dateFilterLastDays": 7,
                    "dateFilterPreset": "none",
                    "detailFieldLayout": [
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "product_id",
                            "label": "Product ID",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "product_name",
                            "label": "Product",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "amount",
                            "label": "Amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "amount_opened",
                            "label": "Opened amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "best_before_date",
                            "label": "Best before",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "due_type",
                            "label": "Due type",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "value",
                            "label": "Value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        }
                    ],
                    "fixedFilters": [],
                    "id": "6D35F29B-5173-555D-BF9B-848039935A37",
                    "openFilters": [],
                    "pageSize": 100,
                    "requiresOpeningFilterSelection": false,
                    "showOnHome": true,
                    "sortRules": [
                        {
                            "direction": "ascending",
                            "id": "73A5ADFE-9F14-50D6-A513-535C46330428",
                            "key": "best_before_date",
                            "type": "date"
                        }
                    ],
                    "subtitle": "",
                    "subtitleKey": "best_before_date",
                    "systemImage": "calendar.badge.exclamationmark",
                    "title": "Due soon",
                    "titleKey": "product_name"
                },
                {
                    "actions": [],
                    "badgeKey": "amount_missing",
                    "cardEnrichments": [],
                    "cardFieldLayout": [
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "name",
                            "label": "Product",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "amount_missing",
                            "label": "Amount missing",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        }
                    ],
                    "datasetID": "E759DE1D-8A5C-5535-8CB6-0BFB64A079F8",
                    "dateFilterKey": "",
                    "dateFilterLastDays": 7,
                    "dateFilterPreset": "none",
                    "detailFieldLayout": [
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "id",
                            "label": "Product ID",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "name",
                            "label": "Product",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "amount_missing",
                            "label": "Amount missing",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "automatic"
                        }
                    ],
                    "fixedFilters": [],
                    "id": "48823C1D-7704-54BE-8C40-10880138CEBB",
                    "openFilters": [],
                    "pageSize": 100,
                    "requiresOpeningFilterSelection": false,
                    "showOnHome": true,
                    "sortRules": [],
                    "subtitle": "",
                    "subtitleKey": "id",
                    "systemImage": "cart.badge.minus",
                    "title": "Missing products",
                    "titleKey": "name"
                }
            ],
            "relations": [],
            "widgets": []
        }
    },
    "format": "cifru-configuration-package",
    "formatVersion": 1,
    "manifest": {
        "applicationName": "Grocy",
        "configurationLanguages": [
            "en"
        ],
        "countries": [
            "ALL"
        ],
        "createdAt": "2026-07-24T16:26:43Z",
        "description": "A practical Grocy dashboard for current stock, products due soon and products below their required amount. The mappings were checked against Grocy's API response structure; nested product fields are flattened by Cifru.\n\nPrepare Grocy:\n1. In Grocy, open the top-right settings menu and Manage API keys.\n2. Create a dedicated API key for Cifru and copy it. Keep the instance behind HTTPS and expose it to the iPhone through your secure remote-access method.\n3. Grocy documents its interactive API at /api on each installation.\nProject: https://github.com/grocy/grocy\n\nConfigure Cifru on iPhone/iPad:\n1. Sources → Add source → REST JSON; Base URL: your Grocy origin.\n2. Authentication: API key in header; header name GROCY-API-KEY; value: the generated key.\n3. Test, import, map “Grocy REST”, then test all three datasets.\n4. Cifru calls GET /api/stock and GET /api/stock/volatile only. The package contains no key or household data.",
        "licenseCode": "Cifru-Community-1.0",
        "minimumCifruVersion": "1.0",
        "minimumPlan": "starter",
        "packageID": "DE542261-0DEE-5949-B2E8-445D6C5F37EF",
        "rootButtonCount": 3,
        "summary": "Three coordinated inventory views with concise product, amount, expiry and value cards.",
        "tags": [
            "Grocy",
            "inventory",
            "expiry",
            "household"
        ],
        "title": "Stock, due soon and missing products"
    }
}

Taguri

Recenzii

Nu există încă recenzii aprobate pentru această versiune.

Scrie o recenzie

Autentifică-te pentru a recenza