Reports
Financial and operational reports. Most come in two halves: a preview endpoint that returns the numbers as JSON, and a generate endpoint that renders a PDF or Excel file and returns its URL.
/reports/income/previewThe income report as data: every income document in the period, with totals.
Body Parameters
| Name | Type | Description | |
|---|---|---|---|
startDate | string | Start of the period (YYYY-MM-DD). | |
endDate | string | End of the period (YYYY-MM-DD). |
Request
curl -X POST "https://api.glance.co.il/reports/income/preview" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"startDate": "example_startDate",
"endDate": "example_endDate"
}'Response
{
"documents": [
{
"id": 84213,
"visibleId": "d0f3a1c7-5b2e-4d8a-9f6c-1e3b5d7a9c2f",
"number": 1042,
"type": "INVOICE",
"creationDate": "2026-08-20T14:30:00.000Z",
"clientName": "אלקבץ בע״מ",
"amount": 10000,
"tax": 1800,
"totalWithTax": 11800,
"currency": "ILS"
}
],
"documentCount": 1,
"totals": {
"beforeTax": 10000,
"tax": 1800,
"includeTax": 11800
}
}/reports/incomeGenerate the income report as a file.
Body Parameters
| Name | Type | Description | |
|---|---|---|---|
startDate | string | Start of the period (YYYY-MM-DD). | |
endDate | string | End of the period (YYYY-MM-DD). | |
type | string | "excel" or "pdf". |
Request
curl -X POST "https://api.glance.co.il/reports/income" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"startDate": "example_startDate",
"endDate": "example_endDate",
"type": "example_type"
}'Response
{
"url": "https://files.glance.co.il/reports/income-2026-08.xlsx"
}/reports/expensesGenerate the expenses report as a file.
Body Parameters
| Name | Type | Description | |
|---|---|---|---|
startDate | string | Start of the period (YYYY-MM-DD). | |
endDate | string | End of the period (YYYY-MM-DD). | |
type | string | "excel" or "pdf". |
Request
curl -X POST "https://api.glance.co.il/reports/expenses" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"startDate": "example_startDate",
"endDate": "example_endDate",
"type": "example_type"
}'Response
{
"url": "https://files.glance.co.il/reports/expenses-2026-08.xlsx"
}/reports/documentsGenerate a documents report as a file.
Body Parameters
| Name | Type | Description | |
|---|---|---|---|
documentIds | number[] | Report on exactly these documents (numeric ids). Either this or `filters` must be given — with neither, the call answers 400 DOCUMENT_IDS_REQUIRED. | |
filters | object | Select the documents by criteria instead: `startDate`, `endDate`, `type` (array), `clientIds` (array), `open`, `customerOrderNumber`, `productSku`, `productManufacturerSku`, `hasOpenProducts`. | |
type | string | "pdf" (the default) or "excel". | |
includeProducts | boolean | Break each document down to its line items. Defaults to false. | |
groupBy | string | "none" (the default), "client", "document" or "product". | |
includePrices | boolean | Print prices. Defaults to true. | |
visibleColumns | string[] | Which columns to print, in order. | |
savedReportName | string | Save these filters under this name at the same time, for reuse through the saved-reports endpoints. |
Request
curl -X POST "https://api.glance.co.il/reports/documents" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"documentIds": "example_documentIds",
"filters": {},
"type": "example_type",
"includeProducts": true,
"groupBy": "example_groupBy",
"includePrices": true,
"visibleColumns": "example_visibleColumns",
"savedReportName": "example_savedReportName"
}'Response
{
"success": true,
"file": {
"id": 90512,
"visibleId": "c4d5e6f7-8901-4a2b-9c3d-4e5f60718293",
"name": "דוח מסמכים.xlsx",
"remoteUrl": "https://files.glance.co.il/reports/documents.xlsx",
"type": "xlsx",
"size": 24118
}
}/reports/maamGenerate the VAT (מע״מ) report for a period.
Body Parameters
| Name | Type | Description | |
|---|---|---|---|
startDate | string | required | Start of the period. Required — missing, it answers 400. |
endDate | string | required | End of the period. Required. |
Request
curl -X POST "https://api.glance.co.il/reports/maam" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"startDate": "example_startDate",
"endDate": "example_endDate"
}'Response
{
"success": true,
"url": "https://files.glance.co.il/reports/maam-2026-08.pdf"
}/reports/documents-by-originHow many documents each channel produced, and for how much — the API, the web app, the POS, an import.
Query Parameters
| Name | Type | Description | |
|---|---|---|---|
from | string | Start of the period (YYYY-MM-DD). Defaults to the current month. | |
to | string | End of the period (YYYY-MM-DD). | |
origins | string | Comma-separated origins to include, e.g. "API,POS". "UNCLASSIFIED" covers documents issued before origin was recorded. | |
types | string | Comma-separated document types to include. |
Request
curl -X GET "https://api.glance.co.il/reports/documents-by-origin" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Response
{
"from": "2026-08-01",
"to": "2026-08-31",
"origins": [
{
"origin": "API",
"count": 412,
"total": 512300
},
{
"origin": "WEB",
"count": 88,
"total": 96200
}
],
"totals": {
"count": 500,
"total": 608500
}
}/reports/quantities-by-customer/previewHow much of each product went to each customer in a period, optionally against a comparison period.
Body Parameters
| Name | Type | Description | |
|---|---|---|---|
startDate | string | Start of the period (YYYY-MM-DD). | |
endDate | string | End of the period (YYYY-MM-DD). | |
compareStartDate | string | Start of a comparison period. Supplying either comparison date turns the comparison columns on. | |
compareEndDate | string | End of the comparison period. | |
entityIds | number[] | Limit to these customers (numeric entity ids). | |
types | string[] | Limit to these document types. |
Request
curl -X POST "https://api.glance.co.il/reports/quantities-by-customer/preview" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"startDate": "example_startDate",
"endDate": "example_endDate",
"compareStartDate": "example_compareStartDate",
"compareEndDate": "example_compareEndDate",
"entityIds": "example_entityIds",
"types": "example_types"
}'Response
{
"hasComparison": false,
"entities": [
{
"entityId": 7742,
"entityName": "אלקבץ בע״מ",
"quantity": 120,
"value": 3600,
"compareQuantity": 0,
"compareValue": 0,
"products": [
{
"key": "sku:WDG-001",
"name": "Widget Pro",
"sku": "WDG-001",
"unit": "יח'",
"quantity": 120,
"value": 3600,
"compareQuantity": 0,
"compareValue": 0
}
]
}
],
"grandQuantity": 120,
"grandValue": 3600,
"grandCompareQuantity": 0,
"grandCompareValue": 0
}/reports/agingOpen customer balances bucketed by how long they have been overdue.
Query Parameters
| Name | Type | Description | |
|---|---|---|---|
clientIds | string | Client entity ids to limit the report to, as a **JSON array** in the query string — `clientIds=[7742,7743]`. Malformed JSON is ignored rather than rejected. | |
asOfDate | string | Age the balances as of this date (YYYY-MM-DD) rather than today. |
Request
curl -X GET "https://api.glance.co.il/reports/aging" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Response
{
"asOfDate": "2026-08-24",
"currencyCode": "ILS",
"buckets": [
{
"key": "current",
"label": "שוטף"
},
{
"key": "d0_30",
"label": "0-30"
},
{
"key": "d31_60",
"label": "31-60"
},
{
"key": "d61_90",
"label": "61-90"
},
{
"key": "d90_plus",
"label": "90+"
}
],
"customers": [
{
"entityId": 7742,
"visibleId": "3a1b2c3d-4e5f-4061-8273-8495a6b7c8d9",
"name": "אלקבץ בע״מ",
"taxId": "514789632",
"phones": [
"03-1234567"
],
"buckets": {
"current": 1200,
"d0_30": 0,
"d31_60": 3400,
"d61_90": 0,
"d90_plus": 800
},
"total": 5400,
"debts": [
{
"documentId": 84213,
"documentVisibleId": "d0f3a1c7-5b2e-4d8a-9f6c-1e3b5d7a9c2f",
"documentNumber": 1042,
"documentType": "INVOICE",
"creationDate": "2026-06-20",
"payBy": "2026-07-20",
"totalAmount": 3400,
"remainingAmount": 3400,
"isOverdue": true,
"bucket": "d31_60",
"daysOverdue": 35,
"notes": []
}
]
}
],
"totals": {
"current": 1200,
"d0_30": 0,
"d31_60": 3400,
"d61_90": 0,
"d90_plus": 800,
"total": 5400
}
}/reports/customer-ledgerOne customer's ledger — every document and payment, with a running balance.
Query Parameters
| Name | Type | Description | |
|---|---|---|---|
clientId | number | required | The client's numeric entity id. Required; missing or non-numeric answers 400. |
fromDate | string | Start of the period (YYYY-MM-DD). Omitted, everything is in `rows` and `openingBalance` is 0. | |
toDate | string | End of the period (YYYY-MM-DD). |
Request
curl -X GET "https://api.glance.co.il/reports/customer-ledger" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Response
{
"customerName": "אלקבץ בע״מ",
"fromDate": "2026-08-01",
"toDate": "2026-08-31",
"openingBalance": 0,
"rows": [
{
"date": "2026-08-20",
"documentType": "INVOICE",
"documentNumber": 1042,
"reference": null,
"debit": 11800,
"credit": 0,
"runningBalance": 11800,
"documentId": 84213,
"documentVisibleId": "d0f3a1c7-5b2e-4d8a-9f6c-1e3b5d7a9c2f",
"transactionType": "SUBTRACT"
}
],
"finalBalance": 11800,
"currencyCode": "ILS"
}/reports/debtors-detailedWho owes what, document by document — or, in vendor mode, what you owe.
Query Parameters
| Name | Type | Description | |
|---|---|---|---|
mode | string | "customers" (the default — receivables) or "vendors" (payables). Any other value falls back to "customers". | |
clientIds | string | Client entity ids as a **JSON array** in the query string — `clientIds=[7742]`. | |
vendorIds | string | Vendor entity ids, likewise a JSON array. | |
overdueOnly | boolean | "true" to list only balances past their due date. | |
asOfDate | string | Report as of this date (YYYY-MM-DD). | |
includeDeletedNotes | boolean | "true" to keep notes that have since been deleted. | |
unmatchedBalanceOnly | boolean | "true" to list only customers whose ledger balance disagrees with the sum of their open documents — the ones worth investigating. Customer mode only. |
Request
curl -X GET "https://api.glance.co.il/reports/debtors-detailed" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Response
{
"customers": [
{
"entityId": 7742,
"visibleId": "3a1b2c3d-4e5f-4061-8273-8495a6b7c8d9",
"name": "אלקבץ בע״מ",
"taxId": "514789632",
"email": "office@elkabetz.co.il",
"phones": [
"03-1234567"
],
"contacts": [
{
"name": "מיכל",
"phone": "050-1234567"
}
],
"totalDebt": 11800,
"totalOverdue": 0,
"ledgerBalance": 11800,
"debts": [
{
"documentId": 84213,
"documentVisibleId": "d0f3a1c7-5b2e-4d8a-9f6c-1e3b5d7a9c2f",
"documentNumber": 1042,
"documentType": "INVOICE",
"documentTitle": "עבודות אוגוסט",
"creationDate": "2026-08-20",
"payBy": "2026-09-20",
"totalAmount": 11800,
"remainingAmount": 11800,
"isOverdue": false,
"notes": []
}
],
"entityNotes": []
}
],
"currencyCode": "ILS"
}/reports/sales-by-userRevenue attributed to the user who issued each document.
Query Parameters
| Name | Type | Description | |
|---|---|---|---|
from | string | Start of the period (YYYY-MM-DD). Defaults to the current month. | |
to | string | End of the period (YYYY-MM-DD). | |
granularity | string | Bucket size: "day", "week" or "month". | |
userIds | string | User ids to limit the report to, as a JSON array. |
Request
curl -X GET "https://api.glance.co.il/reports/sales-by-user" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Response
{
"from": "2026-08-01",
"to": "2026-08-31",
"granularity": "month",
"currencyCode": "ILS",
"periods": [
{
"key": "2026-08",
"label": "אוגוסט 2026"
}
],
"users": [
{
"userId": 12,
"name": "מיכל",
"email": "michal@example.co.il",
"total": 88400,
"count": 41,
"byPeriod": {
"2026-08": 88400
},
"documents": [
{
"amount": 11800,
"customerName": "אלקבץ בע״מ",
"periodKey": "2026-08"
}
]
}
],
"totals": {
"byPeriod": {
"2026-08": 88400
},
"total": 88400,
"count": 41
}
}/reports/withholding-taxTax withheld at source from suppliers in a period, and the balance not yet handed to the Tax Authority.
Query Parameters
| Name | Type | Description | |
|---|---|---|---|
from | string | Start of the period (YYYY-MM-DD). Defaults to the current month. | |
to | string | End of the period (YYYY-MM-DD). | |
vendorEntityId | number | Limit to a single supplier. |
Request
curl -X GET "https://api.glance.co.il/reports/withholding-tax" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Response
{
"from": "2026-08-01",
"to": "2026-08-31",
"vendors": [
{
"vendorEntityId": 8801,
"vendorName": "ספקי הצפון בע״מ",
"taxId": "514789632",
"taxDeductionsFileNumber": "930012345",
"certificateNumber": "2026/114",
"rates": [
5
],
"grossAmount": 12500,
"withholdingAmount": 625,
"netAmount": 11875,
"paymentsCount": 2,
"payments": []
}
],
"totals": {
"grossAmount": 12500,
"withholdingAmount": 625,
"netAmount": 11875,
"paymentsCount": 2,
"vendorsCount": 1
},
"ledgerBalance": 1830
}/reports/payment-auditCompleteness check on the payment trail: documents carrying a cheque payment with no cheque record behind it.
Request
curl -X GET "https://api.glance.co.il/reports/payment-audit" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Response
{
"success": true,
"complete": true,
"orphanCheckCount": 0,
"orphanCheckDocuments": []
}/reports/documents/savedList saved documents-report definitions.
Request
curl -X GET "https://api.glance.co.il/reports/documents/saved" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Response
{
"reports": [
{
"id": 14,
"visibleId": "b1c2d3e4-f506-4718-9a2b-3c4d5e6f7081",
"name": "לקוחות פתוחים",
"filters": {
"open": true,
"type": [
"INVOICE"
]
},
"includeProducts": false,
"createdBy": 12
}
]
}/reports/uniform-dataGenerate the Tax Authority uniform-structure export (מבנה אחיד / BKMV) for a year or a period.
Body Parameters
| Name | Type | Description | |
|---|---|---|---|
year | number | required | The tax year, 2000–2100. |
from | string | Start of the period, if narrower than the year. | |
to | string | End of the period. | |
mode | string | "single-year" (the default) or "multi-year". | |
outputDrive | string | The drive letter written into the INI file, as the Tax Authority software expects. Defaults to "C:". |
Request
curl -X POST "https://api.glance.co.il/reports/uniform-data" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"year": 0,
"from": "example_from",
"to": "example_to",
"mode": "example_mode",
"outputDrive": "example_outputDrive"
}'Response
{
"message": "Uniform Data Report generated successfully",
"success": true,
"bkmvContent": null,
"iniContent": null,
"recordCounts": {
"A100": 1,
"C100": 412,
"D110": 980,
"D120": 355
}
}