Reports
Computed reports for food cost, purchases, expenses and profit and loss (P&L). To load data into a BI tool, use the list endpoints for the underlying records instead.
The endpoints in this group are not yet available. This page documents the contract as currently defined.
The Report result object
Attributes
{
"from": "2026-09-01",
"to": "2026-09-13",
"generated_at": "2026-09-13T22:10:05+03:00",
"currency": "ILS",
"dimensions": [
"branch",
"purchase_type"
],
"rows": [
{
"branch_id": "71148-1",
"branch_name": "שניצי קפה – ראשי",
"purchase_type": "FC",
"purchases": "51368.10",
"sales": "168420.00",
"food_cost_pct": "30.50"
},
{
"branch_id": "71148-2",
"branch_name": "שניצי קפה – חיפה",
"purchase_type": "FC",
"purchases": "39815.52",
"sales": "121760.00",
"food_cost_pct": "32.70"
}
],
"totals": {
"purchase_type": "FC",
"purchases": "91183.62",
"sales": "290180.00",
"food_cost_pct": "31.42"
}
}
GET
/reports/food-costCalculate food cost by branch and purchase type, with the same numbers as the in-app report. Only records whose source is purchase and whose vendor_type is goods are included.
Query parameters
Responses
curl "https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/food-cost?from=2026-09-01&to=2026-09-13&purchase_type=FC" \
-H "Authorization: Bearer zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…"const res = await fetch("https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/food-cost?from=2026-09-01&to=2026-09-13&purchase_type=FC", {
method: "GET",
headers: {
Authorization: "Bearer zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…",
},
});
const data = await res.json();import requests
res = requests.get(
"https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/food-cost?from=2026-09-01&to=2026-09-13&purchase_type=FC",
headers={
"Authorization": "Bearer zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…",
},
)
data = res.json()using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", "zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…");
var res = await http.GetAsync("https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/food-cost?from=2026-09-01&to=2026-09-13&purchase_type=FC");
var data = await res.Content.ReadAsStringAsync();
{
"from": "2026-09-01",
"to": "2026-09-13",
"generated_at": "2026-09-13T22:10:05+03:00",
"currency": "ILS",
"dimensions": [
"branch",
"purchase_type"
],
"rows": [
{
"branch_id": "71148-1",
"branch_name": "שניצי קפה – ראשי",
"purchase_type": "FC",
"purchases": "51368.10",
"sales": "168420.00",
"food_cost_pct": "30.50"
},
{
"branch_id": "71148-2",
"branch_name": "שניצי קפה – חיפה",
"purchase_type": "FC",
"purchases": "39815.52",
"sales": "121760.00",
"food_cost_pct": "32.70"
}
],
"totals": {
"purchase_type": "FC",
"purchases": "91183.62",
"sales": "290180.00",
"food_cost_pct": "31.42"
}
}
GET
/reports/purchasesQuery parameters
Responses
curl "https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/purchases?from=2026-09-01&to=2026-09-13&group_by=supplier" \
-H "Authorization: Bearer zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…"const res = await fetch("https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/purchases?from=2026-09-01&to=2026-09-13&group_by=supplier", {
method: "GET",
headers: {
Authorization: "Bearer zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…",
},
});
const data = await res.json();import requests
res = requests.get(
"https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/purchases?from=2026-09-01&to=2026-09-13&group_by=supplier",
headers={
"Authorization": "Bearer zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…",
},
)
data = res.json()using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", "zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…");
var res = await http.GetAsync("https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/purchases?from=2026-09-01&to=2026-09-13&group_by=supplier");
var data = await res.Content.ReadAsStringAsync();
{
"from": "2026-09-01",
"to": "2026-09-13",
"generated_at": "2026-09-13T22:11:40+03:00",
"currency": "ILS",
"dimensions": [
"supplier"
],
"rows": [
{
"supplier_id": "72257",
"supplier_name": "בשרים דרום",
"documents_count": 9,
"purchases": "46318.40"
},
{
"supplier_id": "72240",
"supplier_name": "פרי וירק גבעון",
"documents_count": 11,
"purchases": "27905.62"
},
{
"supplier_id": "72223",
"supplier_name": "מאפייה אחת עשרה",
"documents_count": 22,
"purchases": "19873.10"
}
],
"totals": {
"documents_count": 42,
"purchases": "94097.12"
}
}
GET
/reports/expensesQuery parameters
Responses
curl "https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/expenses?from=2026-09-01&to=2026-09-13&group_by=category,branch" \
-H "Authorization: Bearer zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…"const res = await fetch("https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/expenses?from=2026-09-01&to=2026-09-13&group_by=category,branch", {
method: "GET",
headers: {
Authorization: "Bearer zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…",
},
});
const data = await res.json();import requests
res = requests.get(
"https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/expenses?from=2026-09-01&to=2026-09-13&group_by=category,branch",
headers={
"Authorization": "Bearer zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…",
},
)
data = res.json()using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", "zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…");
var res = await http.GetAsync("https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/expenses?from=2026-09-01&to=2026-09-13&group_by=category,branch");
var data = await res.Content.ReadAsStringAsync();
{
"from": "2026-09-01",
"to": "2026-09-13",
"generated_at": "2026-09-13T22:12:03+03:00",
"currency": "ILS",
"dimensions": [
"category",
"branch"
],
"rows": [
{
"category_id": "ec_310",
"category_name": "חומרי ניקיון",
"branch_id": "71148-1",
"branch_name": "שניצי קפה – ראשי",
"expenses": "1240.00",
"vat": "223.20",
"total": "1463.20"
},
{
"category_id": "ec_310",
"category_name": "חומרי ניקיון",
"branch_id": "71148-2",
"branch_name": "שניצי קפה – חיפה",
"expenses": "980.50",
"vat": "176.49",
"total": "1156.99"
},
{
"category_id": "ec_520",
"category_name": "תיקונים ותחזוקה",
"branch_id": "71148-1",
"branch_name": "שניצי קפה – ראשי",
"expenses": "2350.00",
"vat": "423.00",
"total": "2773.00"
}
],
"totals": {
"expenses": "4570.50",
"vat": "822.69",
"total": "5393.19"
}
}
GET
/reports/pnlQuery parameters
Responses
curl "https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/pnl?period=2026-09&branch_id=71148-1" \
-H "Authorization: Bearer zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…"const res = await fetch("https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/pnl?period=2026-09&branch_id=71148-1", {
method: "GET",
headers: {
Authorization: "Bearer zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…",
},
});
const data = await res.json();import requests
res = requests.get(
"https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/pnl?period=2026-09&branch_id=71148-1",
headers={
"Authorization": "Bearer zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…",
},
)
data = res.json()using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", "zk_test_XXXXXXXX_…zk_live_XXXXXXXX_…");
var res = await http.GetAsync("https://sandbox-api.zester.co.il/v2https://api.zester.co.il/v2/reports/pnl?period=2026-09&branch_id=71148-1");
var data = await res.Content.ReadAsStringAsync();
{
"from": "2026-09-01",
"to": "2026-09-13",
"generated_at": "2026-09-13T22:13:26+03:00",
"currency": "ILS",
"dimensions": [
"pl_group"
],
"rows": [
{
"pl_group": "revenue",
"pl_group_name": "הכנסות",
"amount": "168420.00",
"pct_of_revenue": "100.00"
},
{
"pl_group": "cost_of_sales",
"pl_group_name": "עלות מכר",
"amount": "53220.00",
"pct_of_revenue": "31.60"
},
{
"pl_group": "operating_expenses",
"pl_group_name": "הוצאות תפעול",
"amount": "3590.00",
"pct_of_revenue": "2.13"
}
],
"totals": {
"branch_id": "71148-1",
"revenue": "168420.00",
"costs": "56810.00",
"profit": "111610.00",
"profit_pct": "66.27"
}
}