ERPNext
Sales invoices with item details
Invoice cards with customer, totals, status and an inline table of ERPNext item rows.
Sales invoices from the documented Frappe REST resources, with the invoice items shown in the same Details screen. The field names are taken from ERPNext's official Sales Invoice and Sales Invoice Item DocType definitions.
Prepare ERPNext:
1. Create a dedicated API user and give it only the read roles needed for Sales Invoice and Sales Invoice Item.
2. Open that user, expand Settings / API Access and generate an API key and secret.
3. Keep the secret private. Frappe expects an Authorization header whose value is formed as `token ` followed by the API key, a colon and the API secret.
Official REST guide: https://docs.frappe.io/framework/user/en/api/rest
Configure Cifru on iPhone/iPad:
1. Sources → Add source → REST JSON and use the ERPNext site URL as the base URL.
2. Select custom/header authentication. Header name: Authorization. Build the value exactly in the format documented by Frappe.
3. Test both read resources. If a child DocType is denied, adjust only the dedicated user's read roles; do not grant write permissions.
4. Import this package, map its single REST slot and run compatibility/read testing before applying.
5. The package contains no ERPNext hostname, user, key or secret.
Ce creează pachetul
- Home: Sales invoices
- Detalii: Invoice items
- Sub-buton: Sales invoice items
Sursele se mapează local și se verifică înainte de aplicare.
Vezi JSON-ul care se importărestrâns implicit
{
"components": {
"sourceSlots": [
{
"displayName": "ERPNext / Frappe REST",
"id": "0D187C03-C353-5EDD-94F3-830C33B1E992",
"kind": "rest",
"requiredObjects": [
"/api/resource/Sales Invoice",
"/api/resource/Sales Invoice Item"
],
"requiresCustomSQL": false
}
],
"workspaceSelection": {
"commonFields": [],
"datasets": [
{
"cacheMode": "cached",
"calculatedFields": [],
"customQueryIntegrationName": "",
"endpointPath": "/api/resource/Sales%20Invoice?fields=%5B%22name%22%2C%22posting_date%22%2C%22due_date%22%2C%22customer%22%2C%22customer_name%22%2C%22currency%22%2C%22grand_total%22%2C%22outstanding_amount%22%2C%22status%22%5D&order_by=posting_date%20desc&limit_page_length=500",
"fetchSortRules": [],
"id": "2EDC28F5-4A35-5807-A0D1-447D68071FE1",
"mappings": [
{
"commonFieldKey": "document_number",
"key": "name",
"label": "Invoice",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "name",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "document_date",
"key": "posting_date",
"label": "Posting date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "posting_date",
"type": "date",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "due_date",
"label": "Due date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "due_date",
"type": "date",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "customer",
"label": "Customer code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "customer",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "customer_name",
"key": "customer_name",
"label": "Customer",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "customer_name",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "currency",
"label": "Currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "currency",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "grand_total",
"label": "Grand total",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "grand_total",
"type": "number",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "outstanding_amount",
"label": "Outstanding",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "outstanding_amount",
"type": "number",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "status",
"label": "Status",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "status",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
}
],
"maxRows": 500,
"name": "Sales invoices",
"primaryKey": "name",
"refreshPolicy": {
"enabled": true,
"intervalMinutes": 15
},
"rootArrayPath": "data",
"rowLimitEnabled": true,
"searchKeys": [
"name",
"posting_date",
"due_date",
"customer",
"customer_name"
],
"sourceID": "0D187C03-C353-5EDD-94F3-830C33B1E992",
"sqlQuery": "",
"tableName": ""
},
{
"cacheMode": "cached",
"calculatedFields": [],
"customQueryIntegrationName": "",
"endpointPath": "/api/resource/Sales%20Invoice%20Item?fields=%5B%22name%22%2C%22parent%22%2C%22item_code%22%2C%22item_name%22%2C%22qty%22%2C%22rate%22%2C%22amount%22%2C%22warehouse%22%5D&limit_page_length=2000",
"fetchSortRules": [],
"id": "BD180B46-F5AC-573F-A583-4C9E2491312B",
"mappings": [
{
"commonFieldKey": "",
"key": "name",
"label": "Line ID",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "name",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "parent",
"label": "Invoice",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "parent",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "product_code",
"key": "item_code",
"label": "Item code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "item_code",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "product_name",
"key": "item_name",
"label": "Item",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "item_name",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "quantity",
"key": "qty",
"label": "Quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "qty",
"type": "number",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "rate",
"label": "Rate",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "rate",
"type": "number",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "amount",
"label": "Amount",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "amount",
"type": "number",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "warehouse",
"label": "Warehouse",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic",
"sourceColumn": "warehouse",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
}
],
"maxRows": 2000,
"name": "Sales invoice items",
"primaryKey": "name",
"refreshPolicy": {
"enabled": true,
"intervalMinutes": 15
},
"rootArrayPath": "data",
"rowLimitEnabled": true,
"searchKeys": [
"name",
"parent",
"item_code",
"item_name",
"qty"
],
"sourceID": "0D187C03-C353-5EDD-94F3-830C33B1E992",
"sqlQuery": "",
"tableName": ""
}
],
"pages": [
{
"actions": [
{
"id": "D18EA17F-3C80-565A-901C-9308D1CAAC89",
"kind": "showRelated",
"relatedInitiallyExpanded": true,
"relatedPresentation": "inline",
"relatedPreviewLimit": 12,
"relatedRowStyle": "table",
"relatedShowsCount": true,
"relationID": "0ECADDA3-BAE6-50CE-8051-44AAB49867E3",
"systemImage": "list.bullet.rectangle",
"targetDatasetID": "BD180B46-F5AC-573F-A583-4C9E2491312B",
"title": "Invoice items",
"urlKey": ""
}
],
"badgeKey": "grand_total",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "name",
"label": "Invoice",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "customer_name",
"label": "Customer",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "posting_date",
"label": "Posting date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "due_date",
"label": "Due date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "status",
"label": "Status",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "grand_total",
"label": "Grand total",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "currency",
"label": "Currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "outstanding_amount",
"label": "Outstanding",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
}
],
"datasetID": "2EDC28F5-4A35-5807-A0D1-447D68071FE1",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "name",
"label": "Invoice",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "posting_date",
"label": "Posting date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "due_date",
"label": "Due date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "customer",
"label": "Customer code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "customer_name",
"label": "Customer",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "currency",
"label": "Currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "highlight",
"isVisible": true,
"key": "grand_total",
"label": "Grand total",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "highlight",
"isVisible": true,
"key": "outstanding_amount",
"label": "Outstanding",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "status",
"label": "Status",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
}
],
"fixedFilters": [],
"id": "E3BAD463-F122-514C-8E94-F45A89428A0B",
"openFilters": [],
"pageSize": 100,
"requiresOpeningFilterSelection": false,
"showOnHome": true,
"sortRules": [
{
"direction": "descending",
"id": "1E471612-C72C-538E-854D-7C4152479DA0",
"key": "posting_date",
"type": "date"
}
],
"subtitle": "",
"subtitleKey": "customer_name",
"systemImage": "doc.text",
"title": "Sales invoices",
"titleKey": "name"
},
{
"actions": [],
"badgeKey": "amount",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "item_name",
"label": "Item",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "item_code",
"label": "Item code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "qty",
"label": "Quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "rate",
"label": "Rate",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "amount",
"label": "Amount",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "warehouse",
"label": "Warehouse",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
}
],
"datasetID": "BD180B46-F5AC-573F-A583-4C9E2491312B",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "name",
"label": "Line ID",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "parent",
"label": "Invoice",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "item_code",
"label": "Item code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "item_name",
"label": "Item",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "highlight",
"isVisible": true,
"key": "qty",
"label": "Quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "rate",
"label": "Rate",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "highlight",
"isVisible": true,
"key": "amount",
"label": "Amount",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "warehouse",
"label": "Warehouse",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "automatic"
}
],
"fixedFilters": [],
"id": "D89B2AD9-AFCF-5B4B-8DCA-0404FBEF7327",
"openFilters": [],
"pageSize": 100,
"requiresOpeningFilterSelection": false,
"showOnHome": false,
"sortRules": [],
"subtitle": "",
"subtitleKey": "item_code",
"systemImage": "tablecells",
"title": "Sales invoice items",
"titleKey": "item_name"
}
],
"relations": [
{
"childDatasetID": "BD180B46-F5AC-573F-A583-4C9E2491312B",
"childKey": "parent",
"id": "0ECADDA3-BAE6-50CE-8051-44AAB49867E3",
"name": "Invoice items",
"parentDatasetID": "2EDC28F5-4A35-5807-A0D1-447D68071FE1",
"parentKey": "name"
}
],
"widgets": []
}
},
"format": "cifru-configuration-package",
"formatVersion": 1,
"manifest": {
"applicationName": "ERPNext",
"configurationLanguages": [
"en"
],
"countries": [
"ALL"
],
"createdAt": "2026-07-24T16:26:43Z",
"description": "Sales invoices from the documented Frappe REST resources, with the invoice items shown in the same Details screen. The field names are taken from ERPNext's official Sales Invoice and Sales Invoice Item DocType definitions.\n\nPrepare ERPNext:\n1. Create a dedicated API user and give it only the read roles needed for Sales Invoice and Sales Invoice Item.\n2. Open that user, expand Settings / API Access and generate an API key and secret.\n3. Keep the secret private. Frappe expects an Authorization header whose value is formed as `token ` followed by the API key, a colon and the API secret.\nOfficial REST guide: https://docs.frappe.io/framework/user/en/api/rest\n\nConfigure Cifru on iPhone/iPad:\n1. Sources → Add source → REST JSON and use the ERPNext site URL as the base URL.\n2. Select custom/header authentication. Header name: Authorization. Build the value exactly in the format documented by Frappe.\n3. Test both read resources. If a child DocType is denied, adjust only the dedicated user's read roles; do not grant write permissions.\n4. Import this package, map its single REST slot and run compatibility/read testing before applying.\n5. The package contains no ERPNext hostname, user, key or secret.",
"licenseCode": "Cifru-Community-1.0",
"minimumCifruVersion": "1.0",
"minimumPlan": "starter",
"packageID": "B920001D-FD25-50CB-880F-D8F864D1993A",
"rootButtonCount": 1,
"summary": "Invoice cards with customer, totals, status and an inline table of ERPNext item rows.",
"tags": [
"ERPNext",
"Frappe",
"ERP",
"invoices",
"REST"
],
"title": "Sales invoices with item details"
}
}