<!-- ZenPays documentation · https://docs.zenpayz.com/docs/rest-api/endpoints/ledger/daily-summary -->

# Get Daily Ledger Summary

Retrieve the daily ledger summary for a specific date. This provides a comprehensive snapshot of all financial activity for that day, including opening/closing balances and transaction counts.

<EndpointHeader verb="GET" path="/merchant/api/v1/ledger/summary/daily" />

## Request

### Headers

<ParamTable
  label="Header"
  rows={[
    { name: "Authorization", required: true, desc: "`Bearer {api_key}`" },
    { name: "X-Signature", required: true, desc: "HMAC-SHA256 signature" },
    { name: "X-Timestamp", required: true, desc: "ISO 8601 timestamp" },
    { name: "X-Secret-Salt", required: true, desc: "Secret salt for HMAC validation" },
  ]}
/>

### Query Parameters

<ParamTable
  rows={[
    { name: "date", type: "string", required: true, default: "-", desc: "Date in `YYYY-MM-DD` format" },
    { name: "currency", type: "string", default: "-", desc: "Filter by currency code (e.g., `INR`, `USD`)" },
  ]}
/>

## Response

### Success (200 OK)

```json
{
  "success": true,
  "data": {
    "summaryId": "sum_20240115_mer_xyz789",
    "summaryDate": "2024-01-15",
    "merchantId": "mer_xyz789",
    "currency": "INR",
    "openingAvailableBalance": 100000,
    "closingAvailableBalance": 125000,
    "openingPendingBalance": 5000,
    "closingPendingBalance": 7500,
    "openingBlockedBalance": 2000,
    "closingBlockedBalance": 3000,
    "totalDepositsGross": 35000,
    "totalDepositsNet": 33250,
    "depositCount": 15,
    "totalDepositFees": 1750,
    "totalPayouts": 8000,
    "payoutCount": 3,
    "totalPayoutFees": 250,
    "totalRefunds": 1500,
    "refundCount": 2,
    "totalChargebacks": 500,
    "chargebackCount": 1,
    "totalSettlements": 0,
    "settlementCount": 0,
    "totalFeesCollected": 2000,
    "totalTransactionCount": 21,
    "grossTransactionValue": 45000,
    "netMovement": 25000,
    "generatedAt": "2024-01-16T00:05:00.000Z",
    "isFinalized": true
  },
  "message": "Daily summary retrieved successfully"
}
```

### Response Fields

<ParamTable
  rows={[
    { name: "summaryId", type: "string", desc: "Unique identifier for the summary" },
    { name: "summaryDate", type: "string", desc: "Date of the summary (YYYY-MM-DD)" },
    { name: "merchantId", type: "string", desc: "Merchant identifier" },
    { name: "currency", type: "string", desc: "Currency code" },
    { name: "openingAvailableBalance", type: "number", desc: "Available balance at start of day" },
    { name: "closingAvailableBalance", type: "number", desc: "Available balance at end of day" },
    { name: "openingPendingBalance", type: "number", desc: "Pending balance at start of day" },
    { name: "closingPendingBalance", type: "number", desc: "Pending balance at end of day" },
    { name: "openingBlockedBalance", type: "number", desc: "Blocked balance at start of day" },
    { name: "closingBlockedBalance", type: "number", desc: "Blocked balance at end of day" },
    { name: "totalDepositsGross", type: "number", desc: "Total deposits before fees" },
    { name: "totalDepositsNet", type: "number", desc: "Total deposits after fees" },
    { name: "depositCount", type: "number", desc: "Number of deposit transactions" },
    { name: "totalDepositFees", type: "number", desc: "Total fees charged on deposits" },
    { name: "totalPayouts", type: "number", desc: "Total payout amount" },
    { name: "payoutCount", type: "number", desc: "Number of payout transactions" },
    { name: "totalPayoutFees", type: "number", desc: "Total fees charged on payouts" },
    { name: "totalRefunds", type: "number", desc: "Total refund amount" },
    { name: "refundCount", type: "number", desc: "Number of refund transactions" },
    { name: "totalChargebacks", type: "number", desc: "Total chargeback amount" },
    { name: "chargebackCount", type: "number", desc: "Number of chargeback transactions" },
    { name: "totalSettlements", type: "number", desc: "Total settlement amount" },
    { name: "settlementCount", type: "number", desc: "Number of settlements" },
    { name: "totalFeesCollected", type: "number", desc: "Total fees collected (all types)" },
    { name: "totalTransactionCount", type: "number", desc: "Total number of transactions" },
    { name: "grossTransactionValue", type: "number", desc: "Gross value of all transactions" },
    { name: "netMovement", type: "number", desc: "Net change in merchant balance" },
    { name: "generatedAt", type: "string", desc: "When the summary was generated" },
    { name: "isFinalized", type: "boolean", desc: "Whether the day is closed and summary is final" },
  ]}
/>

<CodeRail>

## Examples

<Tabs groupId="language">
  <TabItem value="curl" label="cURL" default>

```bash
# Get daily summary for specific date
curl -X GET "https://api.zenpays.com/merchant/api/v1/ledger/summary/daily?date=2024-01-15&currency=INR" \
  -H "Authorization: Bearer zp_test_xxxxx" \
  -H "X-Timestamp: 2024-01-15T10:30:00.000Z" \
  -H "X-Signature: a1b2c3d4e5f6..." \
  -H "X-Secret-Salt: your_secret_salt"
```

  </TabItem>
  <TabItem value="sdk" label="SDK">

```javascript
// Get today's summary
const today = new Date().toISOString().split('T')[0];
const summary = await zenpays.ledger.getDailySummary({
  date: today,
  currency: 'INR'
});

console.log(`Date: ${summary.summaryDate}`);
console.log(`Opening Balance: ${summary.openingAvailableBalance}`);
console.log(`Closing Balance: ${summary.closingAvailableBalance}`);
console.log(`Net Movement: ${summary.netMovement}`);
console.log(`Total Transactions: ${summary.totalTransactionCount}`);
console.log(`Finalized: ${summary.isFinalized}`);

// Calculate daily metrics
const depositSuccessRate = summary.depositCount > 0
  ? (summary.totalDepositsNet / summary.totalDepositsGross * 100).toFixed(2)
  : 0;
console.log(`Effective deposit rate: ${depositSuccessRate}%`);

// Get yesterday's summary for comparison
const yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1);
const yesterdaySummary = await zenpays.ledger.getDailySummary({
  date: yesterday.toISOString().split('T')[0],
  currency: 'INR'
});

const growthRate = ((summary.totalDepositsGross - yesterdaySummary.totalDepositsGross) /
                    yesterdaySummary.totalDepositsGross * 100).toFixed(2);
console.log(`Day-over-day deposit growth: ${growthRate}%`);
```

  </TabItem>
</Tabs>

</CodeRail>
